随着区块链技术的发展及各类新增长的出现,加密货币生态系统随之产生了更多的安全风险及复杂性。
在2021年的基础上,2022年的攻击赛道又出现了一位“强力选手”。跨链桥作为新的攻击载体,安全性方面的发展尚未成熟。因此,跨链桥也是所有项目以及开发人员应该提高警惕的领域之一。
2022年的春节假期尚未结束时,跨链桥即发生了两起重大攻击,算上春节前的另一起同类事件,短短10天内的三起攻击事件使得黑客在跨链桥方面取得了“傲人”成绩。
在对这几起事件进行了解之前,我们需要先知道什么是跨链桥以及它的原理。用一个相对简单的描述:bridge可将资产从一个区块链转移到另一个区块链。?
跨链交易
Kannagi Rug Pull地址收到匿名沟通信息,限盗取者48小时退还资金:7月31日消息,链上数据显示,zkSync Era 上 DeFi 项目 Kannagi Finance Rug Pull 地址于约 3 小时前收到匿名沟通信息,具体内容如下:
你好,Kannagi 项目负责人。关于你 rug 事件,我们代表 60 万美元的国内受害团体与你沟通。
1.你所 rug 的资金是很多人一生的积蓄,毁掉许多家庭,相关的国内受害者已经组织了一个强大和齐心协力的社群。
2.我们已经采集取证了许多 KOL 及知名平台推广这个项目的信息及相关人士助查,并且梳理了你过往多个项目操作以及所有关联钱包的操作痕迹及路径。
3.我们同时联系了国内外的安全公司介入追踪;与相关中心化交易所取得联系,还有你项目所做的审计公司及相关合作的链上平台都在全力配合调查。
4.目前,我们已经梳理出案件的全部资料,并掌握了你明显的操作痕迹漏洞。我们社群成员将在全国各地报警立案,届时这将是一个在全国多地多部门联合并案处理的集体案件。
5.我们给予你 48 小时的时间联系,商讨退还你不法盗取的资金,否则一旦执法机构接手,将后无退路。如果期限过后无任何回复,我们还将设立 20% 涉案资金的赏金池,奖赏提供线索让你落网或追回所有资金的举报者。
6.你真的确信你多年来做的所有操作行为没有任何的漏洞么?
此前报道,7 月 29 日,zkSync Era 上 DeFi 项目 Kannagi Finance 发生 Rug Pull,截止发稿时 TVL 仅剩 24 美元(昨日为 213 万美元),其官方推特账户已注销。[2023/7/31 16:08:36]
跨链交易的步骤如下:
4974万美元BTC从未知钱包转入Coinbase:金色财经报道,据WhaleAlert监测,1828枚BTC(价值约4974万美元)从未知钱包转入Coinbase。[2023/5/16 15:06:13]
1.用户将代币“存入”一条链上的“bridge合约”,并生成一个证明,指定所需的跨链信息。
2.bridge合约验证该证明,随后在目标链上用户可以从bridge合约中"提取"代币。在最近的三起事件中,攻击者注入性数据,绕过验证,将目标链上的相应代币提取到指定地址。
Bridges上的常见攻击媒介
QubitBridge漏洞事件
攻击者伪造数据绕过bridge合约的数据真实性检查,在没有提供任何加密货币的情况下使bridge合约产生了攻击者已存款的虚假时间证明。
匿名用户在OP_RETURN交易中将近1,000个地址标记为俄罗斯政府资产:金色财经报道,根据加密追踪公司 Chainalysis 发布的一份报告,从 2022 年 2 月 12 日开始(俄罗斯入侵乌克兰前几周)到 2022 年 3 月 14 日结束,匿名比特币用户在 OP_RETURN 交易中将近 1,000 个地址标记为俄罗斯政府资产。OP_RETURN 是一个用于将比特币交易标记为无效的字段,但可用于存储文本,允许用户将消息附加到交易并将它们广播到整个区块链,在那里它们将被永久保存。
报告称,某个匿名个人或团体向总共 986 个比特币地址发送了数千笔交易,并声称这些地址与俄罗斯情报机构有关,Chainalysis 称至少三个所谓的俄罗斯钱包地址之前已被第三方链接到俄罗斯。据说其中两人参与了 Solarwinds 攻击,第三人购买了用于俄罗斯 2016 年大选虚假宣传活动的服务器。Chainalysis 在报告中表示,事实上,OP_RETURN 发送者愿意并且能够销毁价值数十万美元的比特币来传播他们的信息,这使得我们认为他们的信息更有可能是准确的。[2023/4/28 14:31:40]
其根本原因在于ETH和ERC-20的存款共享相同的事件证明。这允许攻击者调用该函数利用不存在的ERC20存款事实生成虚假的ETH存款事件证明,并以此在另一条链上提取ETH。
Numen:公链Aptos的VM虚拟机中存在的一个高危级别安全漏洞:金色财经报道,新加坡安全公司Numen Cyber Technology检测到Aptos公链的VM虚拟机中存在的一个高危级别安全漏洞,攻击者利用此漏洞可以在Aptos虚拟机中执行攻击者精心构造的特定代码,导致控制公链节点或使其瘫痪,Aptos Labs官方已经证实此漏洞的存在,Numen Cyber Labs已协助官方修复该安全漏洞。[2022/10/10 10:29:17]
在这种情况下合约中的漏洞被触发——当代币地址是EOA时,“safeTransferFrom”函数不会回退。因此,攻击者在没有向合约发送任何代币的情况下获取了证明。
事件详细分析请戳:https://certik.medium.com/qubit-bridge-collapse-exploited-to-the-tune-of-80-million-a7ab9068e1a0
Meter?Bridge漏洞事件
该漏洞与Qubitbridge漏洞很相似——攻击者避过bridge合约向bridge提供不存在的代币证明从而跳过了验证过程,从而可以在另一个链上提取代币。
Bridge合约提供了两个方法:deposit和depositETH。
然而,这两个方法产生了相同的存款事件证明,并且deposit函数并没有阻止WETH/WBNB的存款交易,也没有销毁或锁定WETH/WBNB。
黑客通过使用deposit,在没有任何真实存款的情况下使bridge合约产生了虚假的WETH/WBNB存款事件证明。
Solana跨链桥虫洞事件
Solana虫洞的漏洞事件中,攻击者通过向指令注入一个恶意的“sysvaraccount”来绕过“verifysignature”,并伪造了一个铸造Wormhole-wrappedEther的消息。
这个漏洞的根本原因是在验证签名过程中,程序使用了一个在Solana更新至1.8.0时即被废弃的“load_current_index”函数。
该函数不会验证输入的“sysvaraccount”是否真的是“systemsysvar”,从而攻击者可以趁机伪造这个关键帐户。
此后,攻击者利用此伪造的账户生成了虚假的铸币信息,然后根据得到的铸币在目标链上提取了相应真实代币。
三起“炸桥案”总结
Qubit以及Meter.io的bridge代码未能处理临界情况,也就是说,合约的ERC20存款功能可以用来生成虚假的ETH/BNB存款事件证明,而后者成为了目标链上提取真实ETH/BNB的凭证。
Wormholebridge则是其合约未验证调用者注入的“sysvaraccount”,从而产生了虚假的铸币信息。
总而言之,上述三起事件都是由于验证过程的缺陷而造成的。
如何应对该类漏洞?
在上述攻击中,我们可以吸取到一些关键教训:
1.对于不同的功能,比如ERC20的存款和ETH/BNB的存款,合约应产生不同的事件证明。
2.始终记得验证用户注入的输入。
3.密切关注近期漏洞事件,并检查其他项目是否存在类似情况。
4.需要对每个bridge的核心合约进行相应审计。
除此之外,当该漏洞发生后,我们应该:
1.停止中继消息层并暂停代币传输,bridge合约也应暂停所有充提币功能。
2.立即通知社区、交易所和平台合作伙伴,监控资金流向。
3.建立与权威安全专家们的沟通渠道,进行有效的讨论和信息共享。
4.识别、验证和修复漏洞。及时测试以确保现有的漏洞得到解决以及未产生新的漏洞,同时对bridge合约进行升级。
5.评估损失,并与社区就被利用的资产数量、可追回的资产以及补偿计划进行坦诚地沟通
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。