9
11 22 Vol.11 No.22 2018 11 November 2018 基于 SDN DDoS 攻击检测技术研究 赵智勇,辛 * (北京邮电大学网络空间安全学院,北京 100876摘要软件定义网络(software defined networkSDN)是一种新型的网络架构,其核心优点是转发与控制相 分离,并且用户可以自定义控制器。分布式拒绝服务(distributed denial of serviceDDoS)攻击是目前互联网 正面临的主要威胁之一。由于 SDN 的这种架构会导致其对 DDoS 攻击存在单点失效的危机,因此本文提出一 种基于熵值计算的 DDoS 攻击异常检测算法。该算法能够有效利用控制器集中控制的特点。其主要流程是在 SDN 的环境下利用在控制器上接收到的 Packet-in 数据包,然后取出数据包中的目的 IP 字段进行 Renyi 熵的计 算,并通过实验设定相应的阈值进而判断是否受到了 DDoS 攻击。最后,利用 POX 控制器和 Mininet 仿真器 构建一个实验仿真平台,并通过实验验证该检测方法的可行性和性能。 关键词:计算机科学技术基础学科;软件定义网络;分布式拒绝服务攻击;Renyi 熵;异常检测 中图分类号:TP399 文献标识码:A 文章编号:1674-2850(2018)22-2270-09 Research on DDoS attack detection technology based on SDN ZHAO Zhiyong, XIN Yang (School of Cyberspace Security, Beijing University of Posts and Telecommunications, Beijing 100876, China) Abstract: Software defined network (SDN) is a new network architecture. Its core advantage is the separation between forwarding and control, and users can customize the controller. At present, distributed denial of service (DDoS) attack is one of the major threats to the Internet. Because of the architecture of SDN can cause a single point failure to DDoS attack, this paper proposes a DDoS attack anomaly detection method based on entropy algorithm. The algorithm can effectively utilize the characteristics of controller centralized control. The main process is to use the Packet-in packet received on the controller under the environment of SDN, then to take out the IP field in the packet for the calculation of the Renyi entropy, and to set the corresponding threshold by the experiment to judge whether or not it has been attacked by DDoS. Finally, an experimental simulation platform is built by using POX controller and Mininet simulator. The feasibility and detection capability of the detection method are verified by experiments. Key words: basic subject of computer science and technology; software defined network; distributed denial of service attack; Renyi entropy; anomaly detection 0 引言 传统的网络体系架构对现代互联网的发展做出了不可磨灭的贡献,然而当前云计算、大数据和物联 网的快速发展也对传统的网络体系提出了挑战。因此,SDN [1] 应运而生。它是一种新型的网络架构,意 在摒弃传统的渐进叠加和向前兼容的原则以重塑互联网,其核心理念是将传统 IP 网络的路由控制和数据 转发进行分离,使控制更加集中化,通过给用户提供软件可编程的方式以实现对网络流量的灵活控制。 作者简介:赵智勇(1994—),男,硕士研究生,主要研究方向:网络安全、云计算 通信联系人:辛阳,副教授,主要研究方向:网络信息安全、云计算大数据安全和灾备安全. E-mail: [email protected]

Research on DDoS attack detection technology based on SDN · DDoS攻击针对SDN控制平面的可行性;在数据平面上利用了快填充隐蔽流DDoS攻击和针对该类DDoS

  • Upload
    others

  • View
    42

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Research on DDoS attack detection technology based on SDN · DDoS攻击针对SDN控制平面的可行性;在数据平面上利用了快填充隐蔽流DDoS攻击和针对该类DDoS

第11卷 第22期 Vol.11 No.22 2018 年 11 月 November 2018

基于 SDN 的 DDoS 攻击检测技术研究 赵智勇,辛 阳*

(北京邮电大学网络空间安全学院,北京 100876)

摘要:软件定义网络(software defined network,SDN)是一种新型的网络架构,其核心优点是转发与控制相

分离,并且用户可以自定义控制器。分布式拒绝服务(distributed denial of service,DDoS)攻击是目前互联网

正面临的主要威胁之一。由于 SDN 的这种架构会导致其对 DDoS 攻击存在单点失效的危机,因此本文提出一

种基于熵值计算的 DDoS 攻击异常检测算法。该算法能够有效利用控制器集中控制的特点。其主要流程是在

SDN 的环境下利用在控制器上接收到的 Packet-in 数据包,然后取出数据包中的目的 IP 字段进行 Renyi 熵的计

算,并通过实验设定相应的阈值进而判断是否受到了 DDoS 攻击。最后,利用 POX 控制器和 Mininet 仿真器

构建一个实验仿真平台,并通过实验验证该检测方法的可行性和性能。

关键词:计算机科学技术基础学科;软件定义网络;分布式拒绝服务攻击;Renyi 熵;异常检测 中图分类号:TP399 文献标识码:A 文章编号:1674-2850(2018)22-2270-09

Research on DDoS attack detection technology based on SDN ZHAO Zhiyong, XIN Yang

(School of Cyberspace Security, Beijing University of Posts and Telecommunications, Beijing 100876, China)

Abstract: Software defined network (SDN) is a new network architecture. Its core advantage is the separation between forwarding and control, and users can customize the controller. At present, distributed denial of service (DDoS) attack is one of the major threats to the Internet. Because of the architecture of SDN can cause a single point failure to DDoS attack, this paper proposes a DDoS attack anomaly detection method based on entropy algorithm. The algorithm can effectively utilize the characteristics of controller centralized control. The main process is to use the Packet-in packet received on the controller under the environment of SDN, then to take out the IP field in the packet for the calculation of the Renyi entropy, and to set the corresponding threshold by the experiment to judge whether or not it has been attacked by DDoS. Finally, an experimental simulation platform is built by using POX controller and Mininet simulator. The feasibility and detection capability of the detection method are verified by experiments. Key words: basic subject of computer science and technology; software defined network; distributed denial of service attack; Renyi entropy; anomaly detection

0 引言 传统的网络体系架构对现代互联网的发展做出了不可磨灭的贡献,然而当前云计算、大数据和物联

网的快速发展也对传统的网络体系提出了挑战。因此,SDN[1]应运而生。它是一种新型的网络架构,意

在摒弃传统的渐进叠加和向前兼容的原则以重塑互联网,其核心理念是将传统 IP 网络的路由控制和数据

转发进行分离,使控制更加集中化,通过给用户提供软件可编程的方式以实现对网络流量的灵活控制。

作者简介:赵智勇(1994—),男,硕士研究生,主要研究方向:网络安全、云计算 通信联系人:辛阳,副教授,主要研究方向:网络信息安全、云计算大数据安全和灾备安全. E-mail: [email protected]

Page 2: Research on DDoS attack detection technology based on SDN · DDoS攻击针对SDN控制平面的可行性;在数据平面上利用了快填充隐蔽流DDoS攻击和针对该类DDoS

Vol.11 No.22

November 2018 赵智勇等:基于 SDN 的 DDoS 攻击检测技术研究 2271

虽然 SDN 可以解决传统网络的遗留问题,但 SDN 的安全性和可靠性研究还处于初级阶段,尤其是其集

中式控制模式所带来的单点失效风险使它更容易成为攻击的目标。在当前互联网的攻击类型中,DDoS攻击危害较大[2],它通过消耗目标的网络带宽及系统资源使得目标无法正常提供服务。随着 SDN 的推广

和快速发展,它同样会和传统网络体系一样面临 DDoS 攻击的挑战,因此本文着重于研究在 SDN 架构下

对 DDoS 攻击的检测。 在 SDN 转发与控制相分离的特性下,当交换机接收到数据包时会先匹配流表项,如果有对应的流表

项就会对数据包进行转发;反之,则会将该数据包转发给控制器进行处理。如果有大量的数据包同时涌

向控制器就会导致整个网络瘫痪。因此,本文主要通过对控制器进行自定义编程,提取出控制器接收到

的 Packet-in 数据包内的特征信息,收集流表之后进行熵值计算,以实现对 DDoS 攻击的检测。

1 相关技术 1.1 SDN 的网络架构

SDN 是一种数据控制分离、软件可编程的新型网络体系架构,由应用层、控制层和基础设施层组成[3],

如图 1 所示。其最上层是应用层,包括各种不同的业务和应用;控制层可以实现网络拓扑的收集、路由

的计算、流表的生成及下发等功能;基础设施层中的底层设备仅负责流量的转发及策略的执行,北向接

口的作用是使业务应用能够通过控制层便利地调用底层的网络资源,南向接口定义了开放的 OpenFlow标准,控制器就是通过南向接口对底层设备进行管理和控制的。

1.2 DDoS 攻击与检测方法

DDoS 攻击是拒绝服务(denial of service,DoS)攻击的加强版,它比一般的 DoS 攻击更具破坏性,

其攻击的一般过程如图 2 所示。首先,由攻击者控制一台或多台具有高性能的控制傀儡机,进而将其当

作跳板机去控制更多的攻击傀儡机,在攻击者控制足够多的攻击傀儡机后,由控制傀儡机发出指令,通

过攻击机群向目标机发送大量数据包,使得目标机的资源被过度消耗而无法提供正常的服务,常见的攻

击类型有 SYN Flood、UDP Flood、HTTP Flood、ICMP Flood 等。

针对 DDoS 攻击的检测方法大致有几个方向:基于深度包检测(deep packet inspection,DPI)的检

测技术、基于流的 DDoS 检测技术、基于机器学习的检测技术、基于熵值的检测技术等。其中,基于 DPI的思想是通过对网络关键点处的流量和报文进行单包检测,并根据事先定义好的策略对流量进行过滤控

图 2 DDoS 攻击的一般过程

Fig. 2 General process of DDoS attack

图 1 SDN 的网络架构

Fig. 1 Network architecture of SDN

Page 3: Research on DDoS attack detection technology based on SDN · DDoS攻击针对SDN控制平面的可行性;在数据平面上利用了快填充隐蔽流DDoS攻击和针对该类DDoS

第11卷 第22期

2018 年 11 月 中国科技论文在线精品论文 2272

制[4]。基于流的检测技术是将包头部相同的数据包归为一道流,这样可以降低系统开销。机器学习可以

利用机器学习算法对模型进行训练,对待测数据进行分类检测。熵值检测是通过提取出网络信息流中的

特征值计算熵值估计数据包的随机性来进行检测的。

1.3 香农熵与 Renyi 熵

熵是用来衡量随机变量的多样性、不确定性和随机性的指标。随机变量的随机性越高,熵值越大,

反之熵值越小。香农熵的定义如下:

1log

n

i ii

H p p=

= −∑ .

本文采用香农熵的一般情况——Renyi 熵来对流量进行度量,文献[5]给出了 Renyi 熵的一般定义:

21

1( ) log1

n

ii

H x pαα α =

=− ∑( ),

其中,pi 为随机变量 xi 的概率;α 为 Renyi 熵的阶数,满足 0α≥ 且 1α ≠ ,当 1α → 时, ( )H xα 收敛于香

农熵。

2 相关工作 目前,针对 SDN 对 DDoS 攻击检测方法的研究还处于起步阶段,主要采用移植改造传统网络的方法,

少数人基于 SDN 的新特性展开了研究工作。SDN 网络架构下数据的转发是以流为基本单位的,目前 SDN

下的 DDoS 攻击检测主要是针对流的攻击检测方法,针对新型检测方法,国内外学者提出了自己的方法

和见解。

龚庆祥[6]论述了控制平面及数据平面受 DDoS 攻击的特点。在控制平面上利用 MSlot 算法证明了

DDoS 攻击针对 SDN 控制平面的可行性;在数据平面上利用了快填充隐蔽流 DDoS攻击和针对该类 DDoS

攻击的检测算法,通过模拟实验证明了其比以前的算法更加高效。

龚冉[7]介绍了 SDN 的网络架构、Floodlight 控制器、OpenFlow 协议、Open vSwitch 和 Mininet. 他也

针对 SDN 的架构提出了一种基于流量特征的 DDoS 攻击检测技术,通过将机器学习中的支持向量机–K

最邻近(support vector machine-K nearest neighbor,SVM-KNN)算法引入 Relief 算法的方式进行加权改

进,最后通过 SDN 网络仿真环境进行实验,验证了该算法具有较高的检出率。

李赫[8]介绍了 SDN 的相关技术,并介绍了 DDoS 的攻击方式和特点,然后针对 SDN 网络与 DDoS

攻击的特性,对基于熵值运算的 DDoS 检测算法进行了改进,通过实验证明了该检测算法的有效性。

杨梦婷[9]提出了针对 SDN 控制器的新型 DoS 攻击,并提出了针对 Host 传统 DoS 攻击的 OpenFlow

检测方案,其主要通过数据采集、协议解析、规则匹配和攻击主动响应四个步骤详细描述了该检测

方案。

MOUSAVI 等[10]提出了基于目的 IP 的信息熵方法进行早期检测,目的是防止控制器瘫痪,降低控制

器负担。

以上学者基于 SDN 对 DDoS 的攻击检测方法主要有两种:一种是基于机器学习的检测方法,另一种

是基于熵值计算的检测方法。其中,采用熵值的计算方法检测 DDoS 不需要对检测系统进行大量的训练,

节省了方法部署的时间。同时,熵值计算所产生的计算负载较小,与机器学习检测方法相比,能够节省

系统的计算资源。

Page 4: Research on DDoS attack detection technology based on SDN · DDoS攻击针对SDN控制平面的可行性;在数据平面上利用了快填充隐蔽流DDoS攻击和针对该类DDoS

Vol.11 No.22

November 2018 赵智勇等:基于 SDN 的 DDoS 攻击检测技术研究 2273

3 检测算法设计 在 SDN 网络中,控制器会在 OpenFlow 交换机中配置一个流表项,当有数据流到达时,OpenFlow

交换机会对数据包的包头进行解析,然后与本地流表项进行匹配。若匹配成功,OpenFlow 交换机会根据

匹配成功的流表项中的动作对数据流进行处理,并将对应的流表计数器加 1. 若匹配不成功,交换机就会

将数据包封装成 Packet-in 消息发送给控制器,然后由控制器决定是否下发流表。每个流表包括匹配域、

计数器和动作三个域,如图 3 所示。

图 3 流表项结构

Fig. 3 Flow table structure

在进行数据流检测之前,需要对数据流进行一个预处理。由以上 OpenFlow 协议的特性可知,可以

对流表项提取出关键属性,如匹配域和计数器字段。而在匹配域中,可以提取出针对数据包的常用特征,

如五元组,然后再将处理之后的数据流传送到等待队列中,进入流表收集过程,最后进行算法检测。 具体的流表收集过程是通过 SDN 控制器周期性地向 OpenFlow 交换机发送 ofp_flow_stats_request 报

文,以请求交换机将流表信息上传给控制器,交换机收到请求信息之后会回传 ofp_flow_stats_reply 报文,

携带对应流表信息。 熵是用来衡量随机变量随机性的一个指标,而在通常的网络通信过程中,针对整体的网络数据流仍

然有较大的随机性,当某一主机遭受到 DDoS 攻击时,就会有大量的数据包发往被攻击主机,这时数据

流的熵值就会与正常数据流的熵值有较大不同。由于通常 DDoS 攻击的发起者都会伪造大量的源 IP 地址

来躲避检测和防御,而目的 IP 地址通常是被攻击的主机,因此大量拥有相同目的 IP 的数据包会降低数

据流的随机性。由于这个特性,本文采用目的 IP 地址作为流量特征,通过在一个窗口内计算一次数据包

的熵值来与阈值进行比较,检测 DDoS 攻击是否发生。文献[11]证明了 Renyi 熵比香农熵更能增大两个不

同分布之间的差异,故本文对不同阶数的 Renyi 熵进行熵值计算并与香农熵的计算结果进行比较。 根据 Renyi 熵的定义,将流表项中的某个属性(如目的 IP 地址)记为 X,其特征值记为 N,则数据

包流表项中属性 X 出现的次数为 ni,记为 { , 1,2, , }iX n i N= = ,特征值出现的总次数记为1

N

ii

S n=

= ∑ ,根

据信息熵中概率计算的方法,则 ii

np

S= ,在 SDN 转发流中属性 X 的 Renyi 熵按式(2)进行计算。

检测流程描述如下: 1)当数据流到达交换机时,交换机会对其匹配流表项,若满足条件则将数据包中的目的 IP 字段记

