北京时间2022年8月2日,CertiK安全团队监测到NomadBridge遭受攻击,导致了价值约1.9亿美元的损失。
合约的问题在于在initialize()函数被调用的时候,“committedRoot”被设成了0x00地址。因此,攻击者可以通过消息的验证,将在桥合约中的代币转移。
攻击步骤
①攻击者调用process()函数开始攻击。
②process()函数中调用了acceptableRoot(messages),这个函数检查了被提交的root以及OptimisticTimeOut是否过期。
数据:0x695开头地址1小时前从Binance买入460万枚ARB:金色财经报道,Spot On Chain监测显示,0x695开头的鲸鱼地址在1小时前从Binance以1.268 美元的均价买入460万枚ARB(580万美元)。在过去的35小时内,它已从Binance提取900万枚ARB、2500亿枚PEPE、300万枚GRT、45万枚MATIC、400亿枚SHIB,总计1290万美元。[2023/7/19 11:04:22]
③此时函数acceptableRoot(messages)返回了true,也就是说这条message就被批准了。这是因为0x0000在初始化过程中被设置为了true。
以太坊Layer2总锁仓量为43.6亿美元 7日涨幅18.46%:金色财经消息,据L2BEAT数据显示,当前以太坊Layer2总锁仓量涨至43.6亿美元,7日涨幅18.46%。其中,锁仓量前五分别为Arbitrum(23.5亿美元,7日涨幅21.96%)、Optimism(8.63亿美元,7日涨幅27.21%)、dYdX(5.49亿美元,7日跌幅5.39%)、Loopring(1.98亿美元,7日涨幅15.22%)、Metis Andromeda(1.16亿美元,7日涨幅29.81%)。[2022/7/20 2:25:07]
④当这条message被批准后,攻击者即可从桥中转移资金。
社交网络协议 Project Liberty 与波卡技术团队达成协议:5月24日消息,由洛杉矶棒球队道奇队前老板 Frank McCourt 创立的去中心化社交网络协议 Project Liberty 与波卡背后技术团队达成协议,将就去中心化社交网络协议(DSNP)的首次实施进行合作。DSNP 的创建者、技术专家 Braxton Woodham 表示,我们现在已准备好将社交功能部署为互联网本身的核心元素。Polkadot 的独特架构可以大规模实施 DSNP。
去年 6 月份,据彭博社报道,Frank McCourt 将投资 1 亿美元用于 Project Liberty 项目,该项目计划使用区块链来构建一个新的互联网基础设施,即去中心化社交网络协议(DSNP)。[2022/5/24 3:38:45]
攻击交易
攻击示例:
○在MoonbeamBridge上转移了0.01WBTC:?https://moonscan.io/tx/0xcca9299c739a1b538150af007a34aba516b6dade1965e80198be021e3166fe4c?
○在EtheremBridge接受了100WBTC代币转移:https://etherscan.io/tx/0xa5fe9d044e4f3e5aa5bc4c0709333cd2190cba0f4e7f16bcf73f49f83e4a5460?
漏洞分析
在Replica合约中,“committedRoot”被错误地初始化为0?。
合约地址:https://etherscan.io/address/0x88a69b4e698a4b090df6cf5bd7b2d47325ad30a3
函数process通过调用函数acceptableRoot()确保messagehash能通过验证。
函数acceptableRoot()会检查root是否已经被proven,processed或者confirmed。
然而在初始化的交易中0x53fd92771d2084a9bf39a6477015ef53b7f116c79d98a21be723d06d79024cad,owner传入了0x00并且它对应的`confirmAt`也会在初始化中被设为1。
因此0x00可以被当作一个`acceptableRoot`,这也可以在replica合约中查询到https://etherscan.io/address/0xb92336759618f55bd0f8313bd843604592e27bd8。
Prove函数的实现导致了一条unprovenmessage的root是0,而0作为一个有效的confirmedroot可以通过require的检查。攻击者只需调用process函数就能从桥中转移资金。
资金去向
大约价值1.9亿美元的代币从桥合约中转移出去。
https://defillama.com/protocol/nomad?denomination=USD?
写在最后
由于该问题是由部署参数中的错误引起的,我们假设所有的部署和配置都是正确的,那么在传统的审计中确实很难发现该问题。然而,在包含验证部署过程等更广泛的审计过程中,是可以有效指出该问题的。
CertiK可提供部署阶段后的附加服务——合约验证,其中包括对智能合约的分析和部署后合约验证的深入分析。
来源:金色财经
原文标题:《跨链桥为什么这么多事故?》原文作者:0xScope团队前言近期频发的跨链安全问题吸引市场的广泛关注,本文希望从产品设计的角度入手,给读者讲述为什么这个赛道的产品安全问题这么多.
1900/1/1 0:00:00文/GustavoLobo?TheTIEResearch前言经过多年的监管合规努力,Facebook/Meta的加密货币支付项目Diem还是于2022年戛然而止.
1900/1/1 0:00:00投资上只有一个方向,不是做多,也不是做空,只有做对的方向。我是纵横币海,一个愿陪你东山再起的朋友。一个人能有多大的成就,要看他有谁指点。希望我能是你的伯乐,陪你度难关,与你共进退.
1900/1/1 0:00:00各位币友们,大家晚上好,现在是北京时间8月3日,我是币天王,莫愁前路无知己,投资路上有知音,很高兴可以在晚上这个时间点跟各位朋友们一起来复盘一下行情,也对后续的走势做出我们的预判.
1900/1/1 0:00:007月31日,由工业和信息化部信息中心和福建省工业和信息化厅联合举办的第七届“创客中国”区块链中小企业创新创业大赛报名全面收官,共有来自全国的400余支参赛队伍报名参赛.
1900/1/1 0:00:00我们大家最近应该都是非常的焦虑:焦虑从何而来?第一方面是货币的贬值大家都想对抗增加收入、第二方面想增加资产性收入就和巴菲特说过一句话一样:如果你不能找到一个睡着了还能赚钱的方法那你将工作到si!.
1900/1/1 0:00:00