Nomad Bridge漏洞利用被窃取1.9亿美元 - 嘶吼 RoarTalk – 网络安全行业综合服务平台,4hou.com

Nomad Bridge漏洞利用被窃取1.9亿美元

ang010ela 新闻 2022-08-06 11:11:00
711711
收藏

导语:Nomad Bridge漏洞利用事件分析,被窃取1.9亿美元

Nomad Bridge漏洞利用事件分析,被窃取1.9亿美元。 

Nomad Bridge是一个区块链加密货币跨链平台,支持以太坊、Moonbeam、Avalanche、Evmos和Milkomeda等币种的跨链资产转移。2022年8月1日,Nomad bridge经历漏洞利用,引发价值1.9亿美元资产损失。该漏洞是初始化过程中,“committedRoot”被设置为0引发的。因此,攻击者可以绕过消息验证过程,并从跨链合约中窃取token。

 Nomad Bridge简介

Nomad Bridge是一个区块链加密货币跨链协议,允许用户在不同区块链之间实现资产的转移。此外,资产发行者还可以跨链部署token,开发者还可以通过Nomad构建原生跨链应用。Nomad的目标是使用户和开发者能够安全地交互。Nomad支持Avalanche (AVAX)、Ethereum (ETH)、Evmos (EVMOS)、Milkomeda C1和Moonbeam (GLMR)之间的token资产转移。

漏洞利用事件分析

8月1日,Nomad bridge在升级过程中遭遇了漏洞利用。漏洞是初始化过程中,“committedRoot”被设置为0引发的,攻击者可以绕过消息验证过程,滥用copy/paste交易发起攻击。具体来说,用户通过复制原始黑客交易的calldata,并替换为个人的原始地址。然后该交易会被处理,并从Nomad bridge移除资金。在4个小时时间内,黑客、僵尸主机和其他社区成员不断重复该攻击,并成功窃取Nomad bridge几乎所有资金,总计约1.9亿美元。

漏洞利用交易

攻击示例:

以太坊接收100 WBTC转账0xa5fe9

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

image.png

多个攻击交易:

image.png

攻击流

以交易0xa5fe9为例:

攻击者调用函数; 

在process函数中,会调用acceptableRoot(messages[_messageHash]),这是用来检查root是否提交,以及timeout是否过期的。本例中messages[_messageHash]是0x000。

lbD8cmxFFGT0pvVZx OtT5syX-XslRYwwvoEKaP88jJD g14M0YMMBMM96yTxZeXaVzr2DjgBIIa9kcHmi8afWtEtd2w06E8qaf3gxxUJhlftLosp 1mGxOVtXwuowh-GU8eskosasxd c56RoyOCDk (1)函数acceptableRoot(messages[_messageHash])返回true,消息就被证明了。在初始化时设置为0x0000,因此是true(这也是部署时的错误所在)。

I8DPT8rmGZOMT2Jyahv8AXnEawQOyDkMVXHkWc2gAx9IVYZsDwhzUW8d2n3X4EORozRdjnEQvKLS365JjubnUo2U1wA 0N49mIbAz5ipTsyhBzm6t47TN8S0DW np1amLrLL8hGVXpgnshYEHWhKzGI消息经过证明后,攻击者就可以向其他链转账。

漏洞

初始化阶段

Replica合约在交易0x53fd9中被错误地初始化了,其中“committedRoot”被初始化为0。

攻击阶段

因此,攻击者可以直接以任意“_message”调用“process(byte memory _message)”函数,实现验证绕过。

合约地址: 0x88a69

该函数处理确保消息哈希通过检查得到证明。

CAhN2ccyazdxCQJjV cfVnrv 2RFHvVMubeoHgF-ID9uLuLBFfN5dto71lqPqcO imQx6avOwc-9dTjp687B1lcZwxHL3RC5Gm3DeGU94srGuSKrVWl1kVTDzzSTwzlz5BIFczWjCeWNIis5JcVrwpY

该函数会检查root是否经过证明、处理和确认。

UpWX-n73x14aC3pDogK9ax5pfy7wVfyuDdeXYjrpABfFsjPVVdXsPsTczvwzUIuWkZrHH-arUB0XRowSwVlMJUZahZX6wUaHVDX-A Q Yge iAEoOkbV0UhobgEQyr 7FeP9JhKS8q3wBPd2sRWAQoA 在初始化交易0x53fd9中,所有者发送0,这些root会被设置为1。

ut8Kvcrq8rjlGPchC9q6xufziuWPdYusJoTsL7Z4FX28OuRE8z3UNyfDFSWGJyxBF7-8UobqFOe2S8QEgLLZl-HJvmr07LPyfbNoBiJJb9xyPFZ7v HAPO63OqCT6cAGvZp1WzHZsiBGUP4vUQZS- o

2N2QzHs4omRFW4PeEvisfN- vN8 xFDLLYD3LsMNg2Np-9PU1-6CBrzrvrJIxaHFQpeZGdaM53Onh61ohoNTE7G1ufmGA-O1M-MECFholbTE2otaYD0PUd8nT38klazseZ2A FrPxiIAv5agnKRiFhg

因此,0会在0xb9233被检查。

根据prove函数的实现,未经证明的消息的root也是0,因此0会被认为是一个有效的经过确认的root,可以绕过检查。攻击者只需发送交易给Nomad Bridge,就可以获得对应token。

5b2GLTo-DJAdHgKKj5NjCvCeDJ32jHij0xTLOONPMuoTdcmX-yvh7iCXAFd-QIv i0b4FNwsFs7u-x83qfmU8gIlfJrjRkCo23TGPcvx1NjLWbjqyNhPdvu9EvjGRozhfAwM rxX9bTBk TYOIHy7RQ

资产追踪

累计有大约价值1.9亿美元的token从Nomad Bridge被转出。

 LtbB5J2ILex3joLZj-OvHWm8O7zbYhv3A4twzeRVNfpUiVCB8RncMnov43MSUKV7qmuBbUL5wpYNMMnui5gclSywTL-wwxA9ulnTlICwG yF5 XMfWrdDJhsS95FNJG2zVISFrRYIbM0dsD0qbmYrsY (1)


本文翻译自:https://www.certik.com/resources/blog/28fMavD63CpZJOKOjb9DX3-nomad-bridge-exploit-incident-analysis如若转载,请注明原文地址
  • 分享至
取消

感谢您的支持,我会继续努力的!

扫码支持

打开微信扫一扫后点击右上角即可分享哟

发表评论

 
本站4hou.com,所使用的字体和图片文字等素材部分来源于原作者或互联网共享平台。如使用任何字体和图片文字有侵犯其版权所有方的,嘶吼将配合联系原作者核实,并做出删除处理。
©2022 北京嘶吼文化传媒有限公司 京ICP备16063439号-1 本站由 提供云计算服务