为 X;反之,由交换机发送 Packet-in 数据包,由控制器下发流表。 2)对 X 进行判断,若它不在哈希表中,那么将它加入哈希表,并将它出现的次数 ni 取值为 1;反之,

将它出现的次数 ni 加 1. 3)判断哈希表中总的数据包个数 S 是否满足窗口大小,若满足,则利用熵值计算公式对该窗口内的

数据包进行一次熵值 ( )H xα 的计算;反之,继续等待下一个数据包的到达。

4)若上一步计算出的熵值比阈值低,那么就将异常队列计数器加 1;反之,将它清零。若异常队列

Page 5: Research on DDoS attack detection technology based on SDN · DDoS攻击针对SDN控制平面的可行性;在数据平面上利用了快填充隐蔽流DDoS攻击和针对该类DDoS

第11卷 第22期

2018 年 11 月 中国科技论文在线精品论文 2274

计数器到达了阈值检测系统就判断发生 DDoS 攻击。检测算法流程如图 4 所示。

图 4 检测算法流程图

Fig. 4 Flow chart of detection algorithm

该算法需要通过具体实验对如下几个重要参数进行确定:窗口大小、Renyi 熵的阶数、针对不同程

度攻击的阈值以及异常队列计数器阈值。

4 仿真实验与分析 4.1 仿真实验环境的搭建

