当前位置: 首页 > > 天 方 夜 “谈” 第23期 | CXPST攻击

天 方 夜 “谈” 第23期 | CXPST攻击

发表于:2020-03-18 20:45 作者: 方滨兴班 阅读数(8217人)


参考文献

论文:Losing Control of the Internet: Using the Data Plane to Attack the Control Plane

作者:Max Schuchard, Abedelaziz Mohaisen, Denis Foo Kune, Nicholas Hopper,

Yongdae Kim

来源:CCS’10, Chicago, Illinois, USA. ACM.

介绍

互联网可以被划分为两个清晰的部分:将数据包转发到目的地址的数据平面;决定使用哪个路径达到目的地址的控制平面。控制平面旨在绕过连接中断,从而使Internet具有鲁棒性应对本地化故障。然而,这种耐久性带来了成本:“本地”事件可能对控制平面全局产生影响。过多的这种控制平面事件甚至可能破坏核心互联网路由器。这种中断可能导致网络不稳定,从而导致连接和数据丢失。历史上存在几个这样的事件,这些事件的发生均源于比较罕见的原因,例如路由器配置错误,硬件故障以及快速传播的蠕虫的副作用。

在这项工作中,作者们介绍了协调跨平面会话终止(CXPST)攻击,这是一种新型式的分布式拒绝服务(DDoS)攻击,它试图利用全局范围的BGP更新来引起整个互联网上的控制平面不稳定。为了人为地创建控制平面不稳定性,CXPST应用Zhang等人的工作来破坏路由器之间的BGP会话。Zhang描述了一个无特权的攻击者如何通过控制僵尸网络来利用控制平面和数据平面使用相同物理媒介;从这里开始,作者们将此称为ZMW攻击。这种媒介共享机制允许攻击者说服BGP发言者中的一个BGP会话失败。CXPST计算网络拓扑的中心度量,并使用此信息智能地选择要使用ZMW攻击中断的BGP会话集合。这导致控制平面不稳定的波动,由于链路的选择,其在全球范围内广播。通过对故障的位置和时间施加影响,CXPST产生足够的更新以压倒路由器的计算能力,从而削弱互联网的控制平面。

背景知识

No.1

域内路由和BGP

因特网由称为自治系统(AS)的多个网络组成,它们代表其客户将流量中继到彼此。AS是多种多样的,具有与其他AS的各种尺寸和数量的连接。有些AS具有很高的连通性,这些AS被认为是核心AS。其他AS的连接程度非常低,位于互联网的郊区,这些AS称为边缘AS。边缘AS需要核心AS的协助才能路由交通。这些核心AS同意向其他AS转发流量,称为转接AS。路由器必须共同确定数据包必须通过哪些路径或哪些系列的AS才能到达目的地。为此,路由器交换消息,宣传它们通过路由协议到达网络的能力。

边界网关协议(BGP)是连接不同AS的路由器的标准路由协议。BGP是路径向量路由算法,允许路由器维护到每个目的地的AS路径表。BGP还使用策略优先使用某些AS路径而不是其他路径。为简单起见,作者们将这些路由器称为边界路由器,因为它们位于其归属AS和另一个AS之间的连接点。每个边界路由器都有自己的专用路由表,因此它有自己不同的网络视图。当AS中的一个路由器由于链路故障等事件而更改路由表时,它会重新计算其路由表,删除故障链路,并通过BGP更新消息通知其相邻AS。此更改可能会触发其他边界路由器中的同一系列事件。

BGP规范定义了路由选择,还列举了许多两个BGP发言者之间的会话约束。例如,该标准定义了发言者应如何确定对等体是否不再起作用,如何在期间保持BGP会话存活不活动,以及如何处理错误。根据标准,如果路由器收到来自对等方的错误或格式错误的消息,或者对等方明确关闭连接,再或者是底层TCP流发生故障,导致传入的BGP消息之间传递了很长时间,则路由器将认为BGP对等会话失败。

No.2

BGP的稳定性和网络性能

