主页 > imtoken钱包国际版下载 > 比特币对等网络的隐蔽分区攻击(第 1 部分)

比特币对等网络的隐蔽分区攻击(第 1 部分)

imtoken钱包国际版下载 2023-08-25 05:11:55

比特币全球转账平台_比特币中国平台_比特币较好的平台软件

0x01 缺席

恶意中介自治系统 (ASes) 等网络攻击者可以通过路由级别的攻击来分割比特币对等网络。 例如,网络攻击者利用BGP漏洞进行前缀劫持攻击。 由于 BGP 的性质,这种劫持是全局可观察的,因此可以立即检测到攻击并识别攻击者。

在本文中,提出了一种更隐蔽的攻击,称为 EREBUS 攻击,它在没有任何路由操作的情况下对比特币网络进行分区,这使得控制平面甚至数据平面无法检测到攻击。 EREBUS 的新颖之处在于,它通过耐心地影响目标节点的对等决策,使攻击者成为一个或多个目标比特币节点的所有对等连接的自然中间人网络。

事实证明,影响比特币节点的对等决策,这在针对早期 Eclipse 攻击的一系列错误修复后被认为是不可行的,对于使用大量网络地址资源(例如,在许多其他 AS 中欺骗数百万个 IP)是不可行的. 地址)是可能的,成本可以忽略不计。 EREBUS 攻击可以在大型 AS 中轻松使用,例如 Tier-1 和大型 Tier-2 AS,针对绝大多数 10K 公共比特币节点,每个目标比特币节点的攻击流量仅为 520 bit/s 左右,并且具有适度(例如 5-6 周)的攻击执行期。

0x02 分割比特币节点

简要回顾现有的两种最著名的攻击:比特币劫持和 Eclipse 攻击

A. 比特币网络分区的动机

• 对比特币共识的攻击:分割一组矿工的攻击者可能会拖延最新的区块链状态,浪费他们的挖矿努力。 将一部分矿工(比如 30%)与网络的其余部分分开,允许甚至无法控制大部分挖矿能力(比如 40%)的攻击者发起 51% 攻击。 此外,攻击者可以利用自私挖矿攻击劫持分区矿工的算力来挖矿他们的区块链。 即使在谨慎地等待某些块在区块链上得到确认之后,分区的比特币节点(例如,连接到商家、交易所或 SPV 客户端的节点)也容易受到双花攻击。

• 攻击比特币的链下协议:攻击者阻止分区的受害者节点在区块链上结算支付通道,并从他们的链下交易中窃取受害者的资金。

• 破坏加密货币:强大的攻击者甚至可能旨在破坏底层对等加密货币网络的很大一部分。 在较小的范围内,攻击者可以任意审查受害者的交易。

B. 比特​​币劫持和漏洞

Bitcoinjacking 攻击者利用 BGP 劫持流量以转发特定(例如,高达 /24)IP 前缀,其中包括目标比特币节点的 IP 地址。 当攻击者 AS 劫持了一个节点的所有域间路由时,他控制(例如,注入、删除、修改、延迟)目标节点的比特币消息。 此外,已经为比特币劫持攻击提出了几种算法,以找到必须一起劫持的比特币节点目标集,以将所有比特币节点与对等网络的其余部分高度隔离。

主要缺点:比特币劫持攻击的一个主要缺点是攻击者在发起攻击后立即向公众披露他的身份(比如 5-10 分钟)。 众所周知,比特币劫持攻击中使用的 BGP 劫持消息在整个网络中传播,并最终被全球路由监控系统(例如 RIPE、RouteViews)观察到。 当路由监控系统捕捉到比特币劫持报文时,由于劫持报文中必须包含其AS号,因此很容易识别出攻击者。 攻击者被揭露后,比特币劫持攻击可能会引起巨大的政治争议。

C. Eclipse 攻击与对策

如前所述,Eclipse 攻击直接操纵受害比特币节点的节点选择决策。 比特币节点通过传入的点对点连接(即由其他点发起的连接)和传出的点对点连接(即由节点本身发起的连接)维护与其他点的许多连接。 在选择传出连接时,比特币节点从其内部数据库中选择对等 IP 地址,特别是新表(包含它从对等方了解到的 IP 地址)和已试过的表(包含该节点曾经连接过的 IP 地址)。

在引入 Eclipse 攻击之前,比特币协议在两个表中的 IP 地址的管理和使用方面存在多个漏洞。 也就是说,任何远程攻击者都能够以最小的努力用任意 IP 地址填充目标节点的两个表,从而最终控制目标节点的对等连接决策。 比特币社区迅速修补了这些漏洞。 几个反制措施中最值得注意的是禁止任何远程攻击者直接访问两个表之一(已尝试的表)。 结果,攻击者只能直接填充另一个表(即新表),而不能同时填充两个表。 此外,修补后,填充新表变得更加困难。 这些修复程序和其他修复程序使僵尸网络攻击者无法进行 Eclipse 攻击。

0x03 EREBUS 攻击

比特币较好的平台软件_比特币中国平台_比特币全球转账平台

