随着区块链和链上项目的增长,对多链项目的需求正在变多,跨链桥业务也相应的在增加。哪里有生意,哪里就会有安全问题。跨链桥在为用户提供便利的同时,也为黑客提供了便利,PolyNetwork被攻击后,跨链桥的安全问题也随之出现。
什么是跨链桥?
区块链桥,也称为跨链桥,其连接两个区块链,允许用户从一个链向另一个链发送加密货币。
跨链桥通过两个独立平台之间的代币转账、智能合约和数据交换等其他反馈和指令,实现了资金的跨链操作。
一种常见的跨链桥的操作如下:
用户将资产A发送到原链上的一个存储地址,并支付过桥费;资产A被智能合约中随机选择的验证者或受信任的托管人锁定;在目标链上发布相同数量的资产A1,并将资产A1发送到目标链上的用户地址。跨链桥存在漏洞
跨链桥常见漏洞
ChainSwap攻击事件:
2021年7月,跨链资产桥项目ChainSwap遭到攻击。跨链桥上的二十多个项目受到攻击,损失了近800万美元的资产,导致十多个项目暴跌99%。
这种攻击主要是由于该协议没有严格检查签名的有效性,攻击者可以使用自己生成的签名对交易进行签名。
Cobo 链上安全团队盘点分析 1 月区块链安全事件:2月17日消息,Cobo安全研究团队近日盘点并解析了 1 月发生的典型区块链安全事件,对跨链桥、智能合约、钱包等多种类型的真实攻击案例和漏洞进行了技术解读,并为普通用户规避区块链中的安全风险提供了一些建议。建议普通用户及时撤销无限授权、留意未审计项目风险等。
Cobo 区块链安全研究团队成员来自知名安全实验室,有多年网络安全与漏洞挖掘经验,曾协助谷歌 、微软处理高危漏洞。团队目前重点关注智能合约安全、DeFi 安全等方面 ,研究并分享前沿区块链安全技术。[2022/2/17 9:57:31]
Factory合约
上图中接收方法的主要功能是将用户跨链后的资金转移到目标链的用户地址,需要验证发送链的签名。当前待验证签名个数为1。
由于接收方法的逻辑和名为ecrecover和_decreaseAuthQuota方法并不严格检查签名,攻击者使用了自己产生的签名,但后续合约逻辑没有严格判断映射值签名和其他计算。使攻击者成功地执行接收方法,为自己签名转账资金。
PolyNetwork攻击事件
动态 | 中国知识产权报盘点2019专利领域大事件 其中一项与区块链相关:近日,中国知识产权报盘点2019专利领域大事件,其中包括“”区块链:专利布局驶入“快车道”。文章指出,区块链是近几年的科技热词。自中共中央局2019年10月24日下午就区块链技术发展现状和趋势进行第十八次集体学习后,区块链再度成为全社会关注的焦点,并登上了各大权威纸媒与电视媒体的头版头条。区块链专利领域呈现出四个特点:第一,我国创新主体开展专利布局时间较晚,但是专利申请量呈现快速增长态势;第二,中美两国是重要的市场和技术原创国家,中国偏重于国内布局,美国多边布局态势明显,区块链技术申请人分布较为分散,初创公司较多,没有明显专利壁垒以及行业领军企业;第三,针对业内非常关注的区块链的安全性、同步效率问题,我国已探索解决方案并形成一批核心专利;第四,区块链技术应用前景广阔,但部分技术难题仍悬而未决,亟需突破。[2020/1/19]
2021年8月,跨链互操作协议PolyNetwork突然遭到黑客攻击。使用该协议的O3Swap遭受了严重的损失。以太坊、币安智能链、Polygon?三大网络上的资产几乎被洗劫一空。1小时内,分别有2.5亿、2.7亿、8500万美元的加密资产被盗,总损失高达6.1亿美元。
动态 | 封面盘点2019十大酷科技 区块链上榜:1月5日,由封面新闻最新盘点的2019十大酷科技出炉,其中包括区块链,代表企业:支付宝。过去一年,支付宝区块链技术落地超过40多个场景,也从不同的场景给用户带来便利和安全。据公开信息显示,支付宝与阿里巴巴已经蝉联两年全球区块链技术专利申请量最多的互联网公司,其在共识机制、智能合约、可信计算、隐私保护、跨链交互上都取得了突破。[2020/1/6]
这种攻击主要是由于中继链验证者的公钥被替换造成的。即由攻击者代替跨链的中间验证者,由攻击者自己控制。
协议内部关系:
中继链验证者的公钥存在于EthCrossChainData合约中;EthCrossChainData合约所有者是EthCrossChainManager合约;EthCrossChainData合约的putCurEpochConPubKeyBytes方法可以修改中继链验证者角色。EthCrossChainManager合约:
在上面的图中,_executeCrossChainTx方法没有对传入的参数施加严格的限制,这导致攻击者传入toContract,方法参数被攻击者控制。由于协议的内部关系,攻击者在哈希冲突后传入与putCurEpochConPubKeyBytes方法相同的方法签名。成功调用EthCrossChainData合约的putCurEpochConPubKeyBytes方法,直接修改中继链验证者的公钥,使其变得可控,然后利用验证者签署恶意的进行资金转移,获取了大量资金。
动态 | 老猫盘点2018年个人经历:披露“李笑来欠3万个比特币”事件进展:12月31日讯,硬币资本(INBlockchain)管理合伙人老猫发文回顾2018年个人经历。文章中,老猫透露2018年由经济下行个人资产也缩水一大半,但相对而言可能还说得过去,因为坚持3个投资方法:第一是不加杠杆,第二是主要持有主流品种,第三是配置。 文章中,老猫还就此前外界盛传的“李笑来欠了3万个比特币”事件进行回应,同时披露最近进展。老猫表示,该事件最初源于2013年面向熟人圈开展的代理投资,当时所有合同以人民币计价投资,每份10万人民币,但有的人当时给的是比特币,“这个事情被一些黑子刻意的改头换面,最后就变成笑来欠了30000个币”。老猫透露,此事在2018年8月26日画上了句号。[2018/12/31]
Multichain?(AnySwap)攻击事件
2022年1月,Multichain正式声明协议的跨链桥存在安全风险,部分代币存在被黑客攻击的风险,并敦促用户尽快取消授权。
事件的核心原因是:协议调用的底层代币合约没有实现permit方法,但包含一个fallback函数,因此调用permit方法的合约正常运行。
雅虎财经2018年2月7日加密峰会盘点:
1. 摩根大通区块链负责人Farooq:区块链将从根本上改变商业的运作;数字货币必须解决问题。
2.Blockchain CEO:数字货币最厉害之处,就是在与任何国家无关的情况下成为金融体系的一部分。
3.DCG(数字货币集团)创始人Barry Silbert:大多数币种没有真正的实用性;希望未来让DCG上市。
4.Fundstrat Global Advisors联合创始人Tom Lee:数字货币市场不仅仅是个“十年的故事”,它将持续存在30年。数字货币市场像新兴市场。如果相信区块链,那就必须相信比特币、以太坊以及所有的公链。
5.Indiegogo股权众筹和加密货币投资负责人:最终将需要与监管机构来一次有意义的、权威的对话。
6.Chain联合创始人兼CEO Adam Ludwin:人们其实希望对数字货币进行监管;以加密方式上发行传统货币以后将是这个领域中的很大一部分。
7.瑞波CEO:瑞波超过50%合作金融机构为日本公司,瑞波币将在3-5年内成功;长期看好比特币,认为比特币不会灭亡,但也不会解决付款问题。
8.Goodwin Procter律所合伙人Grant Fondo:不管某个项目看起来有多好,别把鸡蛋放在一个篮子里。
9.数字商会总裁Perianne Boring:数字货币投资者需要做好研究,同时要有批判性思维。[2018/2/8]
左边是AnyswapV4Router合约,右边是WETH9合约。
在上图中的AnySwapOutUnderlyingWithPermit方法中,前三个参数都是由调用者传入的,也就是说代币和其他参数都是攻击者控制的。当参数可控时,攻击者部署攻击合约来转移受影响的代币。合约地址被设置为基础代币参数。
核心问题是由于WETH9没有permit方法,但是会调用WETH9的fallback方法进行充值操作,所以其不会有错误的调用(交易不会回滚),也就是说,当用户授权到协议时,攻击者会很快转移用户资金。
QubitBridge攻击事件
2022年1月,QubitFinance跨链桥以太坊-币安被黑客攻击,损失超过8000万美元。
核心问题:当deposit方法中的资金地址为address(0)时,不会出现safeTransferFrom错误,导致deposit功能正常执行。
QBridge合约
上图中,存款是一种正常的存款方式。当在此方法中调用IQBridgeHandler(handler).deposit时,当用户传入的resourceID映射tokenAddress地址为0地址时,后续的tokenAddress.safeTransferFrom(depositer,address(this),amount);转账将正常执行,导致方法和事件的正常运行,调用者可以成功进行存款。
这里更重要的是,官方tokenAddress的ETH0地址是官方所做的(官方已经声明存款功能是一个被忽略的废弃功能)。
MeterBridge攻击分析
在2022年2月,Meter.io跨链协议并未阻止封装的ERC20代币与原生gas代币的直接交互,导致损失约430万美元。
该事件的核心问题是:存款方法在进行存款时不验证WBNB的存款情况,导致攻击者绕过判断条件,不存款也可以正常获取资金。
Bridge合约
在上图中,deposit和depositETH方法都是存款方法,但是当用deposit方法存款时,并没有验证该存款是否为原生代币。当攻击者进行存款时,传入WBNB地址。该方法不验证WBNB存款,之后调用deposthhandler.deposit方法成功绕过判断条件。最后,攻击者利用该漏洞成功获取大量资金。
Wormhole攻击分析
2022年2月,以太坊和?Solana?两大区块链的重要桥(Wormhole)被黑客攻击,损失超过3.2亿美元。
该漏洞的核心原因是:verify_signatures调用的load_instruction_at方法没有验证指令的有效性,攻击者可以通过伪造验证签名来获取资金。
verify_signature.rs接口合约
上图中的verify_signatures方法是跨链验证过程中调用的签名方法。由于verify_signatures方法调用load_instruction_at方法,所以在协议更新后,load_instruction_at方法是一个废弃的方法。这种方法对传入的指令没有严格的检查,这就导致攻击者在传入一个可控值后,利用这种签名方式对自己的跨链请求进行签名,获得大量资金。
Li.Finance攻击分析
2022年3月,以太坊上的分布式跨链协议Li.Finance遭到攻击。攻击者进行了37次调用传入,在多个钱包中获得了约60万美元的资产(204ETH)。
这种攻击的核心问题是对传入的外部数据没有严格的限制,导致攻击者传入自己的可控调用逻辑。
CBridgeFacet合约
上图中的swapAndStartBridgeTokensViaCBridge方法中,传入的_swapData参数没有严格限制。在同一个LibSwap.swap调用中,该值不受严格限制。因此,在swap方法中,_swapData可以成功地调用call方法来执行恶意操作。攻击者利用此漏洞进行多次调用以获取资金。
RoninNetwork攻击分析
在2022年3月,AxieInfinity?侧链Ronin验证者节点和Axie?DAO?验证者节点被破坏,导致在两笔交易中从Ronin桥接了173600ETH和2550万美元的?USDC。
攻击原因:
SkyMavis的Ronin链目前由9个验证者组成。为了识别存款事件或取款事件,需要9个验证者中的5个签名。攻击者控制了四个SkyMavis的Ronin验证者和一个由AxieDAO运行的第三方验证者。(2021年11月至12月,AxieDAO允许SkyMavis代表其签署各种交易,在事件停止后没有撤销白名单访问权限,攻击者获得了对SkyMavis系统的访问权限,并使用来自AxieDAO验证器的gaslessRPC来获取签名)。
总结和建议
从以上跨链桥攻击事件可以发现,从去年到今年已经发生了几次跨链桥攻击。跨链桥攻击的数量明显在增加,被盗资金也相当多。黑客已经盯上了跨链桥这块肥肉。从总结来看,攻击主要发生在跨链前和签名处,一般都是合约漏洞,也有由于官方疏忽造成的盗窃事件。针对越来越多的跨链项目和项目合约安全,建议如下:
在项目上线前完成合约安全审计合约调用接口需要严格检查其适配性版本更新时,需要重新评估相关接口和签名的安全性需要对跨链签名者进行严格的审查,以确保签名不受恶意人员的控制
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。