SDN瓶颈拓扑欺骗

BOTTLENET: Hiding Network Bottlenecks Using SDN-Based Topology Deception

写在前面的话

网络中存在关键的链路和节点,这往往是攻防之地。

Abstract

网络与其他网络的连接的鲁棒性通常高度依赖于网络与更大的拓扑结构之间的一些关键节点和链接。这种网络瓶颈的故障或退化可能会导致可能传播到整个网络中的中断。不幸的是,瓶颈的存在也为有针对性的链接洪水攻击(LFAs)提供了机会。研究人员提出了一种新的、很有前途的防御方法来对抗LFAs,这被称为拓扑欺骗。该策略的核心是通过在对手对目标网络进行拓扑探测时提供错误的跟踪响应来阻碍瓶颈的发现。尽管拓扑欺骗的目标集中在模糊关键链接上,但节点依赖关系可以被对手利用。然而,目前的方法并没有考虑到可能揭示网络瓶颈的重要和不同方面的广泛指标。此外,现有的方法创建了一种简单的虚拟拓扑形式,它相对容易被对手检测到,降低了其有效性。在本文中,我们提出了一个全面的拓扑欺骗框架,我们将其称为瓶颈。我们提出的方法可以分析静态和动态度量方面的各种网络拓扑特征,然后使用这些信息来识别瓶颈,最终产生复杂的虚拟拓扑。

INTRODUCTION

虽然互联网已经发展成为一种高度健壮的通信基础设施,但研究人员也注意到它倾向于表现出拓扑特性,其中节点连通性绝不是均匀分布的。相反,互联网段的拓扑结构,无论规模如何,都倾向于包含一些高度节点,以促进段网络内的大部分连接图[1]。不幸的是,从对抗的角度来看,这些高级节点代表了中断到位于其连接路径内的所有节点和链路(例如,LFAs)的流量流的战略瓶颈机会。[2]-[7]学术界不仅认识到这一担忧,而且在现实世界的[8]、[9]事件中也观察到其影响。

为了解决这个问题,人们提出了各种拓扑欺骗系统,以减少这些网络瓶颈被发现和利用的可能性。当对手试图扫描网络时,欺骗系统的目的是隐藏网络瓶颈,暴露另一种虚拟拓扑。例如,NetHide[10]和Trassare等人。[11]操纵探测数据包的ttl(生存时间)以创建虚拟链接,以及LinkBait[12]和SPIFFY的[13]将探测数据包重新路由到其他链路,以防止对手收集目标链路信息。有了这样的策略,瓶颈可能会从对手的拓扑构造过程中被混淆。这一概念作为军事[11]、[14]和网络安全社区[10]、[12]、[15]已经被积极讨论为一个有前途的防御解决方案。

然而,尽管先前的研究已经探索了这种缓解策略,但仍有一些重要的限制仍然存在:首先,它们主要关注于单一度量(例如,路由路径[11]或流[10],[12]的数量),以发现网络瓶颈,忽略了各种形式(例如,链路削减[5],带宽瓶颈[16])没有被有限的可见性揭示。这种关注可能会提供另一个机会,从而利用对手尚未考虑到的其他瓶颈。其次,之前的工作并没有产生复杂的虚拟拓扑来欺骗对手。这在一定程度上是由于虚拟拓扑是如何以一种特殊的方式建模的,而不考虑复杂的拓扑结构[11]、[12]、[14]、[15],或者主要是为了提高网络调试工具的可用性,而不是安全[10]。因为对手可以利用不同的拓扑特性[2]-[4]、[6]、[17]-[19],因此单一的度量或算法不足以找到所有瓶颈并产生安全的虚拟拓扑。此外,对手可能会淹没任意节点和链接,而不相信虚拟拓扑。然而,之前的研究都没有考虑blind LFAs。

在本文中,我们旨在回答以下研究问题;我们能否设计一个全面的系统,考虑所有可能的瓶颈类型,并利用现有欺骗算法的好处生成复杂的虚拟拓扑?为此,我们提出了一个全面的拓扑欺骗框架,该框架提供了广泛的瓶颈指标和拓扑欺骗算法,促进了更安全的虚拟拓扑的构建和部署。

在设计瓶颈时,我们解决了四个关键挑战:首先,考虑到许多因素决定了网络瓶颈,应该监控什么指标是一个悬而未决的问题。其次,给定不同的瓶颈类型,确定哪些节点和链接最脆弱是不确定的,这样它们的故障将严重影响网络的鲁棒性。第三,设计的虚拟拓扑应该足够复杂,以便对手不能轻易地从观察到的拓扑快照中推断出真实的拓扑。最后,虚拟拓扑应该作为一种实用的解决方案来实现,它可以快速地部署在生产网络中,而不会给网络运营商带来昂贵的成本。

为了解决第一个问题,瓶颈技术利用了软件定义网络(SDN)[20]提供的全局网络可见性的好处。SDN支持集中控制,促进网络范围的监控[21],[22]。有了这种能力,我们分析了瓶颈的两个方面:(i)静态度量是网络拓扑的图特征,(ii)动态度量是根据实时网络流的波动特征。给定这些指标,网络运营商可以选择观察所需瓶颈类型的标准。对于第二个挑战,我们设计了一个整数线性规划优化方案,利用MCDA(多标准决策分析)技术来选择κ排序的瓶颈。我们还设计了两种基于图的启发式算法:(i)部署节点选择算法,在给定距离阈值时选择最佳位置来部署虚拟网络;(ii)随机虚拟拓扑生成算法,合成一个无标度网络,生成一个复杂的拓扑结构,以制造人工瓶颈。对于部署挑战,我们利用软件交换机[23]和SDN。软件交换机可以在通用交换机中快速实例化虚拟交换机,从而帮助我们快速部署虚拟网络。此外,SDN还提供了动态流控制,以提前检测和响应探测数据包。在这些方法的基础上,瓶颈设计了各种行动来协调/操作探测数据包,以隐藏网络瓶颈,并对安装blind LFAs的对手作出反应。

总之,我们的贡献包括以下内容:

我们引入了一套全面的瓶颈指标,为网络运营商提供了关于网络瓶颈的各种见解,从而发现了几乎所有对手可能针对的瓶颈。

我们开发了不同的启发式来分析网络拓扑和使用网络图分析理论创建安全的虚拟拓扑。

我们在一个流行的SDN控制器Ryu[24]上实现了一个瓶颈的原型,并在真实的网络拓扑上进行了大规模的仿真,证明了瓶颈在隐藏网络瓶颈方面的有效性。
SDN瓶颈拓扑欺骗

BACKGROUND AND MOTIVATION

本节简要介绍LFAs的背景,以及以前的拓扑欺骗算法如何通过详细的场景来减轻它。然后,我们讨论了它们的局限性,并介绍了我们的高级方法。

LFAs

LFAs的目标是堵塞一个网络或者网络之间重要路由器的链路,以尽可能多地切断[3],[4]的网络连接。图1说明了一个典型的攻击场景,它包括以下两个阶段:

Topology Probing:

为了选择合适的目标节点或链接,对手首先使用跟踪工具来探测目标网络,它利用IP头的TTL字段来发现从源到目的地的路径。当对手向目的地发送低TTL包时,每个路由器的TTL值逐渐减少,然后TTL=0包引起中间路由器的探测响应(即ICMPTime_Exceeded),使对手能够识别每个路径的IP级节点和链接。根据结果,对手会分析流密度——通过节点和链接的流数。高流密度表明,这些节点和链路可能是瓶颈,因为它们涉及到许多网络流。

