價格操縱攻擊有多猛? Market遭攻擊事件分析

106次閱讀

2022 年 10 月 19 日,據 Beosin EagleEye Web3 安全 預警與監控平臺 監測顯示,Celo 生態上的 Moola 協議遭受攻擊,黑客獲利約 840 萬美元。

據悉,Moola Market 是一個非托管的流動性協議。使用過度抵押貸款、委托貸款或閃電貸款的借款人支付利息,存款人可以賺取複利。攻擊發生之後,Moola Market 表示,其團隊正在積極調查這一事件,平臺上的所有活動都已暫停。

關於本次攻擊事件,Beosin 安全團隊第一時間進行了分析,結果如下:

# 事件相關資訊

攻擊者地址

0x5DAE2C3d5a9f35bFaf36A2E6edD07c477f57789e

通過下圖可以註意到黑客的起始資金為 18 萬枚 CELO(價值約 13 萬美元),準備就緒之後,黑客便開始了他的攻擊之旅。

第一步:看下圖,可以看到攻擊者進行了多筆交易,用 CELO 買入 MOO。

第二步:攻擊者使用 MOO 作為抵押品借出 CELO。根據抵押 借貸 的常見邏輯,攻擊者抵押了價值 a 的 MOO,可借出價值 b 的 CELO。

第三步:攻擊者用貸出的 CELO 購買 MOO,從而繼續提高 MOO 的價格。每次交換之後,MOO 對應 CELO 的價格變高。

第四步:由於抵押借貸合約在借出時會使用交易對中的實時價格進行判斷,導致用戶之前的借貸數量,並未達到價值 b,所以用戶可以繼續借出 CELO。通過不斷重複這個過程,攻擊者把 MOO 的價格從 0.02 CELO 提高到 0.73 CELO。

第五步:攻擊者進行了累計 4 次抵押 MOO,10 次 swap(CELO 換 MOO),28 次借貸,達到獲利過程。

-8.82M CELO(25 次借貸)

-1.85M MOO(1 次借貸)

-765k cEUR(1 次借貸)

-66k cUSD(1 次借貸)

# 漏洞分析

本次遭受攻擊的抵押借貸實現合約並未開源,根據攻擊特徵可以猜測攻擊屬於價格操縱攻擊。

抵押借貸合約支持 4 種代幣的借貸 CELO,cEUR,cUSD,MOO。推測抵押借貸合約中每種代幣的價格可能是由其與 CELO 的交易對進行判斷的。因為後 3 種代幣未進行過交換,所以價格沒有改變,只借貸了一次。

# 資金追蹤

截至發文時,攻擊者將約 93.1% 的所得資金返還給了 Moola Market 項目方,將 50  CELO 捐給了 impact market。自己留下了總計 65 萬個 CELO 作為「賞金」。

以太全書
版權聲明:本站原創文章,由 以太全書 2022-10-20發表,共計948字。
轉載說明:除特殊說明外,本站文章如需轉載請註明出處。