作者简介

张健

中国信息通信研究院安全研究所高级工程师,博士,主要从事信息通信技术、政策、标准等方面的研究工作。

朱丹

通信作者。中国信息通信研究院无线电研究中心工程师,主要从事5G技术与发展、智慧农业政策与规划、数字经济发展与规划等方面的研究工作。

论文引用格式:

张健, 朱丹. 软件定义网络DDoS攻击问题研究[J]. 信息通信技术与政策, 2025, 51(1): 56-63.

软件定义网络DDoS攻击问题研究

张健1 朱丹2

(1.中国信息通信研究院安全研究所,北京 100191;

2.中国信息通信研究院无线电研究中心,北京 100191)

摘要:作为一种新的网络体系架构,SDN已经得到业界广泛认可并被大规模应用和部署,但其本身却因集中控制等体系架构方面的原因成为DDoS攻击的主要目标,对SDN及有关应用造成较大危害。以SDN中的DDoS攻击问题为研究对象,首先总结了SDN体系架构存在的DDoS攻击潜在风险,分析了现阶段SDN所主要面临的DDoS攻击形式;其次,介绍了目前业界检测和防御DDoS攻击的主要解决方案,探讨了当前DDoS攻击检测和防御研究中主要存在的问题;最后,对下一步有关研究工作进行了展望。

关键词:软件定义网络;分布式拒绝服务;OpenFlow;统计分析;机器学习

0 引言

分布式拒绝服务(Distributed Denial of Service,DDoS)[1-2]攻击,因其发起简单且危害性大,成为主要的互联网安全威胁,也是现阶段典型的网络攻击形式。一般而言,DDoS攻击是通过向被攻击主机发送大量数据包,来消耗被攻击主机的带宽、存储、计算等各种资源,最终迫使被攻击主机无法正常提供服务。据互联网安全防护公司Zayo在2024年初发布的报告[3],2023年全球DDoS攻击总体较往年增长16%,电信、零售、医疗保健等行业以及政府有关部门等遭受到的DDoS攻击尤其严重。

软件定义网络(Software Defined Network,SDN)[4]自问世以来,因其分离了控制层和数据层,实现了网络集中控制,具备灵活性、开放性、可编程性等诸多优点,被业界快速接受并广泛部署和应用于5G网络、数据中心、智慧城市、物联网、区块链等诸多新兴领域[5-6],进一步推动和促进了5G时代乃至未来一段时间内网络架构的发展和演进。然而,从网络安全的角度来看,伴随着广泛应用和大规模部署,SDN所面临的网络安全威胁也越来越大,尤其是集中控制的网络管理模式更是使SDN成为DDoS攻击等众多网络攻击的主要目标[5-7]。现阶段,DDoS攻击已成为SDN所面临的突出安全问题,如何快速检测和防御DDoS攻击也已成为业界研究SDN安全问题的难点和重点所在。

本文聚焦SDN的DDoS攻击问题,在介绍SDN分层体系架构基础上,总结提炼了SDN中DDoS攻击的潜在风险以及现阶段存在的各种攻击方式,论述了目前针对DDoS攻击问题的若干应对措施和解决方案,并对目前存在的问题及下一步工作等进行了总结和展望。

1 SDN简介

1.1 SDN分层体系架构

SDN体系架构如图1所示,主要包括数据平面、控制平面和应用平面3个平面,南向接口、北向接口2个接口,以及OpenFlow[8]作为SDN事实上的通信协议等。其中,数据平面主要由具备转发分组功能的交换机组成,这些交换机基于OpenFlow协议工作,一般被称作OpenFlow交换机[9-10];控制平面主要由一个或多个控制器组成,负责控制和管理SDN整个网络,决定整个网络相关数据流的路由和转发等;应用平面主要负责定义和管理多个应用程序,包括网络虚拟化、入侵检测系统、入侵预防系统、防火墙等。这些应用程序重新定义了数据层转发设备的功能,使得在SDN中同一设备可以执行不同功能。此外,还有负责连接应用平面和控制平面的北向接口以及连接数据平面与控制平面的南向接口。

