此次攻擊關鍵在于調用外部合約造成的重入問題與Vault的rebase機制相結合,攻擊者可以通過重入來憑空獲得巨額收益分配。
原文標題:《閃電貸重入攻擊,OUSD損失700萬美金技術簡析》撰文:慢霧安全團隊
據慢霧區情報,2020年11月17日,以太坊DeFi項目OUSD遭受閃電貸攻擊。慢霧安全團隊于第一時間跟進并進行相關分析。以下是慢霧安全團隊針對本次攻擊的簡要分析。攻擊過程詳細分析會在稍后發布。如有興趣可保持持續關注。
背景提要
OriginDollar(OUSD)由OriginProtocol(OUSD)創建,是一種新型的ERC-20穩定幣,當它仍然放在錢包里時,會自動從DeFi協議中獲得有競爭力的收益。OUSD由USDT、USDC和DAI等其他穩定幣的1:1支持。
CertiK:Zk Secure (ZK)遭遇閃電貸款攻擊:金色財經報道,據CertiK監測,Zk Secure (ZK)遭遇閃電貸款攻擊,目前共有7千美元被盜。請保持警惕。[2023/6/3 11:55:33]
攻擊流程簡析
1.攻擊者使用dydx閃電貸借出70000個ETH,隨后通過Uniswap將其兌換為USDT和DAI。
2.攻擊者調用OUSDVault的mint函數,Vault會先進行一次rebase將之前積累的獎勵進行分配,隨后將750萬USDT從攻擊者合約轉入OUSDVault中。此時OUSD合約會鑄出等量的750萬OUSD代幣給攻擊合約,最后通過allocate來結算當前的收益。
閃電貸平臺Equalizer Finance計劃8月初上線以太坊主網:據官方消息,閃電貸平臺Equalizer Finance宣布,經過16周的開發之后,Equalizer平臺即將發布,同時符合最質量標準和高安全要求。發布計劃如下:
- 開發已完成,審計也接近完成,測試也即將進入最后階段。
- 8月2日至7日:將在以太坊主網部署智能合約和平臺。
- 8月2日至7日(同期):將上線Rinkeby測試網并開放訪問,并邀請社區和開發人員對平臺進行測試并報告漏洞(漏洞賞金活動也將啟動)。
- 8月7日至14日,修復所有報告的漏洞,運行漏洞掃描,完成最終的安全評估,并在Rinkeby測試網和以太坊主網中應用所有優化。
- 8月14日至17日,開放主網上對平臺的訪問,并啟動用戶獲取計劃。[2021/8/1 1:27:09]
3.在攻擊者轉入750萬之前,Vault的價值約為7018138美元。攻擊者轉入750萬USDT后將占Vault總價值的一半以上。
分析:Warp Finance攻擊者通過閃電貸鑄造LP代幣清算其USDC和DAI金庫:針對DeFi協議Warp Finance遭遇閃電貸攻擊事件,白帽黑客、Marqet交易所聯合創始人Emiliano Bonassi表示:“這是第二次利用多重閃電流動性的攻擊,通過Uniswap進行閃電互換,通過dYdX進行閃電貸款。”他補充說,攻擊者通過閃電交換向Uniswap上的三個不同池提供三筆打包ETH貸款,并向dYdX交易平臺提供另外兩筆打包ETH貸款。這些資金隨后被用來鑄造WETH/DAI流動性池(LP)代幣,這些代幣被用作Warp Finance的抵押品,以清算其USDC和DAI金庫。(Cointelegraph)[2020/12/18 15:38:37]
4.隨后攻擊合約利用mintMultiple函數傳入DAI合約地址與攻擊合約的地址,同樣是先進行一次rebase,將之前累計的收益進行分配(包含先前轉入的750萬USDT部分),再通過transferFrom先將攻擊合約的2050萬DAI轉入Vault中。隨后將調用攻擊合約的transferFrom函數,攻擊者在攻擊合約的transferFrom函數中構造再次調用Vault合約mint函數的邏輯來實現重入攻擊。
聲音 | V神:Uniswap v2能夠抵御閃電貸攻擊:V神(Vitalik Buterin)今日轉發Uniswap創始人Hayden Adams的推文并評論稱:“計劃中的Uniswap v2價格預言設計能夠抵御最近的閃電貸攻擊。”[2020/2/19]
5.在上一步驟中轉入2050萬DAI后通過攻擊合約的transferFrom函數再次調用Vault的mint函數。由于重入時傳入2000USDT符合判斷是否調用rebase的條件,此時將進行一次rebase,而由于rebase需要Vault中的資產總價值和OUSD的總鑄幣數有差值才能觸發。按照原本的業務場景是進行allocate結算收益后改變Vault中的資產總價值然后通過rebase進行分配。而由于重入原因并沒有先通過oUSD.mint進行鑄幣操作,且攻擊者已先將2050萬的DAI轉入Vault中,所以Vault中的資產總價值仍然增加了,導致合約中的資產總價值大于OUSD的總鑄幣量。因此Vault會將增加的2050萬DAI當成收益部分進行rebase分配。在步驟3中由于攻擊者資產已占Vault總價值的一半以上,所以此時攻擊者將憑空獲得超過價值1025萬的收益分配。
6.隨后將通過oUSD.mint鑄出2000OUSD,并通過allocate結算重入時2000USDT的收益(從上一步驟可以看出攻擊合約傳入的2000USDT只是為了滿足調用rebase的條件,觸發收益分配而已)。重入結束后仍將通過oUSD.mint鑄出之前轉入的2050萬DAI等值的OUSD代幣。
7.最后Vault的總價值約為3501萬美元,但攻擊者所擁有的價值超過3825萬美元,因此攻擊者用大部分的OUSD去Vault進行贖回操作,將Vault基本提空,而其余的OUSD是通過Uniswap和Sushiswap的OUSD-USDT池將OUSD換成USDT來增加收益。
總結
此次攻擊關鍵在于調用外部合約造成的重入問題與Vault的rebase收益分配機制相結合,導致攻擊者可以通過重入來憑空獲得巨額的收益分配。針對此類情況,慢霧安全團隊建議對傳入資產進行檢查后,對不在白名單內的資產直接進行回滾,并使用防重入鎖以避免重入攻擊。
相關鏈接:
參考攻擊交易:0xe1c76241dda7c5fcf1988454c621142495640e708e3f8377982f55f8cf2a8401
Uniswap
Uniswap
Uniswap一種簡單的無代幣交換協議,被稱為去中心化的Shapeshift或者Bancor,已經在主網上啟動。用Vyper寫作,Gas消耗奇低無比。UniswapUniswapUniswapUniswapUniswapUNI查看更多OriginProtocol
Tags:USDOUSDULTVAULTusdm幣是什什么穩定幣OUSD幣MultiPlanetary InusVault Hill City
作者:肖磊看市 公眾號:kanshi1314最近文章的留言比較多,真沒想到有這么多同學關注,真的誠惶誠恐,我本來就是一個喜歡點經濟、歷史和哲學的普通投資者,熱衷于分享一些我對投資市場的看法.
1900/1/1 0:00:0012月到了,很多人對2020年的即將結束和2021年的開始而興奮不已。這一周從以太坊2.0發布到治理NFT.
1900/1/1 0:00:00今天的封面是《音樂瞬間》,亨利·盧梭這一刻還是來了:比特幣突破2萬美金!大餅走了我們昨天提到的第二種版本,一根大陽線突破天際,到今天現貨價格最高打到23800美元,兩天累計上漲超過15%.
1900/1/1 0:00:00尊敬的用戶: 為了迎接圣誕節的到來,Huobi聯合Frontier團隊舉辦圣誕大放送活動,活動期間充值或交易FRONT,即有機會瓜分76000FRONT及55枚限量NFT.
1900/1/1 0:00:00作者|老牛出品|白話區塊鏈今年,交易平臺暴雷不斷:平臺被盜幣,創始人被抓、網站擠兌導致無法運營等等一系類問題......外加去中心化交易平臺的崛起,Dex某些Token的深度甚至不輸于三大.
1900/1/1 0:00:00幣友們好!在今天的《推特大咖說》第109期中,你將看到:01比特幣布道者JimmySong比特幣并沒有太多成熟的商業模式:交易所、挖礦設備、托管解決方案、硬件錢包、商戶處理、會議/媒體.
1900/1/1 0:00:00