当前位置:网站首页>跨链桥协议 Nomad 遭遇黑客攻击,损失超 1.5 亿美元
跨链桥协议 Nomad 遭遇黑客攻击,损失超 1.5 亿美元
2022-08-03 10:41:00 【巴比特资讯】

DeFi 之道讯,8 月 2 日,跨链桥协议 Nomad 遭遇攻击,超过 1.5 亿美元的用户资金被黑客转移,Paradigm 合伙人 samczsun 对此安全事件进行了分析。
Nomad 刚刚在遭受 Web3 有史以来最混乱的一次黑客攻击中损失了 1.5 亿美元。那这到底是如何发生的,其根本原因是什么?请允许我带你们到这次攻击事件的幕后。

这一切都始于 @officer_cia 在 ETHSecurity 电报群频道中分享的 @spreekaway 推文,虽然我当时不知道发生了什么,但离开 Nomad 跨链桥的资产数量显然不是一个好的迹象。

我的第一个想法是代币的小数点有一些配置错误。毕竟,这座跨链桥似乎在进行“发送 0.01 WBTC,返还 100 WBTC”的促销活动。

然而,在 Moonbeam 网络上进行了一些痛苦的手动挖掘工作之后,我确认 Moonbeam 交易确实跨链出了 0.01 WBTC,但不知何故,以太坊交易跨链出的资产是 100 WBTC。
https://moonscan.io/tx/0xcca9299c739a1b538150af007a34aba516b6dade1965e80198be021e3166fe4c
https://etherscan.io/tx/0xa5fe9d044e4f3e5aa5bc4c0709333cd2190cba0f4e7f16bcf73f49f83e4a5460


此外,WBTC 跨链交易实际上并没有证明什么。它只是直接调用了 process,可以说,能够在不首先证明的情况下处理消息是非常不好的。

这个时候,有两种可能性,要么是在较早的区块中单独提交了证明,要么是 Replica 合约存在严重的漏洞。但是,绝对没有迹象表明最近有任何事已被证明。

那只剩下了一种可能性,Replica 合约中存在着致命漏洞。那到底是怎么回事呢?快速查看后表明,提交的消息必须属于可接受的根,否则,第 185 行的检查将会失败。

幸运的是,有一种简单的方法可以检查这个假设。我知道未经证明的消息根将是 0x00,因为消息 [_messageHash] 将未初始化。我所要做的就是检查合约是否会接受这一点。

哎……

事实证明,在例行升级期间,Nomad 团队将可信根初始化为 0x00。需要明确的是,使用零值作为初始化值是一种常见的做法。不幸的是,在这种情况下,它有一个很小的副作用,即自动验证每个消息。


这就是黑客行为如此混乱的原因,你不需要了解 Solidity 或 Merkle 树之类的东西,你所要做的就是找到一笔有效的交易,用你的地址查找/替换另一个人的地址,然后重新广播它。
总的来说,一次例行升级将零哈希标记为有效根,其效果是允许在 Nomad 上欺骗消息,攻击者滥用此功能来复制/粘贴交易,并在一场疯狂的混战中迅速耗干了这座跨链桥的资金。
译者注:此次 Nomad 跨链桥的黑客攻击,Moonbeam 和 evmos 这两条公链的用户会受到较大影响,其中, Moonbeam 涉及的跨链资金相对较大。这次事件再次提醒了我们跨链桥的风险,用户在使用跨链桥后,应尽量避免持有跨链资产,而应尽快兑换成区块链的原生资产,并且以太坊主链的原生资产安全性要高于其他链。

中文推特:https://twitter.com/8BTC_OFFICIAL
英文推特:https://twitter.com/btcinchina
Discord社区:https://discord.gg/defidao
电报频道:https://t.me/Mute_8btc
电报社区:https://t.me/news_8btc

边栏推荐
- 在安装GBase 8c数据库的时候,报错显示“Host ips belong to different cluster”。这是为什么呢?有什么解决办法?
- MySQL数据库高级使用
- 数字藏品和ICP
- 3D激光SLAM:LeGO-LOAM---两步优化的帧间里程计及代码分析
- 优炫数据库在linux平台下服务启动失败的原因
- Leecode-SQL 1484. 按日期分组销售产品
- 4 g acquisition ModbusTCP turn JSON MQTT cloud platform
- 什么是IDE?新手用哪个IDE比较好?
- error C2872: “flann”: 不明确的符号 解决方法
- 【AppCube】数字孪生万物可视 | 联接现实世界与数字空间
猜你喜欢

Leecode-SQL 1484. 按日期分组销售产品

袋鼠云思枢:数驹 DTengine,助力企业构建高效的流批一体数据湖计算平台

This article understands the process from RS485 sensor to IoT gateway to cloud platform

一文了解,从RS485传感器到物联网关到云平台过程

Spinner文字显示不全解决办法

开源一夏 | 教你快速实现“基于Docker快速构建基于Prometheus的MySQL监控系统”

MySQL数据库基本使用

Leecode-SQL 1527. 模糊查询匹配(模糊查询用法)

8 月数据库排行榜:Oracle 分数大跌,MySQL 上涨最多

for in 和 for of的区别
随机推荐
HCIP第十七天笔记
罕见的数学天才,靠“假结婚”才得到追求事业的机会
507. 完美数
MATLAB程序设计与应用 2.7 结构数据与单元数据
Enter the SQL Client to create the table, in another node into the SQL Client queries
再谈“雷克萨斯”安全装置失效!安全手册疑点重重,网友:细思极恐
面试官:工作两年了,这么简单的算法题你都不会?
C# Color颜色RGB对照表、颜色选择器
LeetCode第三题(Longest Substring Without Repeating Characters)三部曲之二
STM32入门开发 介绍SPI总线、读写W25Q64(FLASH)(硬件+模拟时序)
集成学习、boosting、bagging、Adaboost、GBDT、随机森林
GBase 8c与openGauss是什么关系?
mysql 运行的时候 报错
优炫数据库在linux平台下服务启动失败的原因
如何通过DBeaver 连接 TDengine?
RecyclerView的item高度自适应
金先生谈长效生长激素出海与产品力
像用户体验设计师一样思考
问下flink -sql 通过cdc抽取数据怎么能更快的抽取数据写到目标端?如何配置?
以网强算,中国移动算网建设激发澎湃能量