在正常的BGP操作中,网络收敛到稳定状态。但是,本地更改(如电缆切断,路由器硬件故障或本地BGP策略的更改)可能导致必须撤销路由,从而导致路由表重新计算并重新通告给其他路由器。问题是,这些广播可以在接收它们的路由器上产生相同的活动。即向更多的路由器重复此广播,从而导致更新的全局传播。此行为表明一个关键事实:在BGP中,通常会在全局中看到小的本地更改。

控制平面的不稳定性会降低数据平面的性能。当路由器关闭时,通过该路由器的路径将不再起作用,并且必须找到新路由。功能路由器将继续将流量转发到现在不存在的路由器,直到它们完成寻找新路由的过程。指向断电路由器的所有流量都将丢失,从而导致大量丢弃的数据包。这只是不稳定性如何导致数据平面大量中断的一个例子。

当一组线路在可用和不可用之间快速振荡时,称为线路振荡。路由振荡可能是网络中存在多个缺陷的结果,包括配置错误,路由器硬件故障和链路故障。这是一个问题,因为生成了大量的控制平面消息,以及路由器必须执行的路由表重新计算。只有受影响的路由器完成BGP消息的处理后,才能恢复数据平面性能。在大量不稳定的情况下,路由重新计算会显著增加路由器CPU的负载,可能超出其容量。这种增加的负载转化为处理决策的更长的周转时间,反过来又延长了数据平面中断的持续时间。在路由振荡期间,需要尽快重新计算路由,但需要重新计算这么多路由会减慢计算速度。

目前存在一些功能,试图减轻损坏路由振荡对数据和控制平面的影响。最小路由通告间隔(MRAI)阻止对同一网络进行一系列路由更改的快速通告。虽然MRAI不能帮助数据平面直接恢复,但它们确实减少了路由器CPU的负载。BGP平滑重启提供了一个宽限期,即两个连接的路由器允许其数据平面在其控制平面出现问题时继续运行。这试图缓解两个路由器需要从简单错误中恢复的问题。最后是Route Flap Damping,它旨在直接通过抑制(忽略)呈现扑动行为的线路来对抗线路振荡。仍需要完成绕过故障路由的初始工作,但由于链路在功能状态和非功能状态之间振荡,因此不会进行额外的工作。

No.3

攻击BGP路由器

 鉴于路由器和路由协议的重要性,存在大量文献探索其弱点并不令人惊讶。这项工作特别令人感兴趣的是Zhang,Mao和Wang的一篇论文,该论文着眼于使用简短的目标数据平台拥塞来欺骗一对路由器彼此断开连接。在他们的攻击中,基础在于无特权的攻击者使用数据平面间接地与控制平面交互。因为数据平面和控制平面是共同定位的,所以这种交互是可能的。由于这种共同作用,数据平面流量的拥塞可能导致控制平面流量的丢失。路由器内部有几个位置,控制平面流量和数据平面流量争用资源,包括缓冲区空间和带宽。当资源稀缺时,控制流量和数据流量必须贡献这些有限的资源。

BGP协议使用保持定时器作为检测失败会话的一种方法。路由器跟踪上次从BGP对等方接收控制平面数据的时间,如果此时间超过保持定时器,则会话被拆除。如果有足够的连续控制平面数据包丢失,则BGP会话的保持定时器将到期,会话将失败。本质上,攻击者可以使用大量数据以数字方式"切断两个路由器之间的链路"。当BGP会话失败时,必须撤销通过该会话发现的所有路由,并在"失败"链路的两端重新计算新路由。Zhang等人的研究,在硬件和软件路由器中展示了成功实施此攻击的能力。


CXPST攻击

在本节中,作者们将介绍CXPST,这是对互联网控制平面的攻击。在CXPST中,控制僵尸网络的攻击者有选择地破坏BGP会话,以便人为地生成大量BGP更新。这种更新风暴超出了路由器的计算能力,阻碍了它们有效地做出路由决策。


攻击者模型

 有许多攻击者通过故意错误配置其控制下的路由器而导致控制平面不稳定。这些攻击者能够直接使用其作为BGP发言者的特权状态与控制平面进行交互。通过使用BGPSEC或类似技术,通常可以防止此级别的攻击。

