CCS’19,SICO: Surgical Interception Attacks by Manipulating BGP Communities
1. 引言 (Introduction)
方向: 论文研究的方向是网络安全领域,特别是针对互联网主干网的 Border Gateway Protocol (BGP) 路由协议的安全性问题。
研究现状: 介绍了 BGP 作为互联网主干网的主要路由协议,但存在安全漏洞,如缺乏足够的安全机制来验证路由的真实性,导致 BGP 劫持攻击的发生。
问题: 论文指出了简单的 BGP 劫持攻击和更复杂的拦截攻击之间的区别,并提出了后者执行难度较大,因为攻击者需要截获流量并将其转发给目标受害者。
创新点: 作者提出了一种新的攻击方法——SICO (Surgical Interception using COmmunities) 攻击,利用 BGP 社区 (communities) 来控制攻击范围并确保攻击者能够截获流量。
我们验证了各种 AS 拓扑下 SICO 攻击的可行性。
SICO 通过允许对手从另外 16% 的 Internet 主机(最坏情况)和 58% 的 Internet 主机(最佳情况)吸引流量,从而优于以前的技术。
当仅针对最高带宽 Tor 节点的 IP 时,与以前的攻击相比,有针对性的拦截攻击可以有效减少被拦截的主机数量,同时仍然能够拦截从目标 IP 到受害者的流量。
我们对 SICO 可行性的评估表明,至少有 48% 的 AS 总数(或 83% 的多宿主 AS)能够启动 SICO。
结论: SICO 攻击在真实互联网主干网上的可行性和效果进行了评估,结果显示 SICO 攻击可以在之前提出的攻击方法不可行的情况下实现截获,并且能够吸引更多互联网主机的流量。
原文摘要
边界网关协议 (BGP) 是互联网骨干网的主要路由协议,但它缺乏足够的安全机制。虽然简单的 BGP 劫持攻击仅涉及攻击者劫持发往受害者的 Internet 流量,但更复杂和更具挑战性的拦截攻击要求攻击者拦截受害者的流量并将其转发给受害者。如果拦截攻击发起不正确,攻击者的攻击将破坏其到受害者的路由,从而无法转发数据包。为了克服这些挑战,我们引入了 SICO 攻击(Surgical Interception using Commmunities):一种发起拦截攻击的新方法,它利用 BGP 社区来确定对手的攻击范围并确保到达受害者的路由。然后,我们将展示如何针对特定的源 IP 地址进行 SICO 攻击,以降低攻击成本。此外,我们以合乎道德的方式对真正的互联网骨干网进行SICO攻击,以评估其可行性和有效性。结果表明,即使先前提出的攻击不可行,SICO攻击也可以实现拦截,并且通过吸引来自另外16%的互联网主机(最坏情况)和58%的互联网主机(最佳情况)的流量来超过传统BGP拦截攻击的性能。最后,我们分析了互联网拓扑结构,发现至少有 83% 的多宿主 AS 能够发起这些攻击。
关键点:
论文提出 SICO 攻击能够在之前提出的攻击方法不可行的情况下实现流量拦截。这意味着 SICO 攻击在技术上更为先进,能够克服以往方法的局限性。
在最不利的情况下,SICO 攻击能够从额外 16% 的互联网主机吸引流量。
在最有利的情况下,SICO 攻击能够从额外 58% 的互联网主机吸引流量。
这表明 SICO 攻击在吸引流量方面比之前的攻击方法更有效,能够影响更广泛的互联网用户。
论文通过对互联网拓扑的分析发现,至少有 83% 的多宿主自治系统(multi-homed ASes)有能力发起 SICO 攻击。
多宿主自治系统是指那些与多个上游服务提供商(providers)连接的网络实体,这使得它们在路由流量时有更多的灵活性和控制能力。
由于有大量多宿主 AS 能够发起 SICO 攻击,这表明如果攻击者控制了这些 AS 中的任何一个,他们就可以利用 SICO 攻击对互联网上的大量流量进行拦截。
2. BGP 概述 (Overview of BGP)
3. SICO 攻击概述 (Attack Overview)
威胁模型: 假设攻击者可以控制至少一个 AS,并能够向相邻 AS 发布任意 BGP 公告。
先前攻击的局限性: 分析了之前攻击方法的局限性,如 AS 拓扑多样性和大型 AS 的防御机制。
什么是BGP 劫持攻击和拦截攻击?
在网络安全领域,拦截攻击(interception attacks)是一种攻击方式,其中攻击者不仅截获或窃取流量,而且将截获的流量转发回原本的目的地,即受害者的自治系统(AS)。这种攻击方式相比直接的流量劫持(hijack)更为隐蔽,因为数据流在被攻击者截获后仍然能够到达预定的目的地,从而减少了被检测到的可能性。
BGP 劫持攻击(Hijack Attacks)
BGP 劫持攻击通常指的是攻击者通过发送虚假的 BGP 通告来吸引流向特定目的地的流量。这些攻击的基本原理是:
BGP 拦截攻击(Interception Attacks)
BGP 拦截攻击更为复杂,不仅需要吸引流量,还需要将流量转发到真正的目的地(受害者网络),而不被检测到。拦截攻击的基本原理是:
SICO 攻击
SICO(Surgical Interception using COmmunities)攻击是一种特殊的拦截攻击,它利用 BGP 社区来精确控制路由通告的传播。BGP 社区是一种可选的、可以附加到 BGP 通告上的属性,用于在上游 AS 中控制路由策略。SICO 攻击的关键在于:
图 2(a) 的情况:AS0 从对等方 AS1 听到了一条虚假路由,并从提供商 AS2 听到了一条有效路由。由于本地偏好的规则,AS0 可能会选择通过 AS1 的虚假路由转发流量,这会破坏攻击者的拦截攻击。
图 2(b) 的 SICO 解决方案:攻击者使用 SICO 发送一个带有特定社区值的虚假路由通告给 AS1,指示 AS1 不要将该虚假路由通告传递给 AS0。这样,AS0 就不会通过虚假路由接收到流量,从而保持了有效的路由到受害者。
4. 基于 BGP 社区的拦截攻击 (BGP Community Based Interception Attacks)
攻击设置: 描述了攻击的基本设置,包括攻击者如何利用其提供商来发布虚假路由并保持对受害者的有效路由。
社区工具包: 介绍了可以用于拦截攻击的不同 BGP 社区动作,如降低本地偏好、选择性地不导出到特定对等体等。
通过社区控制传播: 通过案例研究展示了如何使用社区来控制路由的传播,以避免路由偏好问题。
一般情况的攻击启动: 提供了一个算法,让攻击者能够在任意 AS 拓扑关系下启动攻击,并确保攻击成功。
目标拦截攻击: 讨论了如何使用社区实现针对特定源 IP 地址的拦截攻击。
什么是路由循环?
路由循环(Route Looping):
路由循环是网络中出现的一种情况,其中数据包在多个网络设备之间无限循环,但没有进展向其最终目的地。这通常发生在路由信息不正确或存在配置错误时。在 BGP 欺骗的背景下,路由循环可能发生,例如:
错误的 AS-path:如果攻击者在 AS-path 中插入自己的 ASN,而没有正确地管理这些路径,可能会导致接收到这些通告的 AS 将流量发回给攻击者,而攻击者又没有有效的路径将流量转发给受害者,从而产生循环。
不正确的通告传播:如果虚假的路由通告被传递给错误的邻居或在不适当的范围内传播,流量可能会在多个 AS 之间循环,而无法到达其预期的目的地。
基于 SICO 的 BGP 欺骗与传统 BGP 欺骗的区别
特性 | SICO 攻击 | 传统 BGP 欺骗 |
---|---|---|
社区的使用 | 利用 BGP 社区属性来精细控制路由通告的传播。 | 通常涉及 AS-path 劫持或前缀劫持,不特别利用 BGP 社区属性。 |
通过向通告中添加特定的社区值,攻击者能够指示接收通告的 AS 如何处理这些路由信息,例如不将通告传递给特定的邻居。 | 攻击者简单地宣告一个不拥有的前缀或者在 AS-path 中插入自己的 ASN 来吸引流量。 | |
攻击的隐蔽性 | 允许攻击者在不影响其他路径的情况下,有选择性地拦截流量,这增加了攻击的隐蔽性。 | 可能会因为改变了路由路径而被其他网络运营商或监控系统发现。 |
路由循环风险 | 通过精心设计通告和社区属性,减少了产生路由循环的风险。 | 可能会因为误导性的路由信息而导致路由循环,增加被检测到的可能性。 |
5. 评估 (Evaluation)
论文描述了评估 SICO 攻击可行性、公告传播影响和可行 AS 估计的方法。
可行性评估: 在真实互联网主干网上使用 PEERING 测试平台进行了攻击测试。
公告传播的影响: 通过测量互联网主机受影响的比例来量化不同的拦截技术对公告传播的影响。
与最新技术的比较: 将 SICO 与其他技术进行了比较,发现 SICO 在保持较低的公告传播影响的同时,能够更有效地吸引流量。
西雅图发起 BGP 攻击并通过 Coloclue 转发流量
目的:
这个实验旨在展示 SICO 攻击在实际情况下的可行性,特别是在一个攻击者控制的 AS 没有直接连接到受害者的 AS 的情况下。
实验设置:
攻击者位置:PEERING 测试平台的西雅图节点。
受害者位置:PEERING 测试平台的东北大学(Northeastern University)节点。
转发路径:攻击者使用 VPN 隧道将流量转发到阿姆斯特丹的 PEERING 节点,然后通过 Coloclue(一个提供商)来转发流量。
实验过程:
攻击者在西雅图节点发起 BGP 攻击。
由于西雅图节点的直接提供商(RGNet)不支持 BGP 社区,攻击者通过 VPN 将流量转发到阿姆斯特丹节点。
在阿姆斯特丹节点,攻击者利用 Coloclue 的 BGP 社区支持来实施 SICO 攻击。
实验结果:
成功实现了通过 Coloclue 转发的 BGP 攻击,证明了即使在攻击者的直接提供商不支持 BGP 社区的情况下,SICO 攻击也是可行的。
测量攻击传播的影响
目的:
这个实验的目的是量化 SICO 攻击相对于其他拦截技术对公告传播的影响。
实验方法:
通过发送探测数据包到随机样本的互联网主机,并记录有多少比例的主机响应的路由被攻击者截获,从而测量攻击的“传播”或“影响范围”。
实验步骤:
首先,从受害者服务器发起一个未修改的 BGP 通告,建立一个基准。
然后,从攻击者服务器发起一个 BGP 拦截攻击(使用 SICO、AS-path poisoning 或 selective neighbor announcement)。
发送探测到一组活跃的互联网主机,并测量有多少比例的主机响应被路由到攻击者。
实验结果:
通过比较不同攻击技术下的传播范围,可以量化每种技术对互联网主机的影响。
SICO 攻击的传播损失非常小,这意味着它能够在不显著影响正常路由传播的情况下,有效地吸引流量。
结论
测量SICO的价差损失。我们测量了 SICO 的点差损失,发现 SICO 在阿姆斯特丹多路复用器中仅将平均点差(即 SYN 和 Ping 点差平均)降低 0.1%(Satk = 68.8%,Sbase = 68.9%),在西雅图实施时仅降低 11.4%(Satk = 38.9%,Sbase = 43.9%)。
针对 Tor 节点的 BGP 攻击结果
6. 讨论: 对策措施 (Discussion: Countermeasures)
现有解决方案: 分析了现有的解决方案,如前缀过滤、路由源验证和 AS 路径过滤。
潜在对策: 提出了限制社区传播、限制 BGP 更新中的社区数量、仅允许特定社区动作和使用历史 BGP 更新来检测异常社区等潜在对策。
7. 相关工作 (Related Work)
论文回顾了与 BGP 拦截攻击、BGP 社区研究和针对 BGP 攻击的防御措施相关的文献。
– END –
一个只记录最真实学习网络安全历程的小木屋,最新文章会在公众号更新,欢迎各位师傅关注!
公众号名称:网安小木屋
博客园主页:
博客园-我记得https://www.cnblogs.com/Zyecho/