作者:Kong,慢霧安全團隊
據慢霧消息,2021年10月27日,CreamFinance?再次遭受攻擊,損失約1.3億美金,慢霧安全團隊第一時間介入分析,并將簡要分析分享如下。
攻擊核心
本次攻擊的核心在于利用Cream借貸池對抵押物價格獲取的缺陷,惡意操控拉高了其抵押物的價格,使得攻擊者可以從Cream借貸池借出更多的代幣。
攻擊細節
首先攻擊者從DssFlash中閃電貸借出5億個DAI,隨后將借出的5億個DAI抵押至yearn的yDAI池中,以獲得約4.5億個yDAI憑證。
隨后攻擊者將獲得的yDAI代幣在Curve的yDAI/yUSDC/yUSDT/yTUSD池子中進行單幣流動性添加,以獲得相應的流動性憑證。緊接著攻擊者就將獲得的憑證抵押到yvWBTC池子中以獲得yUSD憑證,為后續在CreamcrYUSD借貸池中抵押做準備。
慢霧:警惕針對 Blur NFT 市場的批量掛單簽名“零元購”釣魚風險:金色財經報道,近期,慢霧生態安全合作伙伴 Scam Sniffer 演示了一個針對 Blur NFT 市場批量掛單簽名的“零元購”釣魚攻擊測試,通過一個如圖這樣的“Root 簽名”即可以極低成本(特指“零元購”)釣走目標用戶在 Blur 平臺授權的所有 NFT,Blur 平臺的這個“Root 簽名”格式類似“盲簽”,用戶無法識別這種簽名的影響。慢霧安全團隊驗證了該攻擊的可行性及危害性。特此提醒 Blur 平臺的所有用戶警惕,當發現來非 Blur 官方域名(blur.io)的“Root 簽名”,一定要拒絕,避免潛在的資產損失。[2023/3/7 12:46:39]
之后攻擊者開始向Cream的crYUSD借貸池中抵押其獲得yUSD憑證,為了擴大其抵押規模,攻擊者從AAVE閃電貸借出約52.4萬個WETH,并將其抵押到Cream的crETH池子中。
CoinEx入駐慢霧區并發布“安全漏洞與威脅情報賞金計劃“:2021年5月14日,為了進一步保障用戶資產安全,提高平臺安全風控等級,CoinEx 入駐慢霧區,發布”安全漏洞與威脅情報賞金計劃“,嚴重漏洞最高獎勵 5000 USDT。
CoinEx 成立于 2017 年 12 月,是一家面向全球的數字貨幣交易平臺。CoinEx 致力于為全球用戶打造最安全、穩定、高效的數字貨幣交易平臺。平臺支持中/英/日/韓/俄等多國語言,為全球超過一百個國家和地區提供安全、可信賴的數字資產交易服務。[2021/5/14 22:02:30]
攻擊者通過在crETH池子中抵押大量ETH,來使得其有足夠的借貸能力將crYUSD池子中的yUSD全部借出并重復抵押到crYUSD池子中,隨后通過在crYUSD池子中進行循環貸以杠桿的形式擴大了本身在crYUSD池子中yUSD的抵押規模,為后續操控價格獲利做準備。
動態 | 慢霧:Cryptopia被盜資金發生轉移:據慢霧科技反洗錢(AML)系統監測顯示,Cryptopia攻擊者分兩次轉移共20,843枚ETH,價值超380萬美元。目前資金仍停留在 0x90d78A49 和 0x6D693560 開頭的兩個新地址,未向交易所轉移。據悉,今年早些時候加密貨幣交易所Cryptopia遭受了黑客攻擊,價值超過1600萬美元的以太坊和ERC-20代幣被盜。[2019/11/17]
隨后為了獲得yDAI/yUSDC/yUSDT/yTUSD4Pool憑證以操控價格,攻擊者用約1,873個ETH從UniswapV3中兌換出約745萬個USDC,并通過Curve3Pool將其兌換成DUSD代幣約338萬個。
接下來攻擊者通過獲得的DUSD代幣從YVaultPeak中贖回yDAI/yUSDC/yUSDT/yTUSD4Pool憑證,并利用此憑證從yUSD(yvWBTC)池子中取回yDAI/yUSDC/yUSDT/yTUSD代幣。
動態 | 慢霧:9 月共發生 12 起較典型的安全事件,供應鏈攻擊趨勢愈發明顯:過去的 9 月區塊鏈生態共發生 12 起較典型的安全事件,包括:EOSPlay 遭受新型隨機數攻擊、資金盤項目 FairWin 智能合約權限管理缺陷、EOS 黑名單賬號 craigspys211 利用新晉 BP 黑名單缺陷轉移走 19.999 萬枚 EOS 等典型安全事件。此外,慢霧區塊鏈威脅情報(BTI)系統監測發現,針對區塊鏈生態的供應鏈攻擊越來越多,形如:去年 11 月慢霧披露的污染 NPM 模塊 EventStream、今年 7 月披露的對數字貨幣錢包 Agama 構建鏈的攻擊、今年 8 月披露的針對數字貨幣行情/導航站的 URL 劫持攻擊,還有 9 月慢霧披露的針對交易所使用的第三方統計、客服 js 的惡意代碼植入,進行實施盜幣攻擊。[2019/10/1]
隨后攻擊者開始進行此次攻擊的關鍵操作,其將約843萬個yDAI/yUSDC/yUSDT/yTUSD代幣直接轉回yUSD池子中,由于其不是通過正常抵押操作進行抵押的,所以這843萬個yDAI/yUSDC/yUSDT/yTUSD代幣并沒有被單獨記賬,而是直接分散給了yDAI/yUSDC/yUSDT/yTUSD憑證的持有者,這相當于直接拉高了其share的價格。
在crToken中由于其抵押物價格被惡意拉高了,因此攻擊者抵押的大量yUSD可以使其借出更多的資金,最后攻擊者將Cream的其他15個池子全部借空。接下來我們跟進Cream的crToken借貸池中具體借貸邏輯。
從cToken合約中我們可以看到,主要借貸檢查在borrowAllowed函數中:
我們跟進borrowAllowed函數,可以看到在427行,其會根據getHypotheticalAccountLiquidityInternal函數檢查實時狀態下的該賬戶所對應的所有cToken的資產價值總和和借貸的資產價值總和,并通過對比cToken的資產價值和借貸的Token價值和,來判斷用戶是否還可以繼續借貸。
我們跟進getHypotheticalAccountLiquidityInternal函數,可以發現對于抵押物的價值獲取來自886行的oracle.getUnderlyingPrice。
我們跟進預言機的getUnderlyingPrice函數,可以容易的發現其將通過代幣150行的getYvTokenPrice函數進行價格獲取。
繼續跟進getYvTokenPrice函數,由于yvTokenInfo.version為V2,因此將通過yVault的pricePerShare函數進行價格獲取。
跟進pricePerShare可以發現其直接返回了_shareValue作為價格,而_shareValue是通過_totalAssets除合約的總share數量(self.totalSupply)來計算單個share的價格的。因此攻擊者只需要操控_totalAssets將其拉高就可以提高單個share的價格從而使得攻擊者的抵押物價值變高以借出更多的其他代幣。
我們可以查看下_totalAssets是如何獲取的,從772行我們可以很清晰的看到,_totalAssets是直接取的當前合約的yDAI/yUSDC/yUSDT/yTUSD代幣數量,以及抵押在策略池中的資產數額相加獲得的。因此攻擊者通過直接往yUSD合約中轉入yDAI/yUSDC/yUSDT/yTUSD代幣就可以拉高share價格從而完成獲利。
通過Ethtx.info可以清晰的看到pricePerShare前后變化:
最后攻擊者在借空其他池子后歸還了閃電貸獲利離場。
總結
本次攻擊是典型的利用閃電貸進行價格操控,由于Cream的借貸池在獲取yUSD池子share價格時直接使用了其pricePerShare接口,而此接口是通過合約的抵押物余額與策略池抵押資產數額相加除總share數來計算單個share的價格的。因此用戶直接往yUSD轉入抵押物就可以很容易的拉高單個share價格,最終使得Cream借貸池中抵押物可以借出更多的資金。
附:前兩次CreamFinance被黑分析回顧
慢霧:CreamFinance被黑簡要分析
王者開局偶遇豬隊友——簡析AlphaFinance&Cream被黑
鏈捕手消息,去中心化衍生品平臺?StripsFinance?通過代幣銷售籌集850萬美元資金,投資者包括MulticoinCapital、紅杉資本印度、FabricVentures和Mornin.
1900/1/1 0:00:00鏈捕手消息,TrueUSD宣布推出激勵計劃「FountainIncentivePlan」。TrueUSD表示,該計劃將作為潛力項目的孵化器,將價值10億美元的TrueUSD和其他資產引入DeFi.
1900/1/1 0:00:00鏈捕手消息,彭博社援引知情人士報道稱,此前計劃發行15億美元債券的Coinbase會將交易規模從15億美元提升至20億美元,原因是至少已經有70億美元的訂單涌入,需求強烈.
1900/1/1 0:00:00鏈捕手消息,DeFi借貸協議?Aave社區發起的建議Aave協議添加Centrifuge真實世界資產市場的提案目前已獲通過.
1900/1/1 0:00:00鏈捕手消息,區塊鏈分析公司Elliptic宣布獲得6000萬美元C輪融資,EvolutionEquityPartners領投.
1900/1/1 0:00:00鏈捕手消息,區塊鏈媒體Decrypt宣布推出媒體DAOPubDAO,該組織由Decrypt和TheDefiant、ACJR以及來自FriendswithBenefits、Gitcoin、Coll.
1900/1/1 0:00:00