随着区块链技术的发展及各类新增长的出现,加密货币生态系统随之产生了更多的安全风险及复杂性。
2021年攻击全景详见,欢迎点击文章底部“阅读原文”获取安全报告下载链接。
在2021年的基础上,2022年的攻击赛道又出现了一位“强力选手”。
跨链桥作为新的攻击载体,安全性方面的发展尚未成熟。因此,跨链桥也是所有项目以及开发人员应该提高警惕的领域之一。
2022年的春节假期尚未结束时,跨链桥即发生了两起重大攻击,算上春节前的另一起同类事件,短短10天内的三起攻击事件使得黑客在跨链桥方面取得了“傲人”成绩。
在对这几起事件进行了解之前,我们需要先知道什么是跨链桥以及它的原理。
IOTA基金会其Shimmer测试网上发布支持EVM的Shimmer测试链:金色财经报道, IOTA 基金会在其 Shimmer 测试网上发布了 Shimmer 以太坊虚拟机测试链。Shimmer 是一个激励性的临时网络,于 9 月开始运营。这是 IOTA 上第一个支持 EVM 的发布,旨在提高网络对开发人员和交易者的整体效用。[2023/3/29 13:33:32]
用一个相对简单的描述:bridge可将资产从一个区块链转移到另一个区块链。
在最近的三起事件中,攻击者注入性数据,绕过验证,将目标链上的相应代币提取到指定地址。
QubitBridge漏洞事件
攻击者伪造数据绕过bridge合约的数据真实性检查,在没有提供任何加密货币的情况下使bridge合约产生了攻击者已存款的虚假时间证明。
知情人士:Alameda曾在2018年XRP的交易中损失超过三分之二的资产:金色财经报道,在FTX倒闭之前,人们认为Alameda Research是业内顶级的量化交易公司和做市商之一。然而,这种看法在很大程度上可能只是表面现象,最近的一份报告详细说明Alameda早在 2018年就遭遇了财务困境。知情人士表示,2018年春季,Alameda因押注XRP而遭受重创,损失了Alameda超过三分之二的资产。知情人士解释说,因此SBF开始再次征集贷款,并承诺20%的回报率。《华尔街日报》看到的一份文件显示,SBF的律师解释了Alameda如何在向贷方进行的一次特定推销中成为顶级做市商,但律师没有透露任何财务信息。
此外,报告详细说明,当SBF创办Alameda时,这家贸易公司通过套利赚取了数百万美元。作为套利者,SBF声称机会来自日本和韩国等国家,因为比特币在这些地区交易溢价。由于在韩国存在所谓的“泡菜溢价”,SBF表示BTC有时会高出30%,在日本则高出10%。有大量报道强调Alameda通过加密货币套利赚取了数百万美元,但《华尔街日报》最近于 2022 年 12 月 31 日发表的一篇报道详细说明了Alameda的交易并不总是有利可图。[2023/1/3 22:21:17]
其根本原因在于ETH和ERC-20的存款共享相同的事件证明。这允许攻击者调用该函数利用不存在的ERC20存款事实生成虚假的ETH存款事件证明,并以此在另一条链上提取ETH。
Solana生态支付协议Zebec宣布将向用户空投总计500万枚ZBC代币:10月27日消息,Solana生态现金流支付协议Zebec在推特上表示,即将达到500个Zepoch节点,当达到500个Zepoch节点时,将根据用户的Zebec积分向其空投总计500万枚ZBC代币,此外将为早期Zepoch节点持有者提供更多奖励,用户拥有的Zebec积分越多,从500万枚ZBC代币池中分享的份额就越多。
此前今年3月份消息,Zebec通过公开和私募代币销售完成2800万美元融资,并藉此推出了代币ZBC,Circle、Coinbase、Lightspeed等参投。[2022/10/27 11:48:00]
在这种情况下合约中的漏洞被触发——当代币地址是EOA时,“safeTransferFrom”函数不会回退。因此,攻击者在没有向合约发送任何代币的情况下获取了证明。
A股开盘:深证区块链50指数下跌1.29%:金色财经消息,A股开盘,上证指数报3203.1点,开盘下跌1.02%,深证成指报11911.17点,开盘下跌1.23%,深证区块链50指数报2778.74点,开盘下跌1.29%。区块链板块开盘下跌1.35%,数字货币板块开盘下跌1.5%。[2022/8/29 12:54:38]
事件详细分析请戳:https://certik.medium.com/qubit-bridge-collapse-exploited-to-the-tune-of-80-million-a7ab9068e1a0
MeterBridge漏洞事件
该漏洞与Qubitbridge漏洞很相似——攻击者避过bridge合约向bridge提供不存在的代币证明从而跳过了验证过程,从而可以在另一个链上提取代币。
Bridge合约提供了两个方法:deposit和depositETH。然而,这两个方法产生了相同的存款事件证明,并且deposit函数并没有阻止WETH/WBNB的存款交易,也没有销毁或锁定WETH/WBNB。
黑客通过使用deposit,在没有任何真实存款的情况下使bridge合约产生了虚假的WETH/WBNB存款事件证明。
该事件分析内容详见CertiK公众号。
Solana跨链桥虫洞事件
Solana虫洞的漏洞事件中,攻击者通过向指令注入一个恶意的“sysvaraccount”来绕过“verifysignature”,并伪造了一个铸造Wormhole-wrappedEther的消息。
这个漏洞的根本原因是在验证签名过程中,程序使用了一个在Solana更新至1.8.0时即被废弃的“load_current_index”函数。该函数不会验证输入的“sysvaraccount”是否真的是“systemsysvar”,从而攻击者可以趁机伪造这个关键帐户。
此后,攻击者利用此伪造的账户生成了虚假的铸币信息,然后根据得到的铸币在目标链上提取了相应真实代币。
该事件分析内容详见CertiK公众号。
三起“炸桥案”总结
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.评估损失,并与社区就被利用的资产数量、可追回的资产以及补偿计划进行坦诚地沟通
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。