比特幣交易所 比特幣交易所
Ctrl+D 比特幣交易所
ads
首頁 > BTC > Info

閃電貸 重入攻擊,慢霧簡析 OUSD 損失 700 萬美金攻擊流程_ULT

Author:

Time:1900/1/1 0:00:00

此次攻擊關鍵在于調用外部合約造成的重入問題與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。

BSC鏈上自動做市商BurgerSwap再遭閃電貸攻擊:6月5日凌晨消息,PeckShield派盾預警顯示,BSC鏈上自動做市商BurgerSwap再次遭到閃電貸攻擊,致使Dekbox ($DEK) 價格大幅下跌。[2021/6/5 23:14:01]

2.攻擊者調用OUSDVault的mint函數,Vault會先進行一次rebase將之前積累的獎勵進行分配,隨后將750萬USDT從攻擊者合約轉入OUSDVault中。此時OUSD合約會鑄出等量的750萬OUSD代幣給攻擊合約,最后通過allocate來結算當前的收益。

3.在攻擊者轉入750萬之前,Vault的價值約為7018138美元。攻擊者轉入750萬USDT后將占Vault總價值的一半以上。

動態 | Aave首個無抵押閃電貸由套利組織 ArbitrageDAO 完成:以太坊應用開發公司Aave推出的無抵押閃電貸款協議Flash Loan已實現第一筆交易,由ArbitrageDAO 完成。在本次的借貸中,ArbitrageDAO 獲得9 DAI收益,但付出了0.02ETH 的手續費,所以獲得了超過5 DAI的利潤。[2020/1/20]

4.隨后攻擊合約利用mintMultiple函數傳入DAI合約地址與攻擊合約的地址,同樣是先進行一次rebase,將之前累計的收益進行分配(包含先前轉入的750萬USDT部分),再通過transferFrom先將攻擊合約的2050萬DAI轉入Vault中。隨后將調用攻擊合約的transferFrom函數,攻擊者在攻擊合約的transferFrom函數中構造再次調用Vault合約mint函數的邏輯來實現重入攻擊。

動態 | 開源銀行Marble在以太坊主網中引入閃電貸款概念:7月17日消息,開源銀行Marble今日在推特上發布公告,根據公告,Marble推出了一個名為“閃存貸款”的新概念,任何人都可以借用以太幣和ERC-20代幣來利用以太坊區塊鏈的套利機會。為了實現這一目標,Marble開發了一個智能合約,可用于貸方的低風險協議。有了閃電貸款,開發商和交易員就可以輕松地從缺乏流動性的以太坊資產中獲利,而無需動用自己的資金。[2018/7/17]

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:USDOUSDULTVAULTUSDAP幣OUSD幣Vault-SVAULTS價格

BTC
使用 React 和 Network.js 構建去中心化應用前端_WEB

使用React和NetworkexportdefaultApp;現在,我們的去中心化應用將顯示其當前接入的以太坊網絡及其使用的web3提供商.

1900/1/1 0:00:00
Vitalik Buterin 講述以太坊基金會二次方募資實踐_ALI

以太坊創始人VitalikButerin介紹以太坊基金會長達一年半的社區實驗:如何以二次方募資減少人治,更好為社區提供資金服務.

1900/1/1 0:00:00
幣安投資的 MobileCoin 能避免 Libra 與 TON 的前車之鑒嗎?_OIN

MobileCoin專注于開發、幾乎不參與輿論的團隊和項目低調的作風使其沒有成為風口浪尖上的眾矢之的.

1900/1/1 0:00:00
冒志鴻:撥開名詞迷霧,五圖看清區塊鏈網絡發展趨勢_LOCK

美國《展望周報》總編黎曼·阿博特在自傳里記錄了他父親的一句話:「自古以來,凡哲學上和神學上的爭論,十分之九都只是名詞上的爭論。」后來阿博特評論說:「我父親的話大抵是不錯的.

1900/1/1 0:00:00
歡度圣誕季,CCPC溫暖獻禮_RAM

尊敬的WBF用戶: 為了慶祝圣誕來臨之際,CCPC項目將聯合WBF交易所舉行空投CCPC福利大放送活動.

1900/1/1 0:00:00
分布式資本合伙人黃凌波:Oracle、NFT 與 Tokenize 項目將迎來爆發_CLE

分布式資本合伙人黃凌波談2020區塊鏈投資市場,Oracle、NFT、Tokenize項目將迎來爆發,Staking與二級市場會有不錯的機會.

1900/1/1 0:00:00
ads