在该仿真实验环境中使用 POX 作为 SDN 控制器,使用 Mininet 模拟网络环境。其中,POX 是基于

Python 开发的轻量级 SDN 控制器,取代了之前的 NOX 控制器,它基于组件化设计,为软件组件提供了

定义良好的应用程序界面(application program interface,API),网络管理者可以有效地利用 API 创建新

的网络管理和控制应用程序。在本次仿真实验中,需要将上文提出的检测模块部署在 POX 控制器中,使

其可以记录接收到的数据流信息,并且能够计算每个窗口中接收到数据包的熵值,并生成记录文件。 Mininet 是一个轻量级的软件定义网络和测试平台,并且支持 OpenFlow、Open vSwitch 等各种协议,

它具有很好的硬件一致性和高扩展性,能够高度自定义网络结构,在此进程虚拟化平台下开发的代码可

以很容易地迁移到真实的环境中,因而经常被用来仿真 SDN 网络。在此环境下 SDN 交换机使用 Open vSwitch(OVS),整个仿真环境结构如图 5 所示。

实际仿真环境的配置是在一台笔记本电脑上运行了两台 VMware 虚拟机,并分别配置了 POX 控制器

Page 6: Research on DDoS attack detection technology based on SDN · DDoS攻击针对SDN控制平面的可行性;在数据平面上利用了快填充隐蔽流DDoS攻击和针对该类DDoS

