TUR:盘点跨链桥攻击事件,跨链桥有哪些常见漏洞?_VENT

原文标题:《Cross-chainbridgevulnerabilitysummary》

原文作者:lunaray

原文编译:ChinaDeFi

随着区块链和链上项目的增长,对多链项目的需求正在变多,跨链桥业务也相应的在增加。哪里有生意,哪里就会有安全问题。跨链桥在为用户提供便利的同时,也为黑客提供了便利,PolyNetwork被攻击后,跨链桥的安全问题也随之出现。

货币。

跨链桥通过两个独立平台之间的代币转账、智能合约和数据交换等其他反馈和指令,实现了资金的跨链操作。

一种常见的跨链桥的操作如下:

用户将资产A发送到原链上的一个存储地址,并支付过桥费;

资产A被智能合约中随机选择的验证者或受信任的托管人锁定;

在目标链上发布相同数量的资产A1,并将资产A1发送到目标链上的用户地址。

“汉语盘点2021”活动正式启动:虚拟货币、元宇宙入围年度推荐字词:金色财经报道,11月19日,由国家语言资源监测与研究中心、商务印书馆等联合主办的“汉语盘点2021”启动仪式在商务印书馆举行。启动仪式上,主办方推出“专家版本”和“大数据版本”的年度推荐字词,其中国家语言资源监测与研究中心通过监测语料库推荐的国际词有气候峰会、东京奥运会、塔利班、德尔塔、虚拟货币,清华大学教授沈阳作为“汉语盘点”活动的评议专家,推荐了“治、离、元宇宙、碳中和”等年度字词。12月20日,“汉语盘点2021”揭晓仪式将揭开年度字词的面纱。[2021/11/20 7:00:36]

ChainSwap攻击事件:

2021年7月,跨链资产桥项目ChainSwap遭到攻击。跨链桥上的二十多个项目受到攻击,损失了近800万美元的资产,导致十多个项目暴跌99%。

这种攻击主要是由于该协议没有严格检查签名的有效性,攻击者可以使用自己生成的签名对交易进行签名。

动态 | 2019年区块链十大事件盘点:1:中国拥抱区块链

2019年10月24日,中央局第十八次集体学习时强调,区块链技术的集成应用在新的技术革新和产业变革中起着重要作用。

2:央行数字货币试点

2014年中国央行开始研究法定数字货币(DCEP)。DCEP的完整字面意思就是数字货币电子支付。

3:Facebook发布Libra计划

2019年6月,Facebook发布Libra白皮书,Libra的使命是建立一套简单的、无国界的货币和为数十亿人服务的金融基础设施。

4:去中心化金融DeFi

去中心化金融(DeFi),解决传统金融行业中的痛点,被称作DeFi 是加密史上第二个突破。

5:IEO开始流行

IEO是ICO之后,币圈诞生的一种新筹集资金方式,项目方依托交易所进行资金筹集。

6:Bakkt 推出比特币期货

2019年9月23日, 号称币圈牛市的发动机的Bakkt上线。

7:嘉楠科技上市

美国东部时间11月21日嘉楠科技正式上市纳斯达克,IPO发行价最终锁定在每股9美元,总计募资9000万美元。

8:模式币走红币圈

模式币,使用类似模式的币种,通过拉人头、分红、合伙人等等推广营销模式,配合资金控盘,来吸引散户进场接盘。

9:以太坊伊斯坦布尔升级

以太坊网络在2019年12月8日, 9,069,000区块高度完成升级,代号:伊斯坦布尔(Istanbul)。

10:吴忌寒詹克团之争

吴忌寒夺权:10月29日全球最大的矿机生产商之一的比特大陆创始人吴忌寒以比特大陆集团董事会主席、北京比特大陆科技有限公司法定代表人、执行董事的身份,向全体员工发送邮件,宣布解除詹克团在比特大陆的一切职务,即刻生效。[2019/12/23]

Factory合约

分析 | 交易所资金进出量全面下降 市场将迎来变盘点:据合约帝交易所链上转账报告显示,截至北京时间7月24日18:00,今日BTC流入交易所15522个,较昨日下降29.2%,流出交易所21563个,较昨日下降13.39%。今日ETH流入交易所299081个,较昨日下降16.34%,流出交易所317349个,较昨日下降11.27%。合约帝入驻实盘分析师天启资本分析认为,持续多日的震荡行情依旧接近三角区间的末端,随着交易所资金进出量和成交量的全方位下滑,近日市场将要迎来变盘点。[2019/7/24]