Bottleneck Flooding:

基于所获得的拓扑信息,对手通过使用大量的分布式 bots来生成淹没目标瓶颈节点或链路的攻击流。与传统的DDoS攻击相比,这些流基本上很难检测到,因为bots使用低速率流,这与其他良性流量[3]难以区分。为了产生这样的攻击流,对手与负责接收攻击流的诱饵服务器保持良性会话。为此目的,众所周知的web/DNS服务器通常被用作诱饵服务器,因为它们可以从互联网[3]上公开访问。

Topology Deception

拓扑欺骗是一种防止旨在发现瓶颈节点和链接的拓扑探测的主动防御。它是通过部署一个虚拟拓扑来实现的,其结构不同于物理拓扑,通过操纵对手[10]-[12],[14],[15]。下面,我们将从网络运营商的角度来描述它们是如何工作的:

1)识别潜在的瓶颈。网络运营商首先确定网络的哪些部分(例如,节点或链接)应该对对手隐藏。为了找到潜在的目标,之前的研究大多利用简单的基于图的指标,如中间性(即节点[11]的最短路径数)或流密度(即链路[10]、[12]的网络流数)。这些指标揭示了重要的节点和链接,它们比网络中的其他节点具有更多的连通性。如果某些节点和链接具有高值,网络运营商确定它们为潜在的瓶颈。

2)设计虚拟拓扑结构。网络运营商设计了一个可以有效地隐藏潜在的虚拟拓扑瓶颈。以前的工作通常使用一个图来建模虚拟拓扑。它的目标是制作一个与原始物理拓扑不同的虚拟拓扑,防止对手推断出原始的图结构。因此,大多数拓扑欺骗算法都专注于图形结构的操作(更多细节请参见II-C)。

3)正在部署虚拟拓扑结构。最后,网络运营商在网络设备上部署欺骗逻辑来实现虚拟拓扑结构。为此,网络设备(即路由器和交换机)应该支持包头修改[10]或任意包生成[11],以在跟踪工具中显示虚拟节点和链接。此外,当物理拓扑改变或某个虚拟拓扑过度暴露时,网络设备往往需要改变其欺骗逻辑。然而,这些方法仅限于遗留设备,因为其控制平面智能高度依赖于操作人员的手动配置。因此,以前的工作利用了可编程网络设备(如OpenFlow[12]、[15]、P4[10]),这些设备可以根据欺骗逻辑灵活地重新路由或修改探测数据包。此外,NFV(网络功能虚拟化)或软件交换机(如OpenvSwitch)已经使用[14]、[15]来实例化数据平面上的虚拟网络。

A Motivating Example and Challenges

SDN瓶颈拓扑欺骗
SDN瓶颈拓扑欺骗

一个用不同方法比较生成的虚拟拓扑的激励例子。蓝色箭头表示探测流的物理路径。红色箭头表示攻击流的路径。粗线表示如果对手进行LFAs,受影响的链接可能会被淹没。灰色的节点代表对对手的可见节点。

图2a给出了一个示例场景,其中核心链接D-E和E-I很容易受到LFA的影响,因为它们参与了许多网络流——高流密度。为了发现这些瓶颈,对手会尝试扫描目标网络从节点A到节点K和节点J。下面,我们将展示三种不同的拓扑欺骗算法的工作原理:

1、基于流重路由(FR)的方法[12],[13]专注于将探测流重定向到其他物理节点和链路。这种策略迫使对手相信其他节点和链接是瓶颈。如图所示。2b,对手的流被改道到链接H-F和F-J;因此,她可以被欺骗,这些链接是瓶颈,而不是链接D-E和E-I。

2、基于覆盖网络(ON)的方法[10],[11]旨在通过操作探测数据包,在物理网络上创建分层的虚拟(覆盖)链路。例如,在图中。2c,包头,如TTL和IP地址被修改,使某些包不会过期节点(如,H、D、I)。这将创建虚拟链接B-F、F-E和E-K(例如,虚线)。

3、基于虚拟网络(VN)的方法[14],[15]旨在在物理拓扑中添加虚拟节点和链路,使拓扑搜索空间更大。在图中。2d,虚拟网络(即云)部署到节点C和H。此外,虚拟网络响应物理节点的IP地址,如K和J。这种方法可以迫使对手构建一个明显不同的拓扑视图。

通过对以往研究的深入分析,我们观察到它们有以下局限性:

L1.有限的瓶颈指标。以前的工作[10]-[12]只使用网络的单个图属性作为度量,来确定链路是否是瓶颈。然而,我们认为,仅仅找到实践中可能存在的所有可能的瓶颈是不够的。在图中。2a,而链路D-E和E-I由于流量较多而被确定为瓶颈,但如果链路H-F和F-J目前的可用带宽较低,那么它们就容易受到攻击。然而,以前的研究中都没有考虑到这样的动态指标。如果虚拟拓扑中包含链接H-F和F-J,如图所示。2b,它们将攻击点暴露给对手,对手可以使用测量工具[26]来估计链路带宽。

L2.虚拟拓扑的复杂性有限。为了使虚拟拓扑安全,应该保证对手不能轻易地推断出物理拓扑。然而,我们观察到,现有的算法在创建安全拓扑方面受到了限制。例如,在图中。2b,基于ON的方法可能的图形操作是添加虚拟链接和删除现有的物理节点。然而,它们减少了对手将发现的节点和链接的可能数量,从而导致创建一个有限范围的虚拟拓扑。从我们的理论分析来看,在基于ON的方法中,最大可能的虚拟拓扑实例的数量为O(2(n(n−1)/2)),它与物理节点的数量n有关。此外,对手可以从许多拓扑快照中找到常见的节点和链接。另一方面,基于VN的方法[14],[15]没有考虑虚拟网络的复杂结构。

L3.缺乏对Blind LFAs的防御。现有的基于FR和ON的方法没有控制任何生产流量来保护瓶颈链接。例如,在图中。2c,如果对手发送从A到K的攻击流,它们会通过瓶颈链接D-E、E-I。不幸的是,如果对手知道这个路由策略,他们可以进行Blind LFAs,即使他们不知道确切的拓扑信息。例如,它们可以发送大量的攻击流来针对虚拟链接B-F和F-E,然后底层的核心链接B-D、D-E和E-I被淹没。基于VN的方法侧重于将探测流重定向到孤立的网络空间,而以前的工作都没有使用VNs来减轻攻击流。

Our Approach

BOTTLENET用三种高级方法解决了这一局限性。为了解决L1问题,BOTTLENET提供了更丰富的内容,来自BOTTLENET这两个方面的指标:拓扑指标和性能指标。例如,如果BOTTLENET想要同时考虑网络流的数量和可用链路带宽作为标准,那么BOTTLENET将做出一个优化的决定,以覆盖所有潜在的瓶颈节点和显示高可能成为目标的链路。为了解决L2问题,瓶颈将现有的欺骗算法相结合,以主动和反应性的方法制作更复杂的虚拟拓扑:我们主动分析目标网络和生成复杂的虚拟网络的结构是无规模[27],我们主动执行规则,动态操作路线探测包及其标题。例如,在图中。2e,BOTTLENET将探测数据包重定向到VNs,以隐藏中间链接D-E和E-I。此外,瓶颈修改数据包头,以使从节点B到VNs的覆盖链接。因此,这些网络的复杂性比之前的基于VNs的方法[14],[15]要大。为了解决受传统虚拟 honeypot概念[28]启发的L3,当BOTTLENET流的量可能堵塞瓶颈链接时,瓶颈流隔离到虚拟网络。因此,当对手安装旨在淹没虚拟节点或链接的Blind LFAs时,它也会将攻击流的影响降到最低。