Vol.11 No.22

November 2018 赵智勇等:基于 SDN 的 DDoS 攻击检测技术研究 2275

和 Mininet 仿真器,具体配置如下。 宿主机:操作系统,Win10 专业版;CPU,Intel(R) Core(TM) i7-4720HQ CPU @ 2.60 GHz(8 核);

内存,16 GB;硬盘,500 GB. POX 控制器虚拟机:操作系统,Ubuntu14.04 Server;CPU, Intel(R) Core(TM) i7-4720HQ CPU @ 2.60 GHz

(2 核);内存,6 GB;硬盘,50 GB. Mininet 仿真器虚拟机:操作系统,Ubuntu14.04 Server;CPU,Intel(R) Core(TM) i7-4720HQ CPU @

2.60 GHz(2 核);内存,6 GB.

4.2 仿真实验设计

搭建该实验环境是通过 Mininet 提供的 Miniedit 实现的。它提供了一种可视化界面,方便用户自定

义拓扑,界面直观,可视性强。使用 Mininet 建立了由 1 个 POX 控制器、3 台交换机与 18 台主机相连的

网络,如图 6 所示。其中,h1~h18 的 IP 地址为 10.0.0.1~10.0.0.18,选择 h18 这台主机作为被攻击主机,

h1 作为攻击者来发动攻击,h2 和 h3 发送正常流量。具体发动攻击的方式是在 h1 主机上面运行 Scapy程序,该程序可用来实现数据包的产生、攻击与数据包的伪造等功能。本文采用 Scapy 中的 random 函数

