原文标题:《Cross-chainbridgevulnerabilitysummary》
原文作者:lunaray
原文编译:ChinaDeFi
随着区块链和链上项目的增长,对多链项目的需求正在变多,跨链桥业务也相应的在增加。哪里有生意,哪里就会有安全问题。跨链桥在为用户提供便利的同时,也为黑客提供了便利,PolyNetwork被攻击后,跨链桥的安全问题也随之出现。
货币。
跨链桥通过两个独立平台之间的代币转账、智能合约和数据交换等其他反馈和指令,实现了资金的跨链操作。
一种常见的跨链桥的操作如下:
用户将资产A发送到原链上的一个存储地址,并支付过桥费;
资产A被智能合约中随机选择的验证者或受信任的托管人锁定;
在目标链上发布相同数量的资产A1,并将资产A1发送到目标链上的用户地址。
Bitcoin Bear Cubs成为首个登陆Magic Eden比特币Ordinals Launchpad的“10k级”NFT系列:金色财经报道,据Bitcoin Bears在社交媒体宣布该 NFT 项目已经与 Magic Eden 达成合作,Bitcoin Bear Cubs 将成为首个登陆Magic Eden比特币Ordinals Launchpad的“10k”级别NFT系列(即NFT供应量为1万枚)。据悉,首批100个Bitcoin Bears (Gen 1) 将在序号 #5563 和 #5690 之间铸造并且将在Magic Eden市场上架。[2023/5/24 15:22:26]
ChainSwap攻击事件:
2021年7月,跨链资产桥项目ChainSwap遭到攻击。跨链桥上的二十多个项目受到攻击,损失了近800万美元的资产,导致十多个项目暴跌99%。
这种攻击主要是由于该协议没有严格检查签名的有效性,攻击者可以使用自己生成的签名对交易进行签名。
Instagram永久封禁Mark Cuban支持的@NFT帐户:2月5日消息,Instagram母公司Meta发言人表示,@NFT帐户在多次违反我们的政策后被禁用,并且不会恢复。据悉,社交媒体上的广告必须以“简单明了的语言”披露,例如使用 #ad或 #supported标签。
此外,Mark Cuban支持的Leverage Game Media拥有@NFT账户。Mark Cuban表示,他仅是投资者,不经营公司。(Decrypt)[2022/2/5 9:32:48]
Factory合约
上图中接收方法的主要功能是将用户跨链后的资金转移到目标链的用户地址,需要验证发送链的签名。当前待验证签名个数为1。
由于接收方法的逻辑和名为ecrecover和_decreaseAuthQuota方法并不严格检查签名,攻击者使用了自己产生的签名,但后续合约逻辑没有严格判断映射值签名和其他计算。使攻击者成功地执行接收方法,为自己签名转账资金。
Mark Cuban的达拉斯小牛队向选择加密货币支付的粉丝赠送电子礼品卡:亿万富翁Mark Cuban拥有的职业篮球队达拉斯小牛队正在向选择加密货币支付的粉丝赠送电子礼品卡,作为其新推出的“Cryptomania”活动的一部分。 任何人在单笔交易中使用一种受支持的加密货币购买至少价值150美元的小牛商品,都将获得25美元的回报,该活动预计将持续到今年年底。(U Today)[2021/8/29 22:45:13]
币安智能链、Polygon三大网络上的资产几乎被洗劫一空。1小时内,分别有2.5亿、2.7亿、8500万美元的加密资产被盗,总损失高达6.1亿美元。
这种攻击主要是由于中继链验证者的公钥被替换造成的。即由攻击者代替跨链的中间验证者,由攻击者自己控制。
协议内部关系:
中继链验证者的公钥存在于EthCrossChainData合约中;
EthCrossChainData合约所有者是EthCrossChainManager合约;
动态 | 区块链公司300cubits已暂停其系统和代币流通:据Cointelegraph今日消息,区块链公司300cubits已暂停其区块链航运系统和代币流通。虽然300cubits公司于2018年开始试运行,但只有几百个集装箱使用了其系统,低交易量使得系统操作毫无成效。此外,加密资产的监管制度缺乏明确性,则是导致用户流失的主因。且由于这个原因,300cubits与大型海洋贸易平台INTTRA的合作关系在最后一刻被取消。据悉,总部位于香港的300cubits被认为是最早将区块链技术应用于航运的公司之一。[2019/10/2]
EthCrossChainData合约的putCurEpochConPubKeyBytes方法可以修改中继链验证者角色。
EthCrossChainManager合约:
在上面的图中,_executeCrossChainTx方法没有对传入的参数施加严格的限制,这导致攻击者传入toContract,方法参数被攻击者控制。由于协议的内部关系,攻击者在哈希冲突后传入与putCurEpochConPubKeyBytes方法相同的方法签名。成功调用EthCrossChainData合约的putCurEpochConPubKeyBytes方法,直接修改中继链验证者的公钥,使其变得可控,然后利用验证者签署恶意的进行资金转移,获取了大量资金。
区块链概念股涨跌盘点:
赢时胜(300377):现价13.15元,涨幅10.04%;
御银股份(002177):现价5.26元,涨幅10.04%;
高伟达(300465):现价9.98元,涨幅10.03%;
新晨科技(300542):现价32.29元,涨幅10.2%;
易见股份(600093):现价11.33元,涨幅10.00%;
四方精创(300468):现价40.27元,涨幅10.00%;
飞天诚信(300386):现价17.50元,涨幅9.99%;
博彦科技(002649):现价13.5元,涨幅9.76%;
海联金汇(002537):现价10.53元,涨幅5.30%;
信雅达(600571):现价11.49元,涨幅4.93%。[2017/12/19]
Multichain(AnySwap)攻击事件
2022年1月,Multichain正式声明协议的跨链桥存在安全风险,部分代币存在被黑客攻击的风险,并敦促用户尽快取消授权。
事件的核心原因是:协议调用的底层代币合约没有实现permit方法,但包含一个fallback函数,因此调用permit方法的合约正常运行。
左边是AnyswapV4Router合约,右边是WETH9合约。
在上图中的AnySwapOutUnderlyingWithPermit方法中,前三个参数都是由调用者传入的,也就是说代币和其他参数都是攻击者控制的。当参数可控时,攻击者部署攻击合约来转移受影响的代币。合约地址被设置为基础代币参数。
核心问题是由于WETH9没有permit方法,但是会调用WETH9的fallback方法进行充值操作,所以其不会有错误的调用(交易不会回滚),也就是说,当用户授权到协议时,攻击者会很快转移用户资金。
上图中,存款是一种正常的存款方式。当在此方法中调用IQBridgeHandler(handler).deposit时,当用户传入的resourceID映射tokenAddress地址为0地址时,后续的tokenAddress.safeTransferFrom(depositer,address(this),amount);转账将正常执行,导致方法和事件的正常运行,调用者可以成功进行存款。
这里更重要的是,官方tokenAddress的ETH0地址是官方所做的(官方已经声明存款功能是一个被忽略的废弃功能)。
在上图中,deposit和depositETH方法都是存款方法,但是当用deposit方法存款时,并没有验证该存款是否为原生代币。当攻击者进行存款时,传入WBNB地址。该方法不验证WBNB存款,之后调用deposthhandler.deposit方法成功绕过判断条件。最后,攻击者利用该漏洞成功获取大量资金。
Solana两大区块链的重要桥(Wormhole)被黑客攻击,损失超过3.2亿美元。
该漏洞的核心原因是:verify_signatures调用的load_instruction_at方法没有验证指令的有效性,攻击者可以通过伪造验证签名来获取资金。
verify_signature.rs接口合约
上图中的verify_signatures方法是跨链验证过程中调用的签名方法。由于verify_signatures方法调用load_instruction_at方法,所以在协议更新后,load_instruction_at方法是一个废弃的方法。这种方法对传入的指令没有严格的检查,这就导致攻击者在传入一个可控值后,利用这种签名方式对自己的跨链请求进行签名,获得大量资金。
钱包中获得了约60万美元的资产(204ETH)。
这种攻击的核心问题是对传入的外部数据没有严格的限制,导致攻击者传入自己的可控调用逻辑。
CBridgeFacet合约
上图中的swapAndStartBridgeTokensViaCBridge方法中,传入的_swapData参数没有严格限制。在同一个LibSwap.swap调用中,该值不受严格限制。因此,在swap方法中,_swapData可以成功地调用call方法来执行恶意操作。攻击者利用此漏洞进行多次调用以获取资金。
AxieInfinity侧链Ronin验证者节点和AxieDAO验证者节点被破坏,导致在两笔交易中从Ronin桥接了173600ETH和2550万美元的USDC。
攻击原因:
SkyMavis的Ronin链目前由9个验证者组成。为了识别存款事件或取款事件,需要9个验证者中的5个签名。攻击者控制了四个SkyMavis的Ronin验证者和一个由AxieDAO运行的第三方验证者。(2021年11月至12月,AxieDAO允许SkyMavis代表其签署各种交易,在事件停止后没有撤销白名单访问权限,攻击者获得了对SkyMavis系统的访问权限,并使用来自AxieDAO验证器的gaslessRPC来获取签名)。
在项目上线前完成合约安全审计
合约调用接口需要严格检查其适配性
版本更新时,需要重新评估相关接口和签名的安全性
需要对跨链签名者进行严格的审查,以确保签名不受恶意人员的控制
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。