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

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

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

PART 01?

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

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

慢雾:过去一周Web3生态因安全事件损失约2400万美元:6月19日消息,据慢雾发推称,过去一周Web3生态系统因安全事件损失约2400万美元,包括Atlantis Loans、Ben Armstrong、TrustTheTrident、FPG、Sturdy、Pawnfi、Move VM、Hashflow、DEP/USDT与LEV/USDC、Midas Capital,总计23,795,800美元。[2023/6/19 21:46:18]

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

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

Lido RockLogic GmbH节点运营商发生了11次罚没,总损失约20ETH:4月13日消息,流动性质押协议Lido发文称,RockLogic GmbH节点运营商发生了11次罚没(slash),Lido DAO贡献者和RockLogic正在调查;目前,预计总损失约为20ETH或约3%的平均每日协议奖励;问题似乎得到了遏制,根本原因正在调查中,完整的更新将在稍后发布。[2023/4/13 14:02:03]

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

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

FriesDAO因Profanity漏洞遭到攻击,损失约230万美元:金色财经报道,据CertiK监测,FriesDAO于今日遭到攻击,损失约230万美元,起因是攻击者获得了该协议操作者钱包的控制权——似乎是由于Profanity钱包生成器的漏洞导致的,这一漏洞会令通过该工具生成地址的私钥被强制使用。

1.在获得对操作者钱包的访问权后,攻击者从DAO的资金钱包中提取了$FRIES,并将其于Uniswap上以wETH的价格出售。

2.攻击者使用只能由操作员地址调用的函数governanceRecoverUnsupported()从抵押池中提取资金。

3.攻击者最终将所有资金转换为DAI。

截至撰写本文时,存储被盗资金的钱包价值约为232.5万美元。

FriesDAO在官方Discord频道中确认了这次攻击,指出钱包地址确实是用Profanity生成的。

目前官方开发人员试图与攻击者进行谈判,协商用白帽赏金来换取被盗资金的归还。

这次攻击本可以被预防,因为Profanity漏洞作为做市商Wintermute被盗超过1.6亿美元攻击事件的罪魁祸首,已经被公开了一个多月了。

CertiK呼吁所有使用过Profanity工具的Web3.0项目立即将受影响钱包中所有资产的控制权转移到安全生成的地址。[2022/10/28 11:52:27]

新西兰交易所Cryptopia再次遭黑客入侵,损失约4.5万美元:2月20日,新西兰交易所Cryptopia再次遭黑客入侵,加上2019年被盗的3000万美元,Cryptopia报告称,它是2021年2月1日另一起盗窃事件的目标。黑客窃取了约62,000新西兰元(45,000美元)的加密货币。调查显示,黑客访问了一个钱包,该钱包自2019年1月黑客入侵以来一直处于休眠状态。该钱包属于Stakenet,由Cryptopia的清算人Grant Thornton控制。根据调查结果,休眠的钱包持有价值约196万美元的Xtake,这是Stakenet的原生代币。

此前,去年12月份,新西兰被盗交易所Cryptopia用户索赔流程已正式开启。(News.Bitcoin)[2021/2/20 17:34:12]

事实的确如此。

瑞波币创始人加密货币净资产两个月损失约50亿美元:瑞波币联合创始人Chris Larsen在之前2月份福布斯发布的首份数字货币富豪榜中排名第一,当时其加密货币净资产在70亿至80亿美元之间,但现在由于XRP的下跌,Chris Larsen加密货币资产规模大降至约30亿美元。[2018/4/2]

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

可能是因为过于心急,一些用户忘记使用马甲伪装,直接使用了自己的常用 ENS 域名,暴露无遗(这可能给 Nomad 后续追赃减轻了一定的负担)。目前已经有用户开始自发退款,以求避免被起诉。

PART 02?

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

被攻击合约

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

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

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

攻击的交易截图

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

攻击细节截图

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

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

?攻击细节截图

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

PART 03?

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

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

PART 04?

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

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

金星链

[0:15ms0-0:945ms