图1 SDN体系架构

1.2 OpenFlow协议基本工作原理

SDN的数据平面,基于控制器发来的指令,使用OpenFlow交换机,通过一个可管理的数据流表,完成数据传输和转发功能。如图2所示,OpenFlow流表包括3个字段:规则、操作和状态。其中,规则字段主要是定义了数据包特征和各种匹配字段,包括交换端口、虚拟局域网(Virtual Local Area Network,VLAN)标示、媒体访问控制(Media Access Control,MAC)地址、网际互联协议(Internet Protocol,IP)地址、传输控制协议(Transmission Control Protocol,TCP)地址等,具体取决于OpenFlow协议的版本;操作字段主要是定义了针对数据包的各种操作,包括转发或者丢弃数据包等;状态字段主要是定义了一些计数器,用以统计相关数据流的数据包数量等。

图2 OpenFlow流表和基本工作原理

当OpenFlow交换机接收到数据包时,交换机首先会将这些数据包与流表规则进行匹配。如果数据包匹配,则会将数据包转发到定义的目的地;如果不匹配,则会通过南向接口向控制器发送Packet_In消息询问其目的地地址,或丢弃该数据包。控制器在收到Packet_In消息时经过计算获得其目的地后,会向交换机发送Packet_Out消息。交换机即可修改现有的流规则以便于下次与该目的地进行通信[11]。OpenFlow流表和基本工作原理,如图2所示。

2 主要攻击方式

2.1 潜在风险点

基于控制与转发分离的集中控制网络管理模式,在推动SDN体系架构在业界取得了广泛认可并得到大规模部署和应用的同时,也使得SDN面临严重的DDoS攻击风险。如图3所示,SDN在控制平面的控制器、OpenFlow交换机以及连接各个平面的南北向接口等方面,存在明显的DDoS攻击风险[11-14]

图3 DDoS攻击主要的潜在风险点

首先是控制器。在SDN的体系架构中,位于控制平面的控制器组成SDN的控制中心,是整个SDN唯一的控制中枢。同时,控制器也成了DDoS攻击的主要目标,使得SDN存在较大单点故障风险。一旦位于集中位置的控制器被攻击,就会极大地影响网络功能,甚至可能会导致整个SDN网络发生崩溃。一般而言,当发生DDoS攻击时,SDN的控制器会接收到大量的异常数据包,其网络吞吐量以及计算、存储等资源会很快被耗尽,造成正常业务数据不能及时被转发和处理,形成事实上的网络宕机现象。

其次是OpenFlow交换机。来自OpenFlow交换机的潜在DDoS攻击风险,主要在于交换机缓冲区、流量表以及交换机的IP地址等方面,主要表现为缓冲区饱和、流表溢出和交换机欺骗等。缓冲区饱和指如果控制器在短时间内接收到大量非法数据包,交换机缓冲区很快就会被这些非法数据包占满耗尽,无法缓冲合法用户数据。流表溢出指在OpenFlow交换机流表容量和处理能力都有限的前提下,在遭到DDoS攻击时,流表中的所有条目很快都会被新条目替换,即内存中充满非法流量的流规则,最终使得合法数据流量因存储空间不足而被丢弃。交换机欺骗指攻击者使用伪造IP地址的非法OpenFlow交换机向控制器发送大量非法数据包,并可能导致合法交换机与控制器的通信中断等情况发生。

最后是南北向接口。SDN的南向接口和北向接口分别将控制平面与数据平面和应用平面连接起来,形成一个完整的网络系统。然而,由于带宽资源有限等因素,SDN的南北向接口很容易成为DDoS攻击的目标。当数据平面存在大量非法数据包请求时,南向接口的带宽资源就会很快被消耗完毕;非法应用程序则可以通过北向接口向控制器不断发送大量资源请求,以此来消耗北向接口的带宽等资源。在SDN缺乏访问控制机制的情况下,合法用户通过南北向接口请求资源和服务均面临较高的潜在风险。

