Poly Network遭黑客攻击:EthCrossChainData合约keeper被篡改

robot
摘要生成中

Poly Network 遭受黑客攻击事件分析

近日,跨链互操作协议 Poly Network 遭遇黑客攻击,引发业界广泛关注。经安全团队分析,此次攻击并非由 keeper 私钥泄露导致,而是攻击者通过精心构造的数据修改了 EthCrossChainData 合约的 keeper 地址。

攻击核心

攻击的关键在于 EthCrossChainManager 合约中的 verifyHeaderAndExecuteTx 函数。该函数可通过 _executeCrossChainTx 函数执行特定的跨链交易。由于 EthCrossChainData 合约的所有者是 EthCrossChainManager 合约,因此后者能够调用 EthCrossChainData 合约的 putCurEpochConPubKeyBytes 函数来修改合约的 keeper。

攻击者利用 verifyHeaderAndExecuteTx 函数传入特制数据,使 _executeCrossChainTx 函数调用 EthCrossChainData 合约的 putCurEpochConPubKeyBytes 函数,从而将 keeper 角色更改为攻击者指定的地址。完成这一步后,攻击者便可构造交易,从合约中提取任意数量的资金。

攻击过程

  1. 攻击者通过 EthCrossChainManager 合约的 verifyHeaderAndExecuteTx 函数调用 putCurEpochConPubKeyBytes 函数,更改了 keeper。

  2. 随后,攻击者实施了一系列攻击交易,从合约中提取资金。

  3. 由于 keeper 被修改,导致其他用户的正常交易被拒绝执行。

  4. 类似的攻击手法也在以太坊网络上使用,攻击者同样修改了 keeper 并实施了攻击。

结论

此次攻击的核心在于 EthCrossChainData 合约的 keeper 可被 EthCrossChainManager 合约修改,而 EthCrossChainManager 合约的 verifyHeaderAndExecuteTx 函数又能执行用户传入的数据。攻击者正是利用这一机制,通过构造特定数据修改了 EthCrossChainData 合约的 keeper 地址,从而实现了攻击目的。

这一事件再次提醒了跨链协议安全的重要性,特别是在关键角色管理和权限控制方面。未来,类似项目在设计时需要更加谨慎,避免出现可能被攻击者利用的漏洞。

此页面可能包含第三方内容,仅供参考(非陈述/保证),不应被视为 Gate 认可其观点表述,也不得被视为财务或专业建议。详见声明
  • 赞赏
  • 5
  • 转发
  • 分享
评论
0/400
测试网游民vip
· 13小时前
唉又一个被盗的 来来回回还是这些坑
回复0
Not_Satoshivip
· 08-16 15:15
区块链嫖老师
回复0
GateUser-7b078580vip
· 08-16 15:11
又是智能合约的漏洞 还剩几个合约能信
回复0
GmGnSleepervip
· 08-16 15:05
又黑了 唉 没啥好说的
回复0
暗池观察员vip
· 08-16 15:04
又来一个精心构造的黑客
回复0
交易,随时随地
qrCode
扫码下载 Gate APP
社群列表
简体中文
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • Bahasa Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)