LAYER:Cobo安全团队:跨链桥协议Stargate重大安全漏洞分析

日前Stargate跨链桥的底层协议LayerZero更新了默认的交易验证合约,经Cobo区块链安全团队分析,此次更新修复了之前版本中存在的严重漏洞,该漏洞可能导致所有依托LayerZero构建的跨链项目的资产受到影响。

StargateFinance是近日最受人瞩目的跨链桥项目,截至发文时TVL已超过35亿美金。

Stargate跨链桥底层基于LayerZero实现跨链消息传递。LayerZero完成跨链消息传递的基本原理是:

Oracle会将源链上的blockhash和blockreceiptsRoot提交到目标链上

Cobo Custody宣布与TZ APAC达成战略合作:据官方消息,Cobo Custody正式宣布与TZ APAC达成深度战略合作,TZ APAC是公链咨询公司,为Tezos生态系统提供支持。此次强强联合,双方将在全球区块链企业市场共同拓展Tezos生态,Cobo Custody所有客户均可零门槛对接Tezos,无需额外开发。

Cobo Custody是企业级数字资产钱包开发及托管服务平台,以最高安全级的HSM加密机、多签及冷温热分离存储为安全保障基础,服务于交易所、钱包、资管平台等全球机构客户。

Tezos是开放源代码的去中心化平台,提供资产、应用程序的区块链及生态系统,具有良好记录,可自我升级,无缝采用未来的创新技术,由验证者、研究人员、开发人员和建造者等全球参与者共同支持。

TZ APAC由Tezos基金会支持,通过自下而上的方法与Tezos生态系统中的区块链专家和其他利益相关者紧密合作,为企业和创建者设计了增值的区块链转型策略。[2021/5/17 22:09:50]

Relayer会将源链上跨链消息所在交易的receipt以及该receipt与blockreceiptsRoot的路径关係提交到目标链上,此时目标链上的交易验证合约会基于EthereumMPT的依赖关係,对Relayer所提交的receipt和Oracle所提交的receiptsRoot的对应关係进行验证

动态 | 德勤区块链专家Jacob Boersma离职并创办咨询公司:德勤风险服务高级经理、区块链专家Jacob Boersma发推称,已经离开Deloitte Nederland,在区块链、数字身份和加密领域创办了自己的咨询公司Boersma Consulting。[2020/2/3]

如果验证通过,该receipt被认为是合法的receipt,并向上层协议转发,触发后续的跨链资产操作

LayerZero3月28日在未发表任何公告的情况下更新了跨链使用的验证合约。Cobo安全团队通过对比原始验证合约和新验证合约代码,发现本次更新是对之前重大安全漏洞的修复。

动态 | Cobbs Allen合作Data Gumb 为其智能合约提供保险:伯明翰风险管理机构Cobbs Allen已与总部位于休斯顿的区块链公司Data Gumbo达成合作,为其区块链智能合约提供保险。(Birmingham Business Journal)[2019/12/27]

补丁核心代码如下:

原始漏洞代码在进行MPT验证时,通过外部传入的pointer来获取下一层计算所用到的hashRoot。这裡使用solidity底层add,mload等汇编指令从proofBytes中获取hashRoot,由于没有限制pointer在proofBytes长度内,因此攻击者可以通过传入越界的pointer,使合约读取到proofBytes以外的数据作为下一层的hashRoot。这样就存在伪造hashRoot的可能,进一步导致伪造的交易receipt可以通过MPT验证。最终可造成的后果是,在Oracle完全可信的前提下,Relayer仍可以单方面通过伪造receipt数据的方式来实现对跨链协议的攻击,打破了LayerZero之前的安全假设。

bitcoin.org拥有者Cobra:让比特币和比特币现金的社区走到一起:bitcoin.org的拥有者眼镜蛇Cobra发布推特称,加密货币矿业中心化问题的理想解决方案是让比特币和比特币现金的社区走到一起,并通过改变两个网络的PoW(Proof of Work)算法,我们就不再需要对付比特大陆。[2018/3/6]

目前LayerZero协议的Oracle是一个类似多签的合约,三位admin中的两位提交相同的数据后,会被认为数据是有效的。但是Relayer是单签EOA控制,任何一个Relayer都可以提交攻击数据,完成所有的攻击流程。

补丁后的代码使用传入的path并使用safeGetItemByIndex函数获取MPT下一层的hashRoot,保证了hashRoot存在于当前的proofBytes中,从而可以使MPT验证正确的进行下去。

此次爆出漏洞的代码是LayerZero协议中最核心的MPT交易验证部分的代码,是整个LayerZero及上层协议正常运作的基石。虽然LayerZero项目方已经修复了目前明显的漏洞,但是不排除还存在其他被攻击漏洞的可能性。此外,LayerZero项目的关键合约目前大都还被EOA控制,没有採用多签机制或者时间锁机制。如果这些特权EOA的私钥一旦泄漏,也可能会导致所有上层协议的资产受到影响。

在此,Cobo区块链安全团队提醒投资者注意新项目的风险,同时呼吁LayerZero项目方在对合约代码进行深度审计的同时,也尽快将目前EOA控制的特权转移给多籤或者时间锁合约,减少攻击风险敞口。

Reference:

https://eth.wiki/fundamentals/patricia-tree

https://etherscan.io/tx/0xf4f0495bfed37d4d95b3342ead0962433c7973f240b9b0739faa91e6ccac9d40

https://www.diffchecker.com/RJdDTCx7

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

地球链

[0:0ms0-0:793ms