来产生随机的源 IP 地址。在 Scapy 中还可以设置数据包类型及数据包发送的时间间隔。在本文中,正常

流量及攻击流量统一采用 TCP 的数据包类型,可以设置不同的数据包发送时间间隔来模拟出不同程度的

DDoS 攻击流量,然后对不同程度的攻击强度进行实验对比分析。

4.3 实验与分析

4.3.1 窗口大小

在进行实验分析之前需要对几个关键参数进行确定,如窗口大小、Renyi 熵的阶数、异常队列计数

器阈值以及针对不同程度的 DDoS 攻击所设置的阈值。在通过一定次数的实验对以上参数确定之后就可

以使用本文提出的算法对 DDoS 攻击进行检测判断了。 首先是对窗口大小参数的选择,窗口是对数据包收集的样本空间,如果设置太小就会影响算法判断

攻击的准确度,如果设置太大会给控制器带来更大的计算负载,因此在 DDoS 攻击检测过程中,窗口大

小起着至关重要的作用。故首先采用香农熵的计算方式来选择合适的窗口大小。表 1 显示了在 25%的攻

击流量下对不同窗口大小所进行的 20 次测试的统计结果。

图 6 实际仿真环境

Fig. 6 Actual simulation environment

图 5 仿真环境结构

Fig. 5 Simulation environment structure

