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-2.48%
此页面可能包含第三方内容,仅供参考(非陈述/保证),不应被视为 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)