上图是 EREBUS 攻击的高级概述。 恶意自治系统 (AS) M 间接将 AS V 中目标比特币节点的所有对等连接切换到其他精心挑选的比特币节点,以将自己置于受害者节点所有对等连接的中间。 这种攻击不需要任何路由操作(例如,劫持 BGP 路径),使其无法被控制平面异常检测系统检测到。

着重于攻击者的 AS 网络如何设法控制与目标受害者比特币节点的所有对等连接(此处仅显示两个)。 攻击者 AS 没有操纵底层路由协议,而是将受害者节点(在 AS V 中)的现有传出对等连接(见蓝色虚线)更改为比特币节点(在 AS C 和 D 中),其受害者-到节点的域间路径包括攻击者 AS M。

结果,攻击者 AS 最终被放置在受害者节点的所有对等连接的路径上。 值得注意的是,影响远程比特币节点的对等决策被认为对于最新的比特币核心(0.18.0 版)是不可行的,因为所有相关的错误在早期的 Eclipse 攻击后都已修复。 具体来说,拥有数千个机器人的远程攻击者无法再强制目标比特币节点专门连接到其机器人。

与普遍看法相反,EREBUS 网络攻击者仍然可以影响比特币节点的对等决策。 攻击之所以可能,不是因为比特币核心实现中有任何新发现的错误,而是因为作为网络攻击者的基本拓扑优势。 也就是说,EREBUS 攻击者自治系统充当稳定的中间人网络,可以可靠地利用大量网络地址(例如,模拟数百万或更多有效 IP 地址)。

EREBUS 攻击者 AS 可以同时攻击多个精心选择的比特币节点(例如,流行矿池的网关)以进行强大的比特币分区攻击。 由于 EREBUS 攻击没有利用比特币核心实现中的特定漏洞,因此似乎没有简单、快速的修复方法。

0x04 威胁模型

类似于比特币劫持攻击,考虑一个完全控制单个 AS 网络的攻击者,称之为攻击者 AS。 攻击者可以任意插入/修改/删除/延迟通过其网络的任何消息。 攻击者的目标是控制比特币对等网络中目标节点的所有对等连接。 目标是大约 1 万个比特币节点接受传入连接。 由于缺少公共 IP 接口而无法接受传入连接的比特币节点(例如,网络地址转换 (NAT) 后面的节点或通过 Tor 网桥连接的节点)不在此次攻击的范围内。

此外,在整个攻击执行过程中,目标比特币节点被认为具有可靠的 IP 地址。 假设比特币分区攻击的主要目标将是知名且有影响力的节点(例如流行矿池的网关节点),这些节点将以稳定的 IP 地址可靠地运行。 请注意,即使目标节点更改其 IP 地址(例如 DHCP),攻击者也可以通过比特币节点指纹技术识别具有不同 IP 的同一节点。

假设一个比特币节点在任何给定时间只能被一个攻击者攻击。 当两个或多个攻击者同时攻击同一个节点时,由于他们之间的竞争,攻击的成功率可能会降低。

0x05 朴素的 EREBUS 攻击

攻击者是一个恶意的AS(如图中的AS M),以一个良性的比特币节点为受害者(如图中的AS V中的节点)。 由于攻击者可能不在受害者节点原始点对点连接的路径上(见蓝色虚线),攻击的目标是迫使受害者节点连接到其他良性比特币节点(例如,AS C或 D) 以便受害者 A 节点更改的对等连接(见红色实线箭头)遍历攻击者 AS。

请注意,应仔细选择受害者的新比特币对等点,以便从受害者到节点的路由(例如,从 V 到 D 的路由)包括攻击者 AS M。攻击者重复此操作,直到它为受害者的所有对等连接提供服务节点。 作为受害节点点对点连接的自然中间人网络,攻击者 AS 现在可以插入/修改/删除/延迟从他选择的比特币对等点传送到受害节点的任何比特币消息,从而有效地控制受害者节点; 即达到了攻击的目标。

技术挑战:虽然直观上很吸引人,但由于几个有限的未知攻击功能,在实践中实施简单的 EREBUS 攻击非常困难。 首先,可能没有足够数量的良性比特币节点(例如,AS C 或 D 中的节点),其到受害者节点的通信路径恰好包括攻击者 AS。

请注意,目前一个比特币节点可能有多达 125 个对等连接,因此需要 125 个或更多位于正确位置的比特币对等点才能进行可靠的攻击。 其次,即使存在足够数量的此类比特币节点,仍然很难影响任何比特币节点的节点选择,尤其是在部署了多种反制措施来阻止 Eclipse 攻击之后。

0x06 完整的 EREBUS 攻击

现在描述 EREBUS 攻击的完整版本,EREBUS 攻击者不仅使用现有的比特币节点,还使用其受害者到 IP 地址的路由,包括攻击者 AS 的任何有效 IP 地址。 例如图中的攻击者AS M可以枚举出AS C和D中的大量有效IP地址,并强制受害节点与任何枚举出的IP地址进行对等。 此类攻击者枚举的 IP 地址称为影子 IP。

