Poly Network黑客攻击原因揭秘:EthCrossChainData合约keeper被篡改

robot
摘要生成中

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

近日,跨链互操作协议 Poly Network 遭遇黑客攻击,引发了业界广泛关注。安全团队对此事件进行了深入分析,认为攻击者是通过巧妙构造数据,修改了 EthCrossChainData 合约的 keeper 地址,而非此前传言的 keeper 私钥泄露导致。

攻击核心

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

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

攻击过程

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

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

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

  4. 类似的攻击手法也在以太坊网络上得到了应用。

结论

此次攻击的根本原因在于 EthCrossChainData 合约的 keeper 可被 EthCrossChainManager 合约修改,而后者的 verifyHeaderAndExecuteTx 函数又能执行用户传入的数据。攻击者正是利用了这一漏洞,通过构造特定数据,成功更改了 EthCrossChainData 合约的 keeper 地址。这一发现澄清了此前关于 keeper 私钥泄露的错误传言。

本次事件再次凸显了跨链协议安全的重要性。对于复杂的智能合约系统,尤其是涉及跨链操作的项目,需要更加严格的安全审计和风险评估。同时,这也提醒了区块链项目开发者要格外注意权限管理和数据验证的问题,以防止类似的安全漏洞被利用。

此页面可能包含第三方内容,仅供参考(非陈述/保证),不应被视为 Gate 认可其观点表述,也不得被视为财务或专业建议。详见声明
  • 赞赏
  • 5
  • 转发
  • 分享
评论
0/400
failed_dev_successful_apevip
· 14小时前
gg 老伙计被锁链给锁穿了
回复0
资深链上考古学家vip
· 14小时前
被盗钱也太多了 溜了溜了
回复0
retroactive_airdropvip
· 14小时前
整天都是被攻击呗
回复0
喝茶看盘侠vip
· 14小时前
别装了 都是内鬼
回复0
DeadTrades_Walkingvip
· 14小时前
智能合约也没啥用 天天被黑
回复0
交易,随时随地
qrCode
扫码下载 Gate APP
社群列表
简体中文
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • Bahasa Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)