RELATED WORK

LFAs

LFAs作为对网络鲁棒性的一种新的威胁,最近引起了人们的广泛关注。与传统的DDoS攻击相比,LFAs以中间核心链接为目标,对大量受害者造成重大损害(更多详情见II-A)。科雷梅尔特攻击[4]首先证明了使用成对的bot-to-bot流量有可能导致核心链接的拥塞。The Crossfire attack[3]表明,分布式bot可以使用公共可访问的服务器,在瓶颈链路上进行许多难以区分的攻击流。关键的观点是,无论尺度如何,这种网络瓶颈实际上存在于域内和域间的网络拓扑中,Kang和Gligor[7]已经证明了这一点。

有多种防御方法来减轻LFAs,我们将我们的解决方案进行比较如下:

Reactive Traffic Engineering

考虑到对手在攻击网络瓶颈时利用了合法的流量,检测LFAs是一个具有挑战性的问题。为了捕捉LFA攻击者的隐藏行为,研究人员提出了多种反应性方法。他们假设LFAbot发送恒定速率的流量,以在较长时间内最大化攻击效果,并且可能不符合upstream-ASs的指令。注意到这一事实,SPIFFY[13]提出了一种基于SDN的流量工程技术,该技术可以暂时扩展端到端带宽。Codef[29]提出了一种inter-AS的协作方法,可以根据对等路由器请求的请求重新路由流量。在这些改道指令的情况下,bot可能无法正确地调整其流量/路径,这是检测的证据。然而,响应性对策的局限性在于,因为它们不能阻止LFA攻击者发现目标瓶颈。

Topology Deception

SDN瓶颈拓扑欺骗

表1显示了一个比较,系统地分析了现有的拓扑欺骗和瓶颈之间的差异欺骗算法(对于一个全面的指标列表,读者应参考V-A.)。在这里,我们根据上述类别(II-C)简要回顾了之前的研究:

FR-based approach:

LinkBait[12]重新路径到其他物理链接(即诱饵链接),这是假的瓶颈链接,以隐藏高流量密度链接。SPIFFY[13]也可以被视为一种拓扑欺骗,因为它模拟虚假的扩展带宽,以消除对手眼中的带宽瓶颈。虽然基于FR的方法在 traffic engineering的帮助下可以直接实现目标,但它们因此使其他物理节点和链接成为目标瓶颈。

ON-based approach:

Trassare等[11]表明,通过操纵traceroute响应来隐藏高中心性节点,可以构建一个假覆盖。NetHide[10]进一步提出了一种基于开放的优化算法,该方法提出了一种优化算法来计算一个安全和有用的虚拟拓扑,以隐藏高流密度链接,同时最大化跟踪工具的效用。然而,基于ON的方法受到限制,因为由于在物理拓扑上可能的图操作有限,它们只能构建一个简单的虚拟拓扑。

VN-based approach:

RDS(侦察欺骗系统)[15]设计了一种基于虚拟网络的欺骗系统,通过模拟虚拟链路延迟和带宽来模拟真实网络的性能特征。艾德格等人。[14]提出了一种SDN/NFV移动目标防御系统,它使用NFV构建虚拟网络,并使用SDN协调可疑流。虽然他们的方法与我们的方法相似,但他们根本没有考虑复杂的拓扑结构。

总之,现有的工作都没有考虑到复杂的图结构和多种类型的度量标准,而这种限制导致了不安全的虚拟拓扑的设计。

BOTTLENET OVERVIEW

本节介绍了我们的威胁模型和术语,并介绍了BOTTLENET架构的概述。

Problem Scope

威胁模型:

我们假设一个对手试图通过拓扑探测来发现网络瓶颈,以便在目标节点和链路[3],[4]上执行LFAs。瓶颈包括重要的路由器和链路,这些连接可以由各种因素定义,如网络流、路由路径和可用带宽。如前所述,用于查找路由瓶颈的一种常见技术是使用拓扑探测工具来收集关于网络流和路由路径的拓扑信息,该工具已广泛用于网络调试[30]或大规模拓扑测量[31]。在这里,我们不考虑由于IP混叠或负载平衡[31],[32]而引起的跟踪器的不准确问题,因为拓扑探测的目的是获得一个近似的拓扑视图来识别目标[3]。我们还假设对手可以从网络内部和外部执行拓扑探测。最后,我们假设对手可以使用带宽探测工具(如iPerf[26],PathNeck[16])来测量端到端带宽,这意味着他们可以近似地发现带宽受限的链路。

部署模型。

我们的目标网络是广域网(广域网),因为对手通常在大范围区域[3],[4]上执行LFA。我们设想,目标网络中的所有交换机都是启用了openflow的设备,它允许网络运营商直接控制和监控所有可见的流(如谷歌B4[33])。操作员负责单一ISP(互联网服务提供商),可以运行(逻辑)集中式SDN控制器,通过许多SDN应用程序控制OpenFlow交换机。wotboet可以作为一个安全应用程序部署在控制器上,特别是为了防止瓶颈从对抗拓扑扫描中暴露出来,因为许多网络运营商使用类似的解决方案来保护他们的网络(例如,honeypots[28],network tarpits[34])。请注意,瓶颈网络需要定期进行网络监控,以获得当前网络拓扑和统计数据的全局可见性。尽管由于收集的数据大量,这种方法可能会引起人们对可伸缩性的关注,但最先进的SDN控制器被设计为提供高性能的分布式平台,支持对监控大规模网络[35]、[36]的内置支持。最后,我们设想操作员在其网络中提供可部署的主机(即可用节点),将虚拟网络作为虚拟机或容器的一种形式(例如 Planetlab[37])。

Notations

在本研究中,我们用图G=(V,E)来描述一个物理拓扑结构,其中V表示物理路由器(或交换机)集,E表示路由器之间的物理链路集。我们假设一个网络运营商想要保护一组用 V b V_b Vb​表示的瓶颈节点(或用 E b E_b Eb​表示的瓶颈链接)。他们希望隐藏 V b V_b Vb​对对手的拓扑探测,以使探测器认为 V b V_b Vb​不是物理拓扑g中的瓶颈。部署节点用 V d V_d Vd​表示,并从操作员支持的可用节点 V a V_a Va​中选择。虚拟网络由由虚拟节点 V v V_v Vv​和链路 E v E_v Ev​组成的 G v G_v Gv​表示。形式上,我们认为生成和部署虚拟网络 G v G_v Gv​的目标是减少/隐藏瓶颈节点 V b V_b Vb​(或瓶颈链接 E b E_b Eb​)的瓶颈指标,并增加虚拟节点 V v V_v Vv​(或虚拟链接 E v E_v Ev​)的指标。

System Workflow

SDN瓶颈拓扑欺骗

图3说明了瓶颈问题的主要组件和按以下顺序操作的整体工作流程:

