MAD:损失约1.5亿 多人“趁火打劫”:Nomad被攻击事件分析_NOMAD

北京时间8月2日,成都链安链必应-区块链安全态势感知平台舆情监测显示,跨链通讯协议Nomad遭遇攻击,黑客获利约1.5亿美元。截止发稿前,根据DeFiLlama数据显示,Nomad代币桥中只剩下约5900美元左右。

关于本次攻击事件的来龙去脉,成都链安安全团队第一时间进行了分析。

PART01?

-

加密市场中首次发生的去中心化抢劫?

首先,我们先来认识本次故事主角——Nomad。

Nomad自称能提供安全的互操作性解决方案,旨在降低成本并提高跨链消息传递的安全性,与基于验证者的跨链桥不同,Nomad不依赖大量外部方来验证跨链通信,而是通过利用一种optimistic机制,让用户可以安全地发送消息和桥接资产,并保证任何观看的人都可以标记欺诈并保护系统。

CertiK:Utopia项目遭到攻击,损失约492枚BNB:金色财经报道,据CertiK官方推特发布消息称,Utopia项目遭到攻击,共损失约492枚BNB,约11.93万美金。攻击者从Tornado Cash提取资金。[2023/7/20 11:07:03]

而在4月13日,他们也以2.25亿美元估值完成高达2200万美元的种子轮融资,领投方为Polychain。对于一家初创项目而言,数千万美元种子轮融足可谓赢在起跑线上,但是本次攻击之后,不知道项目方会如何处理与“自救”。

Nomad官方推特表示,已得知此事,目前正在调查。

关于本次事件,在Web3领域,却引起了争议。

安全团队:DeFi协议land疑似遭到攻击,损失约15万美元:金色财经报道,据区块链安全审计公司Beosin旗下Beosin EagleEye安全风险监控、预警与阻断平台监测显示,UTC时间2023年5月14日,DeFi协议land疑似遭到攻击,损失约15万美元,Beosin Trace追踪发现已有149,616个BUSD被盗,目前,大部分被盗资金还在攻击者地址。其攻击的原因在于mint权限控制缺失。Beosin安全团队现将分析结果分享如下:1.项目方存在几个miner地址可以mint NFT,其中包含0x2e59开头地址合约。2.攻击者调用0x2e59开头地址合约mint 200个NFT。3.攻击者调用0xeab0开头地址函数,用上一步铸造的NFT换取大量XQJ代币(每个NFT兑换200XQJ),直到该合约无法换出XQJ。4.攻击者用28,601XQJ兑换了149,616BUSD。5.攻击者再次mint NFT直到NFT发行上限,攻击结束后攻击者仍持有733个NFT。[2023/5/15 15:03:53]

Terra研究员FatMan在推特上对Nomad遭遇攻击事件发表评论称:“在公共Discord服务器上弹出的一条消息称,任意一个人都能从Nomad桥上抢了3千到2万美元:所有人要做的就是复制第一个黑客的交易并更改地址,然后点击通过Etherscan发送。这是在真正的加密市场中首次发生的去中心化抢劫。”?

安全团队:8月加密行业共记录有31起重大攻击事件,损失约2.17亿美元:金色财经消息,据CertiK监测,8月份加密行业共记录有31起重大攻击事件,造成约2.17亿美元损失,其中Nomad漏洞利用造成了1.9亿美元的损失,排名第一。[2022/9/6 13:12:25]

事实的确如此。

根据Odaily星球日报的报道,在第一个黑客盗窃完成后,这条「成功」经验也在加密社区疯传,被更多用户模仿,趁火打劫。跨链通讯协议Nomad的资产被洗劫一空。

EOS生态DeFi平台Pizza遭攻击,损失约500万美元:12月9日,据官方消息,EOS生态DeFi平台Pizza在昨日遭黑客攻击,黑客账户itsspiderman利用溢出漏洞在eCurve凭空增发tripool做市凭证,在Pizza质押并借出协议中的绝大部分Token。Pizza平台在本次攻击中损失约500万美元。目前,Pizza正与慢雾科技、EOS节点、及广大目方合作尝试追回丢失资产。[2021/12/9 13:01:41]

可能是因为过于心急,一些用户忘记使用马甲伪装,直接使用了自己的常用ENS域名,暴露无遗。目前已经有用户开始自发退款,以求避免被起诉。

PART02?

MONA区块链受不法矿工攻击 相关交易所损失约90万美元:据日本产经消息,近日,MONA(Monacoin)的区块链因受不法矿工的恶意攻击而进行了数次修复。不法矿工通过阻止其他矿工发布新生成的区块扰乱挖矿秩序,将其覆盖一段时候后,再将这些区块对外释放。受此影响,海外的数字货币交易所损失已达约1千万日元(合约90万美元)。日本国内上线MONA的交易所也已采取了相应措施,如提高MONA的付款批准基数,暂停付款业务等。[2018/5/19]

-

项目方在部署合约时犯了什么错导致被攻击?

本次攻击主要是项目方在部署合约时,把零(0x000000....)的confirmAt设置为1,导致任意一个未使用的_message都可以通过判断,并从合约中提取出对应资产。技术分析如下:

被攻击合约

0x5D94309E5a0090b165FA4181519701637B6DAEBA(存在漏洞利用的合约)

0x88A69B4E698A4B090DF6CF5Bd7B2D47325Ad30A3(遭受损失的金库合约)

由于攻击交易过多,下面依靠其中一笔攻击交易分析为例进行阐述;

攻击的交易截图

1.通过交易分析,发现攻击者是通过调用(0x5D9430)合约中的process函数提取合约中的资金。

攻击细节截图

2.跟进process函数中,可以看到合约对_messageHash进行了判断,当输入的messages为0x000000....时,返回值却是true。

攻击细节截图

3.然后跟进acceptableRoot函数,发现_root的值为零(0x000000....)时,而confirmAt等于1,导致判断恒成立,从而攻击者可以提取合约中的资金。

攻击细节截图

?攻击细节截图

4.后续通过查看交易,发现合约在部署时,就已经初始零(0x000000....)的confirmAt为1,交易可见

攻击细节截图

攻击细节截图

PART03?

-

被盗资金进入,项目方还能找回吗?

针对跨链代币桥攻击导致损失一事,Nomad团队表示,“调查正在进行中,已经联系区块链情报和取证方面的主要公司协助。我们已经通知执法部门,并将夜以继日地处理这一情况,及时提供最新信息。我们的目标是识别相关账户,并追踪和追回资金。”

目前,成都链安安全团队正在使用链必追平台对被盗资金地址进行监控和追踪分析。

PART04?

-

总结:合约部署需要注意哪些问题?

针对本次事件,成都链安安全团队建议:项目方在合约部署前,需要考虑配置是否合理。部署后,应测试相关功能,是否存在被利用的风险,并且联系审计公司查看初始的参数是否合理。

郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。

大币网

[0:0ms0-4:558ms