header-langage
简体中文
繁體中文
English
Tiếng Việt
한국어
日本語
ภาษาไทย
Türkçe
掃碼下載APP
Partnered With:

「不聽勸」導致超200萬美元損失,簡析Zunami Protocol被攻擊原理

閱讀本文需 9 分鐘
攻擊原因是漏洞合約中 LP 價格計算依賴了合約自身的 CRV 餘額,和 CRV 在 wETH/CRV 池中的兌換比例。
原文標題:《「任性」的代價? Zunami Protocol 因價格操縱而被攻擊,損失超過210 萬美元》
原文來源:Beosin


2023 年8 月14 日,Beosin EagleEye 安全風險監控、預警與阻斷平台監測顯示,以太坊鏈上Zunami Protocol 協定遭遇價格操縱攻擊,損失1,152 個ETH,價值210 萬美元。


據了解,Zunami Protocol 是一個為用戶分配穩定幣的平台,可以理解為去中心化收入聚合器,為穩定幣持有者創造更有益的解決方案。


關於本次事件有一個小插曲,此前已有安全公司善意提醒其出現漏洞,但專案方卻沒有重視,「任性」不管,結果本次事件發生後,已為時已晚。



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


事件相關資訊


●攻擊交易Tx1:0x2aec4fdb2a09ad4269a410f2c770737626fb62c54e0fa8ac25e8582d4b690ccaTx2:0x0788ba222970c7c68a738b0268abcab cceb


●攻擊者位址0x5f4c21c9bb73c8b4a296cc256c0cde324db146df


●攻擊合約0xa21a2b59d807478507070 p>


●被攻擊合約0xe47f1cd2a37c6fe69e3501ae45eca263c5a87b2b


漏洞分析


本次攻擊原因是漏洞合約中 LP 價格計算依賴了合約自身的 CRV 餘額,和 CRV 在 wETH/CRV 池中的兌換比例。攻擊者透過向合約中轉入 CRV 並操控 wETH/CRV 池子的兌換比例,從而操控了 LP 價格。


攻擊流程


我們以0x2aec4. ..... 交易為例:


攻擊準備:


1. 駭客首先透過balancer:Vault 閃電貸借出6811 枚ETH 作為攻擊資金。  



2. 使用閃電貸的300ETH 兌換出84 zETH ,為後續zETH 增值做準備 



攻擊階段:


1. 使用11 ETH 兌換35293 CRV 轉入sEthFraxEthCurveConvex 合約,攻擊者操縱sEthFraxEthCurveConvex 合約中的CRV 餘額,為了後續攻擊操控提前做好準備。


 


2. 然後使用406 個ETH 在wETH/CRV 池子中多次重複兌換CRV,從而CRV 被拉高了大約10 倍價格。



 3. 由於zETH(LP)的價值計算由CRV 代幣的價格和依賴sEthFraxEthCurveConvex 合約中CRV 與ETH 計算的估價2 個因素共同決定。


4. 攻擊者透過上面的步驟操縱了 CRV 的價格和漏洞合約的 CRV 餘額,導致最終_assetPriceCached 變大。






5. 由於計算 zETH(LP)的 balanceOf 中使用的_assetPriceCached 變大,使得 84zETH 增值到 221 zETH。  





6. 使用第4 步兌換出來的CRV 再兌換ETH,用來歸還閃電貸。  



7.將增值後的221 zETH(LP)兌換成389 ETH。  



 


8. 歸還6811 ETH 閃電貸及其他費用,最終獲利26ETH。



資金追蹤


當發文時,Beosin 安全分析團隊發現被竊資金已全部轉入Tornado cash。



總結


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


1. 相關類似的項目方應該在計算Lp 價值時,考慮不同代幣池依賴關係。


2. 專案上線前,建議選擇專業的安全審計公司進行全面的安全審計,以規避安全風險。


原文連結


歡迎加入律動 BlockBeats 官方社群:

Telegram 訂閱群:https://t.me/theblockbeats

Telegram 交流群:https://t.me/BlockBeats_App

Twitter 官方帳號:https://twitter.com/BlockBeatsAsia

選擇文庫
新增文庫
取消
完成
新增文庫
僅自己可見
公開
保存
糾錯/舉報
提交