此次攻擊關鍵在于調用外部合約造成的重入問題與Vault的rebase機制相結合,攻擊者可以通過重入來憑空獲得巨額收益分配。
原文標題:《閃電貸重入攻擊,OUSD損失700萬美金技術簡析》撰文:慢霧安全團隊
據慢霧區情報,2020年11月17日,以太坊DeFi項目OUSD遭受閃電貸攻擊。慢霧安全團隊于第一時間跟進并進行相關分析。以下是慢霧安全團隊針對本次攻擊的簡要分析。攻擊過程詳細分析會在稍后發布。如有興趣可保持持續關注。
背景提要
OriginDollar(OUSD)由OriginProtocol(OUSD)創建,是一種新型的ERC-20穩定幣,當它仍然放在錢包里時,會自動從DeFi協議中獲得有競爭力的收益。OUSD由USDT、USDC和DAI等其他穩定幣的1:1支持。
QuickSwap因閃電貸攻擊損失22萬美元,將暫時關閉借貸市場:10月24日消息,據QuickSwap官方推特表示,暫時關閉借貸市場QuickSwap Lend,目前已因閃電貸攻擊損失22萬美元。本次攻擊是通過Curve預言機漏洞實現的,只有Market XYZ借貸市場遭受影響,QuickSwap合約仍是安全的。
此外,QuickSwap表示,由于該市場由QiDAO提供資金,故沒有用戶的資金受到損失。[2022/10/24 16:37:18]
攻擊流程簡析
1.攻擊者使用dydx閃電貸借出70000個ETH,隨后通過Uniswap將其兌換為USDT和DAI。
PeckShield: Impossible Finance 攻擊者利用 ElevenFinance 漏洞對其進行閃電貸攻擊:北京時間 6 月 23 日,PeckShield 派盾預警顯示,Impossible Finance 攻擊者利用 ElevenFinance 的邏輯漏洞再次對 DeFi 協議 ElevenFinance 進行閃電貸攻擊,請用戶注意規避風險。[2021/6/23 23:59:22]
2.攻擊者調用OUSDVault的mint函數,Vault會先進行一次rebase將之前積累的獎勵進行分配,隨后將750萬USDT從攻擊者合約轉入OUSDVault中。此時OUSD合約會鑄出等量的750萬OUSD代幣給攻擊合約,最后通過allocate來結算當前的收益。
幣安智能鏈PancakeBunny回應代幣閃崩事件:遭到閃電貸攻擊:5月20日消息,幣安智能鏈(BSC)DeFi收益聚合器PancakeBunny(BUNNY)針對代幣閃崩事件回應稱,遭到來自外部開發人員的閃電貸攻擊,黑客使用PancakeSwap借入了大量BNB,之后繼續操縱USDT/BNB以及BUNNY/BNB價格,從而獲得大量BUNNY并進行拋售,導致BUNNY價格閃崩,最后黑客通過PancakeSwap換回BNB。[2021/5/20 22:23:44]
3.在攻擊者轉入750萬之前,Vault的價值約為7018138美元。攻擊者轉入750萬USDT后將占Vault總價值的一半以上。
Warp Finance:擬定計劃追回閃電貸攻擊損失中的550萬美元:12月18日,Warp Finance針對遭到的閃電貸攻擊發布聲明。據稱,閃電貸攻擊者最多可盜走價值770萬美元的穩定幣,不過Warp Finance團隊已擬定計劃來追回仍在抵押金庫中的價值約550萬美元的穩定幣,這550萬美元將按比例分給遭受損失的用戶。此外,團隊也已制定另外的計劃來補償受損用戶。此前報道,12月18日,Warp Finance在推特表示,正在調查最近一小時內被借出的違規穩定幣貸款,建議用戶不要再存入穩定幣,直到官方查明情況為止。隨后Defiprime評論稱,DeFi協議Warp Finance遭遇閃電貸攻擊,約800萬美元被盜。[2020/12/18 15:39:32]
4.隨后攻擊合約利用mintMultiple函數傳入DAI合約地址與攻擊合約的地址,同樣是先進行一次rebase,將之前累計的收益進行分配(包含先前轉入的750萬USDT部分),再通過transferFrom先將攻擊合約的2050萬DAI轉入Vault中。隨后將調用攻擊合約的transferFrom函數,攻擊者在攻擊合約的transferFrom函數中構造再次調用Vault合約mint函數的邏輯來實現重入攻擊。
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
幣友們好!在今天的《推特大咖說》第113期中,你將看到:本周要點李啟威:有人利用中國新聞操縱比特幣價格。馬耳他將逐漸排斥加密貨幣企業.
1900/1/1 0:00:00Overview概述 本文將針對HarvestFinance最近的火爆在產品層面做出解讀。 Report報告 HarvestFinance最近的火爆有目共睹,一個月內鎖倉量由151.48mill.
1900/1/1 0:00:00貨幣國際化除了跨境支付基礎設施以外,對證券基礎設施也提出了要求,核心問題是區塊鏈應用于金融交易后處理.
1900/1/1 0:00:00歡迎星標關注★一起不斷學習進步2019-2020交易所創意大集合|合約-預言-紅包-ETF-競拍區塊鏈Blockchain是一項改變世界格局的技術.
1900/1/1 0:00:00撰文:墨客/吉米 AMPL,一個月持有漲幅88倍收益!相信經歷過2020年7-9月的DeFi牛市的人都不會對AMPL感到陌生.
1900/1/1 0:00:00CreamFinance雖然是Compound的分叉項目,但他們選擇與CompoundLabs團隊合作并提供CREAM代幣,且選擇兼容幣安智能鏈,以掙脫以太坊高手續費桎梏,提供較低的交易手續費.
1900/1/1 0:00:00