「不聽勸」導致超200萬美元損失,簡析Zunami Protocol被攻擊原理
BlockBeats 律動財經 2023-08-15 12:00
2023 年 8 月 14 日,Beosin EagleEye 安全風險監控、預警與阻斷平台監測顯示,以太坊鏈上 Zunami Protocol 協議遭遇價格操縱攻擊,損失 1152 個 ETH,價值 210 萬美元。
據了解,Zunami Protocol 是一個為用戶分配穩定幣的平台,可以理解為去中心化收入聚合器,為穩定幣持有者創造更有益的解決方案。
關於本次事件有一個小插曲,此前已有安全公司善意提醒其出現漏洞,但項目方卻沒有重視,「任性」不管,結果本次事件發生後,已為時已晚。
Beosin 安全團隊第一時間對事件進行了分析,結果如下:
事件相關資訊
●攻擊交易 Tx1:0x2aec4fdb2a09ad4269a410f2c770737626fb62c54e0fa8ac25e8582d4b690ccaTx2:0x0788ba222970c7c68a738b0e08fb197e669e61f9b226ceec4cab9b85abe8cceb
●攻擊者地址 0x5f4c21c9bb73c8b4a296cc256c0cde324db146df
●攻擊合約 0xa21a2b59d80dc42d332f778cbb9ea127100e5d75
●被攻擊合約 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. 項目上線前,建議選擇專業的安全審計公司進行全面的安全審計,規避安全風險。
暢行幣圈交易全攻略,專家駐群實戰交流
▌立即加入鉅亨買幣實戰交流 LINE 社群(點此入群)
不管是新手發問,還是老手交流,只要你想參與虛擬貨幣現貨交易、合約跟單、合約網格、量化交易、理財產品的投資,都歡迎入群討論學習!
- 從零開始學合約系列講座熱烈報名中
- 掌握全球財經資訊點我下載APP
文章標籤
上一篇
下一篇