CertiK:十天内三起“炸桥案” 概览
随着区块链技术的发展及各类新增长的出现,加密货币生态系统随之产生了更多的安全风险及复杂性。
在2021年的基础上,2022年的攻击赛道又出现了一位“强力选手”。跨链桥作为新的攻击载体,安全性方面的发展尚未成熟。因此,跨链桥也是所有项目以及开发人员应该提高警惕的领域之一。
2022年的春节假期尚未结束时,跨链桥即发生了两起重大攻击,算上春节前的另一起同类事件,短短10天内的三起攻击事件使得黑客在跨链桥方面取得了“傲人”成绩。
在对这几起事件进行了解之前,我们需要先知道什么是跨链桥(cross-chain bridge)以及它的原理。用一个相对简单的描述:bridge可将资产从一个区块链转移到另一个区块链。
跨链交易
跨链交易的步骤如下:
1.用户将代币“存入”一条链上的“bridge合约”,并生成一个证明,指定所需的跨链信息(例如,要提取的代币数量及接收者地址)。
2.bridge合约验证该证明,随后在目标链上用户可以从bridge合约中 "提取 "代币。在最近的三起事件中,攻击者注入欺骗性数据,绕过验证,将目标链上的相应代币提取到指定地址。
Bridges上的常见攻击媒介
Qubit Bridge漏洞事件
攻击者伪造数据绕过bridge合约的数据真实性检查,在没有提供任何加密货币的情况下使bridge合约产生了攻击者已存款的虚假时间证明。
其根本原因在于ETH和ERC-20的存款共享相同的事件证明。这允许攻击者调用该函数利用不存在的ERC20存款事实生成虚假的ETH存款事件证明,并以此在另一条链上提取ETH。
在这种情况下合约中的漏洞被触发——当代币地址是EOA(如address(0))时,“safeTransferFrom”函数不会回退。因此,攻击者在没有向合约发送任何代币的情况下获取了证明。
事件详细分析请戳:https://certik.medium.com/qubit-bridge-collapse-exploited-to-the-tune-of-80-million-a7ab9068e1a0
Meter Bridge漏洞事件
该漏洞与Qubit bridge漏洞很相似——攻击者避过bridge合约向bridge提供不存在的代币证明从而跳过了验证过程,从而可以在另一个链上提取代币。
Bridge合约提供了两个方法:deposit和 depositETH。
然而,这两个方法产生了相同的存款事件证明,并且deposit函数并没有阻止WETH/WBNB的存款交易,也没有销毁或锁定WETH/WBNB。
黑客通过使用deposit,在没有任何真实存款的情况下使bridge合约产生了虚假的WETH/WBNB存款事件证明。
Solana跨链桥虫洞事件
Solana虫洞的漏洞事件中,攻击者通过向指令注入一个恶意的“sysvar account”来绕过“verify signature”,并伪造了一个铸造Wormhole-wrapped Ether的消息。
这个漏洞的根本原因是在验证签名过程(“verify_signatures”)中,程序使用了一个在Solana更新至1.8.0时即被废弃的“load_current_index”函数。
该函数不会验证输入的“sysvar account”是否真的是“system sysvar”,从而攻击者可以趁机伪造这个关键帐户。
此后,攻击者利用此伪造的账户生成了虚假的铸币信息,然后根据得到的铸币在目标链上提取了相应真实代币。
三起“炸桥案”总结
Qubit以及Meter.io的bridge代码未能处理临界情况,也就是说,合约的ERC20存款功能可以用来生成虚假的ETH/BNB存款事件证明,而后者成为了目标链上提取真实ETH/BNB的凭证。
Wormhole bridge则是其合约未验证调用者注入的“sysvar account”,从而产生了虚假的铸币信息。
总而言之,上述三起事件都是由于验证过程的缺陷而造成的。
如何应对该类漏洞?
在上述攻击中,我们可以吸取到一些关键教训:
1.对于不同的功能,比如ERC20的存款和ETH/BNB的存款,合约应产生不同的事件证明。
2.始终记得验证用户注入的输入。
3.密切关注近期漏洞事件,并检查其他项目是否存在类似情况。
4.需要对每个bridge的核心合约进行相应审计。
除此之外,当该漏洞发生后,我们应该:
1.停止中继消息层并暂停代币传输,bridge合约也应暂停所有充提币功能。
2.立即通知社区、交易所和平台合作伙伴,监控资金流向。
3.建立与权威安全专家们的沟通渠道,进行有效的讨论和信息共享。
4.识别、验证和修复漏洞。及时测试以确保现有的漏洞得到解决以及未产生新的漏洞,同时对bridge合约进行升级。
5.评估损失,并与社区就被利用的资产数量、可追回的资产以及补偿计划进行坦诚地沟通
Bitcoin Price Consolidates Below Resistance, Are Dips Still Supported?
Bitcoin Price Consolidates Below Resistance, Are Dips Still Supported?
XRP, Solana, Cardano, Shiba Inu Making Up for Lost Time as Big Whale Transaction Spikes Pop Up
XRP, Solana, Cardano, Shiba Inu Making Up for Lost Time as Big Whale Transaction Spikes Pop Up
Justin Sun suspected to have purchased $160m in Ethereum
Justin Sun suspected to have purchased $160m in Ethereum