2024 年 6 月 10 日,UwU Lend 遭到攻擊,計畫損失約 US$1,930 萬美元。
SharkTeam第一時間對事件進行了技術分析,總結了安全防範措施。希望後續項目能吸取這次事件的教訓,共同構築區塊鏈產業的安全防線。
1、攻擊交易分析
攻擊者:0x841dDf093f5188989fA1524e7B893de64B421f47
攻擊者總共發動了3筆攻擊交易:
攻擊交易1:
0x242a0fb4fde9de0dc2fd42e8db743cbc197ffa2bf6a036ba0bba303df296408b
攻擊交易2:
0xb3f067618ce54bc26a960b660cfc28f9ea0315e2e9a1a855ede1508eb4017376
攻擊交易3:
0xca1bbf3b320662c89232006f1ec6624b56242850f07e0f1dadbe4f69ba0d6ac3
以攻擊交易1為例進行分析:
攻擊合約:0x21c58d8f816578b1193aef4683e8c64405a4312e
目標合約:UwU Lend Treasury合約,包括:
USUSDE:0xf1293141fc6ab23b2a0143acc196e3429e0b67a6
烏代:0xb95bd0793bcc5524af358ffaae3e38c3903c7626
uUSDT:0x24959f75d7bda1884f1ec9861f644821ce233c7d
攻擊過程如下:
1.閃貸不同平台多種代幣,包括WETH、WBTC、sUSDe、USDe、DAI、FRAX、USDC、GHO
代幣接收地址為0x4fea76b66db8b548842349dc01c85278da3925da
閃電貸的代幣及數量如下:
來自 Aave V3 的閃電貸款 159,053.16 WETH 和 14,800 WBTC
來自 Aave V2 的閃電貸款 40,000 WETH
Spark 閃電貸款 91,075.70 WETH 和 4,979.79 WBTC
來自 Morpho 的閃電貸 301,738,880.01 sUSDe、236,934,023.17 USDe 和 100,786,052.15 DAI
Uniswap V3 閃電貸 60,000,000 FRAX 和 15,000,000 USDC:FRAX-USDC
Balancer 閃電貸 4,627,557.47 GHO 和 38,413.34 WETH
Maker 閃電貸款 500,000,000 DAI
總計約 328,542.2 WETH、19779.79 WBTC、600786052.15 DAI、301,738,880.01 sUSDe、236,934,023.17 USDe、4,627,557.407,000,000 美元、000,000,000,000 美元 GHOX、0007,000,000 美元
2.將閃電貸代幣轉入合約0xf19d66e82ffe8e203b30df9e81359f8a201517ad(簡稱0xf19d),準備發動攻擊。
3.透過兌換代幣控制sUSDe的價格(降低價格)
(1)USDecrvUSD.交易所
將 8,676,504.84 USDe 轉換為 8,730,453.49 crvUSD。 USDecrvUSD中的USDe數量增加,價格下跌,crvUSD的USDe數量減少,價格上漲。
(2)USDeDAI.交易所
將 46,452,158.05 USDe 轉換為 14,389,460.59 DAI。 USDeDAI中的USDe數量增加,價格下跌,DAI數量減少,價格上漲。
(3) FRAXUSDe.交易所
將 14,477,791.69 USDe 轉換為 46,309,490.86 FRAX。 USDDeDAI中USDe數量增加,價格下跌,FRAX數量減少,價格上漲。
(4) GHOUSDe.exchange
將 4,925,427.20 USDe 轉換為 4,825,479.07 GHO。 USDDeDAI中USDe數量增加,價格下跌,GHO數量減少,價格上漲。
(5)USDeUSDC.交易所
將 14,886,912.83 USDe 轉換為 14,711,447.94 USDC。 USDDeDAI中USDe數量增加,價格下跌,USDC數量減少,價格上漲。
經過上述交流後,五個資金池中的 USDe 價格均出現下跌,最終導致 sUSDe 價格大幅下跌。
4. 繼續創建借貸頭寸,即將其他資產(WETH、WBTC 和 DAI)存入 LendingPool 合約中,然後再藉入 sUSDe。由於sUSDe的價格暴跌,所以藉入的sUSDe數量比價格暴跌前多得多。
5.與步驟3類似,反向操作推高sUSDe的價格。
隨著sUSDe的拉升,第4步驟中的貸款部位價值超過了抵押品價值,達到了清算標準。
6.批量清算借貸頭寸,獲得清算獎勵uWETH
7. 償還貸款並提取標的資產WETH、WBTC、DAI和sUSDe。
8. 再次將sUSDe存入LendingPool。此時sUSDe的價格上漲,因此可以藉入更多其他資產,包括DAI和USDT。
9. 兌換代幣並償還閃電貸。最終利潤:1,946.89 ETH
2. 漏洞分析
透過上述分析發現,整個攻擊過程中存在大量閃電貸以及對sUSDe價格的多重操縱。當sUSDe被質押時,借入資產的金額將會受到影響;當sUSDe被借入時,借款利率會受到影響,進而清算係數(健康因子)也會受到影響。
攻擊者利用這一點,利用閃貸壓低sUSDe價格,抵押其他資產,借入大量sUSDe,然後抬高sUSDe價格,清算抵押資產獲取利潤,將剩餘sUSDe抵押給借用其他資產。最後,他還清了閃電貸,攻擊完成。
從上面的第3步我們發現,攻擊者透過控制Curve Finances USDe/rvUSD、USDe/AI、FRAX/SDe、GHO/SDe和USDe/SDC交易池中USDe的價格來操縱sUSDe的價格。價格讀取函數如下:
其中,sUSDe價格由11個價格計算得出,其中前10個是從CurveFinance讀取的,最後一個是由Uniswap V3提供的。
從CurveFinance讀取的價格由五個交易池提供:USDe/rvUSD、USDe/AI、FRAX/SDe、GHO/SDe和USD/SDC,這也是攻擊者在攻擊交易中操縱的五個交易池。
回傳的價格是透過uwuOracle、CurveFinance交易池合約中的price_oracle(0)和get_p(0)讀取的價格計算得出的。
(1) 價格由Chainlink提供,不可操縱;
(2) 交易池參數
攻擊者透過操縱交易池中代幣的數量來操縱get_p(0)的回傳值,從而操縱價格。
3. 安全建議
針對這種攻擊,開發過程中應採取以下預防措施:
(1)為了解決價格操縱漏洞,可以使用鏈下價格預言機來防止價格操縱。
(2)專案上線前需第三方專業審核公司進行智慧合約審核。
關於我們
SharkTeams 的願景是保護 Web3 世界的安全。團隊由來自世界各地經驗豐富的安全專業人士和資深研究人員組成,精通區塊鏈和智慧合約底層理論。提供風險識別與阻斷、智慧合約審計、KYT/AML、鏈上分析等服務,並打造了鏈上智慧風險識別與阻斷平台ChainAegis,可有效對抗區塊鏈領域的高級持續性威脅(APT) 。與Web3生態各領域關鍵參與者建立了長期合作關係,如Polkadot、Moonbeam、polygon、Sui、OKX、imToken、Collab.Land、TinTinLand等。
官方網站:https://www.sharkteam.org
推特:https://twitter.com/sharkteamorg
電報:https://t.me/sharkteamorg
不和諧:https://discord.gg/jGH9xXCjDZ
本文源自網路:SharkTeam:UwU Lend 攻擊分析
相關:Bitget研究院:歐洲央行降息符合預期,IO.NET將開放交易
過去24小時,市場上出現了許多新的熱門幣種和話題,很有可能就是下一個賺錢的機會。歐洲央行降息25個基點,或將開啟全球央行降息週期。 BTC現貨ETF連續18天持續淨流入。山寨幣市場表現平淡。 Solana 生態系統迷因交易活動仍然很高。 io.net(IO)將於 6 月 11 日開放交易。 io.net 潛在的空投機會包括:...