Page 7: Research on DDoS attack detection technology based on SDN · DDoS攻击针对SDN控制平面的可行性;在数据平面上利用了快填充隐蔽流DDoS攻击和针对该类DDoS

第11卷 第22期

2018 年 11 月 中国科技论文在线精品论文 2276

由表 1 可见,当窗口大小为 50 时,正常熵值和攻

击熵值之差较大,并且二者的标准差也相对较大,由

此可以判断窗口大小可以有效地反映出熵值的变化。

同时,由于窗口越大就会对控制器带来越大的计算负

载,故最终选择窗口的大小为 50,也就是每 50 个数

据包计算一次熵值。另外,正常流量的平均熵值从 50

的窗口大小往后就没有明显的上升了,这是由于实验

环境的主机数为 18,并且生成正常流量的方式是统一

通过 Scapy 设定发送数据包的类型及指定的目的主机

产生的。

4.3.2 Renyi 熵的阶数

由表 1 的统计数据可知,在窗口大小为 50 的条件下,正常流量的平均香农熵值为 4.04,25%攻击流

量的平均香农熵值为 3.23. 若选择 95%的置信水平,则正常流量的置信区间下限为 3.90,25%攻击流量

的置信区间下限为 3.12,二者相差 0.78,下降了 20%,然后就可以根据正常熵值选择 20%的下降比率来

确定阈值,这样就可以检测 25%的 DDoS 攻击流量。但这个下降比率非常容易引起误判,因此本文算法

采用 Renyi 熵来计算最终的熵值和阈值。图 7 为在 25%的攻击流量下,不同阶数的 Renyi 熵的熵值下降

比率,其中香农熵为 1 阶的 Renyi 熵。

由图 7 可知,香农熵的下降百分比为 20%. 随着 Renyi 熵阶数的增加,熵值下降的幅度增大,这样

更有利于选择合适的阈值,增强检测能力,防止误判。另外,熵值下降的幅度在 Renyi 熵阶数大于 5 之

后趋于平缓,相差不大。因此,后续实验都选定 5 阶的 Renyi 熵为标准来计算熵值。

4.3.3 不同程度攻击的实验对比

在确定了窗口大小为 50 和 Renyi 熵的阶数为 5 之后,需要对不同程度的 DDoS 攻击进行实验以计算

熵值并与正常流量的熵值进行对比。该实验通过 Scapy 工具每次产生 5 个窗口的流量,总共产生 20 次流

量,也就是 5 000 个数据包。其中,一开始只有 h2 和 h3 产生普通流量,在一定时间间隔后由 h1 产生攻

