查看原文
其他

惊天魔盗,近2亿美金损失!Nomad Bridge攻击事件分析

CertiK CertiK 2022-08-02

北京时间2022年8月2日,CertiK安全团队监测到Nomad Bridge遭受攻击,导致了价值约1.9亿美元的损失。

合约的问题在于在initialize() 函数被调用的时候,“committedRoot” 被设成了0x00地址。因此,攻击者可以通过消息的验证,将在桥合约中的代币转移。


攻击步骤

① 攻击者调用process()函数开始攻击。

② process()函数中调用了acceptableRoot(messages[_messageHash]),这个函数检查了被提交的root以及OptimisticTimeOut是否过期。

③此时函数acceptableRoot(messages[_messageHash])返回了true,也就是说这条message就被批准了。这是因为0x0000在初始化过程中被设置为了true(CertiK安全专家认为这是部署过程中产生的错误)。

④当这条message被批准后,攻击者即可从桥中转移资金。


攻击交易

攻击示例:

○ 在Moonbeam Bridge上转移了0.01 WBTC: https://moonscan.io/tx/0xcca9299c739a1b538150af007a34aba516b6dade1965e80198be021e3166fe4c 

○ 在Etherem Bridge接受了100WBTC代币转移:https://etherscan.io/tx/0xa5fe9d044e4f3e5aa5bc4c0709333cd2190cba0f4e7f16bcf73f49f83e4a5460 


漏洞分析

在Replica合约中,“committedRoot”被错误地初始化为0 https://etherscan.io/tx/0x53fd92771d2084a9bf39a6477015ef53b7f116c79d98a21be723d06d79024cad)。
合约地址:https://etherscan.io/address/0x88a69b4e698a4b090df6cf5bd7b2d47325ad30a3

函数process通过调用函数acceptableRoot()确保message hash能通过验证。

函数acceptableRoot()会检查root是否已经被proven, processed或者confirmed。

然而在初始化的交易中0x53fd92771d2084a9bf39a6477015ef53b7f116c79d98a21be723d06d79024cad,owner传入了0x00并且它对应的`confirmAt`也会在初始化中被设为1。

因此0x00可以被当作一个`acceptableRoot`,这也可以在replica合约中查询到https://etherscan.io/address/0xb92336759618f55bd0f8313bd843604592e27bd8

Prove函数的实现导致了一条unproven message的root是0,而0作为一个有效的confirmed root可以通过require的检查。攻击者只需调用process函数就能从桥中转移资金。


资金去向

大约价值1.9亿美元的代币从桥合约中转移出去。
https://defillama.com/protocol/nomad?denomination=USD 


写在最后
由于该问题是由部署参数中的错误引起的,我们假设所有的部署和配置都是正确的,那么在传统的审计中确实很难发现该问题。然而,在包含验证部署过程等更广泛的审计过程中,是可以有效指出该问题的。
CertiK可提供部署阶段后的附加服务——合约验证,其中包括对智能合约的分析和部署后合约验证的深入分析。
作为区块链安全领域的领军者,CertiK致力于提高加密货币及Web3.0的安全和透明等级。迄今为止,CertiK已获得了3200家企业客户的认可,保护了超过3110亿美元的数字资产免受损失。
欢迎点击CertiK公众号底部对话框,留言免费获取咨询及报价!

往期长文回顾

Web3安全公司CertiK完成20亿美元估值B3轮融资,Insight Partners,Tiger,高盛,红杉参投

软银愿景基金进军Web3安全行业,领投CertiK 6000万美元新一轮投资

红杉资本布局区块链安全赛道,以近10亿美元估值领投CertiK 8000万美元B2轮

Tiger布局区块链安全赛道,领投CertiK 2400万美元B+轮

区块链安全赛道最大单笔融资,CertiK B轮融资3700万美元

快到碗里来 | 微软等巨头企业领导者加入CertiK,共筑重量级管理团队

全球邀请函 | CertiK写给挣扎在理想和现实中的你的一封信

一键查询安全排行榜——DeFi的安全洞察数据库

CertiK Skynet天网扫描系统:绕道土狗,竟如此简单?

想知道项目的审计情况,看看项目的审计报告?攻略和入口在这!

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存