如何评估“分叉版EVM”的安全风险?

互联网 阅读 1035 2023-05-30 19:14:00

为了加强对交易ERC-20和其他基于智能合约的资产的客户的安全和托管保证,Coinbase区块链安全团队调查了定义这些资产行为的程序层:以太坊虚拟机(EVM)。在评估修改自身网络的EVM的项目时,Coinbase的区块链安全团队会审查关键的EVM更改,以确定修改后的EVM是否能够提供与原始EVM实施相同的安全和托管保证。

分叉EVM现状

截至2023年5月,以太坊虚拟机(EVM)夺得最热门智能合约执行平台“榜一大哥”头衔。根据DefiLlama的数据,总锁仓价值(TVL)排名前10位的链中有9个支持EVM智能合约。因此,深入了解EVM对于支持整个区块链生态系统中的智能合约至关重要。

EVM是一种虚拟机,用于在以太坊网络上去中心化执行智能合约。许多兼容EVM的区块链在其协议软件中直接利用不同语言的热门Ethereum执行客户端的标准实施方案,如go-ethereum(Golang)和besu(Java)。

也就是说,分叉和修改EVM实际上在区块链生态系统中非常常见,甚至在主要协议中也是如此。例如,为Coinbase的Base L2 区块链提供“动力”的Optimism Bedrock Stack使用了一个名为op-geth的go-ethereum执行客户端的分叉版本,该版本运行的EVM与热门的以太坊执行客户端兼容。然而,这并不意味着以太坊上的EVM与Optimism上的EVM行为完全相同:op-geth EVM在某些情况下的行为略有不同(即DIFFICULTY返回随机值是由序列器确定的)。

虽然这听起来很可怕,但对于EVM的采用来说,一般情况下是有益的。虽然标准EVM实施方案针对以太坊基础协议进行了高度优化,但分叉的EVM通常会针对自己的新协议进行扩展。因此,合约在某些EVM兼容链上的执行方式可能与在以太坊上的执行方式不同,EVM智能合约行为的安全假设在不同协议之间也可能存在很大差异。

分叉EVM安全框架

为此,Coinbase开发了一个Web3安全框架,用于评估一些分叉EVM实施方案中的安全影响。我们称之为Coinbase的分叉EVM框架,下面将对其进行详细的解释。

有了这个分叉EVM安全框架,Coinbase能够有效地:

  • 了解我们的以太坊代币框架的安全假设的无效性,使我们能够安全地启用新的EVM兼容区块链,以便在我们的去中心化交易所支持ERC-20/ERC-721代币;
  • 为智能合约审计师提供关于分叉EVM的智能合约漏洞情况的分析,特别是跨网络中的微小差异;
  • 确保在Coinbase的Base L2区块链上安全使用和执行EVM智能合约。

兼容EVM的区块链的安全标准

为了解以太坊虚拟机中的安全风险是如何存在的,首先要知道标准EVM实施方案为我们提供了哪些保障。我们将标准EVM定义为以太坊执行规范中描述的以太坊验证器执行客户端一致使用的EVM。到目前为止,最常用的客户端是go ethereum(即geth)。

我们将安全性总结为两个安全标准,它们代表了任何分叉EVM实施方案有资格获得Coinbase支持的最低要求。

EVM

我们如何审计EVM实施方案的安全风险?

我们的分叉EVM框架在评估是否符合总体安全标准(即合约不变性和安全执行环境)时,主要关注以下审计要求。需要注意的是,以下风险成分并不是分叉EVM审计的全部范围。

