OrionProtocol遭受290萬美元重入攻擊 資金被盜分析與防範建議

robot
摘要生成中

OrionProtocol遭受重入攻擊事件分析

2023年2月2日下午,以太坊和幣安智能鏈上的OrionProtocol合約因存在漏洞而遭受重入攻擊。攻擊者成功竊取了約290萬美元的資金,其中包括以太坊鏈上的2,844,766 USDT和幣安智能鏈上的191,606 BUSD。

攻擊過程分析

攻擊者首先部署了一個自定義Token合約,並對該Token進行了轉移和授權操作,爲後續的攻擊做好準備。隨後,攻擊者利用Uniswap V2的swap功能進行借貸,並調用OrionProtocol的ExchangeWithAtomic.swapThroughOrionPool方法進行代幣兌換。

OrionProtocol 重入攻擊分析附PoC

兌換路徑設置爲:USDC → 攻擊者的自定義Token → USDT

在兌換過程中,由於攻擊者的自定義Token合約中包含回調功能,使得在Token轉帳時能夠再次調用ExchangeWithAtomic.depositAsset方法。這種重入攻擊導致存款金額被重復計算,最終允許攻擊者提取超出實際存入金額的資金。

OrionProtocol 重入攻擊分析附PoC

資金流向

攻擊者初始資金來源於某大型交易平台的熱錢包。攻擊獲得的1,651個ETH中,657.5個ETH仍留在攻擊者的錢包地址中,其餘部分已通過混幣服務轉移。

OrionProtocol 重入攻擊分析附PoC

漏洞分析

漏洞的核心問題出現在doSwapThroughOrionPool函數中。該函數在執行代幣轉帳後更新curBalance變量,這爲重入攻擊創造了條件。攻擊者通過在自定義Token的transfer函數中添加回調邏輯,使得在更新curBalance之前可以重復調用depositAsset函數,從而導致餘額計算錯誤。

OrionProtocol 重入攻擊分析附PoC

OrionProtocol 重入攻擊分析附PoC

OrionProtocol 重入攻擊分析附PoC

OrionProtocol 重入攻擊分析附PoC

OrionProtocol 重入攻擊分析附PoC

OrionProtocol 重入攻擊分析附PoC

OrionProtocol 重入攻擊分析附PoC

OrionProtocol 重入攻擊分析附PoC

防範建議

爲防止類似攻擊,項目方應注意以下幾點:

  1. 實施嚴格的訪問控制和權限管理。
  2. 遵循"檢查-生效-交互"(Checks-Effects-Interactions)模式編寫智能合約。
  3. 使用重入鎖或類似機制防止重入攻擊。
  4. 對於涉及代幣兌換的功能,需考慮各種Token類型和兌換路徑可能帶來的安全風險。
  5. 進行全面的安全審計,包括靜態分析、動態測試和人工審核。
  6. 持續監控合約活動,建立快速響應機制。

此次事件再次強調了在開發和部署智能合約時,安全性應始終是首要考慮因素。項目方需要不斷完善安全措施,以保護用戶資產和維護平台信譽。

TOKEN-3.26%
查看原文
此頁面可能包含第三方內容,僅供參考(非陳述或保證),不應被視為 Gate 認可其觀點表述,也不得被視為財務或專業建議。詳見聲明
  • 讚賞
  • 6
  • 轉發
  • 分享
留言
0/400
FUD_Vaccinatedvip
· 08-14 03:57
又来割韭菜了
回復0
GateUser-aa7df71evip
· 08-13 22:35
又一韭菜镰刀 看我后面分析小课堂
回復0
币本位思维vip
· 08-13 22:34
又是重入这老把戏
回復0
半佛薅羊毛vip
· 08-13 22:29
又一个智能合约经典翻车 韭菜钱不保咯
回復0
NewPumpamentalsvip
· 08-13 22:26
又是重入攻击 啥时是个头
回復0
ShibaOnTheRunvip
· 08-13 22:23
又被攻击啦 有点慌
回復0
交易,隨時隨地
qrCode
掃碼下載 Gate APP
社群列表
繁體中文
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • Bahasa Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)