2.2 主要攻击方式

基于SDN的分层体系架构,SDN中的每一个平面都有各自的功能定位和资源特点,因此受到的DDoS攻击方式也各不相同。针对数据平面的DDoS攻击主要围绕OpenFlow交换机,包括交换机缓冲区饱和、数据流表溢出以及交换机欺骗等;针对控制平面的攻击则围绕控制器,主要包括Packet_In数据包洪泛以及控制器饱和与劫持等;针对应用平面的攻击,主要指在当前SDN没有身份验证和授权机制的情况下,非法应用对SDN的非法访问;针对接口的攻击主要是指南北向接口拥塞或带宽资源耗尽等。SDN中各平面面临的主要DDoS攻击方式及其危害,如表1所示。

表1 SDN中主要的DDoS攻击方式及其危害

2.2.1 数据平面

缓冲区饱和。当OpenFlow交换机向控制器发送Packet_In消息时,它会将数据包的某些部分发送到控制器,并将该数据包的其他部分存储在交换机的缓冲区。因此,攻击者首先会通过向交换机发送大量非法数据包在短时间内耗尽交换机的缓冲区;其次,交换机将非法数据包完整地发送到控制器,占据和消耗大量控制器资源。此时,SDN网络性能就会因缓冲区饱和而大为降低,会发生合法用户的数据流处理请求因缓冲区饱和而被丢弃等情况。

流表溢出。当OpenFlow交换机向控制器请求新的流规则时,控制器反馈的新规则将会被存储在交换机的流表中。OpenFlow交换机流表存储容量非常有限,同时每个流规则在流表中也都有固定的存储时长,超时后交换机就会将旧规则从流表中删除。在发生攻击时,攻击者在短时间内向交换机发送大量新的非法数据流,并将交换机的流表占完耗尽,从而导致所有合法的流规则都会被非法流规则所替代。当发生流表溢出时,合法用户的数据流条目将无法在流表中存储,会严重危及SDN网络对授权用户的可用性。

交换机欺骗。首先,攻击者会通过伪造IP地址,使非法OpenFlow交换机具有跟合法交换机相同的硬件名称和IP地址;其次,攻击者控制配置伪造IP地址的非法OpenFlow交换机与控制器建立连接并进行通信,同时强制控制器终止与合法交换机的连接和通信,最终用非法交换机替代了合法交换机,导致发生对控制器的虚假资源请求,并对合法交换机实施屏蔽和非正常断开连接等非法操作。

2.2.2 控制平面

Packet_In数据包洪泛。当OpenFlow交换机接收到不匹配的数据包时,会通过南向接口向控制器发送Packet_In消息,为新数据流请求制定新的转发规则。攻击者会通过OpenFlow交换机发送大量非法数据,迫使交换机在短时间内向控制器发送大量Packet_In消息,形成Packet_In数据包洪泛效应,导致控制器因忙于处理非法数据流请求而过载。

控制器饱和。当接收到交换机发送来的Packet_In数据流时,控制器会为这些数据流建立新的流规则并反馈给交换机。当短时间内发生大量的Packet_In数据流时,会消耗乃至耗尽控制器的内存、中央处理器和缓冲区等资源,最终使得控制器资源饱和,不能再接受和处理新的数据流请求,导致SDN网络宕机或崩溃。

控制器劫持。首先,攻击者通过发送大量Packet_In数据包等不同方式攻击控制器并使控制器失效;其次,将伪造的主机接入SDN中并将其伪造成控制器,取代之前的合法控制器来负责SDN的资源调度和分配,实现了对SDN合法控制器的劫持和控制,进而实现对SDN整个网络的控制和攻击。

2.2.3 应用平面