击流量,产生不同程度的 DDoS 攻击是由 Scapy 发送数据包的时间间隔来决定的。图 8~图 10 分别为在

100 个窗口内对包含 25%、50%、75%三种不同程度的攻击流量进行熵值计算的结果。

结合图 8~图 10 和表 2 可知,从第 30 个窗口开始,也就是产生攻击流量之后,熵值发生了一个明

表 1 窗口大小对熵值的影响 Tab. 1 Influence of window size on entropy

W AH NH N A| |H H− SN

SA

5 1.36 1.97 0.61 0.31 0.20

10 2.21 2.79 0.58 0.40 0.36

50 3.23 4.04 0.81 0.42 0.45

100 3.42 4.09 0.67 0.35 0.38

500 3.60 4.11 0.51 0.32 0.40

1 000 3.75 4.13 0.38 0.28 0.32

注:W 为窗口大小; AH 为在指定大小的窗口内包含 25%的攻击

流量的平均熵值; NH 为在指定大小的窗口内正常访问流量的平

均熵值; N AH H− 为熵值之差;SN 和 SA 分别为在正常访问流量

和攻击情况下的熵值标准差

图 7 Renyi 熵阶数对熵值的影响

Fig. 7 Influence of entropy order of Renyi on entropy value

图 8 25%攻击流量对熵值的影响

Fig. 8 Influence of 25% attack flow on entropy

Page 8: Research on DDoS attack detection technology based on SDN · DDoS攻击针对SDN控制平面的可行性;在数据平面上利用了快填充隐蔽流DDoS攻击和针对该类DDoS

Vol.11 No.22

November 2018 赵智勇等:基于 SDN 的 DDoS 攻击检测技术研究 2277

显的下降,并且随着攻击强度的增大,熵值下降的幅度增大,Renyi 熵的下降比率分别为 42%、71%和

88%,香农熵下降比率分别为 19%、40%和 68%. 可以看出,Renyi 熵的下降比率要比香农熵在同样攻击

程度条件下的下降比率大,从而能够更好地选取阈值以检测攻击。而 Renyi 熵的标准差也随着攻击强度

的增大而减小,说明熵值波动范围有所减小,更利于阈值判断。而香农熵的标准差随着攻击强度的增大

而增大。由此可见,Renyi 熵相比于香农熵更加能够区分不同流量之间的差异,因此选择阈值时要采用

Renyi 熵的计算方法。 图 8~图 10 的关键信息统计如表 2 所示。

表 2 不同程度攻击的熵值对比 Tab. 2 Entropy comparison of different degrees of attack

Renyi 熵的阶数 P/% AH NH N AH H− SN

SA K/%

5 25 2.21 3.82 1.61 0.12 0.11 42

50 1.10 3.83 2.73 0.09 0.08 71

75 0.43 3.83 3.40 0.06 0.05 88

1(香农熵) 25 3.29 4.06 0.77 0.05 0.07 19

50 2.42 4.07 1.65 0.11 0.08 40

75 1.30 4.07 2.77 0.13 0.08 68

注:P 为攻击流量所占总流量的比例;K 为熵值下降的比率。前三行数据是在 Renyi熵的阶数为 5 的条件下得出的,后三行是在 Renyi 熵的阶数为 1(香农熵)的条件下

得出的

4.3.4 攻击阈值与计数器阈值

由图 8~图 10 和表 2 的数据可知,25%攻击流量的平均 5 阶 Renyi 熵值为 2.21,标准差为 0.11;从

第 30 个窗口至最后 1 个窗口的最大熵值为 2.42,最小熵值为 1.94,而普通流量的最大值为 3.96,最小值

为 3.66. 由此可知,二者熵值的最小差值为 1.24,下降比率为 33.9%,因此在单个窗口内检测 25%攻击

流量时,所选择的攻击阈值可以为 2.42~3.66 中的某一个值,如选择 2.43 作为阈值,那么当对一个窗口

内的数据包进行计算的熵值比阈值 2.43 低时,就对计数器加 1,如果有连续 n 个窗口的熵值都比阈值要

低,就检测到 DDoS 攻击。而这里的 n 就是异常队列计数器阈值。 异常队列计数器阈值不应过小,否则会增加误报率;也不应过大,否则会影响检测的速度。通过实

