MetaTrust:Onyx的治理和漏洞是如何淪為黑客的“金鏟子”?
11 月 1 日, MetaScout 監測到 以太坊上的借貸協議 Onyx Protocol 遭受了一次閃電貸攻擊,損失了 210 萬美元。根本原因是黑客盯上並首先執行了添加新市場的提案,以及 Compound 分叉協議中存咋 id 精度損失問題。
MetaTrust Labs 據此對該事件進行了深入的研究和分析,揭露黑客是如何利用治理提案和協議漏洞對 Onyx Protocol 發起這場攻擊。
關於 Onyx Protocol
Onyx Protocol(https://docs.onyx.org/)是一個借貸市場,旨在為以太坊網絡上的用戶提供安全和無需信任的信貸和借貸服務。
在 2023 年 10 月 29 日,Onyx Protocol(https://x.com/OnyxProtocol/status/1718348637158137858?s=20)啓動了提案 OIP-22 ,以將$PEPE 添加到市場中。然而遺憾的是,該提案被黑客盯上並加以攻擊了。
同時,從 Onyx 鏈上部署的合約來看,它是 Compound 衍生協議,由於遭受攻擊,其 TVL 從 286 萬美元下降到 55 萬美元。
攻擊行動
攻擊損失
兩筆攻擊交易的總損失約為 214 萬美元
攻擊者
0xdec2F31C3984F3440540DC78Ef21b1369d4eF7670x5083956303a145f70ba9f3d80c5e6cb5ac842706
攻擊合約
0x052ad2f779c1b557d9637227036ccaad623fceaa
受攻擊合約
代理合約: https://etherscan.io/address/0x5fdbcd61bc9bd4b6d3fd1f49a5d253165ea11750
實現合約: https://etherscan.io/address/0x9dcb6bc351ab416f35aeab1351776e2ad295abc4#code
治理合約
https://etherscan.io/address/0xdec2f31c3984f3440540dc78ef21b1369d4ef767
攻擊步驟
TL;DR
以攻擊交易0x f 7 c 216 為例
1. 黑客(0x 085 bDf)首先執行提案 OIP-22 以添加一個名為 oPEPE(0x 5 fdbcd)的新市場
2. 在新市場添加後的一分鐘內,從 AAVE 啓動了一個閃電貸並獲得了 4, 000 個$WETH
-
將 4, 000 個$WETH 兌換成 2, 520, 870, 348, 093 個$PEPE
-
將所有的$PEPE 轉移到地址0x f 8 e 153
-
在上述地址0x f 8 e 153 創建合約,使用 1 個$PEPE 鑄造了 50, 000, 000, 000, 000, 000, 000 個$oPEPE,贖回了絕大部分$oPEPE,僅剩下 2 wei 給 oPEPE 市場
-
將 2, 520, 870, 348, 093 個$PEPE 轉移到 oPEPE 並以$oPEPE 進入市場
-
借入 334 個$ETH
-
由於精度損失問題,僅贖回了 1 wei 的$oPEPE 就換取了 2, 520, 870, 348, 093 個$PEPE
-
從步驟 b 到步驟 f 重復以上步驟,借入$USDC、$USDT、$PAXG、$DAI、$WBTC 和$ LINK ,兌換成$ETH
匯率 = (總現金 + 總借出 - 總儲備)/總供應= 2, 520, 870, 348, 093, 423, 681, 390, 050, 791, 472 / 2= 1, 260, 435, 174, 046, 711, 840, 695, 025, 395, 736
贖回金額 = 2, 520, 870, 348, 093, 423, 681, 390, 050, 791, 470
由於受到交易截斷,贖回令牌 = 贖回金額 / 匯率 = 1
清算借款人(0x f 8 e 153)的 881, 647, 840 wei $PEPE
贖回了 856, 961, 701 wei $PEPE
3. 用 4, 002 個$WETH 還清 AAVE 的閃電貸,從中獲得了 1156.9 個$ETH 的利潤
根本原因
-
一方面,黑客非常熟悉 Compound 協議的精度損失問題,並提前注意到了 Onyx Protocol 的漏洞,因此,黑客可能早早的意識到了提案 OIP-22 中的問題,一旦提案激活並准備好執行,黑客搶先執行該提案,並在僅僅一分鐘後就發動了攻擊。
-
另一方面,精度損失漏洞是攻擊的根本原因。黑客操縱了 totalSupply 使其變成一個極小的值即 2 ,並將 totalCash 增加到極大的值,即2520870348093423681390050791471,以放大 exchangeRate,從而導致在贖回時產生計算截斷。
安全建議
-
對治理提案進行詳細的審計,不僅限於智能合約,特別是在初始化場景和其他邊緣情況下;
-
考慮在市場初始化時添加少量份額以防止操縱,尤其是對於 Compound 協議;
-
建議採用監控系統,在緊急情況發生時暫停協議。如果 Onyx 已經有一個監控系統,第二次攻擊交易發生超過半小時後可能會被阻止以減少損失。另外,整合一個內存池阻塞系統會非常有益。這個系統可以有效地檢測攻擊者在執行攻擊時在內存池中的攻擊交易,允許進行預防性阻止以避免損失。
資金流向
截稿時,攻擊者(0x 085 bDf)已使用另一個受控地址(0x 4 c 9 c 86)將 1140 個$ETH 轉移到混幣平臺 Tornado.Cash
另一位攻擊者仍然將竊取的代幣保留在錢包中(0x 508395)
同類攻擊案例
這個漏洞類似於 2023 年 4 月 15 日的 Hundred Finance 遭受的黑客攻擊,該攻擊導致損失約 700 萬美元。交易鏈接: 0x6e9ebcdebbabda04fa9f2e3bc21ea8b2e4fb4bf4f4670cb8483e2f0b2604f451
關於 MetaTrust Labs
MetaTrust Labs 是新加坡南洋理工大學孵化的領先Web3人工智能安全工具和代碼審計服務提供商。我們提供先進的 AI 解決方案,賦予开發者和項目相關者保護Web3應用程序和智能合約的能力。我們的綜合服務包括 AI 安全掃描、代碼審計、智能合約監控和交易監控。在 MetaTrust Labs,我們致力於保護Web3領域,使構建者能夠充滿信心和可靠地進行創新。
Website: metatrust.io
Twitter : @MetatrustLabs
鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播信息之目的,不構成任何投資建議,如有侵權行為,請第一時間聯絡我們修改或刪除,多謝。
星球日報
文章數量
7692粉絲數
0