.nCtinfo security
术研究
2017年第12期\\
d〇i :10.3969/j.issn.1671-1122.2017.12.005
SDN中DDoS检测及多层防御
方法研究
-----------------------徐洋1,2,陈錢2,何4兑2,谢晓免1-----------------------(1.贵州师范大学贵州省信息与计算科学重点实验室,贵州贵阳550001 ; 2.贵州师范大学贵阳市信息安全联合研究中心
贵州贵阳550001)
摘要:软件定义网络的出现使传统网络发生了性的变革。文章针对SD
,
N网络架构
提出一种DDoS检测及防御方法。首先,提出基于熵值算法的DDoS检测方法,通过对熵值和 阈值的比较进行攻击判断。然后,设计了双层防御体系,分别是在转发层对流表进行处理;在 控制层利用新的检测方法判断攻击,结合ACL管控和流量管理,使用OpenFlow协议实现策略。最后,利用OpenDayLight控制器、sFlow监控工具和M并能够快速做出防御响应。
关键词:软件定义网络;分布式拒绝服务;流表;熵值;检测及防御
中图分类号:TP309.1 文献标识码:A 文章编号:1671-1122 ( 2017 ) 12-0022-07
中文引用格式:徐洋,陈鍈,何锐,等
ininet仿真器构建出一个实验仿真平台。实验结果表明,文章提出的检测及防御方法提高了对DDoS攻击行为的检测率,降低了误报率,
.SDN中DDoS检测及多层防御方法研究[J].信息网络安全,
2017 ( 12 ) : 22-28.
XU Yang,CHEN Yi, HE Rui, et al. Research of DDoS Detection and Multi-layer Defense in SDN[J]. Netinfo Security, 2017(12):22-28.
英文引用格式:
Research of DDoS Detection and Multi-layer Defense in SDN
(l.Key Laboratory of Information and Computing Science of Guizhou Province, Guizhou Normal University, Guiyang Guizhou 550001, China, 2.Guizhou Normal University and Guiyang Public Security Bureau Joint
Research Centre for Information Security, Guiyang Guizhou 550001, China)
XU Yang12, CHEN Yi2, HE Rui2, XIE Xiaoyao1
In this paper, we propose a method of DDoS (distributed denial of dervice)detection and defense m SDN. Firstly,a DDoS detection method based on entropy algorithm is proposed. The attack is judged by comparing the entropy with the threshold. Secondly,double defense system is designed.At the forwarding la}^er? the convection table is processed. At the control level, the new detection method is used to determine the attack. Combining ACL control and traffic management?implement policies using the OpenFlow protocol. Lastly,an experimental simulation platform is constructed using OpenDayLight controller, sFlow monitoring tool and Mimnet simulator. The experimental results show that, the proposed detection and defense methods improve the detection rate of DDoS attacks, reduce the false positive rate, and can quickly make defensive response.
Key words: SDN; DDoS; flow table; entrop}^; detection and defense
收稿日期:2017-9-1
基金项目:囯家自然科学基金重点项目[61332019];贵州省基础研究重大项目[黔科合J字20142001];贵州省科技合作计划重点项目[黔科合
Abstract: Software defined network(SDN)? has led to disruptive changes m traditional networks.
LH字20157763];住房和城乡建设部科学技术计划项目[2016-K3-009];全囯统计科学研究项目[2016LY81]
作者简介:徐洋(1983—),男,山东,副教授,博士,主要研究方向为网络安全、信息系统安全;陈鍈( 1992—),男,山东,硕士研究生,主 要研究方向为网络安全;何锐( 1972—),女,贵州,本科,主要研究方向为网络安全;谢晓尧( 1952—),男,贵州,教授,博士,主要研究方
向为大数据、网络安全〇
通信作者:徐洋xy@gznuhedu.cn
22
1背景
软件定义网络(SoftWare Defined Network,SDN)⑴是 由Emulex提出的一种新型网络创新架构,其核心技术 OpenFlow通过将网络设备控制面与数据面分离开来,实现 了网络流量的灵活控制,通过AH进行网络设备与控制软 件之间的通信,为核心网络及应用的创新提供了良好的平 台。大数据时代下,SDN网络架构正在被广泛研究和使用, 谷歌、博科和华为等IT巨头已经将SDN搭载到自己的大 数据中心。
分布式拒绝服务(DD〇S)攻击利用僵尸网络对目标机 发起攻击,占用宽带和消耗有限的资源,使目标服务器机 宕机或者不能正常访问,从而导致应用系统和主机无法提 供服务从而拒绝服务12]。除了传统的PC “肉鸡”和IDC服 务器外,智能设备也逐渐被利用为DD〇S攻击工具。2016 年10月21日,美国东区提供动态DNS服务的Dyn DNS遭 到大规模DD〇S攻击,导致许多使用Dyn DNS服务的网站 一度瘫痪,像GitHub、Twitter、Aii.bnb等都出现无法访问 的结果。
面对形式越来越多的DDoS攻击,SDN体系架构的出 现为解决该问题提供了新的研究方向。FAYAZ等人提出 了 Bohatei这种弹性和灵活的DDoS防御系统['还有迪过 SDN的路由优化和通信质量来防御DDoS攻击队李鹤飞 提出基于软件定义网络的DD〇S攻击检测方法和缓解机制 的研究 '金磊提出了基于SDN技术的网络人侵阻断系统 HYDRA的设计与实现16],马俊青提出了面向软件定义网 络的流量分析与识别技术研究17],李赫提出了基于SDN的 DD〇S流量识别与控制技术研究1s]。但是这些研究主要从 SND的某个层面对DD〇S攻击来进行防御,缺少从全局来 进行动态考虑,不能真正有效的满足对DD〇S的防御。
本文主要研究SDN架构下的DD〇S检测和防御方法, 对于SDN的安全防护具有重要意义。
2基于熵值算法的DDoS检测
网络流量通常存在一定的随机性,通过熵值的随机性 与流量的随机性存在正相关的特性可以很好地对网络流量 进行一个判断p],本文提出采用信息熵算法来判断SDN网 络的流量异常情况。当检测模块收到流表分类模块传送过
/-------------------- nCtinfo security
2017年第12期技术研究国
来的队列信息后,利用熵值算法对队列中的流表信息进行 熵值计算,通过与阈值进行比较,来判断队列中的流表是 否异常。
2.1熵值算法
熵是在物理热力学中的概念,而信息论的创始人香农 弓丨进了信息熵这个概念,表示对随机事件不确定性的度量。 熵一般用好来表不,假设某个系统工由这 W个变量组成,每个变量的概率分别为。则 根据信息熵打的定义表示为:
那>技,,1〇&尸, ⑴
在DDoS攻击的检测网络信息流中,通过熵值的分散 程度来表示流量的集中程度,熵值越小表示流量越集中, 说明存在DDoS攻击的可能性大;熵值越大表示流量越分 散,说明存在DDoS的可能性小。根据信息熵的定义,把 流表项中的某个属性(如源IP地址)记为I,其特征值记 为见则数据包的流表项中属性X出现的次数记为W,,X 的
表示记为■••.#},特征值出现的总次数记为
/=1
根据信息熵中概率的计算方法,贝
公
^
式(2)
表示在SDN转发流中属性I的信息熵:
H(-X)^-2Pi\\〇SiPi
(2)
将计算Si的信息熵值与阈值进行比较,比阈值高说明 流表正常,比阈值低说明流表异常。本方法与机器学习和 聚类算法相比,不需要进行大量的训练和部署时间,节省 了系统的计算负载,以及节约了系统的计算资源。
2.2熵值计算
1)流表预处理
对网络五元组我们定义为一个流表:F/=<源IP地址 (IPsrc),目的 IP 地址(IPdst),源端口(Portsrc),目的端 口(PortDst),IP协议(IPprot。)〉。根据控制器对交换机 实时更新的转发机制,将能够进行流表匹配的数据包在 流表项中的计数器中计数,成功匹配一个就在该流表的计 数器中加1。根据上面对流表的定义,记一个流表的表达
式为:
77/={ 贝恠一定的时间间隔内,流表的增加数目通过公式(3) 可计算: N二Np^Prtj-N(3) 23 ninfourity I.Ct sec技 术研究 2017 年第 12 期 ___ 2)熵值计算 流表预处理之后,将处理过后的数据分类成队列,以 队列为单位计算熵值的大小,把计算输人量记为M。在 队列中存在5个特征值,可以假设检测属性为目的IP地 址(IPdst),其中设队列长度M4,根据对流F,的定义及公 式(3 ),可知在A/时间的间隔内所对应的计数器增量为 &(A/)。则在A/内特征值IPdst出现的次数表示为公式(4 ): (A/)[IPdst=_P,] (4) 随之,通过所得到的每个IPdst来求出对应的计数值 •工„},根据公式(5)可以求出每个IPdst出现 的概率: 通过的计算,可以求出在A/时间内连接到交换 机%的IP地址的概率分布情况,记为 尸 ,,}, 其对应熵值气: 項奶)=-|凡log2乃 (6) 2.3攻击判‘ 在SDN中网络的动态变化对固定的阈值影响很大,例 如,业务量和服务量增加需要添加大量的主机和交换机, 导致阈值不再准确,同时在受到DD〇S攻击时,交换机或者 主机的宕机也会影响阈值的改变。因此在DD〇S检测算法中 采用动态的加权平均阈值来进行网络异常的判断,能够保证 检测的准确率,同时可以减少资源利用率,降低误报率。 在SDN中需要分两步对DD〇S攻击进行判断,首先对 单队列进行异常检测,通过对某一个队列里的数据计算出 熵值,再跟动态阈值进行判断比较,确定出该单队列是否 为流表异常队列;若该队列正常,异常队列的计数器无需 变化;若存在异常,则把异常队列的计数器记为1,在对 后面的流表队列进行完判断后,继续异常的话,异常计数 器按照1的增量继续往上添加,直到该异常数值达到规定 的异常数值后,则认定网络中发生了 DD〇S攻击,进行防御; 若没有达到规定值,就清零该计数器。 具体流程如图1所示。 从图1中,我们可以清楚地看到攻击判断流程,具体 的检测步骤如下。 1)单队列异常检测 将流表正常时的熵值、发生DD〇S攻击时的熵值,以 24 图1攻击判断流程图 及正常状态下的平均熵值分别表示为//„(%)、 %)及 £ ( SDN网络中流量会根据访问量的增加而实时变化, 采取动态平均熵值£( %)和动态检测阈值(T可以很好地判 断DDoS攻击。但是光凭动态变化来判断攻击的发生可能 会存在一定的误报率,例如,在平均的前半段流量很平稳, 而平均的后半段流量急剧增长,都是正常访问存在如此差 别,可能会导致攻击的判断误报,阻断了正常流量的访问; 因此求平均熵值时会对[次熵值进行加权平均计算。为使 结果更加准确,通过实验得知,越靠近检测队列前面的熵 值越容易影响到检测的结果,因此在计算I次正常熵值的 加权平均时,采用如下的权重计算公式: ai=^ T,且 |«,=1 (7) 通过'对I次正常熵值的加权值进行计算,把第/个正常熵值表示为//„(%)[/],根据权重的计算公式,可得到平均熵值的计算公式如下: (8) 通过公k( 9)计算出该队列数据对应的阈值: (9) 最后,通过公式(10)判断该队列是否为异常队列: (10) 2)多队列攻击判断 由于网络流量的不确定性和DD〇S的持续性,单队列 检测完成后并不能准确地判断出DD〇S攻击是否存在。我 们只能把对该队列的判断定为异常队列,后续还需要继续 对连续的队列进行判断,只有达到规定的异常窗口数才能 断定DDoS攻击存在。 具体的过程为:判断单个队列熵值是否超出阈值,若 超出则记为异常,同时在异常队列的初始化计数器乙上计 数值记为1 ;随后等待下一个队列数据的检测结果:若下 一个队列检测结果为正常,则使计数器清零,重新等待异 常队列的到来;若下一个队列仍然为异常,则使异常队列 计数器忍加1,:, 设定异常队列计数器阈值为0,即当异常队列计数器 】:大于时,认为网络中发生了 DD〇S攻击:, 3防御方法 设计SDN防御架构,针对DD〇S攻击形成转发层、控 制层双层防御,实现集中控制全网的流量动向和攻击防御。 3.1转发层架构设计 首先根据SDN转发层的流表特性,针对流表进行异 常检测。针对转发层的流表进行收集统计,统计模块分为 3个部分:流表收集,流表预处理,检测。如图2所示。 图2流表收集流程图 3.1.1流表收集 每个流表项主要包括3个部分:用于数据包匹配的包 头域、统计匹配个数的计数器、用于展示匹配的数据包如 何处理的动作。流表收集模块周期性地向OpenPlow交换 机发送〇fp_Flow_Stats_Request报文,通过获得的流表判 断DDoS攻击。 3.1.2流表预处理 流表预处理模块负责接收流表收集模块收集的流表, 利用2.2节介绍的网络五元组对收到的流表进行预处理 通过信息内容的处理,把流表整理成数据流的格式,转发 到流表分类模块。 3.2控制层架构设计 根据ACL管控和流量管理这两种防御手段,形成基于 SDN控制层的DDoS多重攻击防御体系首先根据提出的 熵值算法来判断交换机上是否遭受到了 DDoS攻击,若遭 受到DDoS攻击则进行状态检测,通过控制器的集中管理, /-------------------- nCtinfo security 2017年第12期技术研究国 快速地获取网络全局运行状态,通过ACL管控中的黑白名 单策略流量的传输™,再依据攻击检测结果进行流量 管控,维护全局网络中的节点,做到最大程度地消除和阻 止DDoS攻击对网络的危害。具体设计如图3所示。 图3 DDoS攻击防御的控制层架构设计 1) 状态检测模块 本模块主要根据攻击检测模块获取攻击检测结果, 分析受害主机在网络中的位置,查找到与交换机相连的具 体端口。当产生DDoS攻击时,在针对全局网络拓扑的检 测下,结合攻击检测给出的攻击判断信息,查询出受害机 的IP地址和当下网络中交换机的流表状态,获得受害机 的网络位置。 2) ACL管控模块 该模块根据不同的检测结果对与受害机通信的主机进 行分类标记,控制主机之间的通信情况。具体的策略是判 断进行通信对话的主机是否为攻击机,通过黑白名单以及 流的统计值来实现。若通信主机为受害机,则禁止与其通信; 若不是攻击机,则不干扰其与受害机的通信。黑白名单的 主机地址是根据控制器的策略转发动态变化的。 3) 主机分类 该模块通过分析和统计与受害机通信的流量,依据一 定的策略选取通信流,并输出其相应的主机IP和应用层源、 目的端口。其思想是分析ACL管控模块无法判断的通信流 是否属于攻击流,将其标记为两类,即可疑主机和合法主机 4) 流量管理模块 该模块可以设置对可疑数据流所要执行的动作,即分 流和限速。分流可以设置转发的目的设备IP地址,并利 用最短路径算法基于网络拓扑计算到达特定设备的路由线 路;限速可以把流量通过转发到备份设备或者设置多种流 量速率作为标准。 5) 决策实现模块 该模块可以自动生成合适的流表项,并通过OpenFlow 协议下发添加、修改或删除流表项的命令。 25 I.nC nfosecurity 技术研究 2017年第12期X 3.3防御过程 防御的具体工作过程如图4所示。 图4防御的具体工作流程 4实验与验证 4.1实验环境搭建 实验搭载在服务器IBM system x3650 M4中,使用4 台虚拟机构建实验环境。其中OpenDayLight控制器[11]和 sFlow collector 部署在 Linux Ubuntu 14.04 ;—'台虚拟机安装仿 真工具Mininet2.2.1[12,13],一台虚拟机部署本文设计的DDoS 检测和防御系统,使用sFlow监控[14]快捷地反映网络的变化。 4.2实验验证 首先通过0DL控制器和Mininet仿真软件构造出一个 SDN网络架构,建立一个由7台交换机与36台主机组成的 网络实验环境。在该网络环境下,通过不同的实验模拟环 境产生的流量数据,具体地确定出队列的大小、K值和异 常队列计数器阈值。 4.2.1队列大小的确定 根据设计好的流表统计模块收集流表。我们通过设计 正常的流量访问实验和异常的DDoS攻击实验来确定队列 的大小,对队列的大小从5到1000分为10个档次,表1 中显示了所进行的部分测试实验数据。其中M代表队列长 度,昃代表发生DDoS攻击时的熵值平均值,芎代表正常服 务访问下熵值的平均值,A和 '分别代表未发生攻击时和 发生攻击时的熵值标准差。 26 表 1 队列大小对熵值的影响 MHf\\H, ~ Hf\\今 51.371.930.560.770.45101.902.710.810.880.503.214.331.121.260.67803.424.531.131.310.631003.614.781.161.400.615004.445.420.980.950.421000 5.13 5.62 0.49 0.37 0.18 从表1得知,在队列较大和较小时熵值变化不大,在队 列大小为50到500之间时熵值出现了明显的变化,且熵值的 标准差存在明显的差别,说明熵值变化较明显。在进行攻击 实验时需要每次注人不同的攻击比,而队列的大小对控制器 的计算负载和熵值差额也会产生影响 '为了更好地确定攻 击比的影响,搭建实验环境进行注人攻击比为30%、60%和 90%的3次攻击实验,结果分别如图5〜图7所示。 图5 30% 攻击比对负载和熵值的影响 图6 60% 攻击比对负载和熵值的影响 图7 90°/。攻击比对负载和熵值的影响 在图5〜图7中,CPU1表示控制器的占用率,当攻击 流量不变时,加大队列会导致CPU1的占用率增大;攻击 流量增大时,CPU1也跟着逐渐增大,但是随着攻击比接 近100%时,CPU1变化不会特别明显。通过观察图5〜图 7可以发现,当攻击比不变时,熵值差先增大后减小,在 队列长度为80时,熵值的平均差值最大;当攻击比逐渐 增大时,熵值差也是先增大后减小,可以看到在队列长度 为80时,熵值的平均差值最大。根据对CPU1占用率和熵 值差值的判断,队列为80时最为合适。 4.2.2正常队列[值的确定 在队列检测时,又才正常队列足值的选取应当为足值越 大熵值越平均化,更加能够代表当前网络的状态,但是足 值选取过大会增加加权平均熵值的计算难度,也会增加控 制器负载,降低检测的准确性。本实验在30%的攻击流 量和队列长度为80的条件下分析不同足值对检测的影响, 如图8所示。 图8不同足值对检测性能的影响 通过图8可知,[值越大,CPU占用率会小幅增加,而检测时间增加幅度非常大。为了减小负载和增加检测的准 确性,最后选择K的数值为3。 4.2.3异常队列计数器阈值的确定 为了准确地判断出是否遭到DDoS攻击,对连续的异 常队列进行了阈值的确定,主要从平均误报率和平均检测 时间来确定。对每个阈值进行攻击流量为〇、20%、40% 和60%的4次实验,获得结果如表2所示。 表 2 阈值对误报率及检测时间的影响 阈值34567平均误报率78.09%43.%3.01%2.01%0%平均检测 时间/s 7.58 11.67 13.81 19.88 34.95 从表2中可以得到,异常队列计数器的阈值在3和4 时平均误报率很高,平均检测时间较少;从5之后开始误 N0TINFO SECURITY y4〇17年第12期 技术研究| 报率很低,说明网络流量逐步变平稳变动较小,但检测时 间在逐步增加。故通过实验研究将阈值设定为5。 4.3实验防御过程 通过Mininet仿真[12]构建的IP地址范围在10.0.0.1到 10.0.0.36,分别记为hi到h36。把主机h3到h8记为黑名单, 主机h30到h35记为白名单,黑白名单上的主机分别连接 在不同的交换机S2到S7上。其中hlO到h28为攻击主机, 根据各种实验环境发送攻击流量。 4.3.1流量的发送 在hlO到h28上面安装Scapy工具,利用random函数 中随机浮点数可以产生随机的IP地址,用来伪造源IP地址。 在进行不同攻击比的仿真实验时,Scapy可以通过配置异 常流量的发送间隔和正常流量的发送间隔达到要求。同时 数据包类型也可以确定。 4.3.2防御效果分析 控制层的流量收集模块每隔20秒的时间发送一次 OfP_Fl〇w_StatS_ReqUeSt报文,收集流表分析出流表项中的 网络五元组,通过SDN控制层的检测模块进行DDoS攻击 判断。 根据预先设计好的黑白名单的主机列表,对防御中 的流速设置上限,分析流项表和受害主机名单,通过 ACL管控可以看到流量传达。 针对主机10.0.0.35发动DD〇S攻击,结果如图9所示。 可以看出在分布式防御体系下,注人一段时间的异常流量 后,自动开启了防御体系,大大清洗了异常流量,起到了防 图9 DDoS防御效果 通过对控制器、仿真器和监控器的选择,搭建了合理 的实验环境。通过实验验证,确定了实验过程中队列的大 小、正常队列足值的大小和异常队列计数器阈值的大小。 在7个交换机和36台主机的攻防实验下,检测了分布式防 御体系的防御性能和防御效果,能够有效地通过ACL管控、 27 IjNeTINFO SECURITY 技 术研究 2017年第12期 分流管理来降低异常流量。 5结束语 结合SDN控制层和转发层的特性,本文提出了一种熵值 算法对流表中流表项的包头域进行特征提取,得到关于网络 五元组的特征值,进行攻击判断。设计了结合转发层流表处 理、控制层ACL管控和流量管理结合的双层防御体系。通 过在OpenDaylight的开源控制器和Mininet f方真平台上的实验, 确定了检测变量,检测出了网络中的异常流量和异常流表项, 验证了 DDoS攻击检测防御的有效性。鬌(责编吴晶) [1参考文献: ] 左青云,陈鸣,赵广松,等.基于OpenFlow的SDN技术研究[J]. 软件学报,[2] 2〇l3(5):l〇78_l〇97. 左青云,张海粟.基于OpenFlow的SDN网络安全分析与研究[J]. 信息网络安全,2015 ( 2 ) : 26-32. Elastic [3JFAYAZ S K, TOBIOKA Y, SEKAR V, et al. Bohatei: Flexible AndSymposium, Ddos Defense[C]// 2015:817-832. August 12—14, USENIXAssociation. 2015,Washington, D.C. 24th USENIX New York: Security IEEE, [4] .一种基于SDN技术的多区域安全云计算架构研究[J].信息 网络安全[5] ,2015 ( 9 ) : 20-24. 李鹤飞.基于软件定义网络的DDoS攻击检测方法和缓解机制的 研究[D].上海:华东师范大学,[6] 2015. 金磊.基于SDN技术的网络入侵阻断系统HYDRA的设计与实 28 现 [D].南京:东南大学,[7] 2016. 马悛青.面向软件定义网络的流量分析与识别技术研究[D].南京: 南京邮电大学,[8] 2015. 李赫.基于SDN的DDoS流量识别与控制技术研究[D].南京:南 京邮电大学,[9] 2016. 陈颖聪,陈广清,陈智明,等.面向智能电网SDN的二进制代码 分析漏洞扫描方法研究信息网络安全[10] ,2016 ( 7 ) : 35-39.王秀磊,陈鸣,邢长友,等.一种防御DDoS攻击的软件定义安 全网络机制软件学报,[11] 2016, 27(12):3104-3119. 齐宇[12] .SDN安全研究信息网络安全,2016 Security DAYAL 2016, 9(26):6386-11. and N, DDoS MAITY P, in SDNQ]. SRIVASTAVA S, Security & Communication et al. Research Trends in ( 9 ) : 69-72.Networks, [13JDAO Combat Against N N, Information Scientists DDoS PARK J Attack H, PARK in SDN M, Network[C]//Korea et al. A Feasible Method Institute To of Information New York:Networking, Januarg and Engineers 12—(KIISE). 14, 2015, International Conference on Siem Reap, Cambodia. 正EE,2015:309-311. 至民阅读身利?f 未p据中华人民共和国发布的《关于转发 < 关于幵展“全 •民阅读报刊行”活动的通知 > 的通知》(公宣[2010H07号) 文件的精神,为进一步拓宽民警的阅读视野,本刊编辑部 特向全国民警推荐《信息网络安全》杂志。 因篇幅问题不能全部显示,请点此查看更多更全内容
Copyright © 2019- efsc.cn 版权所有 赣ICP备2024042792号-1
违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务