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

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

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

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

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

中币(ZB) 早行情:BTC 现报19099美元:据中币(ZB)交易平台行情数据,截止到今日09:42时,BTC 现报19099美元(+1.71%),ZB 积分现报0.26美元(+1.17%)。据CoinMarketCap 统计的数字货币总市值为5595亿美元,24 小时总交易额为1060亿美元,比特币市值占比 63.3%。全球市值前 100 名的数字货币有19支上涨,81支下跌。主流资产价格为:ETH 报585.95美元(+3.63%),EOS 报2.83美元(+2.72%),XRP 报0.50美元(+2.48%),LTC币种 报81.56美元(+7.04%)。中币(ZB)24 小时内涨幅前三的数字货币是:LTG(+60.00%)、DNA(+16.14%)、XLM(+11.70%)。[2020/12/14 15:07:03]

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

中币将于6月11日15:00正式开启CRO/USDT交易:据官方消息,中币(ZB)将于香港时间2020年6月11日15:00开启CRO/USDT交易。Crypto成立于2016年,致力于一个简单的信念:掌控资产、数据及身份是每个人的基本权利。Crypto建立在安全,隐私及合规的稳定基础上,是一家同时具有CCSS 3级,ISO 27001:2013及PCI:DSS 3.2.1 1级认证的区块链资产公司。[2020/6/10]

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

中币APP宣布其存币挖矿ZAPP版正式上线:据官方消息,4月29日,中币APP宣布其存币挖矿ZAPP版正式上线,同时完成了11国语切换、杠杆借币自动匹配最优借贷、优化历史交易委托等功能完成升级。移动端和WEB端新增ZAPP“TRUE Staking”功能,APP财务新增币种展示功能得到进一步升级,方便用户全局管理币种资产。[2020/4/30]

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

补丁核心代码如下:

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

目前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:15ms0-3:870ms