影子 IP 代表一个虚拟(因此可能不存在)比特币节点,它可能是从受害者到节点(包括攻击者的 AS)的路由。 重要的是要注意影子 IP 不一定被真正的比特币节点甚至任何主机使用。 影子 IP 仅用于为受害者提供对等网络的逻辑视图,任何从受害者节点连接到它们的尝试都会从攻击者节点劫持并由攻击者 AS 完成正常比特币消息交换。

EREBUS 攻击描述为以下两个攻击阶段:侦察阶段(步骤 I)和攻击执行阶段(步骤 II)。

比特币全球转账平台_比特币较好的平台软件_比特币中国平台

【第一步】收集影子IP。 在此步骤中,攻击者旨在收集尽可能多的 IP 地址,这些地址可用于影子 IP。 如上图所示,该步骤由三个子步骤组成。

在步骤 I-➊ 中,攻击者评估域间路由状态,并枚举所有可能具有节点的 AS,其受害节点到节点的数据包将穿越其自己的网络 M。

在步骤 I-➋ 中,攻击者枚举所有选定 AS 中的可用 IP 地址,并将它们用作受害者特定的影子 IP,并将它们插入其数据库。

在步骤 I-➌ 中,攻击者测试来自受害节点的数据包是否确实通过其网络到达选定的影子 IP。 请注意,此测试步骤可以集成到下一个攻击执行步骤中。 对于大型攻击者AS和典型的受害者节点,可以轻松获得数千万的影子IP。

[第二步] 创建受害者影子对等连接。 在此攻击执行步骤中,攻击者旨在耐心地影响受害节点,使其仅使用在步骤 I 中获得的影子 IP 进行对等。请注意比特币较好的平台软件,不再可能控制比特币与某些僵尸网络的对等决策。

EREBUS 攻击者利用了作为网络攻击者的基本优势。 也就是说,攻击者 AS 在数周内可靠地模拟数百万或更多影子 IP,以缓慢填充受害者节点的内部数据库。

在步骤 II-➊ 中,攻击者代表他选择的多个影子 IP 与受害者节点建立传入连接。 特别是,攻击者通过欺骗影子 IP 地址来启动比特币版本的握手。

然后,在步骤 II-➋ 中,攻击者在 addr 消息中使用大量影子 IP 淹没受害节点的内部 IP 地址表

在步骤 II-➌ 中,攻击者等待受害者现有的传出连接自然断开连接,并替换为到影子 IP 的连接。 为了加快这个过程,攻击者可以触发受害者节点重置并从内部表中选择一个新连接。

0x07 攻击属性

• 不可检测:比特币劫持攻击与EREBUS 攻击最大的区别在于前者是仅控制平面攻击比特币较好的平台软件,而后者是仅数据平面攻击。 EREBUS 攻击者不传播任何控制平面消息(例如路由广告),因此它对控制平面监视器(例如 BGP 消息收集器和分析工具,如 RIPE、RouteView、CAIDA BGStream)至关重要。

由于数据平面流量大得多,互联网上不存在数据平面流量的公共存储库,因此几乎不可能对 EREBUS 攻击进行公开审查。 一些谨慎和愿意的 AS 可能会使用其深度包检测 (DPI) 功能来捕获来自可疑 AS 的所有比特币消息,并尝试识别任何可疑的 EREBUS 攻击数据平面消息(例如,在第二步货币消息中交换的比特)。 然而,EREBUS 攻击者总是可以拒绝执行攻击,因为没有任何负责任的互联网架构,就没有办法确定数据包的实际发起者。

• 开箱即用:EREBUS 攻击已被证明可由任何一级 AS 轻松攻击几乎所有 (195K) 公共 10K 比特币节点。 同样,许多大型 Tier-2 AS 可以针对网络中的大多数公共比特币节点。 攻击者 AS 的网络覆盖范围很重要,因为域间拓扑中的网络覆盖范围越大(例如,提供到多个大陆的连接的 Tier-1 AS),通常有更多的影子 IP 地址可用于 EREBUS 攻击。

• 缺乏细粒度的反制措施:由于EREBUS 攻击不利用任何特定的协议漏洞,而只是利用网络攻击者的基本拓扑优势,因此很难找到简单快速的修复方法。 潜在有效的对策要么违反比特币的去中心化理念(例如,依赖第三方代理),要么需要对比特币核心进行重大更改(也尚未验证)。

0x08 结论

本文简要介绍了隐蔽分区攻击的威胁模型和攻击方法,并对现有的比特币劫持和Eclipse攻击进行了回顾。 在下一篇文章中,我将继续介绍如何获取影子IP,创建受害者的影子连接,评估EREBUS攻击总结和防御对策。

本文表明,如果没有针对 EREBUS 攻击精心设计它们的对等协议,这些大型 AS 的拓扑优势允许它们控制区块链的对等连接。 希望这项工作能引发新的讨论,讨论如何强化数以千计的加密货币以抵御强大、老练的网络攻击者。