跨链协议安全漏洞剖析:攻击者如何修改keeper获取资金控制权

robot
摘要生成中

跨链协议遭遇安全漏洞:一次深入剖析

最近,一个跨链互操作协议遭遇了严重的安全漏洞,引发了业内广泛关注。安全专家团队对此事件进行了详细分析,揭示了攻击者是如何利用合约漏洞获取权限并最终实施攻击的。

攻击原理

分析显示,此次攻击的核心在于协议中的一个关键合约函数存在漏洞。攻击者通过精心构造的数据,成功修改了另一个重要合约中的管理员地址,从而获得了对资金的控制权。这与此前流传的管理员私钥泄露说法不符。

攻击细节

  1. 攻击者利用了一个名为verifyHeaderAndExecuteTx的函数,该函数可以执行跨链交易。

  2. 由于合约间的所有权关系,攻击者能够通过上述函数调用另一个合约的putCurEpochConPubKeyBytes函数,从而修改关键的keeper角色。

  3. 攻击者构造了特定的交易数据,使verifyHeaderAndExecuteTx函数间接调用putCurEpochConPubKeyBytes函数,将keeper角色更改为攻击者控制的地址。

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

攻击过程

攻击者首先在一个区块链网络上发起攻击,通过精心设计的交易修改了keeper地址。随后,攻击者连续发起多笔交易,从被攻击的合约中提取大量资金。

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

值得注意的是,攻击者采用了类似的方法在另一个主流区块链网络上也实施了攻击,显示出这是一次有预谋的、跨链的攻击行动。

总结

这次攻击事件的根本原因在于协议设计中存在的漏洞。攻击者巧妙地利用了合约间的调用关系和权限设置,通过构造特殊的交易数据,成功篡改了关键的keeper地址。这一发现纠正了此前关于私钥泄露的错误推测,为同类协议的安全设计提供了重要参考。

此事件再次凸显了去中心化金融协议在安全性方面面临的挑战,也提醒开发者在设计跨链互操作功能时需要更加谨慎,充分考虑各种可能的攻击场景。

此页面可能包含第三方内容,仅供参考(非陈述/保证),不应被视为 Gate 认可其观点表述,也不得被视为财务或专业建议。详见声明
  • 赞赏
  • 5
  • 分享
评论
0/400
Buy_High_SellLowvip
· 07-21 18:25
离谱 又亏了 叫我来审合约不就没事了
回复0
MetaRecktvip
· 07-19 15:28
啧啧 合约代码审查还不够仔细
回复0
zkProofInThePuddingvip
· 07-19 15:27
又一个智能合约裂缝被撬开了
回复0
screenshot_gainsvip
· 07-19 15:21
太菜了吧 被黑得这么轻松
回复0
GateUser-aa7df71evip
· 07-19 15:18
哎呀跨链又出事了,这些项目怎么天天被薅羊毛
回复0
交易,随时随地
qrCode
扫码下载 Gate APP
社群列表
简体中文
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • Bahasa Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)