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

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作為“賞金”。

Total
0
Shares
Related Posts