修改EVM操作码的定义和编码会导致合约执行方式的重大差异。例如,假设一些分叉的EVM实施(EVM')将算术ADD操作码定义逻辑(x1 + x2)改为减去两个值(x1 - x2)。

EVM

结果,偏离的EVM '在执行上与标准EVM不相等且不兼容。修改操作码的后果可能是有益的行为,比如防止算术操作码中的整数溢出和下溢,也可能是更危险的行为,比如导致本地资产无限铸造的自毁行为。

EVM使用预编译合约来定义复杂的功能(如加密函数),使用更方便和性能更强的语言,如Golang,而不是使用不太容易访问的EVM字节码。

从根本上说,这些是通过节点软件中表示的预定链地址来访问的编程功能。以太坊黄皮书(截至2023年5月)中定义了9个预编译器,对这9个预编译器所做的任何更改或引入新的预编译器都需要进行审计。

让我们再举一个具体的例子——BNB智能链漏洞。BNB智能链使用go-ethereum的一个偏离的实施方案来运行节点。为此,引入了两个新的预编译合约(tmHeaderValidate,iavlMerkleProofValidate),利用第三方软件(即Cosmos SDK)来执行轻客户端区块验证和Merkle证明验证。问题是,Cosmos SDK软件在其IAWL树表示法中有一个实施错误,允许加密无效的证明通过验证。换句话说,任何人都可以凭空产生资金。攻击者能够利用嵌套在iavlMerkleProofValidate预编译器中的这个实施漏洞,从币安跨链桥中抽走数亿美元。

EVM

这个利用漏洞的例子是为了展示预编译器安全性的必要性,以及为偏离的EVM实施引入新的预编译合约所带来的潜在风险。

引入额外的预编译器可能带来的致命风险包括:

  • 允许一方单方面修改任何已部署合约的状态;
  • 这包括所有存储修改(插入、更新、删除);
  • 使用不受信任、未经验证或未经审计的第三方依赖项;
  • 提供对不确定节点内值的访问。

尽管将编译器和EVM视为完全独立的实体,但值得注意的是,Solidity编译器确实对前三个预编译合约(ecrecover、sha256和&ripemd)的行为做出了严格的假设,这些合约通过Solidity语言中的本机语言关键字函数表示。在后台,Solidity编译器实际上将这些关键字处理成字节码,字节码执行合约间静态调用操作。下图进一步说明了这种合约间的沟通方式。

EVM

修改标准预编译器会带来的安全风险包括:

  • 允许中心化的交易对手单方面修改任何已部署合约的状态;
  • 这包括所有存储修改(插入、更新、删除);
  • Solidity编译器预编译位置假设不一致;
  • 提供对不确定节点内值的访问;
  • 使用不受信任、未经验证或未经审计的第三方依赖项。

修改EVM基本组成部分所带来的关键风险包括:

  • 不约束解释器堆栈,使其无限大;
  • 对内存模型进行大小修改或改变,可能导致非确定性的执行;
  • 绕过访问控制,允许任意的对手方单方面访问所有链状态;
  • 使用不受信任、未经验证或未经审计的第三方依赖关系。

为什么要重视EVM安全性?

我们的目标是建立一个基于区块链技术的开放金融系统,为此,我们鼓励开发各种EVM实施方案。然而,为了让兼容EVM的区块链得到Coinbase的全面支持,它必须满足标准EVM实施的基本要求。本文希望提高人们对偏离EVM相关风险的认识,并鼓励资产发行人在偏离EVM时优先开发安全组件,提高整个 Web3 生态系统的安全意识。

免责声明:
1.资讯内容不构成投资建议,投资者应独立决策并自行承担风险
2.本文版权归属原作所有,仅代表作者本人观点,不代表本站的观点或立场
上一篇:梳理比特币上的Ordinals家族 下一篇:长推:生态用户达1000万,你需要了解的关于Reddit NFT系列的一切

您可能感兴趣

  • 解读CKB版 “闪电网络” Fiber Network:比特币可编程性扩展的另一种思路
    解读CKB版 “闪电网络” Fiber Network:比特币可编程性扩展的另一种思路

    作者:NingNing行业周期与宏观金融周期共振,加密行业正处在与 2019 年相似的整体性迷茫之中,现阶段不仅流动性枯竭,叙事貌似也在枯竭。市场不但对 VC 叙事兴趣阙如,对反 VC 的 Meme 叙事也已经疲倦。就像每次哲学危机,人们都会回归柏拉图寻找出路,当加密行业危机时,我们也需要回归比特币、回归中本聪。正如 CKB 生态 RGB++ 协议创始人 Cipher 在最新 Blog 里所阐述的,加密行业需要对以太坊 “链上计算” 的路径依赖进行反思,回归P2P经济学,让计算归于链下,让验证归于链上。因

    每日资讯 2024-09-02 12:06 1282
  • 面对NFL球员工会起诉,“退圈”的DraftKings竟主动承认NFT是证券?
    面对NFL球员工会起诉,“退圈”的DraftKings竟主动承认NFT是证券?

    作者:Zen,PANews近日,美国国家橄榄球联盟球员协会 (NFLPA) 指控数字体育娱乐和游戏公司DraftKings 逃避了其 NFT 球员许可协议的付款义务。在放弃NFT业务后,涉嫌出售未注册证券而遭到集体诉讼的DraftKings又背上了一起官司。而有趣的是,在与NFLPA的纠纷中,DraftKings的立场似乎已从反驳转变为积极承认“NFT就是证券”。放弃NFT业务:驳回集体诉讼的动议遭到否决今年7月底,Draftkings在给用户的电子邮件中表示:“经过慎重考虑,DraftKings 决定终

    每日资讯 2024-09-02 12:06 1392
  • 简析两种最新比特币智能合约实现方案:OP_NET与Arch有何区别?
    简析两种最新比特币智能合约实现方案:OP_NET与Arch有何区别?

    作者:Cookie过去半个月,OP_NET 与 Arch 这两个比特币主网上的智能合约实现方案引发了较多的讨论。有意思的事情是,OP_NET 这个名字与大家熟悉的 OP_CAT 很像,都以「OP_」开头,具有很强的、让大家认为这哥俩差不多的迷惑性。所以,在开篇要和大家先提一嘴 OP_CAT。首先,OP_CAT 是比特币操作码,从去年开始有以「量子猫」Quantum Cats,也就是「大巫师」Taproot Wizards 的创始人 Udi Wertheimer 为首的社区力量一直在呼喊要「复活」OP_CA

    每日资讯 2024-09-02 12:06 1294
  • 争议不断,以太坊正在失去“万链之王”的权威
    争议不断,以太坊正在失去“万链之王”的权威

    作者:Climber,金色财经近期围绕以太坊的话题和争议越来越多,不仅 Vitalik 本人需要下场解释观点,就连以太坊基金会也要发布公告来平息社区的质疑声。在本轮牛市周期中,以太坊的表现可谓平平。而美国以太坊现货 ETF 的通过也并未让 ETH 走势如投资者期待般爆发,相反却在币价方面越走越低。这就不免让有着「万链之王」美誉的以太坊逐渐失去投资者和社区的尊重,进而质疑起有关以太坊的方方面面。争议不断,以太坊亟需重塑权威最近一段时间以来社区成员对 Vitalik 言论观点、以太坊基金会乃至以太坊生态系统的

    每日资讯 2024-09-02 12:06 991
  • 从《黑神话:悟空》谈起,GameFi何时能取得真经?
    从《黑神话:悟空》谈起,GameFi何时能取得真经?

    作者:YBB Capital Researcher Zeke前言本文是市场垃圾时间中的一些闲聊,需要对传统游戏市场有一定程度了解。大家可以把这篇文章当作日记或者随想观看,这些只是我在游玩《黑神话:悟空》之后对GameFi的一些粗浅思考,以及对这个赛道未来的看法。一、游戏科学的九九八十一难三天全网销量破千万、Steam玩家同时在线峰值破235万、多家品牌联名周边销售爆火、国家级媒体多次采访、多个游戏取景地可凭游戏通关记录终身免费进入、86版《西游记》YouTube观看量超400万。以上,是《黑神话:悟空》上

    每日资讯 2024-09-02 12:06 683
  • Gavin Wood:如何防止女巫攻击进行有效空投?
    Gavin Wood:如何防止女巫攻击进行有效空投?

    演讲:Gavin WoodGavin 近期一直在关注的女巫攻击(civil resistance)的问题,PolkaWorld 回顾了 Gavin Wood 博士在 Polkadot Decoded 2024 上的主题演讲,想要探究 Gavin 在如何防止女巫攻击上的一些见解。什么是女巫攻击?你们可能知道,我一直在研究一些项目,我在编写灰皮书,专注于 JAM 项目,也在这个方向上做了一些代码的工作。实际上,在过去的两年时间里,我一直在思考一个非常关键的问题,这个问题在这个领域中非常重要,那就是如何防止女巫

    每日资讯 2024-09-02 12:06 1235
  • 市场热议,链抽象将成加密新叙事?
    市场热议,链抽象将成加密新叙事?

    2024年,加密货币领域的技术创新持续加速,链抽象(Chain Abstraction)逐渐成为行业内的焦点。链抽象技术的核心在于通过隐藏底层技术的复杂性,让用户能够更加便捷地在多个区块链之间进行操作。传统的区块链技术通常要求用户掌握不同链的操作流程,并需要应对跨链操作中的技术难题,这极大地吸引了新用户的进入。而链抽象的出现,则为这些问题提供了有效的解决方案,成为Web3建设不可忽视的重要一环。01、什么是链抽象及其作用链抽象能够将不同的区块链之间的差异整合在一个统一的操作界面中,使得用户只需一个账户即可

    每日资讯 2024-09-02 12:05 532
  • 今日日报|马斯克和特斯拉赢得“被指控操纵狗狗币”的诉讼;稳定币支付平台Bridge完成5800万美元融资
    今日日报|马斯克和特斯拉赢得“被指控操纵狗狗币”的诉讼;稳定币支付平台Bridge完成5800万美元融资

    今日要闻提示:马斯克和特斯拉赢得驳回指控他们操纵狗狗币的诉讼OpenAI和Anthropic已同意将其主要新AI模型在发布前共享给美国政府OKX将上线Hamster Kombat(HMSTR)现货交易X平台纽约总部将于9月13日关闭,预计将迁往得州萨尔瓦多总统布克尔成为《时代》杂志最新一期封面人物稳定币支付公司Bridge完成5800万美元融资数据:MATIC、SHIB、UNI代币头部地址持仓均超50%网龙今年上半年通过出售2.9亿元的加密货币,获利5100万元人民币监管消息美国众议院计划在9月举行多场加

    每日资讯 2024-09-02 12:05 1033