Poly Network遭攻击:智能合约漏洞导致keeper被篡改

robot
摘要生成中

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

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

攻击原理

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

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

攻击过程

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

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

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

  4. 这种攻击模式在以太坊网络上也有类似的操作。

总结

此次攻击的关键在于EthCrossChainData合约的keeper可被EthCrossChainManager合约修改,而EthCrossChainManager合约的verifyHeaderAndExecuteTx函数又能通过_executeCrossChainTx函数执行用户输入的数据。攻击者正是利用这一点,通过构造特定数据,成功修改了EthCrossChainData合约的keeper为攻击者控制的地址。

这一事件再次提醒我们,在智能合约设计中需要格外注意权限管理和函数调用的安全性。对于可能影响关键参数的函数,应该实施更严格的访问控制和安全检查机制。同时,跨链项目的安全性也需要得到更多关注,因为它们往往涉及大量资金和复杂的交互逻辑。

此页面可能包含第三方内容,仅供参考(非陈述/保证),不应被视为 Gate 认可其观点表述,也不得被视为财务或专业建议。详见声明
  • 赞赏
  • 3
  • 分享
评论
0/400
Gas_FeeCriervip
· 07-11 15:43
又见智能合约翻车 太菜了吧
回复0
梦游交易者vip
· 07-11 02:54
又一次马后炮的安全审计
回复0
APY Whisperervip
· 07-08 15:52
又见合约漏洞...
回复0
交易,随时随地
qrCode
扫码下载 Gate APP
社群列表
简体中文
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • Bahasa Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)