验对 3~7 这 5 个不同的异常队列计数器阈值进行不同程度的攻击流量测试,发现当阈值为 5 时平均误报

率接近于 0,因为阈值越大,检测时间越长,故最终选择异常队列计数器阈值为 5.

图 9 50%攻击流量对熵值的影响

Fig. 9 Influence of 50% attack flow on entropy

图 10 75%攻击流量对熵值的影响

Fig. 10 Influence of 75% attack flow on entropy

Page 9: Research on DDoS attack detection technology based on SDN · DDoS攻击针对SDN控制平面的可行性;在数据平面上利用了快填充隐蔽流DDoS攻击和针对该类DDoS

第11卷 第22期

2018 年 11 月 中国科技论文在线精品论文 2278

5 结论 本文提出了一种轻量级的基于 Renyi 熵对 SDN 环境下的 DDoS 攻击进行检测的算法。利用 SDN 控

制层和转发层的特性,可以对流表中的流表项包头域进行目的 IP 的提取,通过计算熵值并与阈值比较来

进行攻击的判断。并通过 POX+Mininet 的仿真实验环境对该算法进行了实验验证,可以得出该算法比传

统的香农熵计算方法有更高的检出效率和容错率,参数可根据实际的网络状况自定义,可以有效地检测

DDoS 攻击。

[参考文献] (References)

[1] SEZER S, SCOTT-HAYWARD S, CHOUHAN P K, et al. Are we ready for SDN? Implementation challenges for

software-defined networks[J]. IEEE Communications Magazine, 2013, 51(7): 36-43.

[2] SPECHT S, LEE R. Distributed denial of service: taxonomies of attacks, tools, and countermeasures[J]. International

Workshop on Security in Parallel and Distributed Systems, 2004(9): 543-550.

[3] LIN Y D, LIN P C, YEH C H. An extended SDN architecture for network function virtualization with a case study on

intrusion prevention[J]. IEEE Network, 2015, 29(3): 48-53.

[4] KUMAR S, TURNER J, WILLIAMS J. Advanced algorithms for fast and scalable deep packet inspection[C]//Proceedings of

the 2006 ACM/IEEE Symposium on Architecture for Networking and Communications Systems. New York: ACM, 2006:

81-92.

[5] YAN R Y, ZHENG Q H, PENG W M. Multi-scale entropy and Renyi cross entropy based traffic anomaly detection[C]//2008

11th IEEE Singapore International Conference on Communication Systems. Guangzhou: IEEE, 2008: 554-558.

[6] 龚庆祥. 软件定义网络中分布式拒绝服务攻击研究[D]. 深圳:深圳大学,2017.

GONG Q X. Research on distributed denial of service attack in software defined network[D]. Shenzhen: Shenzhen University,

2017. (in Chinese)

[7] 龚冉. 基于 SDN 的负载均衡和 DDoS 攻击检测技术的研究[D]. 合肥:安徽大学,2016.

GONG R. Research on load balancing and DDoS attack detection technology based on SDN[D]. Hefei: Anhui University,

2016. (in Chinese)

[8] 李赫. 基于 SDN 的 DDoS 流量识别与控制技术研究[D]. 南京:南京邮电大学,2016.

LI H. Research on DDoS traffic identification and control technology based on SDN[D]. Nanjing: Nanjing University of Posts

and Telecommunications, 2016. (in Chinese)

[9] 杨梦婷. 基于 OpenFlow 的 SDN 网络仿真平台设计与 DOS 攻击检测[D]. 北京:北京邮电大学,2015.

YANG M T. Design of SDN network simulation platform based on OpenFlow and DOS attack detection[D]. Beijing: Beijing

University of Posts and Telecommunications, 2015. (in Chinese)

[10] MOUSAVI S M, St-HILAIRE M. Early detection of DDoS attacks against SDN controllers[C]//2015 International Conference on

Computing, Networking and Communications (ICNC). Garden Grove: IEEE, 2015: 77-81.

[11] ZYCZKOWSKI K. Renyi extrapolation of Shannon entropy[J]. Physics, 2003, 10(3): 297-310.