Poly Network遭黑客入侵 keeper被篡改致资金流失

robot
摘要生成中

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

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

攻击细节

  1. 攻击的核心在于 EthCrossChainManager 合约的 verifyHeaderAndExecuteTx 函数可通过 _executeCrossChainTx 函数执行跨链交易。

  2. EthCrossChainData 合约的 owner 为 EthCrossChainManager 合约,使得后者能够调用前者的 putCurEpochConPubKeyBytes 函数修改 keeper。

  3. EthCrossChainManager 合约的 verifyHeaderAndExecuteTx 函数可内部调用 _executeCrossChainTx 函数执行用户指定的跨链交易。攻击者利用这一点,通过传入精心构造的数据,使 _executeCrossChainTx 函数调用 EthCrossChainData 合约的 putCurEpochConPubKeyBytes 函数,从而将 keeper 角色更改为攻击者指定的地址。

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

攻击流程

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

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

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

  4. 类似的攻击模式也在以太坊网络上出现,攻击者采用了相同的手法更改 keeper 并实施攻击。

总结

此次攻击的关键在于 EthCrossChainData 合约的 keeper 可被 EthCrossChainManager 合约修改,而 EthCrossChainManager 合约的 verifyHeaderAndExecuteTx 函数又能通过 _executeCrossChainTx 函数执行用户传入的数据。攻击者正是利用了这一设计漏洞,通过构造特定数据修改了 EthCrossChainData 合约的 keeper,而非此前猜测的 keeper 私钥泄露。这一事件再次凸显了智能合约安全设计的重要性,也为业界提供了宝贵的经验教训。

此页面可能包含第三方内容,仅供参考(非陈述/保证),不应被视为 Gate 认可其观点表述,也不得被视为财务或专业建议。详见声明
  • 赞赏
  • 4
  • 分享
评论
0/400
RugPull预警机vip
· 07-20 15:15
纯链上数据说话,不亏大钱
回复0
薛定谔的空投vip
· 07-20 15:11
又出安全事件了啊 呵呵
回复0
MetaDreamervip
· 07-20 14:50
又是kp被搞 啥时是个头
回复0
GasFeeLadyvip
· 07-20 14:47
smh... 看门人妥协本来就是迟早会发生的,老实说。得检查那些上车点
查看原文回复0
交易,随时随地
qrCode
扫码下载 Gate APP
社群列表
简体中文
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • Bahasa Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)