• 分析:Nomad Bridge黑客攻击的独特之处


    分析:Nomad Bridge黑客攻击的独特之处

    未标题-3

    2022年8月1日,Nomad桥的各种资产被抽走了1.9亿美元。这次的漏洞特别在于,它是第一次由普通公众积极参与的黑客攻击。

    Nomad Bridge的黑客攻击最初是由一个人策划的,但很快,普通用户就能发现最初黑客利用的bug,并通过简单地使用Ctrl+C,Ctrl+V来利用它。

    本文将深入研究这种攻击最初是如何成为可能的。

    Nomad是什么?

    Nomad是一个跨链桥,允许用户在链之间转移加密资产,但转移从未真正发生。Nomad运行多个智能合约,在原始链上销毁资产,并在新链上铸造资产。这就是为什么当我们利用跨链转移资产时,我们将拥有wETH而不是ETH。Wrapped Ether是与其他链兼容的Ether的镜像版本。

    Nomad黑客的分析

    截屏2022-08-03 上午11.12.22

    黑客攻击发生在前天,攻击发起者发现并开始利用一个弱点。人们很快就明白了被利用的是什么,并开始复制粘贴漏洞,以便自己从Nomad桥中吸走资产。这实际上掏空了Nomad的钱包——几小时内从1.9亿美元减至700美元。

    截屏2022-08-03 上午11.13.26

    这种前所未有的机会主义攻击之所以成为可能,是因为它非常容易复制。为了复制黑客,我们所要做的就是复制黑客的交易调用数据,并用自己的地址替换原来的地址。

    最初是什么让黑客攻击发生的?

    该漏洞是由nomad智能合约文件Replica.sol中的一个错误造成的。此外,根据Nomad GitHub存储库中的审计报告,审计团队实际上已经标记了这个特殊的弱点,并得到了团队的承认。

    更具体地说,问题源于下面的process()函数,在 Replica.sol 文件的第 192 行:

    require(acceptableRoot(messages[_messageHash]), "!proven");
    
    • 1

    这一行本身并没有本质上的错误,因为它通常会确保请求来自智能合约认为可接受的根。

    require()是一个内置的Solidity函数,它确保只有授权的地址才能在特定的智能合约上执行操作。不幸的是,在41天前,该团队在合约merkle根启动过程中犯了一个错误,添加了0x00作为可接受的根。这意味着每个人的钱包地址都是该合约的可接受根,并且能够成功地调用合约的各种函数。

    一个糟糕的merkle根初始化是这个问题的根本原因。一旦漏洞被发现,它就非常容易被复制,人们开始从Nomad中吸走资金。一些人承诺把钱还回去。

    Source:https://cryptomaton.medium.com/the-great-nomad-bridge-hack-inside-the-first-decentralised-crowd-looting-event-98af2c5444f8

    关于

    ChinaDeFi - ChinaDeFi.com 是一个研究驱动的DeFi创新组织,同时我们也是区块链开发团队。每天从全球超过500个优质信息源的近900篇内容中,寻找思考更具深度、梳理更为系统的内容,以最快的速度同步到中国市场提供决策辅助材料。

    Layer 2道友 - 欢迎对Layer 2感兴趣的区块链技术爱好者、研究分析人与Gavin(微信: chinadefi)联系,共同探讨Layer 2带来的落地机遇。敬请关注我们的微信公众号 “去中心化金融社区”

    img

  • 相关阅读:
    Linux less 命令使用介绍
    lv11 嵌入式开发 ARM指令集中(伪操作与混合编程) 7
    整理 js 日期对象的详细功能,使用 js 日期对象获取具体日期、昨天、今天、明天、每月天数、时间戳等,以及常用的日期时间处理方法
    spring-data-mongodb的Aggregation详解
    嵌入式开发--CubeMX使用入门教程
    驱动——platform驱动总线三种匹配方式
    【MetaLearning】有关Pytorch的元学习库higher的基本用法
    Linux检查Docker镜像,容器的磁盘空间
    XSCTF联合招新【真是阳间题】(MSIC+Crypto)
    tomcat为什么要自定义类加载器?
  • 原文地址:https://blog.csdn.net/chinadefi/article/details/126138237