Topology Analyzer:

负责分析目标网络的拓扑结构,并发现潜在的瓶颈。

①度量生成器会定期从SDN控制器中收集路由器和链路的当前拓扑快照和网络统计数据。

②基于这些数据,计算静态和动态指标,每个指标分别表示网络瓶颈的拓扑特性和性能特性。

③网络运营商然后提供了瓶颈的配置参数:他们想要保护的瓶颈的数量κ,首选的瓶颈度量类型M,用于部署虚拟网络的可用节点 V a V_a Va​,以及距离阈值τ,它表示允许从部署节点到瓶颈的跳点距离。

④瓶颈查找者通过解决ILP优化来定位瓶颈,虚拟拓扑建模器设计虚拟拓扑,指定部署节点的位置和必要的虚拟节点和链接的数量,以隐藏目标瓶颈。

Deployment Manager:

部署管理器。旨在通过强制执行必要的规则和网络配置,将虚拟拓扑部署到物理网络中。

⑤虚拟网络生成器将虚拟网络(基于虚拟拓扑建模)实例化为具有具体网络配置的虚拟交换机和链路,并将它们部署到部署主机上。

⑥规则生成器生成检测和重定向规则监视探测数据包,并在需要欺骗时重新路由/修改它们。当检测到潜在的探测数据包时,它首先将数据包重新路由到已部署的虚拟网络,并将其报告到探测状态跟踪模块,然后该模块管理探测者后续行为的状态。如果支持者随后将可疑流量(例如固定速率的长寿命TCP流,如交叉攻击[3])发送到虚拟网络,则规则生成器将阻止或隔离这些流。探针状态跟踪器还管理良性探测器的已知IP地址,以允许良性网络调试和拓扑测量。

Host Agent:

主机代理程序。是一个运行在附加到指定部署节点的部署主机上的轻量级模块,以便部署虚拟网络。在部署管理器和私有控制通道的指导下,主机代理通过虚拟交换机实现虚拟拓扑,从而产生探测响应,并模拟任意的动态网络属性,以阻碍真实拓扑的推理。

SYSTEM COMPONENTS

本节详细介绍了虚拟网络的度量定义、欺骗算法和部署工作流。

Bottleneck Metric Definition

SDN瓶颈拓扑欺骗

下面,我们总结了目前BOTTLENET支持的瓶颈指标(见表二)。在下面的内容中,我们用u表示一个节点,并表示从节点u到v通过(u,v)的直接链接。

1)静态度量:我们在设计度量时所考虑的一个方面是,瓶颈来自于网络拓扑的基本结构。这一考虑促使用户使用以下4个图表指标:

SDN瓶颈拓扑欺骗

中间性为中心性(BC)。它表示一个节点或链路沿着两个节点[38]之间的最短路径充当桥接的次数。如果一个节点或链路包含在许多路由链路中,我们认为它们很可能是瓶颈。由于网络操作员通常采用基于策略的路由,因此我们使用了舒查德等人提出的改进版本。[19]替换了基于策略的路由路径的最短路径的人。
SDN瓶颈拓扑欺骗SDN瓶颈拓扑欺骗

闭合性中心性(CC)。它表示一个目标节点与其他节点的平均跳点距离。Kang等人。路由瓶颈通常是在大型跟踪测量[7]的路由路径中点跳附近发现的。基于这一事实,我们推测高接近中心性节点很可能与瓶颈节点和链路相邻。

SDN瓶颈拓扑欺骗

mincut中心性(MC)。LFA攻击者可能会寻求最小化目标链接的数量,同时切断尽可能多的连接,[3]。因此,攻击链接切断是选择目标链接最小[5]的有效方法之一。为了考虑这种方法,我们设计了一个新的中心性度量,它捕获了一个链路参与s-t小切割的频率,这是所有节点对从源s到目标t的最小切割集。

SDN瓶颈拓扑欺骗

度中心性(DC)。节点的程度决定了网络中节点故障的临界性,是以往研究网络鲁棒性问题[2]、[6]、[18]中最常用的指标。如果一个节点的连接程度较高,则表示该节点有多个邻居节点;因此,该节点的故障会严重影响大量的网络连接。

2)动态指标:瓶颈利用OpenFlow协议[39]的能力提取以下4个动态指标,在SDN网络的带宽瓶颈中:

总交通负荷(ATL)。它表示节点u接收到的总体传入流量负载率的总和。为了提取这个度量,我们利用了Aggregate_Flow_StatisticsOpenFlow消息。它从OpenFlow开关中检索活动流条目的聚合统计信息。具体来说,我们指的是表示活动网络流的累积字节计数数的byte_count字段。worbtet每t秒定期查询所有开关,并计算聚合字节计数的变化速率。

消耗过的带宽比(CBR)。它通过考虑活动流的当前比特率来表示一个链路的利用带宽比。它可以使用从交换机中检索所有端口的统计信息的OpenFlowPort_Statistics消息进行计算。特别地,我们利用tx_bytes字段表示传输字节的数量,该字段和duration_sec表示端口被激活的运行时间。利用这两个字段,我们可以计算 T X u , v ( t ) TX_{u,v}(t) TXu,v​(t),这是每次t中从节点u到v传输的字节数。

可用的链路带宽(ALB)。它显示一个链路可以基于链路容量和使用比特率接收进一步流的量。它是确定链路是否为带宽瓶颈的最重要的动态度量。为了获得这些信息,我们从一个预定义的链路容量中减去CBR,然后得到一个链路(u、v)的可用链路带宽为:ALB(u、v)=C(u、v)−CBR(u、v),其中C(u、v)表示链路(u、v)的容量。

链接延迟时间(LL)。它测量两个交换机之间的链路的延迟,以了解该链路是否经历拥塞。因为OpenFlow协议不支持这样的指标,我们利用了Skowyra等人。”延迟估计方法[40],如图所示。 4.首先,用ctrl表示的控制器生成一个任意的测量包,并指示开关u发送到用Packet_Out消息交换v中。然后交换机v接收数据包并将其与Packet_In发送到控制器。然后,控制器记录指示发送Packet_Out的时间的开始时间,并倾向于表示接收Packet_In的时间。如果我们知道 T c t r l 、 u T_{ctrl、u} Tctrl、u​和 T v , c t r l T_{v,ctrl} Tv,ctrl​表示控制通道在ctrl、u和v之间的传播延迟,我们可以估计从u到v的链接延迟如下:LL(u,v)= t e n d t_{end} tend​− t s t a r t t_{start} tstart​-( T c t r l , u T_{ctrl,u} Tctrl,u​+ T v , c t r l T_{v,ctrl} Tv,ctrl​)。

Topology Analyzer

拓扑分析器的目标是找到潜在的瓶颈,并生成一个不容易被对手推断出的安全虚拟拓扑。我们现在提出了一种优化方法,根据操作员的输入来选择最脆弱的瓶颈节点和链接,并提出了设计复杂虚拟拓扑的基于图的算法。

1)优化瓶颈节点选择:瓶颈节点的目标是基于网络运营商首选的输入度量类型M,找到瓶颈的κ数。关键问题是我们如何跨异构类型的度量来选择最脆弱的瓶颈节点和链接。为了解决这个问题,我们采用了MCDA(多标准决策分析),它通常用于跨多个标准选择一个优化的目标。为了使用MCDA,我们首先需要对计算出的度量集和预处理异构类型进行矢量化,因为每个度量向量可能有不同的维数。

