近期BNB跨链桥受攻击,导致近$570M损失。这一事件再次把跨链桥的安全性问题推上热议。根据Messari8月的研报数据,过去一年内共有8起跨链桥攻击事件,构成将近$2B美金的资产损失。
Dr.DODO今天通过深度分析PolyNetwork,Multichain及BNB桥事件,从合约层面展示跨链桥机制设计弱点。
首先,让我们简要回顾跨链桥的基本概念,以及设计机制分类。
不同的公链如同孤立的无需许可的计算机,具有不同的共识机制,相互之间无法直接通讯。跨链桥的存在就是为了使信息能够不被篡改地从一个计算机传递到另一个计算机上。
跨链桥的核心是解决一个共识问题:跨链桥如何确定源链上的状态已发生改变,进而在目标链上铸造等量的资产?
不同的跨链桥对这个共识问题有不同解决方案,如采用中心化的桥,委员会,PoS机制,轻客户端等。而不同的解决方案在信息传递的安全性,成本,延迟性上有所取舍。
Circle:如果美国希望CBDC或美元稳定币成为全球储备货币,就需要加强监管:金色财经报道,稳定币发行商Circle的目标是在美国国会考虑针对该行业的新立法时加强信息传播。该公司周四发布了一段2分钟的视频,称如果美国希望CBDC或美元稳定币成为全球储备货币,就需要加强监管。
Circle CEO Jeremy Allaire表示,我们正在努力就这些问题与 DC 进行接触和教育,因为这可能会从 HSFC 法案变成法律,整个众议院在夏季休会后正在考虑这项法案。我们正处于美国政策制定的关键时刻,预计国会即将进行投票,我们正在努力向经济和政策领导人提供一个简单而令人信服的案例,说明在美国制定稳定币法律的重要性。[2023/7/14 10:55:10]
详细分析可以参考此前文章《跨链漫谈:深度解析16个跨链方案权衡》:
接下来,我们进一步的把跨链流程进行拆解,了解跨链具体涉及到哪些步骤,这样在讨论不同攻击的时候,我们可以更好的理解出错的点在哪里。
跨链流程:
1.当源链用户发起一个状态改变,如一笔交易;此事件将由源链验证者进行验证出块。
2.此时跨链桥去监听此跨链事件,下载并对进行验证、签名。
3.接下来被验证签署后的事件被传输至目标链。
4.由目标链上的验证者进行验证出块。
CoinList将于6月15日开启Archway(ARCH)代币销售:5月26日消息,CoinList宣布将于北京时间6月15日23点开启Archway(ARCH)代币销售,现已开放注册。总供应量为3000万枚ARCH代币,每枚代币0.2美元,40天的锁定期,然后是8个月的线性归属时间表。注册将于北京时间6月12日20点截止。
据悉,Archway是Cosmos原生的Layer 1区块链,它允许开发人员通过新颖的、以开发人员为中心的经济学来获取他们为网络带来的价值。[2023/5/26 10:40:50]
5.由此,源链上发起的状态改变得以在目标链被执行。
讲述跨链桥机制分类的文章已经很多,我们在此按验证方法把跨链桥分为:
-外部性验证:PoS
-乐观性验证
-本地验证:轻客户端
按资产转移方式把跨链桥分为:
美国德州反对Binance.US与Voyager的拟议交易,原因包括条款和重组计划披露不充分:2月27日消息,根据2月24日的一份法庭文件,美国德克萨斯州证券委员会和银行部门反对Binance.US与破产的加密货币贷方Voyager Digital之间的拟议交易。根据该文件,Binance.US的服务条款和重组计划包含许多“不充分”的披露,包括没有充分告知无担保债权人,根据该计划,他们可能只能获得24%-26%的追偿,而不是根据第七章获得51%的追偿。
文件还指出,该公司的披露声明没有告知账户持有人必须允许“按照币安的要求转移个人敏感信息,然后剥夺账户持有人对可能出现的任何问题的任何法律追索权”。此外,该文件声称该计划“不公平地歧视德克萨斯州的消费者”。由于德克萨斯州不是Binance.US支持的司法管辖区,在协议签署后,该州客户的数字资产将由Voyager持有6个月,在此期间,Binance.US将在该州寻求许可。
此前2月23日消息,美SEC反对Binance.US的10亿美元Voyager交易,并指控其出售未注册证券。(Cointelegraph)[2023/2/27 12:31:04]
-燃烧+铸造
-锁定+铸造
-在源链/目标链部署流动性池
马斯克:一旦找到推特CEO继任者,自己将管理软件和服务器团队:12月21日消息,据彭博社报道,马斯克表示,一旦找到继任者,他将辞去推特首席执行官一职,他将管理软件和服务器团队。(彭博社)
此前报道,12月19日,Elon Musk就“是否应辞去Twitter负责人”一事发起的推特投票,结果显示共计超过1750万次投票,赞成票占比为57.5%。据悉,Elon Musk此前发起投票时表示会遵守这次投票的结果,目前,正在积极为推特寻找新任首席执行官。[2022/12/21 21:57:48]
PolyNetwork攻击案例分析
简单来说,PolyNetwork的工作机制是作为中间链去接收发送链的区块头,相当于所有它连接的链的轻客户端。
比如,当Ontology上发起一笔交易,区块头会被送到PolyNetwork上。区块头含有stateroothash,当交易与证明到达PolyNetwork,这上面的keepers就可以进行验证。若合法,PolyNetwork会自己发送一个event,目标链的relayer听到后,会转发到目标链的EthCrossChainManager合约上。
德卡银行的SWIAT提议对代币化证券结算进行触发支付:金色财经报道,德国的SWIAT是由DekaBank创建的DLT通证化网络,它提出了一个触发支付解决方案Cycros,使用央行的资金来结算数字资产交易。分布式账本技术(DLT)的好处之一是,通过在交付与支付(DvP)交易中实现货币和通证证券的同时转移,降低了风险。理想情况下,这将通过央行数字货币实现。然而,CBDC数字欧元不太可能很快上线,因此触发支付解决方案提供了一种替代方案。特别是2023年3月推出的欧元区DLT试点机制,支持基于区块链的证券交易和结算基础设施。法国央行已经表示愿意利用其试点的批发CBDC参与项目。然而,考虑到试点制度的规模应该是数百亿甚至数千亿美元,它将在多大规模上可用仍有待观察。(ledgerinsights)[2022/12/5 21:23:11]
在了解PolyNetwork工作机制之后,我们来看受攻击的合约。
首先,LockProxy是控制资产的合约。其次,EthCrossChainManager(CCM)的优越性有两点:
1)只有它能调用LockProxy进行unlock或者burn资产。
2)CCM掌管着CrosschainData,合约保存着PolyNetwork的keeper公钥名单。
也就是说,当跨链交易的数据发到CCM之后,合约可以从这个数据中恢复出一些签名的地址。
然后它会拿这些地址和它自己存的keeper名单做对比,看看是不是有2/3的keeper在这些地址里面。如果有,就认为发送过来的数据是合法的。
黑客通过bruteforce撞出了CCM中特定的“SolidityfunctionID”,从而得以调用EthCrossChainData的合约,并把其中存的keeper名单里的公钥匙换成自己的,这样他就可以任意的给CCM发信息,自己去进行签署,从而操作lockproxy。
所以上述攻击出现的问题有两点:
1)任意的用户可以进行的远程调用合约。在这个事件之后,项目方加入了白名单机制,只有指定方可以调用这个非常特别的合约。
2)合约之间的从属关系,导致关键的合约容易被篡改。
Multichain攻击案例分析
Multichain是可实现跨链路由的桥,通过封装资产“anyToken”,Multichain可实现任意资产的任意跨链。首先,当用户把DAI放到池子里,等量的anyDAI就会被铸造出来,然后由网络中的验证人确定这一事件,在B链铸造出等量的anyDAI,然后燃烧掉A链的anyDAI。
受攻击的合约中,关注下图标记的1,2,3行:首先,从anyDAI?这个合约拿到它底层资产合约的地址,即DAI。其次,permit()?使用户通过签名来允许路由器从用户地址中提款。最后,safetransferfrom是一个真正的提款动作。
注:签名了的交易被表示为(v,r,s)
可以看到黑客恶意部署的代币地址,和无效的签名。
回顾8.1中的三行代码,黑客重新部署了anyDAI导致底下OUTPUT的底层资产解析出来是WETH的地址。在此,Multichain在这里的失误就是它应该检验代币地址是不是来自Multichain的代币。
第二个微妙的问题就是permit是erc20的一个扩展协议,但是由于比weth出来的时间晚,所以weth没有支持这个特性。那么如果去调用一个合约的一个不存在的方法,EVM会自动去调用这个合约的fallback方法;然而,fallback方法在这个情况下也没报错,所以,permit功能也被成功执行。
而第三行之所以可以执行,我们可以认定因为Multichain之前请求了WETH无限的花费上线,黑客通过滥用了这个approval把WETH从受害者的账户转出。但值得注意的是很多的协议都会使用,以帮助用户节省gas费用。
BNB桥攻击案例简述
Binance事件的黑客用RangeProof伪造Merkleproof证明某些数据存在Merkletree。
Proof理论上难伪造。
BNB桥涉及数据结构IAVL:可理解为等价于以太坊的Merklepatriciatrie,是一种custommerklizedbalancebinarysearchtree,InnerNode分为Left和Right两个字段。
在这里IAVL的RangeProof存在的重要问题就是它允许Left和Right两个字段可以同时被填充。而当Left与Right都存在的情况下会忽略Right进行RootHash计算。
击者基本上通过将信息粘贴到Right字段中的优势,而这些信息从未得到验证,也从未影响哈希计算,以使验证者相信某些Leaf是Tree的一部分。从而,成功地伪造了MerkleProof。
关于BNB桥攻击中更复杂的合约调用逻辑可以阅读:
https://mp.weixin.qq.com/s/y9jiMKrGThN8J4agFnFpJw
标签:HAIChainAINCHAYTNBchainBrickchain FInanceblockchain平台交易Charm Finance
作者:StevieWoofwoof?来源:Bankless合并,Surge,Splurge……融合?Cosmos和以太坊的链间终局4.2亿年前的志留纪末期.
1900/1/1 0:00:00城市的出现,是人类文明繁荣的标志。随着AI技术蓬勃发展,元城市建设也被各国提上了日程。2022年9月2日,以“数智元城贯通未来”为主题的2022世界人工智能大会国际AI城市论坛在上海正式举行.
1900/1/1 0:00:00有兴趣了解如何使用@DefiLlama进行研究吗?这是有关如何使用“稳定”和“链”仪表板查找有资金流入的生态系统的快速指南。另外,我会给你额外的工具来帮助你做尽职调查.
1900/1/1 0:00:00???世界上收视率最高的电视节目是什么?不是肥皂剧,不是新闻大片,更不是奥运会,而是四年一度的世界杯!这让FIFA已然成为世界上最富有、最有权势的国际体育组织.
1900/1/1 0:00:00自Uniswap?发明了AMM这一DEX的核心机制之后,DeFi发展日新月异,交易量也不断攀升,从CEX中虎口夺食.
1900/1/1 0:00:00在DeFi以及NFT快速蹿红的带动下,去中心化应用程序生态系统在过去几年间增势迅猛,由于dApp直接与区块链上的智能合约交互,因此加密钱包通常用于验证这些dApp中的操作.
1900/1/1 0:00:00