Poly Network遭黑客攻击 EthCrossChainManager合约漏洞致资金流失

robot
摘要生成中

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

近日,跨链互操作协议 Poly Network 遭受黑客攻击,引发了业界广泛关注。安全团队对此事件进行了深入分析,揭示了攻击者的具体手法和攻击过程。

攻击原理

攻击的核心在于利用 EthCrossChainManager 合约中的漏洞。攻击者通过 verifyHeaderAndExecuteTx 函数,传入精心构造的数据,成功修改了 EthCrossChainData 合约的 keeper 为指定地址。这与此前流传的 keeper 私钥泄露说法不符。

攻击细节

  1. EthCrossChainManager 合约的 verifyHeaderAndExecuteTx 函数可通过 _executeCrossChainTx 函数执行具体的跨链交易。

  2. EthCrossChainData 合约的 owner 为 EthCrossChainManager 合约,因此后者可调用前者的 putCurEpochConPubKeyBytes 函数修改 keeper。

  3. 攻击者利用 verifyHeaderAndExecuteTx 函数,传入特制数据,使 _executeCrossChainTx 函数执行 EthCrossChainData 合约的 putCurEpochConPubKeyBytes 函数,从而改变 keeper 为攻击者控制的地址。

  4. keeper 角色被替换后,攻击者可随意构造交易,从合约中提取任意数量的资金。

攻击流程

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

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

  3. 攻击完成后,由于 keeper 被修改,其他用户的正常交易被拒绝执行。

  4. 类似的攻击手法也在以太坊网络上实施,攻击者采用了相同的操作步骤。

结论

本次攻击的关键在于 EthCrossChainData 合约的 keeper 可被 EthCrossChainManager 合约修改,而后者的 verifyHeaderAndExecuteTx 函数又可执行用户传入的数据。攻击者正是利用这一漏洞,通过构造特定数据,成功更改了 EthCrossChainData 合约的 keeper,进而实施了资金盗取。

这一事件再次提醒我们,在跨链协议的设计和实现中,需要格外注意权限管理和安全验证机制,以防止类似的攻击发生。同时,对于智能合约的审计和漏洞检测也应该更加全面和深入,特别是在涉及关键角色和权限变更的函数上。

此页面可能包含第三方内容,仅供参考(非陈述/保证),不应被视为 Gate 认可其观点表述,也不得被视为财务或专业建议。详见声明
  • 赞赏
  • 6
  • 分享
评论
0/400
社恐质押者vip
· 9小时前
这合约也太脆了8
回复0
DeFiVeteranvip
· 9小时前
又见安全漏洞?慌啥
回复0
区块链假面骑士vip
· 9小时前
又到韭菜开割时间咯~
回复0
Fren_Not_Foodvip
· 10小时前
又是一个智能合约被日了
回复0
割肉不割爱vip
· 10小时前
又黑又没黑到位 菜鸡
回复0
ser_we_are_earlyvip
· 10小时前
又躺着赚钱的机会?
回复0
交易,随时随地
qrCode
扫码下载 Gate APP
社群列表
简体中文
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • Bahasa Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)