例如,假设我们给出了M={m1,m2,…,mr},这是一组计算出的由算量选择的r个必需度量类型的度量向量。考虑一个特定的情况,其中m1是所有节点的BC,m2是所有链接的ALB。这两个指标有不同的向量维度;m1的长度是节点数,而m2的长度是链接数。为了平衡这些异构维数,我们将链路度量向量的维数放松到节点维数中;对于一个链路的度量值(u,v),我们将其聚合到源节点u。例如,在图2a,如果链路B-D的ALB为0.7,B-H为0.9。然后,我们通过聚合这两个值,将源节点B分配给1.6。
SDN瓶颈拓扑欺骗
2)部署节点选择:基于瓶颈节点集 V b V_b Vb​,下一步是选择部署虚拟网络的部署节点 V d V_d Vd​。回想一下,瓶颈接收由 V a V_a Va​和距离阈值τ表示的可用节点作为网络操作员的输入。为了在其中选择最适合的部署节点,我们考虑了以下约束条件:就成本效益而言,操作员可能希望最低限度地使用部署节点来节省资源。另一方面,运营商希望尽可能地部署靠近瓶颈节点的虚拟网络,以使欺骗效果最大化。这个问题可以定义为一个顶点覆盖问题,它选择了一个相邻于图中所有链接的最小节点覆盖集。然而,这被称为NP-hard,在输入 V a V_a Va​中没有最佳匹配的可用节点的情况下,我们可能无法选择到瓶颈的相邻节点。

我们通过提出近似算法来解决这个问题。这种方法背后的关键思想是,根据距离阈值τ内的跳点距离,选择一个靠近瓶颈节点的最小节点集。考虑一下图中所示的部署节点选择示例。5a,它分析了一个阿比林网络[41]的拓扑数据集。我们假设网络操作员希望基于静态度量BC隐藏κ=2瓶颈节点。然后,所选的瓶颈节点是节点D和节点E,因为它们显示较高的度量值。有三个可用节点用于部署:节点B、I和K。

BOTTLENET首先根据每个可用节点到每个瓶颈节点的跳跃距离计算距离分数,然后依次选择最近的节点。例如,节点B被放置在离节点E和节点D最近的位置,导致分配高距离分数。如果所选节点位于距离阈值τ内,则我们标记该节点可以覆盖瓶颈节点。假设阈值距离τ=2;然后,我们不需要选择一个额外的部署节点,因为节点B可以同时覆盖E和D。

SDN瓶颈拓扑欺骗

算法1给出了该算法的伪代码。它首先计算从每个可用节点 V a V_a Va​到所有瓶颈节点(第2行到第4行)的平均距离。然后,选择一个平均距离最小的可用节点 V a m i n V_a^{min} Vamin​,研究τ邻节点 V n e i g h b o r V_{neighbor} Vneighbor​,依次表示位于距离阈值τ内的节点集(第5~8行)。如果任何瓶颈节点与 V a m i n V_a^{min} Vamin​相邻,则算法选择其作为覆盖 V c o v e r e d V_{covered} Vcovered​表示的相邻瓶颈节点的部署节点,并从集合 V b V_b Vb​中删除覆盖的瓶颈节点(第9行到第11行)。重复迭代,直到覆盖所有瓶颈节点为止。

3)虚拟拓扑生成:一旦确定了位置,虚拟拓扑建模器将构建虚拟拓扑,它可以通过向部署节点添加虚拟网络来有效地隐藏瓶颈节点。问题是我们应该使用哪种拓扑类型,以及需要多少虚拟节点和链接。我们观察到,网络瓶颈的存在主要源于通信网络的基本拓扑性质——被称为无标度网络。它是在现实世界的[27]中说明网络结构的代表性理论之一。在无标度网络中,节点度分布遵循幂律,这意味着少数节点拥有大部分的链接;一个节点的链接越多,就越可能成为瓶颈,因为该节点成为其他节点之间的枢纽节点,导致几个节点的度显著增加。尽管自无标度网络[42]的存在以来,研究人员一直存在争论,但我们关注的是,这种结构允许我们进行链路密度的偏置分布,这可以综合任意的瓶颈。这些特定的目标将成为LFA攻击者的吸引力目标。

SDN瓶颈拓扑欺骗

阿比林算法中的一个工作例子。红色节点表示在κ=2时具有最高指标的目标瓶颈节点,蓝色节点表示在τ=2时可用节点的青色节点)中选择的部署节点。这些数字表示BC的标准化值。灰色的节点表示虚拟的节点。

从图特征的角度来看,无标度网络往往会在其结构中产生具有较高中心性值的瓶颈节点和链路。因此,将其附加到部署节点(从目标远程放置)将相对减少物理节点和链接的静态度量(见图5用为插图)。在此基础上,我们设计了一个虚拟拓扑生成算法,利用Barabasi-Albert(BA)模型[43]生成随机无标度网络。BA模型在图中逐步添加一个新节点,并以一定的概率连接一个链路。在这里,概率与现有节点现有的链接数量成比例计算。受这一策略的启发,我们的算法继续在添加一个新节点时,向具有更高瓶颈指标的节点添加一个新的链接。

SDN瓶颈拓扑欺骗

算法2将物理拓扑G、目标瓶颈节点 V b V_b Vb​、目标部署节点 V d V_d Vd​和节点权重w(v、G)作为输入,表示图G中节点v的聚合瓶颈度量值(以V-B计算)。算法的目的是生成其结构中至少有一个新瓶颈节点的虚拟网络(子图) G v G_v Gv​。它首先将一个初始虚拟节点v0添加到空集 G v G_v Gv​中,以及一个从 V d V_d Vd​到 V 0 V_0 V0​的链接(第2行到第4行)。对于每次迭代,它向 G v G_v Gv​添加一个新的虚拟节点 V v V_v Vv​,一个虚拟链接到现有的虚拟节点,选择节点概率p(v),这与虚拟节点 V v V_v Vv​已经拥有的节点权重w成正比(第5到第9行)。因此,具有高权重的虚拟节点更有可能有新的链接。该算法重复添加和连接一个新节点,直到 V v V_v Vv​至少有一个虚拟节点,其度量大于目标瓶颈节点 V b V_b Vb​(第10至13行)。

我们用图中所示的一个工作例子来说明该算法。 图5如前所述,目标瓶颈节点为E和D,因此,选择节点B作为部署节点。然后,BOTTLENET通过将初始两个虚拟节点B0和B1连接到节点B来开始迭代。图5b中当添加新的虚拟节点时,该算法将重新计算目标度量和连接新链路的现有虚拟节点的选择概率。在四次迭代中,该算法增量地附加新的虚拟节点B2、B3和B4。这里,B2和B3连接到B1,B4由于偏置随机节点选择连接到B0。5c)。经过三次迭代,添加节点B5、B6和B7,B6和B7分别链接到B1和B0。图5d该算法为当虚拟节点B0的目标度量大于节点E和D的目标度量时终止。

Deployment Manager

部署管理器的目标是基于生成的拓扑模型实例化物理网络上实例化虚拟网络。此任务涉及各种操作,例如配置用来检测和修改探测数据包的TTL值的规则,以及在目标部署节点上安装虚拟交换机。在这里,我们介绍了如何使用SDN和虚拟交换机来实现这些技术。

