OrionProtocol遭重入攻擊 290萬美元損失

robot
摘要生成中

OrionProtocol遭受重入攻擊事件分析

2023年2月2日15:40:20 UTC,以太坊和幣安智能鏈上的OrionProtocol合約因存在漏洞遭到重入攻擊。攻擊者分別在以太坊鏈上獲利2,844,766 USDT,在幣安智能鏈上獲利191,606 BUSD,總計約290萬美元。

攻擊過程分析

攻擊者首先部署了一個自定義Token合約,並進行了相關的轉移和授權操作,爲後續攻擊做準備。

隨後,攻擊者通過某DEX的swap方法進行借貸,並調用OrionProtocol的ExchangeWithAtomic.swapThroughOrionPool方法進行代幣兌換。兌換路徑設置爲[USDC, 攻擊者Token, USDT]。

在兌換過程中,由於攻擊者創建的Token合約中包含回調邏輯,因此在Transfer操作時會觸發對ExchangeWithAtomic.depositAsset方法的重入調用,導致存款金額被多次累加。最後,攻擊者通過取款操作完成獲利。

OrionProtocol 重入攻擊分析附PoC

資金流向

攻擊者的初始資金來自某交易平台的熱錢包帳戶。獲利的1,651個ETH中,657.5個ETH仍滯留在攻擊者的錢包地址中,其餘部分已通過混幣服務進行轉移。

OrionProtocol 重入攻擊分析附PoC

漏洞分析

核心問題出在ExchangeWithAtomic合約的doSwapThroughOrionPool函數中。該函數在執行Token轉帳後更新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. 合約設計中應考慮多種Token和兌換路徑可能帶來的安全風險。

  2. 遵循"檢查-效果-交互"(Checks-Effects-Interactions)模式編寫合約代碼,即先進行條件檢查,然後更新狀態變量,最後再執行外部調用。

  3. 在關鍵函數中實現重入鎖,防止重入攻擊。

  4. 對於外部調用的Token合約,應進行嚴格的安全審計和白名單管理。

  5. 定期進行合約安全審計,及時發現和修復潛在漏洞。

通過採取這些措施,可以有效降低智能合約遭受攻擊的風險,提高項目的整體安全性。

TOKEN-1.65%
查看原文
此頁面可能包含第三方內容,僅供參考(非陳述或保證),不應被視為 Gate 認可其觀點表述,也不得被視為財務或專業建議。詳見聲明
  • 讚賞
  • 5
  • 分享
留言
0/400
码农韭菜vip
· 21小時前
又一韭菜收割机凉凉
回復0
GasWasterrvip
· 21小時前
又一韭菜收割机凉了
回復0
梦游交易者vip
· 21小時前
又割一波韭菜啊
回復0
熊市避雷针vip
· 21小時前
又被薅羊毛了
回復0
毁灭罐头vip
· 21小時前
又是智能合约的老问题啊
回復0
交易,隨時隨地
qrCode
掃碼下載 Gate APP
社群列表
繁體中文
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • Bahasa Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)