主页 > imtoken冷钱包安全吗 > 以太坊网络存在“致命消息”漏洞,攻击者可使其2/3以上节点瘫痪

以太坊网络存在“致命消息”漏洞,攻击者可使其2/3以上节点瘫痪

imtoken冷钱包安全吗 2023-07-03 05:07:50

北京时间6月28日凌晨3点,在刚刚结束的硅谷Blockchain Connect大会上,区块链安全公司PeckShield披露了一个可能导致以太坊geth节点休克或崩溃的安全漏洞。

PeckShield将此次披露的漏洞命名为“Ethereum Packet of Death (EPoD)”,意为“致命数据包”。 攻击者可以通过发送恶意数据包对geth节点发起攻击。 geth是以太坊主流官方客户端,被众多重要节点采用,这也意味着一旦攻击者利用该漏洞攻击所有受影响的以太坊geth节点,涉及的相关网络节点随时可能关闭。 对于整个以太坊网络来说以太坊下载官网,如果利用这样的漏洞进行恶性竞争,将会扰乱市场秩序,造成难以估量的严重损失。

影响超过 2/3 的以太坊网络节点

在深入了解漏洞细节之前,我们先介绍一下以太坊客户端应用程序。 根据以太坊基金会官网的描述,以太坊官方客户端有多个独立运行的版本,其中Go Ethereum和Parity占据了很大的市场份额。

中国以太坊官网_以太坊官网以太坊_以太坊下载官网

图 1. 根据 Ethernodes 网站,不同以太坊客户端的市场份额

Go Ethereum,或 geth,是一个用 Go 语言编写的官方客户端。 geth 是完全开源的,并在 GNU LGPL v3 下获得许可。 据Ethernodes网站统计,geth约占整个以太坊客户端的2/3,是目前以太坊网络的主流客户端。 排名第二的 Parity(Parity Technology 的产品,用 Rust 语言编写)占据了剩余三分之一份额的绝大部分(如图 1 所示)。 还有其他客户端以太坊下载官网,占比较小(如图2所示),共识机制的一致性使得这些客户端在功能上几乎完全等价。

以太坊下载官网_中国以太坊官网_以太坊官网以太坊

图 2. 根据 Ethstats 网站,不同以太坊客户端的市场份额

PeckShield研究人员发现了一系列可能导致geth节点震荡或崩溃的安全漏洞,如果这些漏洞被利用,可能会对超过2/3的以太坊网络造成严重影响。

以太坊下载官网_以太坊官网以太坊_中国以太坊官网

图 3. 以太坊协议栈

“致命消息”漏洞详情

以太坊的核心是所有的客户端都必须遵守同一个协议来维持共识。 这些协议由 RLPx、DΞVp2p 和其他子协议组成,包括 Ethereum Wire Protocol 或 Lightweight Ethereum Protocol。

图 3 显示了以太坊应用程序的协议层。 为了支持轻量级客户端,轻量级以太坊子协议(Lightweight Ethereum Sub-protocol,LES)允许以太坊节点在同步获取区块时只下载区块头部,需要时再获取区块的其他部分。 为了实现这个功能,我们还需要一个全节点(或存档节点)作为LES服务器,为轻量级节点提供服务。

执行以下命令启动一个支持LES服务的geth全节点

geth--lightserv 20

LES客户端向LES服务器请求区块头时,会发起一条GetBlockHeaders类型的消息(message),LES服务器的消息处理程序(message handler)负责相应的解析工作。 图 4 显示了负责处理 GetBlockHeaders 类型消息的 geth 客户端的代码片段。

(GetBlockHeaders) 消息处理程序代码片段:

中国以太坊官网_以太坊下载官网_以太坊官网以太坊

图4.geth客户端中获取区块头信息处理器LES客户端发送的查询(query)请求遵循以下格式

中国以太坊官网_以太坊下载官网_以太坊官网以太坊

从图 4 的第 17 行开始,LES 服务器处理非反向分支。 在第 19 行,LES 服务器检查查询后是否有可用的块头。跳过块已被忽略。 如果检查通过,则调用 GetBlockHashesFromHash 方法(第 20 行)并返回一个区块头数组。

但是,LES 服务器不验证输入请求(即查询)的有效性。 攻击者可以构造query.Skip = -1 (0xFFF...F) 等恶意请求。 当query.Skip+1作为要分配的数组的最大长度参数传递给GetBlockHashesFromHash方法时,分配并返回一个长度为0的数组。 那么,当通过索引query.Skip = 0xFFF...F访问长度为0的数组时,LES服务器就会彻底崩溃。

漏洞危害及后续

公链作为区块链世界的“操作系统”,为区块链生态提供数据存储、网络传输、交易计算、共识机制等底层协议。 目前,市场上竞争激烈的公链众多。 总市值排名第一的以太坊无疑是目前公链领域的龙头老大。 以太坊网络一旦受到攻击,将对整个区块链生态产生重大影响。 .

受此漏洞影响的以太坊geth客户端很可能包括数字货币交易所和部分矿池等关键节点。 攻击者可以利用该漏洞实施恶性竞争,通过直接瘫痪竞争对手的算力来赢得更大的市场份额,这将严重影响以太坊市场秩序的稳定。 我们在发现漏洞后第一时间向以太坊基金会提交了漏洞报告。 目前,以太坊geth客户端相关开发团队已经发布了相应补丁。

在此我们也呼吁受影响的关键节点尽快升级到最新版本,以抵御可能的攻击和危害。

以太坊官网以太坊_中国以太坊官网_以太坊下载官网

中国以太坊官网_以太坊官网以太坊_以太坊下载官网

图 5. CVE-2018-12018 漏洞报告

这只是我们披露的一系列漏洞的开始,我们将在适当的时候披露我们发现的其他漏洞。