未授权应用程序。应用平面有许多应用程序可以通过北向接口访问控制和请求网络资源。由于SDN目前没有身份验证和授权机制,使得一些应用程序可以使用其他应用程序的授权路径来访问网络资源。因此,非法应用可以通过其他应用来获得访问权限,并能够修改网络行为,造成对SDN的攻击并致使网络性能下降等。

应用程序级攻击。攻击者可以针对SDN中某一类或某一个特定应用程序,在短时间内通过北向接口向控制器发送大量资源或业务请求,从而造成基于某种应用程序的资源密集型应用层攻击。通常,Web服务器受到此类攻击的次数较多。

2.2.4 接口

南向接口拥塞。在缓冲区已满的情况下,当接收到新的数据包时,OpenFlow交换机会通过南向接口向控制器转发整个数据包。在收到大量非法的新数据包时,OpenFlow交换机会不停通过南向接口向控制器转发数据包,从而消耗大量通信信道带宽资源,造成南向接口通信信道堵塞,使其对合法用户不可访问。

北向接口带宽耗尽。非法应用程序通过北向接口向位于控制平面的控制器发送大量消息请求资源,占据和消耗了连接控制平面和应用平面的北向接口的大量带宽等,降低了北向接口的使用效率,对正常应用程序通过北向接口向控制器传送信息或请求资源等形成影响,甚至会导致北向接口带宽资源耗尽而不可用。

3 主要解决方案

近年来,随着SDN的广泛部署和应用,针对DDoS攻击的检测与防御也成为网络安全领域主要关注的问题,并进一步提出了诸多DDoS攻击检测机制和影响减轻方案。相对于传统网络,在SDN中关于DDoS攻击的检测方法,目前主要是基于统计分析和机器学习等理论和方法,通过对SDN中的异常流量进行监测,来判断、检测和减缓DDoS攻击[14-19]

3.1 基于统计分析的DDoS检测方案

熵在统计学中被用来衡量随机变量的不确定性。当一个变量的熵越大,表示其取值越不确定,即信息量越大。基于统计分析理论检测DDoS攻击,是利用熵理论工作原理,将SDN中的OpenFlow数据流作为随机变量,基于OpenFlow数据流特征计算分析其一定时间段内的熵值变化,并与设定的熵阈值进行比较,检测数据流熵值的异常偏差,以确定是否有异常流量以及是否已发生DDoS攻击。

通常而言,用于开展DDoS攻击检测的统计分析理论,主要包括信息熵、相对熵、雷尼熵、条件熵等具体理论和方法。业界基于上述各种理论和方法,就SDN中DDoS攻击的检测,也提出了若干种不同的研究方案和解决措施,如Mishra等[20]提出了基于信息熵的防御机制,通过计算和比较DDoS攻击流量与正常数据流量之间的熵值变化,来识别和缓解DDoS攻击行为;赵普等[21]提出了基于雷尼熵的SDN自主防护系统,通过计算和检测特征熵值实现DDoS攻击等异常网络行为检测和识别;傅友等[22]利用条件熵判断SDN网络状态,使用决策树(Decision Tree,DT)相关算法对网络流量进行分类,实现对DDoS攻击的有效检测。

3.2 基于机器学习的DDoS检测方案

机器学习是一种训练数据和算法模型使机器具有人工智能的方法。根据学习方法的不同,机器学习可以分为有监督学习和无监督学习两种模式[14,19]。有监督学习是指使用有标签的训练数据来预测新的未标记样本的类别。常见的有监督学习算法,包括支持向量机(Support Vector Machine,SVM)、DT、K最邻近(K-Nearest Neighbor,KNN)算法、隐马尔可夫(Hidden Markov Model,HMM)等。无监督学习则指直接从未标记的数据中发现新的模式和结构。常见的无监督机器学习算法包括K均值(K-means)、高斯混合模型(Gaussian Mixture Model,GMM)、自我组织映射网络(Self-Organized Mapping,SOM)等。业界基于机器学习理论提出了诸多改进和提升DDoS攻击的检测方法,如Revathi等[23]使用了一种新的离散可扩展存储SVM算法,通过语义多线性分量分析算法对数据流进行特征提取并分类,提供了较高精度的DDoS攻击检测方案;Zhu等[24]结合几何变换和数据加密方法,基于改进的KNN算法,提出了一种跨域的DDoS攻击检测方案,实现了较为准确和高效的攻击检测;Xu等[25]提出一种将DDoS攻击检测过程分为受害者检测和攻击检测两个阶段的DDoS攻击检测方案,在完成受害者识别后,通过SOM技术将网络流量分类即可检测出DDoS攻击。

