10月27日,鏈必安-區塊鏈安全態勢感知平台輿情監測顯示,DeFi借貸協議Cream Finance再次遭受攻擊,損失達1.3億美元。被盜的資金主要是CreamLP代幣和其他ERC-20代幣。關於本次攻擊,成都鏈安技術團隊第一時間進行了事件分析。
1 事件概覽
攻擊如何發生Event overview
被盜約1.3億美元! Cream Finance今年第五次遭黑客攻擊,可能它真的有吸引“渣男”的體質。
10月28日消息,DeFi 協議Cream Finance 針對閃電貸攻擊事件發布回應稱,其以太坊CREAM v1 借貸市場被黑客攻擊,攻擊者從多個地址轉移了價值約1.3 億美元的代幣,沒有其他市場受到影響。團隊已經暫停了基於以太坊的v1 借貸市場,並且正在進行事後審查。
2 具體案例分析
攻擊者如何得手 Event overview
攻擊者:
0x24354d31bc9d90f62fe5f2454709c32049cf866b
攻擊合約:
0x961d2b694d9097f35cfffa363ef98823928a330d
0xf701426b8126BC60530574CEcDCb365D47973284
交易hash:
0x0fe2542079644e107cbf13690eb9c2c65963ccb79089ff96bfaf8dced2331c92
1. 第一步先通過閃電貸從
DssFlash(0x1eb4cf3a948e7d72a198fe073ccb8c7a948cd853)合約借500,000,000DAI。
2. 搶 DAI 搶 yDAI
(0x16de59092dae5ccf4a1e6439d611fd0653f0bd01)合約中進行抵押,換取451,065,927.891934141488397224yDAI。
3. 把換取yDAI代幣放到Curve.fi: y Swap
(0x45f783cce6b7ff23b2ab2d70e416cdb7d6055f51)中添加流動性並獲取447,202,022.713276945512955672yDAI+yUSDC+yUSDT+yTUSD 。
4. 接著將
447,202,022.713276945512955672yDAI+yUSDC+yUSDT+yTUSD抵押並獲取446,756,774.416766306389278551yUSD。
5. 再在crYUSD中調用鑄幣函數,鑄造 22,337,774,341.38713187 個crYUSD代幣。
6.攻擊合約
A(0x961d2b694d9097f35cfffa363ef98823928a330d)在構造函數里創建了攻擊合約
B(0xf701426b8126BC60530574CEcDCb365D47973284),在5之後,攻擊合約B從AAVE借貸524,102.159298234706604104 WETH
7.B發送6000WETH給A
8. B將剩餘的WETH兌換為ETH,並以此調用crETH池子進行抵押。
9. 使用攻擊合約B借出
446,758,198.60513882090167283 個YUSD代幣,並以此鑄幣crYUSD,鑄完幣後歸還,並將crYUSD發送給A,重複兩次。
10. 使用攻擊合約B借出
446,758,198.60513882090167283個YUSD,發送給A。
11. 使用1,873.933802532388653625 WETH在uniswap v3中交換出7,453,002.766252個USDC。
12. 將3,726,501.383126 個USDC在Curve.fi中交換為DUSD。
13. 將DUSD交換為
450,228,633.135400282653487952 yDAI+yUSDC+yUSDT+yTUSD。
14. 將8,431,514.81679698041016119個yDAI+yUSDC+yUSDT+yTUSD 直接發送回yUSD抵押池。由於使用直接轉賬,totalDebt不變,balanceOf(self)變大,導致totalAsset變大,最終影響到oracle預言機的價格獲取pricePerShare變大,即可以通過抵押yUSD借出更多的代幣。
15. 以yUSD代幣為抵押,借出cream 協議所有支持借貸的代幣。
16. 最後歸還攻擊A合約的閃電貸。
3 事件复盤
我們需要注意什麼Case Review
本次攻擊是典型的閃電貸進行價格操作,通過閃電貸獲取大量資金後,利用合約設計缺陷,大幅改變價格導致獲利。 Cream的預言機價格計算使用與yUSD的totalAsset有關。向yUSD合約直接轉賬時,不會更新Debt,從而使totalAsset增大,從而使得yUSD價格變高,可以從Cream中藉出更多的資金。
注意
此前,Cream Finance已經至少遭到黑客的四次攻擊,這次攻擊也使得該項目成為黑客成功攻擊次數最多的DeFi項目。
今年2月13日,黑客利用Alpha Homora V2技術漏洞從Cream Finance旗下零抵押跨協議貸款功能Iron Bank借出ETH、DAI、USDC等資產,導致該項目損失約3800萬美元。此後Alpha Finance表示將全額賠付資產。
同月28日,DeFi聚合平台Furucombo遭到嚴重漏洞攻擊,Cream Finance 儲備金賬戶受影響,Cream Finance 團隊隨即撤銷了所有對外部合約的批准,但仍損失110 萬美元。
3月15日,Cream Finance 域名遭到黑客攻擊,部分用戶會看到網站發起輸入助記詞的請求,很快該項目官方發推提醒用戶不要輸入助記詞,表示其智能合約和用戶資金仍然安全,並在1個小時後宣布重新獲得域名所有權。
8月30日,Cream Finance 因可重入漏洞遭遇閃電貸攻擊,黑客獲利4.2億個AMP、1308個ETH以及少量USDC等穩定幣資產,總資產價值超過3400萬美元。
加上本次攻擊事件,Cream Finance 可以說是年度最“衰”的DeFi項目。