1)虚拟网络部署:我们考虑了几个要求,以欺骗对手,认为虚拟拓扑是真实的:首先,我们应该能够通过网络运营商的指令动态地激活或停用虚拟网络。原因是瓶颈需要定期重新生成虚拟拓扑,以确保从对手的拓扑推断或瓶颈位置改变时的安全。其次,虚拟网络应该模拟真实的网络参数,如IP地址和性能指标。例如,如果我们使用私有IP地址,对手将不会相信拓扑快照;因此,我们需要为虚拟网络分配公共IP地址(请参考第七条,看看我们是如何解决这个问题的)。此外,由于虚拟交换机是在部署主机中的本地网络堆栈上模拟的,因此当不应用适当的约束时,可以将虚拟节点之间的性能指标观察为不可行的值(例如,太多的低RTTs)。最后,虚拟网络接收到的探测包应该由BOTTLENET进行监控,以便我们可以跟踪探测器的后续行为。

SDN瓶颈拓扑欺骗

BOTTLENET使用网络虚拟化技术[23]和[44]实现虚拟网络,该技术支持在通用机器上的虚拟交换机的实例化。图6显示了部署虚拟网络的工作流程。当接收到来自BOTTLENET的指令时,主机代理组成了虚拟网络,其链路关系遵循建模的虚拟拓扑。为了将探测数据包重定向到虚拟网络中,其中一个虚拟交换机通过主机的接口(我们称之为入口节点)连接到部署节点。为了避免对虚拟网络使用专用的控制信道,所有的虚拟交换机都使用带内的OpenFlow信道,其中所有的控制数据包都被传输到指定的接口中。

为了实现虚拟网络的动态控制,我们在BOTTLENET和主机代理之间设计了一个自定义的控制通道。控制通道携带一条加密消息,其中包含指定虚拟拓扑、已分配的IP地址和性能约束(例如,链路延迟和带宽)的配置信息。在这里,网络操作员可以指定他们对性能配置的偏好,但瓶颈问题本质上是利用动态度量作为参考值来模拟实际环境。一个限制是,在商品机器中很难实现核心链路和节点(如40Gbps、100Gbps)中使用的超高带宽。然而,由于野外的各种QoS限制(例如,TCP公平份额率[13]),对手可能无法精确地衡量如此大的带宽。

2)检测和重定向规则强制:瓶颈生成检测潜在探测包并将其重新路由到虚拟网络。我们优先考虑跟踪器类型的数据包(即低TTL)作为关于流发送器是否为可疑探测器的最重要标准。为了向对手隐藏瓶颈,我们需要避免当跟踪器类型的数据包在瓶颈节点上过期时出现这样的情况,因为这会触发使用ICMPTime_Exceeded数据包进行应答的开关。一个基线的解决方案是检测所有的TTL=1数据包。然而,如果一个对手发送一个在瓶颈节点上精心设计成为TTL=1的TTL>1数据包,它将绕过TTL=1检测规则。

OpenFlow的一个关键优点是允许使用细粒度匹配字段监视这类类型的数据包;如果在边缘节点上检测到的传入数据包有一定的与瓶颈节点的跳距离匹配的TTL值,它很可能在瓶颈节点上过期。为了实现这一逻辑,我们根据当前的转发行为,预先计算了从每个边缘节点到瓶颈节点的路由路径。然后,我们生成以下OpenFlow匹配字段:TTL作为路径的长度,以及来自发送探测数据包的源流量类的SrcIP,以及来自经过瓶颈节点的目标流量类的DstIP。如果一个包头与这些字段匹配,BOTTLENET认为它是一个潜在的探测包。请注意,TTL目前并没有被指定为标准的OpenFlow匹配字段,但我们发现许多数据平面扩展(例如,OpenvSwitch[45])支持TTL字段,以补充有限的匹配能力。

SDN瓶颈拓扑欺骗

当检测到一个潜在的探测包时,BOTTLENET端会确定其重定向的目的地,如图7所示。 我们首先需要在部署节点中选择一个探测数据包的物理目的地。在这里,我们通过计算最短路径,优先从检测到的位置中选择最近的部署节点,因为我们的目标是最小化物理节点和链接的暴露。然后,我们在虚拟节点之间确定一个探测数据包的虚拟目的地。为了使欺骗效果最大化,我们希望让对手发现尽可能多的虚拟节点。为此,我们贪婪地从入口节点中选择最远的虚拟节点:利用虚拟网络图,计算一个根于入口节点的最小生成树,并找到位于树的边界上的一组叶节点。然后,我们定期以循环的方式在集合中选择一个不同的虚拟目的地,以便公平地发现所有的叶子节点。最后,我们安装了匹配字段与检测到的探测数据包头相同的流规则,以便后续的探测流可以重定向到所选择的虚拟节点。

SDN瓶颈拓扑欺骗

3)处理直接拓扑探测:BOTTLENET还需要处理可能揭示虚拟交换机身份的直接探测数据包。例如,跟踪器在接收ICMP时终止其探测数据包流Port_Unreachable消息,指示未打开目标主机中的端口(对于UDP)。这个响应显示了一个虚拟交换机的IP地址(例如,图8中的节点V4。)作为最终目的地,这是对手意料的。为了解决这个问题,瓶颈指示虚拟网络的叶节点产生一个假的直接响应,其源IP地址是发送者的目标(例如,图8中的节点C。 ).结果,对手被欺骗,认为目标节点位于叶节点的相邻位置,导致从对手的角度构建完全不同的拓扑结构。

SDN瓶颈拓扑欺骗

4)Mitigating Blind LFAs:对手可以在不知道确切的路径信息的情况下,进行旨在淹没任意链接的blind
LFAs 。这是可能的,因为我们最初不控制非探测流的路由路径;因此,攻击流可以通过瓶颈链接(例如,图9中的链接A-C。 ).为此,还可以利用部署的虚拟网络来减轻LFA,例如临时重新路由攻击流以减少目标负载。流量清理中心已被许多流行网站(如CloudFlare[46])作为主要的DDoS防御措施;因此,使用虚拟网络作为流量清理服务可能鼓励网络运营商部署瓶颈,不仅保护其网络不受拓扑探测,而且不受实际洪水流量的影响。

挑战在于,由于LFAs[3]的低速率(难以区分)特性,因此不可能区分攻击流和良性攻击流。我们通过以一种概率的方式有选择地重新路由所有流来解决这个问题:当链路经历拥塞时,所有流的任意部分被暂时路由到虚拟网络。为此, BOTTLENET用户利用了OpenFlow组表特性[39]中的选择操作。选择操作使OpenFlow交换机能够在一个桶中选择多个操作中的一个。每个操作都有一个指定的权重,表示选择操作的概率,通过哈希传入的包头确定。

图9描述了BOTTLENET如何用上述解决方案减轻*效应。考虑到,当对手向诱饵服务器发送攻击流时,链路A-C很可能会遇到拥塞。如果检测到,BOTTLENET将组入口安装到合适的节点(例如,a),以便通过分配权重20,20%的流被重定向到虚拟网络,而其余80%的流被转发到实际目的地。重定向的流在流访问虚拟节点后,从虚拟网络转发到目标诱饵服务器。该策略缓解了链路A-C的拥塞,同时防止使用对虚拟网络施加的链路约束来淹没数据流(参见V-C.1)。我们向读者参考VI-B,看看这个解决方案如何有效地减少瓶颈的动态指标。

