此次攻擊關鍵在于調用外部合約造成的重入問題與Vault的rebase機制相結合,攻擊者可以通過重入來憑空獲得巨額收益分配。
原文標題:《閃電貸重入攻擊,OUSD損失700萬美金技術簡析》撰文:慢霧安全團隊
據慢霧區情報,2020年11月17日,以太坊DeFi項目OUSD遭受閃電貸攻擊。慢霧安全團隊于第一時間跟進并進行相關分析。以下是慢霧安全團隊針對本次攻擊的簡要分析。攻擊過程詳細分析會在稍后發布。如有興趣可保持持續關注。
背景提要
OriginDollar(OUSD)由OriginProtocol(OUSD)創建,是一種新型的ERC-20穩定幣,當它仍然放在錢包里時,會自動從DeFi協議中獲得有競爭力的收益。OUSD由USDT、USDC和DAI等其他穩定幣的1:1支持。
dForce疑似遭遇閃電貸攻擊:2月10日消息,派盾社區貢獻者發現,dForce疑似遭遇超過170萬美元的閃電貸攻擊。dForce官方表示已經在調查,很快會公布消息。[2023/2/10 11:58:49]
攻擊流程簡析
1.攻擊者使用dydx閃電貸借出70000個ETH,隨后通過Uniswap將其兌換為USDT和DAI。
2.攻擊者調用OUSDVault的mint函數,Vault會先進行一次rebase將之前積累的獎勵進行分配,隨后將750萬USDT從攻擊者合約轉入OUSDVault中。此時OUSD合約會鑄出等量的750萬OUSD代幣給攻擊合約,最后通過allocate來結算當前的收益。
安全團隊:EGD_Finance遭受黑客攻擊,代幣價格被閃電貸操控:8月8日消息,據慢霧區消息,BSC上的EGD_Finance項目遭受黑客攻擊,導致其池子中資金被非預期的取出。慢霧安全團隊進行的分析如下:
1.由于EGD_Finance合約中獲取獎勵的claimAllReward函數在計算獎勵時會調用getEGDPrice函數來進行計算EGD的價格,而getEGDPrice函數在計算時僅通過pair里的EGD和USDT的余額進行相除來計算EGD的價格
2.攻擊者利用這個點先閃電貸借出池子里大量的USDT,使得EGD代幣的價格通過計算后變的很小,因此在調用claimAllReward函數獲取獎勵的時候會導致獎勵被計算的更多,從而導致池子中的EGD代幣被非預期取出
本次事件是因為EGD_Finance的合約獲取獎勵時計算獎勵的喂價機制過于簡單,導致代幣價格被閃電貸操控從而獲利。[2022/8/8 12:09:04]
3.在攻擊者轉入750萬之前,Vault的價值約為7018138美元。攻擊者轉入750萬USDT后將占Vault總價值的一半以上。
Belt Finance 已修補閃電貸相關攻擊向量,將在 48 小時內恢復存取款并發布補償計劃:針對上周遭到的閃電貸攻擊,幣安智能鏈上DeFi協議BeltFinance發布分析報告稱:此次攻擊,Belt共損失6,234,753BUSD,BeltBUSDVault用戶遭受了21.36%池子比例的損失,而4BeltPool用戶遭受了5.51%池子比例的損失。[2021/5/31 22:58:30]
4.隨后攻擊合約利用mintMultiple函數傳入DAI合約地址與攻擊合約的地址,同樣是先進行一次rebase,將之前累計的收益進行分配(包含先前轉入的750萬USDT部分),再通過transferFrom先將攻擊合約的2050萬DAI轉入Vault中。隨后將調用攻擊合約的transferFrom函數,攻擊者在攻擊合約的transferFrom函數中構造再次調用Vault合約mint函數的邏輯來實現重入攻擊。
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]
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
本公眾號由幣比網(bibiwang.com)戰略支持,文章在幣比網和我的公眾號同步發布。本文不構成任何投資建議,投資有風險,入市需謹慎!上文說到以太坊帝國正逐漸沒落,那么幣圈最終信仰BTC能否獨.
1900/1/1 0:00:00目前100000人已關注加入我們掃一掃下載全網最新數據報告 查看完整報告請閱讀全文 查看完整報告請閱讀全文 以上資料均從網絡公開資料收集整理而成.
1900/1/1 0:00:00黑天鵝事件背后 01 這幾天的“幣圈”,可謂“一半是海水,一半是火焰“。一方面,隨著眾多知名的傳統金融機構相繼買入比特幣,加之PayPal宣布即將支持加密貨幣買賣,使得比特幣、以太坊等主流數字資.
1900/1/1 0:00:00親愛的AEX安銀小伙伴:為了用戶能夠享受更好的API服務,v1版的websocketAPI服務即將12月30日12:00停止,原來的接口地址:wss://api.aex.zone/ws/v1.
1900/1/1 0:00:00瞭望塔這樣多年討論于理論上的概念,終于成為了現實。雖然瞭望塔在安全性方面有了很大的改進,但在我們看來,比不誠實通道中斷更大的問題是,閃電節點的內存可能會意外丟失或毀壞—在這種情況下,節點可能會丟.
1900/1/1 0:00:00從比特幣中走出的DEX最終在以太坊上獲得成功,究其根本是兩個社區在穩健性與實驗性之間不同的權衡.
1900/1/1 0:00:00