在这项工作中,作者们改为考虑一个无特权的对手,他们不控制任何BGP发言者,因此只能创建数据平面流量。由于缺乏直接生成控制平面消息的能力,这些攻击者需要强制非串通路由器生成控制平面事件。作者们倾向于考虑控制合理大小的僵尸网络的攻击者,此攻击者能够从分布在Internet上的受感染主机生成网络流量。控制受损的BGP发言人的攻击者将能够产生一些用于驱动CXPST的现象,但在网络中的任意位置都无法做到这一点。


CXPST概念

 为了引起控制平面的不稳定性,作者们模拟的攻击者将应用ZMW攻击。ZMW使用数据流量来欺骗一对路由器彼此断开连接。这导致一组线路提取,计算和广播。有趣的是,产生的控制平面中断不限于一组线路提取和广播。由于BGP会话失败后路由不再使用目标链路,因此没有流量会使用该链路。这允许两个受攻击的路由器再次相互通信,因为链路将不再受到攻击流量的拥塞。经过一段时间后,目标路由器将重新建立其BGP会话。这将导致进一步的BGP更新,因为刚刚撤销的路由被重新公布。当先前的线路再次被利用时,机器人流量将再次转移到目标链路,并且攻击在没有来自攻击者的任何干预的情况下恢复。目标BGP会话将再次被破坏并且循环重复,迫使目标链路在"向上"和"向下"状态之间振荡。实质上,CXPST诱导有针对性的路径振荡。

 虽然受到攻击的两台路由器受影响最大,但未受到直接攻击的路由器也会受到影响。如前面的章节所述,由本地更改产生的BGP更新往往在全球范围内广播。通过创建一系列具有接近全球影响的本地化故障,CXPST有可能压倒互联网上大量路由器的计算能力。

CXPST攻击的效果如下图所示:

图片.png

图1. 正常负荷的因素

图片.png

图2. 第75百分位

图片.png

图3. 第90百分位

在另一方面,为了比较单一和多特征向量聚类算法的性能,作者们首先定义了一个成本函数C。现有两个在成本函数的影响因素:首先是网络的重要联系。从网络防御点出发,少量的重要联系将更加便于监督和维护,以及网络攻击点,攻击者想进攻脆弱的网络。所以,重要环节的数量应该是正确的。第二,对于k划分的子图形,Vol(G,)的间隙,I = [1,K]也应该更适合。至于ZMW或CXPST攻击,Vol(G,)的间隙少会导致通知错误信息的更迅速扩散并且网络将更加瘫痪。分析两个效果,本文定义成本函数C :

图片.png

为了比较单一和多特征聚类的性能,本文选择不同的网络拓扑:Zio,克劳迪奥其用于分析下攻击网络字符(2008)拓扑; Miller, 凯莱赫(1992)拓扑结构是用于分析美国军队MSE网络的生存能力; Waxman salama随机网络拓扑在30个25个节点分区的性能在表1中显示。

表1. 单一和多特征聚类性能

图片.png

图片.png

图4. 单一和多特征聚类的分区结果


改进思想


首先,CXPST必须选择正确的BGP会话进行攻击。必须选择这些BGP会话,以便在失败时最大化控制平面的不稳定性。如果生成的BGP更新数量不足,则路由器不会在计算上耗尽,攻击将不会成功。其次,攻击者需要将其僵尸网络的流量引导到目标链接上。虽然Zhang等人在他们的工作中涉及到这一点但他们没有处理在动态网络上管理攻击流量的难点。例如,必须最小化用于接近目标链路的链路拥塞。到达目标的路径上的链路故障将阻止攻击流量到达其目的地,从而可能阻止目标BGP会话的终止。最后,由于CXPST本质上是路由振荡,攻击者必须找到一种方法来最小化现有机制的影响,这些机制试图减轻路由振荡的影响。

关于 天 方 夜 “谈”

天方夜谈原意讲不切实际的东西,而这里想要 “脚踏实地”真正弄懂并感受一篇文章的思想。

方班人有自己的浪漫,

我们探讨知识,谈论理想,

采摘科研的繁星,

脚下是星辰大海。

天:代表我们的理想犹如天空般浩荡

方:代表方班

夜:代表代码人的冷静与静谧

谈:代表方班愿与您,就领域内的经典思想和前沿成果“秉烛夜谈”