EVALUATION

在本节中,我们将评估BOTTLENET算法的有效性,并在大规模网络拓扑上进行了性能基准测试。

Implementation and Environments

我们在流行的SDN控制器之一Ryu[24]上用Python的1000+行代码实现了一个SDN应用程序。为了收集动态度量,我们修改了Ryu的核心模块ryu.topology.switches,该模块负责从数据平面上收集拓扑信息。我们使用PuLp[47]来建模和解决ILP优化问题。我们利用OpenvSwitch[23],它使建模的虚拟节点能够快速实例化到通用机器上的虚拟交换机中。为了在虚拟网络中实现虚拟主机节点,我们使用了Docker容器[44],它允许部署微服务来处理重定向的流量。所有实验均采用40核2.2GHzIntelXeonE5-2630和64GB内存进行。

我们评估BOTTLENET来回答以下问题:

(i)建模的虚拟拓扑能否产生显著不同的拓扑视图?

(ii)建模的虚拟拓扑能否有效地减少瓶颈节点的度量?

(iii)瓶颈是否可扩展,可用于构建大规模虚拟网络?

Verifying Deception Algorithms

SDN瓶颈拓扑欺骗

我们首先验证了BOTTLENET的拓扑欺骗算法在大规模拓扑上的有效性,对于一个操作符的不同的输入参数,如瓶颈节点的数量κ和每个虚拟网络的虚拟节点的数量N。我们使用Mininet[48]对Topology-Zoo[49]数据库的大规模路由器级拓扑进行建模,其大小汇总见表3。为了模拟探测场景,我们为每个路由器接口分配任意的C类IP地址,并在检测到跟踪数据包时从路由器生成响应。在仿真中,我们研究了两个实验案例:(i)κ固定为每个拓扑总节点的30%,N改变,这表示每个虚拟网络的虚拟节点数量变化以保护固定瓶颈位置的情况,(ii)N固定为30%总节点和κ从1到最大节点数不等,表示相同虚拟节点数量变宽的情况。需要注意的是,变量N和κ都影响虚拟节点和链接的总数;因此,我们使用其中一个作为固定值(即总节点的30%)来观察其他节点对实验结果的影响。

Effectiveness of Topology Similarity Reduction

这里的关键问题是,对手在部署虚拟网络后获得的拓扑结构有何不同。为了量化物理网络拓扑和对手的虚拟拓扑之间的相似性,我们测量了图的编辑距离(GED),它表示根据图操作(例如,节点/链接插入和删除)将一个图转换为另一个图的总成本。我们考虑了最坏的情况下,一个对手可以完全发现所有的节点和链接与重复的探测试验。因此,我们通过比较整个原始物理拓扑与连接虚拟网络的虚拟拓扑来衡量GED。相似性越小,对手就越不容易推断出原始的拓扑结构;因此,瓶颈不太可能成为目标。

SDN瓶颈拓扑欺骗

图10a表明,随着瓶颈节点覆盖率κ的增加,相似性呈线性减少。我们观察到,由于许多目标瓶颈节点的部署程度更大,虚拟节点的相似度降低受到图结构的高度影响。例如,当我们为10%的瓶颈节点部署虚拟节点时,OTEGlobe的相似性降低了60%,而AT&T的相似性降低了21%。造成这种差异的原因是前者具有高度偏态的度分布,这意味着在图中排名前10%的瓶颈节点具有最大的连通性。因此,通过在虚拟节点上部署虚拟节点,它可以非常有效地减少相似性。在30%固定瓶颈节点上改变部署的虚拟节点数量N的情况下,由于目标瓶颈节点不变,在拓扑之间观察到类似的减少趋势(见图10b)。请注意,为每个30%的瓶颈节点部署10个虚拟节点可以保证在所有拓扑中至少减少50%的相似性。

Effectiveness of Static Metric Reduction

我们现在研究拓扑生成算法如何有效地减少目标瓶颈节点的静态度量。为了量化这一点,我们计算了节点权重w,它表示静态指标BC、CC、DC和MC的总瓶颈指标。然后,在应用拓扑生成算法之前,我们计算了所有瓶颈节点 V b V_b Vb​的 W b e f o r e ( V b ) W_{before}(V_b) Wbefore​(Vb​)和权重值。在部署虚拟拓扑后,我们对扩展拓扑重新计算 W b e f o r e ( V b ) W_{before}(V_b) Wbefore​(Vb​)。基于这些值,我们用以下定义来测量度量减少比(MR):
SDN瓶颈拓扑欺骗
其中,avg为瓶颈节点的平均权值。

为了评估我们的算法的性能,我们使用Erdos-Renyi(ER)图模型[50]作为基线。我们的算法生成一个有偏度分布的无标度图,而ER模型生成一个统一连接的图,其中所有节点都有几乎相似的度。

SDN瓶颈拓扑欺骗

图11a说明了当N被改变时所测量的 MR。总的来说,我们得出的结论是,为每个瓶颈节点部署10个虚拟节点是保护总共30%的瓶颈节点的最有效的解决方案。之后,还原率与ER模型没有显著差异。特别是,ER在N=20之后的所有指标上都表现良好。但是,考虑到所需的虚拟节点的数量,它的成本很高。例如,在交换机中将20个虚拟节点部署到30%的瓶颈节点,总共需要部署260个虚拟节点才能实现60%的降低率,而我们的算法只需要100个虚拟节点。因此,我们的算法可以使部署节点节省系统资源。

图11b显示了瓶颈节点如何随着κ的增加而保护广泛的瓶颈节点区域。虽然当节点在很少的部署节点上部署节点时,我们的算法反而增加了指标,但在κ=占网络大小的10%后,性能会变得更好。因此,虚拟网络的广泛部署对于减少瓶颈指标更为有效。原因是在网络拓扑中均匀分布的虚拟节点有助于其静态指标的增加,使瓶颈节点成为正常节点,而虚拟节点似乎是有吸引力的目标。

当使用BC和MC指标时,我们的算法特别显示出更好的性能。原因是它们受到图结构而不是网络拓扑大小的强烈影响。例如,MC指标在无标度图上变得更大,因为由于瓶颈节点的存在,存在许多链接切割。另一方面,由于ER模型产生的链路是均匀连接的,因此链路切断特别少。当应用ER模型来减少MC指标时,这一特性就导致了MR比率的显著波动。在BC度量中也可以观察到结构相关的趋势。随着虚拟网络的增长,少数节点涉及到许多路由路径中,这使得这些节点的BC值明显大于其他节点。在CC、DC的情况下,它们主要受虚拟节点总数的影响。这就是为什么ER模型的当部署了许多虚拟节点时,MR变得比我们的DC算法更好。

Verifying Rerouting Algorithms

SDN瓶颈拓扑欺骗
SDN瓶颈拓扑欺骗

用于测试动态度量缩减的交换机拓扑结构。蓝色和红色箭头分别表示从站点A和站点B发送到站点C的攻击流。虚线表示重新路由的流,灰色节点表示已部署的虚拟节点。