3.3 基于深度学习的DDoS检测方案

深度学习是机器学习的一个研究方向,由于近年来数据、算法、算力的快速发展,已单独形成一个研究分支。深度学习具有自学习、自组织等优点,在用于DDoS攻击检测识别时,不仅可以识别已有攻击模式,还可以识别未知的攻击模式,有效提高了DDoS攻击检测识别的智能性。常用于DDoS攻击检测与识别的深度学习算法,主要包括卷积神经网络(Convolutional Neural Network,CNN)、递归神经网络(Recursive Neural Network,RNN)、生成对抗性网络(Generative Adversarial Network,GAN)、长短期记忆网络(Long Short Term Memory,LSTM)等。业界基于深度学习有关理论和算法,提出了诸多关于检测并有效降低DDoS攻击的方法,如Itagi等[26]提出一种DDoS攻击检测方法,基于双向RNN,实时对SDN中的数据流进行评估、检测和分类等,以确定网络中是否存在DDoS攻击;Wang等[27]提出一种基于深度学习的通用DDoS攻击方案,利用GAN生成真实网络流量对有关DDoS攻击方案进行有效验证;白坚镜等[28]采用分治算法思想,基于LSTM方法提出一种可部署在网络边缘的DDoS检测方法,可降低DDoS攻击带来的影响,减轻SDN控制器资源调度压力等。

由于不需要建立复杂的计算模型,基于统计分析的DDoS攻击检测方法,一般实时性较高,计算复杂度较低,可以快速检测区分正常流量和异常流量,比较适用于大规模、大范围的DDoS攻击初步检测。目前,机器学习技术在SDN环境下检测DDoS攻击取得了较大进展,可以通过特征提取等手段对数据流进行合理分类,有效提高了DDoS攻击检测的准确性。深度学习技术是当前入侵检测研究的热点,具有多层结构和分层特征学习能力,可以快速捕捉到数据流中的复杂模式。在检测DDoS攻击和处理大规模网络流量数据时,使用基于深度学习技术的方法可以实现更好的检测精度。

4 主要问题

由于SDN本身所具有的集中控制架构、OpenFlow交换机性能的提升等多方面因素影响,针对SDN所面临DDoS攻击的检测和防御,目前仍存在一些问题,如控制器的安全、检测方案部署位置的选择、南北向接口的标准化等,需要做进一步的深入思考和改进提升。

控制器的安全问题。作为SDN的控制中枢,位于控制平面的控制器负责调度和管理SDN全网的计算、存储和带宽等资源,其安全性和可靠性将会影响到SDN运转性能乃至全网安全[14]。然而,在集中控制方式下,作为单点存在的控制器也就不可避免地成为以DDoS攻击为代表的各种网络攻击的主要目标。控制器的安全问题,始终是决定SDN整体安全性能的重要核心问题。

OpenFlow交换机性能。对于DDoS攻击防御和检测而言,OpenFlow交换机可以看作是SDN安全性能提升的重要瓶颈和短板。基于OpenFlow交换机的流表溢出、缓冲区饱和、交换机欺骗等成为SDN遭受DDoS攻击的重要形式。如何提升和优化OpenFlow交换机的流表容量、缓冲区尺寸等关键参数,提升OpenFlow交换机的抗攻击能力,是目前SDN研究领域面临的重要挑战。

