OrionProtocol遭重入攻擊 損失290萬美元加密資產

robot
摘要生成中

OrionProtocol遭受重入攻擊事件分析

2023年2月2日下午,以太坊和幣安智能鏈上的OrionProtocol項目因合約漏洞遭受重入攻擊,總計損失約290萬美元的加密資產,其中包括2,844,766 USDT(以太坊)和191,606 BUSD(BSC)。

攻擊過程分析

攻擊者首先部署了一個自定義Token合約,並進行了相應的轉移和授權操作,爲後續攻擊做準備。隨後,攻擊者通過某去中心化交易所的swap功能借入資金,並調用OrionProtocol的ExchangeWithAtomic.swapThroughOrionPool方法進行代幣兌換。兌換路徑設置爲USDC → 攻擊者自定義Token → USDT。

在兌換過程中,攻擊者利用自定義Token合約中的回調函數,重復調用ExchangeWithAtomic.depositAsset方法,導致存款金額被累加。最終,攻擊者通過取款操作完成了獲利。

OrionProtocol 重入攻擊分析附PoC

資金流向

攻擊者的初始資金來源於某大型交易平台的熱錢包。獲利的1,651枚ETH中,657.5枚仍留存在攻擊者的錢包地址,其餘部分已通過混幣工具進行了轉移。

OrionProtocol 重入攻擊分析附PoC

漏洞分析

核心問題出在ExchangeWithAtomic合約的doSwapThroughOrionPool函數中。該函數在執行代幣轉帳後更新curBalance變量,這爲重入攻擊創造了條件。攻擊者通過在自定義Token的transfer函數中添加回調邏輯,重復調用depositAsset函數,導致curBalance被錯誤更新。最終,攻擊者在償還閃電貸後,通過withdraw函數提取了超額資金。

OrionProtocol 重入攻擊分析附PoC

OrionProtocol 重入攻擊分析附PoC

OrionProtocol 重入攻擊分析附PoC

OrionProtocol 重入攻擊分析附PoC

OrionProtocol 重入攻擊分析附PoC

OrionProtocol 重入攻擊分析附PoC

OrionProtocol 重入攻擊分析附PoC

OrionProtocol 重入攻擊分析附PoC

OrionProtocol 重入攻擊分析附PoC

防範建議

  1. 合約開發應遵循"檢查-生效-交互"(Checks-Effects-Interactions)模式,避免在狀態更新前進行外部調用。

  2. 在實現代幣兌換功能時,需考慮各種Token類型和兌換路徑可能帶來的安全風險。

  3. 增加重入鎖等安全機制,防止重入攻擊。

  4. 對關鍵操作實施訪問控制和限額措施。

  5. 進行全面的安全審計,特別關注涉及資金操作的核心功能。

此事件再次凸顯了智能合約安全的重要性。項目方應持續關注合約安全,定期進行代碼審計和漏洞修復,以確保用戶資產的安全。同時,用戶在參與新項目時也應保持警惕,關注項目的安全狀況和審計報告。

TOKEN-0.12%
查看原文
此頁面可能包含第三方內容,僅供參考(非陳述或保證),不應被視為 Gate 認可其觀點表述,也不得被視為財務或專業建議。詳見聲明
  • 讚賞
  • 6
  • 分享
留言
0/400
ShamedApeSellervip
· 07-24 12:02
又一个凉凉咯
回復0
CoffeeOnChainvip
· 07-24 09:46
合约审计都不做?活该被薅
回復0
FlippedSignalvip
· 07-23 09:34
又双叒被黑了
回復0
薛定谔的FOMOvip
· 07-23 09:26
还没炒完币币又炸了?
回復0
ETH储备银行vip
· 07-23 09:25
又是0day高手在线教学
回復0
FlatlineTradervip
· 07-23 09:15
还不会防重入攻击?菜死
回復0
交易,隨時隨地
qrCode
掃碼下載 Gate APP
社群列表
繁體中文
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • Bahasa Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)