接下来,我们验证了当对手进行blind LFAs(V-C.4)时,动态度量缩减的有效性;因此,(非)瓶颈链路上会出现拥塞。为此,我们模拟了一个减轻交换拓扑中的 rerouting场景,如图13所示。 在该场景中,我们将网络分为几个组:站点A、B和C,其中,站点A和B将攻击流(绿色和红色箭头)发送到目标区域C(诱饵服务器)。此攻击的目的是使瓶颈链路ETH-UNIL和EPFL-UNIL发生拥塞,因为这些链路位于网络中的重要位置。对于带宽配置,我们将所有链路的链路容量统一设置为10gbps。我们在每个站点之间生成后台流量,以消耗大约20%的链路容量。关于攻击流,我们在每个站点A、B的5个交换机上部署了200个bots,每个机器人向站点C发送6个Mbps的攻击流,以考虑LFA的低速率特性。因此,瓶颈链路上的聚合流量约为8Gbps,当请求额外流量时,这可能会使链路容量饱和。我们假设网络运营商指示BOTTLENET用户执行重新路由操作,以避免这些链路拥塞。

Effectiveness of Dynamic Metric Reduction

图12说明了在执行rerouting场景期间测量的动态度量。如图左两幅图所示,当进行LFAs时,瓶颈链EPFL-UNIL和ETH-UNIL的CBR值为80%,而ALB值则为20%.在执行rerouting操作时,当攻击流被重路由到部署节点Geneva和UNIL上部署的虚拟网络时,它们的链路容量被恢复到90%。这种情况说明为部署节点如EPFL-genea和ETH-Horw等入口链接的CBR增加到75%,而它们的ALB下降到25%。我们还观察到,由于对虚拟网络施加的限制,改道攻击流的带宽会波动(见VI-B)。在重新路由操作之前,SDN控制器必须沿着重新路由的路径主动安装许多转发规则,以避免服务中断。该方法导致OpenFlow控制通道暂时饱和,由于延迟的链路测量,在重新路由时间显示为临时的高LL(即18-20ms)(见图 4).

Performance Benchmark

在这个评估中,我们进行了一个性能基准测试来衡量BOTTLENET的系统开销,以生成动态度量和虚拟交换机。

Latency of Generating Dynamic Metrics

SDN瓶颈拓扑欺骗

BOTTLENET需要两个子阶段来生成动态度量:(i)统计收集,从交换机收集原始网络统计数据,(ii)后处理,使用V-A中定义的方程综合动态度量。我们测量每个步骤的处理时间,如表4所示,其中括号表示总时间的每个比例。结果表明,所有动态度量都在不到1秒的时间内生成,其中,从所有链路获取CBR需要最长的处理时间,因为它从交换机中提取所有端口统计数据。我们注意到,统计数据收集占据了度量生成过程的很大比例。如果可伸缩的SDN控制器支持BOTTLENET,则这一限制可以得到显著改进。例如,ONOS[35]最近的性能测试结果在安装[51]时,达到了200条流规则时,经过了36.9ms的时间。

Time to Deploy Virtual Switches

SDN瓶颈拓扑欺骗

图14说明了当虚拟拓扑出现时,有N个虚拟交换机。对于网络大小的30%,BOTTLENET在不到1分钟内部署国家规模的网络拓扑,如AT&T和交换机,在大陆级网络拓扑OTEGlobe内部署10个虚拟节点。根据这个结果,我们认为,如果在可用的主机上正确地安装了可靠的控制通道和主机代理,那么BOTTLENET网络网络就可以用于实际的网络环境中。

DISCUSSION

Network Probing in SDN

在SDN中进行的网络探测。如前所述,对手需要在进行*评估之前通过探测网络来发现瓶颈。因此,处理探测数据包是我们系统中最关键的操作。从技术上讲,启用SDN的交换机不支持跟踪[52];因此,我们可以考虑,如果启用SDN的交换机完全部署在网络中,LFAs就不那么可行;对手在定位瓶颈方面存在问题。然而,网络探测是理解网络状态和调试网络故障的一个必要选择;因此,一些研究人员提出了为SDN[53]量身定制的跟踪工具。

因此,我们还通过利用一些OpenFlow协议特性,在我们的系统中启用了跟踪器。当使用Flow_Mod安装流规则时,BOTTLENET操作会将decrement_IP_TTL操作插入到规则操作链的开始部分中。这种方法使所有传入的数据包在交换机流表中匹配时降低其TTL值。尽管decrement_IP_TTL是当前OpenFlow协议规范[39]中的一个可选字段,但我们观察到,网络供应商将其作为最先进的产品规范[54]中的一个支持特性包含在内。要检测包含TTL=1的过期数据包,控制器需要指示OpenFlow交换机配置无效的TTL标志,以接收包含过期数据包报头的Packet_In消息。当检测到时,控制器生成一条Packet_Out消息,它指示交换机向具有路由器IP地址的发送方发送ICMPTime_Excceded数据包。通过这种方法,BOTTLENET网络可以控制攻击者发送的网络探测,并帮助运营商了解网络状态。

Topology Inference Attacks

对手可能会试图通过观察在探测响应中经常显示的公共节点和链接来推断物理拓扑的结构。为了防止这个问题,BOTTLENET定期重新运行拓扑生成算法,以在特定时期改变虚拟拓扑的结构。在这里,根据网络状态而变化的动态度量可能是节点选择概率(V-B)的不可预测的种子值。因此,它导致虚拟网络部署到前一个时代的不同节点位置。

Network Address Allocation

我们的虚拟网络需要公共IP地址块来回答有效的响应,这可以欺骗对手。我们设想,网络运营商提供瓶颈的公共IP地址范围,作为提高其网络安全性的投资。事实上,之前已经有许多努力成功地利用了未使用的知识产权监视可疑活动[55]和使用honeynets阻碍扫描活动的地址[28],[34])。

Partial Deployment

当前设计中的一个限制是,BOTTLENET需要所有交换机来支持SDN(即OpenFlow)来收集细粒度的瓶颈度量。我们注意到,BOTTLENET也可以支持部分部署模型。在该模型中,BOTTLENET可以从SNMP和NetConf等传统网络管理协议中获得所需的指标。

Control-Plane Resilience

如果对手知道目标网络是由集中式SDN控制器管理的,那么他们可以利用SDN能力。例如,它们可以安装控制平面DDoS攻击[56],[57],通过触发多个Packet_In消息,使SDN交换机和控制器之间的控制通道饱和。如果网络运营商采用更有弹性的控制平面,如物理分布式控制器(如ONOS[58]、OpenDaylight[36])或更多的智能数据平面[59]、[60]来缓解控制消息泛滥,就可以解决这个问题。

CONCLUSION

由于互联网的开放性,保护关键的网络节点和链路免受外部威胁是一项极其繁重的任务。对手可以通过主动拓扑探测来很容易地识别互联网上的网络瓶颈,这使得操作员难以防范攻击点。在本文中,我们提出了BOTTLENET,它是一个全面的网络拓扑欺骗框架,提供了不同的瓶颈指标和复杂的拓扑生成算法。我们的框架允许根据节点和链接的图和性能属性来定义不同的瓶颈度量。因此,操作员可以根据网络策略或条件来设计所需的输入,而瓶颈节点在其节点选择算法的帮助下选择最佳的部署节点。通过部署虚拟网络,我们的评估展示了如何使用主动拓扑欺骗算法和反应性操作规则来操纵对手的拓扑视图。

上一篇:第三次SDN实验


下一篇:第八次SDN实验