黑客獲利超700萬美元Op鏈上Exactly Protocol遭黑客攻擊事件分析

2023年8月18日,據Beosin-Eagle Eye態勢感知平台消息,Optimism鏈的DeFi借貸協議Exactly Protocol遭受黑客攻擊,黑客獲利超700萬美元。

攻擊發生之後,Exactly Protocol在社交媒體上表示,正在嘗試與攻擊者溝通,以歸還被盜資產,已向警方提交報告。

三天之後的8月21日,Exactly Protocol發文表示協議現已解除,用戶可以執行所有操作,也沒有發生任何清算。為了明確起見,黑客攻擊只影響到使用外圍合約(DebtManager)的用戶。沒有使用該合約的用戶沒有任何損失,協議仍在正常運行。

Beosin安全團隊第一時間對本次事件進行了分析,結果如下。

事件相關信息

●攻擊交易

0x3d6367de5c191204b44b8a5cf975f257472087a9aadc59b5d744ffdef33a520e

0x1526acfb7062090bd5fed1b3821d1691c87f6c4fb294f56b5b921f0edf0cfad6

0xe8999fb57684856d637504f1f0082b69a3f7b34dd4e7597bea376c9466813585

●攻擊者地址

0x3747dbbcb5c07786a4c59883e473a2e38f571af9

●攻擊合約

0x6dd61c69415c8ecab3fefd80d079435ead1a5b4d

0x995a24c99ea2fd6c87421d516216d9bdc7fa72b4

●被攻擊合約

0x16748cb753a68329ca2117a7647aa590317ebf41

漏洞分析

漏洞合約中的多個Market地址參數可被操控。攻擊者通過傳入惡意的Market合約地址,成功繞過permit檢查,執行了惡意的deposit函數,竊取了用戶的抵押品USDC並清算用戶資產,最終實現了攻擊者的盈利目的。

攻擊流程

我們以0x3d6367…這筆交易為例

攻擊準備階段:

1.攻擊者創建了多個惡意Market合約

攻擊階段

1.攻擊者調用漏洞合約的leverage函數(槓槓函數)傳入偽造的market合約地址,由於market地址未校驗合法性,permit檢查被繞過並將_msgSender更改為受害者地址,這里為步驟3竊取受害者資產做了準備。

2.leverage函數會繼續調用惡意market合約中的deposit函數,進而執行攻擊者的惡意代碼

3.deposit函數中的惡意代碼會先創建一個V3 惡意token/USDC的池子,然後再重入進漏洞合約的crossDeleverage函數。由於marketIn和marketOut同樣可控,導致crossDeleverage函數計算的V3池子最終為攻擊者創建的V3池子。

4.此時由於_msgSender已經修改為了受害者,crossDeleverage函數進一步調用攻擊者創建的V3池子的swap函數用作閃電貸,並在回調函數uniswapV3callback中將受害者的資金轉入至V3池子中。

5.攻擊者移除流動性將受害者資金從V3池子中竊取出來。

6.由於受害者抵押資金被轉走,滿足清算條件,攻擊者進一步清算了受害者的頭寸而獲得了更多的收益。

資金追踪

截止發文時,被盜資金已通過Optimism bridge和Across Protoco跨鏈至以太坊。

總結

針對本次事件,Beosin安全團隊建議:

建議用作憑證代幣的合約地址需要填加白名單功能,以免被惡意操控。目前,Beosin已對Optimism鏈上多個項目諸如DIPX等進行過安全審計,因此Beosin建議項目上線前,選擇專業的安全審計公司進行全面的安全審計,規避安全風險。

Total
0
Shares
Related Posts