上图中接收方法的主要功能是将用户跨链后的资金转移到目标链的用户地址,需要验证发送链的签名。当前待验证签名个数为1。

由于接收方法的逻辑和名为ecrecover和_decreaseAuthQuota方法并不严格检查签名,攻击者使用了自己产生的签名,但后续合约逻辑没有严格判断映射值签名和其他计算。使攻击者成功地执行接收方法,为自己签名转账资金。

动态 | 澳媒盘点12国加密货币税制 日本税率最高:7月23日,澳大利亚加密货币媒体Mickey发文盘点各国加密货币税制,并指出日本加密货币税率非常高。根据2017年4月实行的资金结算法修订版,加密货币交易所产生的利益所得划分为杂项收入,所得税最高可达45%,作为伴随着损失的交易市场税率来说非常高。此外,该媒体列举了以下几个国家的加密货币税制:1、德国:加密货币交易免除附加税,持续保有加密货币一年以上可免除转让所得税。全部欧洲市民向德国转移资产时可免除转移税。2、新加坡:长期投资加密货币的企业和个人免除转让所得税。3、葡萄牙:不像加密货币征收附加税和所得税,但企业通过加密货币交易所得的收益需要课税。4、马耳他:加密货币的日交易作为法人税征收税金,但个人投资者购买和拥有加密货币不用缴纳税金。5、马来西亚:不需要缴纳转让所得税。6、白俄罗斯:对加密货币挖矿和对加密货币的投资不征收税金。7、瑞士:对专业投资者的加密货币交易征收法人税,挖矿被视为个人营业收入,但个人投资者的投资及交易不需缴纳转让所得税。8、加密货币被认为是资产,纳税方式和股票一样;如果购买加密货币并保留一年以上,根据收入水平征收0%至20%的税金。9、澳大利亚:当所有交易均被视为转让收入,并且兑换为澳元时要求保留所有准确的交易记录;如果进行加密货币投资获得的利润,就要交纳与个人所得税相同速率的税金。但如果持有1年以上的加密货币,将减免50%的税金。10、以色列和瑞典:如果纳税人不能证明他们购买的加密货币的购买额,将会征收百分之百的税金。[2019/7/23]

币安智能链、Polygon三大网络上的资产几乎被洗劫一空。1小时内,分别有2.5亿、2.7亿、8500万美元的加密资产被盗,总损失高达6.1亿美元。

动态 | 老猫盘点2018年个人经历:披露“李笑来欠3万个比特币”事件进展:12月31日讯,硬币资本(INBlockchain)管理合伙人老猫发文回顾2018年个人经历。文章中,老猫透露2018年由经济下行个人资产也缩水一大半,但相对而言可能还说得过去,因为坚持3个投资方法:第一是不加杠杆,第二是主要持有主流品种,第三是配置。 文章中,老猫还就此前外界盛传的“李笑来欠了3万个比特币”事件进行回应,同时披露最近进展。老猫表示,该事件最初源于2013年面向熟人圈开展的代理投资,当时所有合同以人民币计价投资,每份10万人民币,但有的人当时给的是比特币,“这个事情被一些黑子刻意的改头换面,最后就变成笑来欠了30000个币”。老猫透露,此事在2018年8月26日画上了句号。[2018/12/31]

这种攻击主要是由于中继链验证者的公钥被替换造成的。即由攻击者代替跨链的中间验证者,由攻击者自己控制。

协议内部关系:

中继链验证者的公钥存在于EthCrossChainData合约中;

EthCrossChainData合约所有者是EthCrossChainManager合约;

EthCrossChainData合约的putCurEpochConPubKeyBytes方法可以修改中继链验证者角色。

EthCrossChainManager合约:

在上面的图中,_executeCrossChainTx方法没有对传入的参数施加严格的限制,这导致攻击者传入toContract,方法参数被攻击者控制。由于协议的内部关系,攻击者在哈希冲突后传入与putCurEpochConPubKeyBytes方法相同的方法签名。成功调用EthCrossChainData合约的putCurEpochConPubKeyBytes方法,直接修改中继链验证者的公钥,使其变得可控,然后利用验证者签署恶意的进行资金转移,获取了大量资金。

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来获取签名)。

在项目上线前完成合约安全审计

合约调用接口需要严格检查其适配性

版本更新时,需要重新评估相关接口和签名的安全性

需要对跨链签名者进行严格的审查,以确保签名不受恶意人员的控制

郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。

区块博客

[0:15ms0-3:353ms