DDoS攻击检测方案部署位置。目前,绝大多数用于检测DDoS攻击的解决方案都是部署在SDN的控制器[13]。这种部署方式,一方面会因为DDoS攻击检测消耗控制器的计算和存储资源,进一步加重SDN中控制器的工作负载;另一方面,由于数据平面和应用平面需要频繁向控制器发送检测的非法和恶意流量,也会占用SDN南北向接口的通信带宽资源,造成各平面间通信不畅或中断。

DDoS攻击弹性或容错系统。在发生DDoS攻击时,一般攻击源头较多,因此,即使能够及时检测到有攻击发生,大多数DDoS攻击缓解技术也很难在短时间内完全消除所有攻击并将网络性能恢复到正常水平。在实际工作中,可以借鉴传统网络应对DDoS攻击的解决方案,即设计一种DDoS攻击弹性[13]或容错系统[6],使得能够在检测并缓解DDoS攻击的同时,也能在一定程度上保证SDN网络的正常运转。

双向认证和南北向接口标准化。由于SDN各平面之间的通信无加密和认证措施[6],使得SDN控制器在通过南北向接口与数据和应用平面通信时缺乏信任,很容易就成为DDoS等网络攻击的目标。通过在各平面之间实行双向认证、推进接口标准化等措施,有效建立起SDN各平面之间的信任管理和安全识别,快速检测到对控制器等关键模块的未经授权访问,有效控制应用平面上非法程序的运行等。

5 结束语

SDN自问世以来就因为其所具备的集中控制、可编程性等诸多体系架构方面的优点,成为业界关注的热点。近年来,随着5G等技术的快速发展,SDN作为其中的网络技术也得到了进一步的广泛应用和大规模部署。同时,SDN自身也饱受网络攻击问题困扰,尤其是由于集中控制等体系架构方面的因素而带来的单点风险问题,使SDN成为DDoS攻击的主要目标。

目前,业界已经提出了诸多关于SDN中DDoS攻击问题的应对措施和解决方案。下一步,一方面基于统计分析和人工智能相关理论和方法,进一步优化和提炼相关算法和机制,积极将人工智能等有关新算法新机制应用于DDoS攻击问题的检测和减缓,对已提出有关解决方案进行升级改造,或提出新的解决方案等,有效解决和应对DDoS攻击问题。另一方面,可以从SDN体系架构着手,针对现阶段有关应用和网络安全的实际需求和发展形势等,有针对性地对SDN的体系架构进行升级和优化,补充和完善相关协议和机制等,使之能够更适应实际的应用需求和安全需求等。

Research on DDoS attack in SDN

ZHANG Jian1, ZHU Dan2

(1. Security Research Institute, China Academy of Information and Communications Technology, Beijing 100191, China;

2. Research Center for Radio Management, China Academy of Information and Communications Technology, Beijing 100191, China)

Abstract: As a new network architecture, SDN has been widely recognized in the industry and widely applied and deployed on a large scale. However, SDN has become the main target of DDoS attacks due to its centralized control mode, causing significant harm to SDN networks and related applications. This paper takes DDoS attacks in SDN as the research object. Firstly, the potential risks of DDoS attacks in SDN network architecture are summarized and the main forms of DDoS attacks faced by SDN at present are analyzed. Then, the main solutions for detecting and defending against DDoS attacks in the industry are introduced and the main problems in current research on DDoS attacks are discussed. Finally, the future research work of DDoS attack in SDN is discussed.

Keywords: SDN; DDoS; OpenFlow; statistical analysis; machine learning

本文刊于《信息通信技术与政策》2025年 第1期

声明:本文来自信息通信技术与政策,版权归作者所有。文章内容仅代表作者独立观点,不代表安全内参立场,转载目的在于传递更多信息。如有侵权,请联系 anquanneican@163.com。