APP下载

软件定义网络中隐藏DoS攻击

2018-11-30郑嘉仪姜小峰

科技与创新 2018年6期
关键词:数据包攻击者交换机

郑嘉仪,高 尚,姜小峰

(1.苏州大学 计算机科学与技术学院,江苏 苏州 215006;2.香港理工大学 计算机学院,香港 999077)

软件定义网络被认为是下一代网络。SDN通过将传统网络中的控制平面与数据平面分离,通过中心化的控制平面来操控整个网络的行为。这个中心化的结果提供了更好的可编程性和可控性。目前,SDN网络已经应用于数据中心等实际场景。

虽然数据与控制平面的分离带来了众多好处,但控制平面与数据平面之间的通信也给整个网络带来了额外的负担,甚至可以被攻击者利用,来攻击整个网络。

目前,已经存在针对SDN的DoS攻击,其基本原理就是通过伪造数据包来诱发数据平面与控制平面的通信,从而消耗两平面之间的带宽以及控制平面的计算资源。因为该攻击对攻击者的要求极低(仅需要多个连接至SDN的计算机),容易实施,所以该攻击得到人们的高度重视,许多学者提出了众多解决方案。FloodDefender(FD)通过收集交换机中每个端口的流量来定位攻击者,并在严重攻击时对高频端口加以控制。

本文针对SDN的DoS攻击的不足,容易暴露攻击者位置的弱点加以了改进,提出了一种新的针对SDN的隐藏DoS攻击。隐藏DoS攻击可以在保证攻击效率的前提下,隐藏攻击者所在的位置信息,从而绕过FD等防御机制。

1 SDN工作机制及DoS攻击

1.1 SDN工作机制

在SDN中,控制平面操控整个网络的各种行为。当一个新的数据包传到数据平面时,因为该数据包无法与交换机流表中流规则相匹配,该数据包会被当做未匹配成功包被交换机缓存。为了得到处理该数据包的方案,交换机会将该数据包包头封装在PacketIn(入数据包)中,传递至控制器。控制器通过网络管理员在控制器上安装的APP的逻辑来得到处理该数据包的方案,并且将方案通过PacketOut数据包传回交换机。交换机可以根据控制器所返回的方案来处理所缓存的数据包。此外,控制器还能通过向交换机添加流规则,让交换机在下次收到与该数据包属于相同的流的数据包时,直接处理而不需要询问控制器。

目前,应用最为广泛的提供网络转发功能的APP是二层学习APP和三层学习APP,其原理为:当交换机的端口X收到一个新的数据包时,如果其流表中不存在目的地址为B的流规则,就无法了解如何处理该数据包,并需要向控制器汇报。控制器在收到该数据包对应的入包后,会“记住”A是在端口X上。控制器会向交换机添加流规则使得所有目的地址为A的流,都通过端口X转发。同时,控制器将泛洪作为之前的包的处理方案回复给交换机。

1.2 针对SDN的DoS攻击

SDN中数据平面与控制平面的分离虽然提供了极强的可操控性和可编程性,但是两平面间的通信会给网络造成额外开销,甚至被攻击者利用来实施DoS攻击,进而损坏整个网络。其通过生成大量未匹配包来消耗网络资源的攻击。攻击者通过随机生成原地址和目的地址以及数据包中的其他域,从而保证该数据包有极低的概率可以与交换机流表中的流规则匹配成功。因此,该数据包会被交换机当作未匹配包,通过将其包头封装至入包的方式递交给控制器。因此,当攻击值在短时间内生成大量的未匹配包传至交换机时,由未匹配包引发的大量入包包会将交换机与控制器之间的带宽耗尽;同时,因为控制器需要处理每一个收到的入包,其计算资源也会被大量消耗。该DoS攻击可以瘫痪整个SDN网络,相比传统网络中针对服务器的DoS攻击,其危害更大。然而,当攻击者随机生成未匹配包时,交换机可以根据其端口的未匹配包频率来准确、快速地确定攻击者位置。因此,攻击者的身份也极易暴露。

1.3 现有SDN中针对DoS的防御措施

根据上节中提到的DoS攻击的不足,国内外学者提出多种防范机制来降低攻击危害,比如FD。其中,FD通过将未匹配包数据包转移到其他交换机中,保护被攻击的交换机的带宽不被大幅消耗。同时,使用了两步过滤方法,来确保控制器处理入包的效率,并且当遭受严重攻击时,跳转至Block状态来丢弃高频未匹配包端口的未匹配包数据包。然而,因为该防御措施针对传统DoS攻击来定位攻击者所连接的端口,所以,当攻击者的位置信息被隐藏时,该防御机制无法在严重攻击时保护网络的安全。

2 隐藏DoS攻击

针对传统SDN中DoS攻击容易暴露攻击者位置信息的问题,我们提出了新的隐藏DoS攻击来隐藏攻击者位置,进而绕过现有的防御机制,比如FD。在描述新攻击前,先分析二层/三层学习APP的特点。

综上所述,我们可以发现,交换机转发所根据的流规则与控制器向交换机添加的流规则并不是同一流。数据包A→B同时属于流1(原地址为A)和流2(目的地址为B)。其引发条件是流1不存在于流表中,而转发规则应按照流2进行。然而,学习的过程并不是添加流2,而是学习流1的性质,进而添加流3(目的地址为A),从而保证所有向A发送的数据包可以按照流3进行转发。

根据二层/三层学习APP中触发流和转发流不同的特点,我们提出了新的隐藏DoS攻击,在保证攻击效率的前提下,可以隐藏攻击者的位置信息。在攻击者随机产生数据包时,攻击者仅伪造可靠连接协议中的源地址域,而将目的地址域填写已存在的主机信息。因为目的地址很可能存在于交换机的现有流表中,该数据包不会被当作未匹配包处理,而是直接按照流表规则发送给目的主机。但当目的主机收到该数据包并产生应答时,因为应答包的目的地址为随机产生,该应答包会被认定为未匹配包,而被传递至控制器。因此,当攻击者发送大量的源伪造数据包时,所触发的大量的应答包同样可以消耗数据-控制平面带宽。同时,因为是应答包是未匹配包,控制器无法定位攻击者的位置。在FD中,因为正常主机产生了过量的应答包,FD会认为该正常主机B是攻击者,而忽略真正攻击者。同时,B会因为防御机制而遭受巨大影响。此外,攻击者还可以通过选取多个正常主机作为目的地址,保证每个主机的应答包维持较低的速率来绕过防御机制。

3 结束语

本文讨论了SDN网络中传统DoS攻击方法,并指出了其会暴露攻击值位置信息的不足。针对该不足,我们提出了隐藏DoS攻击,可以在保证攻击效率的前提下,隐藏攻击者的位置,甚至绕过现有的防御措施。

[1]S.Gao,Z.Peng,B.Xiao,et al.FloodDefender:Protecting Data and Control Plane Resources under SDN-aimed DoS Attacks[C]in Proc.of the IEEE International Conference on Computer Communications(INFOCOM),2017

猜你喜欢

数据包攻击者交换机
基于贝叶斯博弈的防御资源调配模型研究
二维隐蔽时间信道构建的研究*
民用飞机飞行模拟机数据包试飞任务优化结合方法研究
C#串口高效可靠的接收方案设计
正面迎接批判
正面迎接批判
浅谈交换机CAN基本配置
罗克韦尔发布Strat ix 5410分布式交换机
信息网络中交换机的分类和功能
DHCP Snooping模式的部署