收藏 分销(赏)

软件定义网络中高效协同防御分布式拒绝服务攻击的方案.pdf

上传人:自信****多点 文档编号:721155 上传时间:2024-02-22 格式:PDF 页数:9 大小:1.88MB
下载 相关 举报
软件定义网络中高效协同防御分布式拒绝服务攻击的方案.pdf_第1页
第1页 / 共9页
软件定义网络中高效协同防御分布式拒绝服务攻击的方案.pdf_第2页
第2页 / 共9页
软件定义网络中高效协同防御分布式拒绝服务攻击的方案.pdf_第3页
第3页 / 共9页
亲,该文档总共9页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

1、2023 08 10计算机应用,Journal of Computer Applications2023,43(8):2477-2485ISSN 10019081CODEN JYIIDUhttp:/软件定义网络中高效协同防御分布式拒绝服务攻击的方案葛晨洋1,2*,刘勤让2,裴雪2,魏帅2,朱正彬2(1.郑州大学 网络空间安全学院,郑州 450002;2.信息工程大学 信息技术研究所,郑州 450002)(通信作者电子邮箱)摘要:针对软件定义网络(SDN)中传统的分布式拒绝服务(DDoS)攻击的防御方案往往忽略了降低SDN工作负载的重要性,并且未考虑攻击缓解的及时性的问题,提出一种SDN中高效协

2、同防御DDoS攻击的方案。首先,通过将部分防御任务卸载到数据平面中,降低控制平面的开销并充分利用数据平面的资源;然后,若检测到异常则产生快速数据路径(XDP)规则,以及时缓解攻击,同时将数据平面的统计信息交由控制平面来进一步检测和缓解攻击,从而在提升准确率的同时进一步降低控制器开销;最后,根据控制平面确定的异常源更新XDP规则。为验证所提方案的有效性,利用Hyenae攻击工具产生了3种不同类型的攻击数据。相较于依赖于控制平面的支持向量机(SVM)方案、新架构防御方案和跨平面协作的防御方案,在防御及时性方面,所提方案分别提高了33.33%、28.57%和21.05%;在中央处理器(CPU)消耗方

3、面,所提方案分别降低了33、11和4个百分点。实验结果表明,所提方案能很好地防御DDoS攻击且有较低的性能开销。关键词:软件定义网络;协同防御;分布式拒绝服务攻击;快速数据路径;Sketch数据结构中图分类号:TP393.02 文献标志码:AEfficient collaborative defense scheme against distributed denial of service attacks in software defined networkGE Chenyang1,2*,LIU Qinrang2,PEI Xue2,WEI Shuai2,ZHU Zhengbin2(1.Co

4、llege of Cyberspace Security,Zhengzhou University,Zhengzhou Henan 450002,China;2.Institute of Information Technology,Information Engineering University,Zhengzhou Henan 450002,China)Abstract:Aiming at the problem that traditional defense schemes against Distributed Denial of Service(DDoS)attacks in S

5、oftware Defined Network(SDN)tend to ignore the importance of reducing the workload of SDN,as well as do not consider the timeliness of attack mitigation,an efficient collaborative defense scheme against DDoS attacks in SDN was proposed.Firstly,the overhead of the control plane was reduced and the da

6、ta plane s resources were entirely used by offloading some of the defense tasks into the data plane.Then,if an anomaly was detected,eXpress Data Path(XDP)rules were generated to mitigate the attack promptly,and the statistical information of the data plane was handed over to the control plane to fur

7、ther detect and mitigate the attack,thereby improving the accuracy and further reducing the controller overhead.Finally,the rules of XDP were updated according to the anomaly source determined by the control plane.To validate the effectiveness of the proposed scheme,the Hyenae attack tool was used t

8、o generate three different types of attack data.Compared with the Support Vector Machine(SVM)scheme that relies on the control plane,the new architecture defense scheme,and the cross-plane collaborative defense scheme,the proposed scheme has the timeliness of defense improved by 33.33%,28.57%,and 21

9、.05%,respectively;the proposed scheme has the Central Processing Unit(CPU)consumption reduced by 33,11,and 4 percentage points.Experimental results show that the proposed scheme can defend against DDoS attacks well and has a low performance overhead.Key words:Software Defined Network(SDN);collaborat

10、ive defense;Distributed Denial of Service(DDoS)attack;eXpress Data Path(XDP);Sketch data structure0 引言 分布式拒绝服务(Distributed Denial of Service,DDoS)攻击是通过控制大量僵尸主机向受害者发送泛洪请求,消耗受害者主机的带宽和计算资源,迫使受害者服务器崩溃而无法响应用户请求的攻击手段。这一固有的网络安全威胁,近年来随着企业加速上云,呈现攻击手段多元化、攻击目标广泛、攻击规模不断扩大1的趋势,已成为全球企业的难题。软件定义网络(Software Defined

11、Network,SDN)将控制文章编号:1001-9081(2023)08-2477-09DOI:10.11772/j.issn.1001-9081.2022060940收稿日期:20220628;修回日期:20220920;录用日期:20220922。作者简介:葛晨洋(1998),男,河南南阳人,硕士研究生,主要研究方向:软件定义网络、高性能数据包处理;刘勤让(1975),男,河南商丘人,教授,博士,主要研究方向:网络空间拟态防御、芯片设计;裴雪(1992),女,河南新乡人,助理研究员,硕士,主要研究方向:软件协同编译、软件定义互连芯片软件开发工具包开发;魏帅(1985),男,河南南阳人,教

12、授,博士,主要研究方向:网络空间拟态防御、嵌入式设计;朱正彬(1996),男,湖北荆门人,博士研究生,主要研究方向:网络空间拟态防御、软件定义网络。第 43 卷计算机应用功能从转发设备中解耦出来,克服了传统网络架构的缺点,为网络运营商提供了可编程性,实现了有效的资源管理并增强了网络的安全性。但对于SDN框架自身来说,由于集中式的架构设计、平面间的通信信道以及有效的资源,使得DDoS攻击的风险增加2。现有的基于SDN的DDoS防御大致分为两类:一类依赖控制器收集数据信息,并进行异常检测。此方案需要控制器不断轮询数据平面的统计信息,不仅增加控制器的资源开销,而且增加了检测时延和南向接口的通信负担。

13、另一类是控制平面和数据平面协同防御的方案,此方案是为了解决完全依赖控制器防御方案的较大南向接口通信开销和检测延迟问题。依赖控制器检测异常,在检测时会对南向接口和控制器造成巨大负担3,导致SDN极可能在检测攻击时就被攻瘫。协同方案可以缓解此问题,但现有的协同防御方案,没有及时缓解数据平面检测到的异常,需要上传到控制平面细粒度检测后才进行缓解。综上,现有协同防御方案存在缓解及时性差、检测时冗余计算等性能损失问题。本文旨在及时有效地缓解攻击对系统造成的影响,同时降低缓解对系统造成的性能损失,设计一种SDN中高效协同防御DDoS攻击的方案。通过数据平面和控制平面协同检测和缓解攻击对系统造成的影响,充分

14、发挥两平面的优势。数据平面粗粒度检测异常数据流,如果检测到异常则定位攻击源并粗粒度缓解攻击,同时将数据平面粗粒度异常检测时统计的特征信息以及异常定位模块确定的攻击源信息上传给控制平面。控制平面则将接收到的信息进行进一步的细粒度处理,以检测和缓解异常。数据平面和控制平面协同检测和缓解攻击对系统造成的影响,充分发挥两平面的优势。与现有方案相比,本文具有以下优势:1)及时有效地缓解攻击对系统的影响,充分利用数据平面资源,将一部分检测和缓解任务卸载到数据平面,数据平面检测到异常则进行粗粒度缓解,不必等控制平面细粒度检测后才缓解。数据平面和控制平面协同缓解,可以充分发挥两平面的优势。2)利用快速数据路径

15、(eXpress Data Path,XDP)4缓解攻击,异常数据包在早期就丢弃,避免消耗系统的计算和内存资源,减少中断处理产生的缓解延迟。利用 XDP 可以有效缓解攻击对系统造成的影响。3)数据平面粗粒度缓解,首先得定位攻击源,利用中国剩余定理改进的Sketch数据结构,不仅可以在数据平面以低开销实时高速测量网络流量信息,同时可在资源有限的情况下,在数据平面线性时间内定位攻击源,为协同缓解提供有利条件。4)为了降低协同检测时控制器性能损耗,将数据平面粗粒度异常检测时的一些指标直接交由控制平面异常检测时使用,无须再次统计计算。1 相关工作 在SDN中现有的DDoS防御方案,可分为基于完全依赖于

16、控制的防御方案与数据平面和控制平面协同防御方案两种。依赖控制器的防御方案,利用SDN自身提供的南向接口应用程序编程接口(Application Programming Interface,API)收集交换机统计的信息或者基于Packet-In提取的特征信息,然后交由控制器来检测和缓解攻击。这种方案又细分为基于统计的方案和基于机器学习的防御方案。基于统计的方案大多以信息熵来判断正常和异常流量网络行为和属性的偏差。文献 5 中选择了一种基于熵的检测方法,计算时间窗口内Packet_In的泊松分布概率,用概率计算信息熵,对比计算出的熵值与动态确定的阈值来检测是否有攻击。文献 6 中提出一种联合熵的方

17、案 JESS(Joint Entropy-based Security Scheme),控制器提取数据包头中的属性对并计算联合熵然后进行检测,利用下发流表进行缓解。而基于机器学习的防御方案,使用智能算法找出攻击流与正常流差异的隐匿数据特征识别异常。文献 7 中运用极致梯度提升(eXtreme Gradient Boosting,XGBoost)方法检测异常,该方法从预选取的 9个最大增益的特征中选择特征,然后交给XGBoost分类器进行攻击判断;但该方案只运用数据集检验性能好坏,没有在SDN场景中运行,可能在实际运用中性能所有损失。文献 8 中通过控制器收集一个时间周期流表中与DDoS攻击特征

18、相关的特征值,组成特征矩阵,然后使用支持向量机(Support Vector Machine,SVM)算法分类来区分正常和攻击流量;该方案有一个弊端就是如果混合攻击包含正常的数据流则有较大误判率。文献 9 中提出了一种改进的 K 近邻(K-Neares Neighbor,KNN)算法,重构了KNN算法的指示函数,实验表明与其他算法相比,具有最佳性能。传统方案依赖交换机来提取全网流量的流信息,代价高昂并且可能丢失重要信息,文献 10 中提出实时增强的反DDoS 方 法(Reinforcing Anti-DDoS Actions in Realtime,RADAR),该方法依靠控制器指示交换机动态

19、监控流的信息,通过识别这些攻击特征检测攻击,但仍依赖控制器。文献 11 中通过监控每个到达交换机的数据流,然后与使用时间序列分析预测确定的动态阈值对比检测异常,缓解则采取修改交换机的数据包转发策略。文献 12 中通过带内遥测技术,采样感知交换机的状态,然后将网络状态图输入时空图卷积网络检测模型中,最终找到包含攻击流的交换机,结合白名单和精准丢弃策略,有效缓解DDoS攻击,又能降低误判正常包的概率。文献 13 中首先由控制器监控数据平面的流量信息,然后利用入侵监测系统(Intrusion Detection System,IDS)检测攻击,检测返回的检测结果,还需要利用控制器中的代理将缓解规则下

20、发到交换机中。上述方案虽检测的准确率较高,但是完全依赖控制器的检测方案,控制平面不仅需要轮询交换机获取数据流信息,而且异常检测任务也全由控制器来做,大幅增加了控制器在检测时单点故障的风险,同时增加了检测的延迟,而且不断轮询数据平面获取信息,也增加了南向接口的通信负担。完全依赖控制器的DDoS检测方案,数据平面只负责转发数据包,未充分利用数据平面的计算资源14;为此本文提出了两平面协同防御方案,充分利用了数据平面交换机的资源。文献 15 中提出跨平面的协作DDoS攻击检测与防御方案,利用数据平面的计算资源分担一部分控制器的异常检测任务,数据平面产生告警信息再把待检测数据包上传给控制器检测,检测结

21、果则通过下发黑白名单进行缓解攻击。该方案解决了传统SDN防御方案较大的检测延迟和南向接口以及控制器资源的开销问题。文献 16 中采用同样方式降低控制器轮询开销,数据平面利用攻击流与正常流不对称的特性将3个统计特征通过Packet_In上传给控制平面检测异常,2478第 8 期葛晨洋等:软件定义网络中高效协同防御分布式拒绝服务攻击的方案控制平面使用基于 K 均值(K-Means,K-Means)聚类算法和KNN 组合的机器学习算法细粒度检测,最后控制器通过下发攻击报文的流表项,丢弃攻击数据包来防御攻击。文献17 中防御主要分为3个阶段:第一阶段采用统计的方法区分异常数据流;第二阶段利用传输控制协

22、议(Transmission Control Protocol,TCP)三次握手阻止伪造的 TCP 数据流;第三阶段利用合法流量大都是大象流而攻击流量为老鼠流的特性,恢复被误判的合法数据流的请求。该防御的3个阶段全部部署在数据平面,控制平面只负责转发操作。协同防御方案中数据平面采用基于统计的粗粒度异常检测方案,具有检测性能高、开销低、快速、不需要构建模型的优点。控制平面采用机器学习的异常检测方案,具有准确率较高的特点。两平面的检测方案优势互补,提高了系统的检测精度,且降低了控制器以及南向接口的性能开销。2 动机 针对DDoS攻击时,SDN控制器的单点故障,以及南向接口拥塞的问题,相较于完全依赖

23、控制器的方案,现有的协同防御方案缓解了控制平面的压力,降低了攻击时南向接口的通信负担,但是仍存在一定的不足。在面对DDoS攻击时,应以迅速对攻击作出反应为目的,但是现有的协同方案都是在数据平面检测到攻击后产生告警信息,交由控制平面细粒度检测后才对攻击作出响应,而不是在数据平面检测到异常就立即阻断攻击流。这样攻击持续时间越长,对南向接口和控制器的压力越大,系统的安全系数越低,而且数据平面检测到异常,会将缓存在数据平面的数据包上传给控制平面,以进一步细粒度检测。这些统计信息不仅会占用南向接口资源,而且上传给控制器会增加控制平面的计算和内存开销。为了解决这些问题,本文引入了中国剩余定理改进的可逆Sk

24、etch数据结构,以一种近似估计的方法在有限资源条件下实现高精度的网络流量测量方案。不仅可以高效实时统计流量信息,还可以在线性时间内定位异常流量的攻击源,减少定位异常源的资源消耗。同时该结构只占用固定结构的存储开销,不需要大量的内存。而数据平面的资源未充分利用,将可逆Sketch结构部署在数据平面,不仅可以自定义统计流量信息,还可以为缓解提供支持。有利于将粗粒度的检测和缓解任务卸载到数据平面,及时缓解攻击对系统的影响,同时减少对控制平面以及南向接口的资源消耗。在检测异常时,数据平面统计和计算的数据包信息,有些可以作为控制平面机器学习异常检测时识别的特征,因此只需要将控制平面需要的特征信息在数据

25、平面计算和统计好,直接上传给控制平面,这样带来的好处是数据平面产生告警信息后,不需要将整个数据包都上传给控制平面,降低了在检测时南向接口的通信负担,同时数据平面计算过的特征信息,无须控制平面二次计算,进一步降低控制平面的负担。而现有的缓解方案,在缓解攻击时仍消耗一定的性能,具体分析如下。现有的SDN缓解策略主要有丢弃数据包、端口限速、流表项过滤和将可疑流量转发到黑洞或深度包监测(Deep Packet Inspection,DPI)引擎等方案。1)丢弃数据包和端口限速是简单快捷的缓解策略。但是传统的防火墙方案存在一定的性能损失,虚拟交换机(Open VSwitch,OVS)的数据流处理过程,如

26、图 1所示,基于传统的防火墙或者流控(Traffic Control,TC)方案,数据包需要到协议栈中匹配之后才会丢包,从网卡接收数据包到协议栈处理整个过程中,存在内存复制和skb_buff存储分配以及中断处理等性能损失问题。当缓解大量攻击数据包对系统影响时是极其消耗系统的性能的。2)可疑流转发到DPI方案,会将流量转发到新的网络互连协议(Internet Protocol,IP)地址。该方案会给攻击者提高攻击难度,虽然可以缓解攻击,但是会增加系统复杂性,且会消耗带宽和增大合法流量的时间延迟。3)流表项过滤方案,在OVS中下发的流表保存在用户态流表中,当下次攻击数据包到来后,由于内核态没有缓存

27、对应流表项,需要与用户态流表匹配,这个过程也存在一定的系统性能损耗。如图1所示,该过程不仅包含防火墙方案一样的性能开销,还增加了用户态和内核态上下文切换带来的延迟开销,以及从内核到用户态的内存拷贝开销问题,在防御DDoS时会严重影响缓解的效果。图1OVS数据流程Fig.1OVS data flow2479第 43 卷计算机应用现有的上述缓解方案都存在一定的性能损失,本文利用XDP的技术原理如图 2所示,在网卡收到数据包后,还未分配skbuf之前就过滤掉匹配的数据包,降低缓解攻击时带来的性能开销。利用 Hyenae 攻击工具产生攻击数据流,并将此攻击流执行到目标服务器中。测试不同的方案每秒丢弃数

28、据包数。实验结果如图 3 所示,其中 pps(packet per second)表示以数据包为单位的数据速率,可以明显看到基于 XDP 的方案优于其他方案,应对DDoS这种攻击场景,该方案可以获得不错的性能。3 DDoS防御架构 本章详细介绍本文的高效协同防御DDoS防御方案。如图 4所示,本文方案主要由数据平面异常检测、控制平面异常检测以及协同缓解三部分组成。为降低控制平面的性能消耗,将一部分防御任务卸载到数据平面,检测分为数据平面和控制平面两部分,两平面分别采用基于统计和基于机器学习的异常检测策略,充分发挥两种不同检测策略的优势,基于统计的检测策略具有开销低和迅速的特点,部署在资源受限的

29、交换机中很合适,但是具有误报率高的缺点,而控制平面部署的细粒度检测策略刚好可以弥补准确率低的不足。协同缓解利用 XDP 机制,能够在网络数据包到达网卡驱动层时对异常数据包进行处理,具有高效的数据处理能力和较低的性能损失。由于数据平面异常检测高误报率的缺点,避免误判对正常数据包的影响,因此对数据平面确定的异常数据流采取限速限制,较早降低攻击对系统的损害。对控制平面细粒度确定的异常数据包则进行阻断,阻止攻击流进一步损害系统。本文的高效协同防御DDoS方案不仅降低了南向接口和控制平面的开销,同时可以减少检测时的性能损耗以及及时减轻攻击对系统造成的影响。本文方案的主要框架如算法1所示,数据包到达交换机

30、则提取流量信息,统计流量(见4)9)行),然后交由粗粒度进行检测和缓解(分别见10)20)和26)行),以及细粒度检测和缓解异常(分别见21)22)和23)25)行),下文将详细介绍该架构的主要模块。算法1 高效协同防御DDoS方案的主要框架。输入 到达交换机的数据包X=x1,x2,xn,时间窗口的大小Swin,在正常数据流下确定的单位时间内数据包个数以及端口数的阈值(pkt,port)normal;输出 XDP rules Rxdp。1)Initialize2)清空T i j,i H,j pi对应的V v1,v2,v6中的值 /其中H代表Sketch结构的行数,pi是i行对应的列数,/V存储

31、要统计的特征信息,同时包含在每行存储的/位置信息N a1,a2,an,n H3)Tstart=now()/开始时间4)for xi X do5)for i H do6)h(i)=keymodpi /确定存储的位置,其中key对应/数据包的标识,key是从xi数据包中提取出来的7)V=T i h(i)+=Analysis(xi)/更新统计信息8)end for9)end for10)while now()-Tstart Swin then11)for j p1 do /遍历第一行就可获得时间窗口内/数据流的所有存储统计信息12)for m V do/遍历每个统计特征并计算其熵值13)Pi=com

32、pute(m(T 1 j)14)Sm=-i=1PilbPi15)end for16)end for17)for m V do/粗粒度检测异常18)if Sm(-2,+2)then19)if countpkt|countport(pkt,port)normal then20)x=i=1naitiMi,Mi=M pi,ti=M-1i,M=i=1npi /确定异常源定位21)/上传异常源以及统计信息到控制平面22)flag=majority vote Cb(x)B1 /Cb(x)是第b个随机/森林树的预测结果,B是随机森林中树的个数23)if flag=1 then图2XDP原理Fig.2Princ

33、iple of XDP图3XDP实验效果Fig.3XDP experimental effect图4高效协同防御DDoS攻击的系统架构Fig.4Architecture of efficient and collaborative defense system against DDoS attacks2480第 8 期葛晨洋等:软件定义网络中高效协同防御分布式拒绝服务攻击的方案24)Generate_rule(drop)25)end if26)Generate_rule(limite)27)end if28)end if29)end for30)Tstart=now()31)end while

34、32)end3.1数据平面异常检测数据平面异常检测流程如图5所示,首先确定正常情况下的流量阈值,以在实时检测异常时区别异常数据包。如果实时异常检测识别到异常数据包,则定位异常源并交由协同缓解模块处理,同时将时间窗口内的统计信息和数据平面异常检测计算的信息上报给控制平面进一步细粒度检测异常。主要分为以下几个模块组成:1)流量监控。利用重构的Sketch数据结构,以低开销近似估计时间窗口内的数据流信息,为粗粒度异常检测提供数据。2)粗粒度检测。利用熵实时检测异常流。3)异常源定位。利用重构的Sketch数据结构,在线性时间内定位异常流的流标识,为缓解提供支持。4)高速并发消息队列(Zero Mes

35、sage Queue,ZMQ)代理。为了防止误判以及降低性能损耗,数据平面异常告警后将统计信息和流标识上传给控制平面以进一步检测。此模块将在3.2节进行详细介绍。3.1.1流量监控中国剩余定理重构了不规则的可逆Sketch结构18,使流标识的提取在线性时间内完成。利用中国剩余定理改造Min-Sketch19为本文方案提供流量监控支持,不仅可以高效实时统计流量信息,还可以在线性时间内定位异常流量的攻击源,同时不规则的Sketch结构也节省了内存。数据平面存在一定的计算资源和内存资源没有充分发挥作用20,将可逆的Sketch数据结构部署在数据平面统计信息,充分利用数据平面的资源的同时可以根据需要统

36、计相关的攻击特征信息,并且可及时发现攻击并作出反应,不消耗控制平面资源和南向接口资源等。本文采用中国剩余定理重构的可逆Sketch结构,结构如图6所示,一个H行pi列的二维空间,其中pi之间是互质的。该结构在内存中维护一个二维计数数组T i j,单元格内存储数据流的统计信息。设集合X x0,x1,xt-1表示时间窗口内新到达数据包的源IP地址,源IP地址作为数据包的数据特征,不仅可以唯一确定该数据包,同时为可逆确定攻击源,为缓解提供支持。经过式(1)实现将每个数据包经过 h 个 hash 函数映射到Sketch数据结构中每行的对应位置上,然后执行更新操作,更新操作实现流量特征的累加,文献 21

37、 中面对DDoS攻击时,包数(pkts)、平均字节数(avertypes)、源端口号数(srcports)、目的端口号数(dstport)、目的 IP 地址数(dstip)和协议类型数(protypes)这些统计信息最能反映攻击数据流和正常数据流的差异。因此从新达到的网络数据流中解析出一个六元组列表,V(pkts,avertypes,srcports,dstport,dstip,protypes)作为累计特征,将统计的字段更新到Sketch对应的数据结构T i j 中。查询操作则综合K个不同的返回值来确定最终的测量结果,为了查询方便迅速,在更新一个键所在T i j 的统计信息时同时保存下一行的

38、列消息,这样在查询信息时,只用遍历最上面一行就可以知道获得此数据流的在整个Sketch的存储位置信息。hi(x)xmodpi;i=1,2,H(1)3.1.2粗粒度检测基于统计的异常检测,首先需要确定正常流量的阈值范围,以区别正常和异常数据流。拉伊达准则表明数值分布在(-2,+2)的概率为 0.954 5,粗粒度异常检测依据拉伊达准则确定阈值范围。文献 22 中表明数据包的熵近似满足正态分布,满足拉伊达准则的条件,因此计算时间窗口内Sketch数据结构中统计字段的熵值。分布在上述范围为正常,超过范围则为异常数据流。在正常数据流的情况下,确定阈值范围,每个数据包的统计信息存储在Sketch结构中。

39、当达到时间窗口预设的时间后,将统计的信息查询出来,然后通过式(2)计算每个字段的熵值:S=-i=1nPi lb Pi(2)其中Pi代表预设时间窗口内统计特征的概率,然后通过式(3)计算这个时间窗口每个字段熵值的均值和方差:ui=1ni=1nSi(3)n=1n-1i=1n(xi-ui)2(4)将确定好的阈值保存下来,同时为了提高准确率同时统计正常数据流情况下包数和源端口数的最大频率和最小频率,在实时检测时确定异常数据流。实时检测流程如图 7 所示,数据流的统计信息存储在Sketch结构中,达到预设的时间窗口则将Sketch中取出统计信息,通过式(2)计算每个统计字段的熵值,与保存的阈值比较,如果

40、不在正常范围内说明该段时间内存在异常。由于在时间窗口内可能存在正常流的数据包,为了提高准确率,确定每个数据包的包数频率和源端口频率是否在正常范围内来进一步判断异常。如果确定为异常则利用异常源定位模块,定位异常源为缓解提供支持。图5数据平面异常检测流程Fig.5Process of data plane anomaly detection图6中国剩余定理的可逆Sketch结构Fig.6Reversible Sketch structure of Chinese remainder theorem2481第 43 卷计算机应用3.1.3异常源定位每个数据包的数据标识key,在由中国剩余定理构造的可

41、逆Sketch数据结构中,通过h个hash函数确定数据包数据标识映射在Sketch结构中每行的列号。其中每行的列数是两两互质的,为pi个,为了确定实时异常检测确定的数据包的标识key,该问题可以抽象为已知h个不同的hash函数以及一个未知数x,经过h个hash函数所得的h个余数来求解唯一的x值。该问题即中国剩余定理问题,即式(4):x=a1(mod p1)x=a2(mod p2)x=an(modpn)(5)其中:ai代表数据包存储在每行的列号,pi是可逆Sketh数据结构中每行的列数。求该方程组的解即中国剩余定理的求解过程:x=a1t1M1+a2t2M2+antnMn+kM=kM+i=1nai

42、tiMik Z为方程组的通解,在模M=i=1npi的解是唯一的,方程组的唯一解为x=i=1naitiMi,其中p1,p2,pn两两互质为每行的列数,Mi=M pi,ti=M-1i。在确定数据包的标识时,由于可逆Sketch数据结构中每列中存储下一列存储的位置信息,因此数据平面粗粒度异常检测确定异常数据包后,定位异常数据包所在的第一行的列号,便可在Sketch可逆结构的统计信息中查询到下一行存储的列号,这样就可以确定该异常数据包存储在每行的列号。因此可逆Sketch数据结构可在线性时间内定位异常数据包的key标识。3.2控制平面异常检测控制平面异常检测的流程如图8所示,ZMQ代理接收到数据平面上

43、传的统计信息,然后交由训练好的机器学习算法进行异常检测,确定为异常则更新XDP缓解规则。下面将介绍各模块的详细工作流程。3.2.1ZMQ代理模块ZMQ 代理模块主要利用 ZMQ 中间件,数据平面产生告警信息后,将特征信息上传给控制平面。数据平面检测到异常后,为了防止存在误判通过消息队列23将数据平面时间窗口内检测到异常的统计信息发给控制平面进一步检测,该方案减少控制平面轮询数据平面消息的负载,减轻了南向接口的负担。3.2.2细粒度异常检测细粒度异常检测主要运行机器学习算法,本文对比SVM、Logistic和随机森林(Random Forst,RF)等机器学习算法的准确率和检测时间,结果如表1所

44、示。由表1可知,RF算法虽然检测耗时,但具有实现简单、准确率高、抗过拟合能力强,对高维数据不用降维处理的特点,而且训练时可采用并行化处理,训练速度快,所以本文选择RF作为细粒度检测的基础。控制平面细粒度检测步骤如下:步骤1 ZMQ代理模块将接收到的统计信息和流标识结合在一起构成新的数据集交给训练好的RF模型。步骤2 将数据集交由训练阶段构建的多个决策树预测结果并对结果进行整合,得到最终的分类结果,如果为异常则交由协同缓解指定规则。3.3协同缓解传统的基于防火墙的或者流控(TC)24的方案存在数据包复制和上下文切换开销。对系统会造成一定的性能开销。在面对DDoS攻击期间,应尽量减少防御对系统带来

45、的开销,XDP25是一种Linux网络数据路径中的内核集成的高性能数据包处理器,当网络接口控制器(Network Interface Controller,NIC)驱动程序接收到数据包时,就执行XDP程序。XDP能够实现与传统方案同样的功能,且不会损失性能。这是由于XDP程序可以在数据包进入协议栈之前就做出针对数据包的决定(丢弃、修改或通过),无须消耗系统的计算和存储资源就能处理数据包。缓解流程如图9所示,在面对DDoS攻击的情况下,数据平面检测到异常后,定位异常源并更新XDP映射中的规则,当数据包与规则匹配则统计一次计数,达到限速的个数则丢弃此数据包。控制平面则根据确定的异常源,直接更新XD

46、P映射中的规则为丢弃数据包。丢弃数据包即让XDP程序对来自特定源的数据包执行XDP_DROP。一旦流入XDP程序的数据包与列表中的元素匹配,直接丢弃数据包。由于数据包被丢弃,内图7粗粒度实时异常检测流程Fig.7Flow of coarse-grained real-time anomaly detection图8控制平面异常检测流程Fig.8Flow of control plane anomaly detection表1不同机器学习算法准确率和检测时间的对比Tab.1Accuracy and detection time comparison of different machine le

47、arning algorithms机器学习算法SVMLogisticRF训练准确率/%99.799.899.7测试准确率/%96.797.799.9检测耗时/ms0.2120.265134.3602482第 8 期葛晨洋等:软件定义网络中高效协同防御分布式拒绝服务攻击的方案核不必花费CPU周期来处理这些异常数据包,最终导致攻击者的目标难以实现,因为在这种情况下,DDoS无法浪费昂贵的计算资源。而正常数据请求,数据流到达交换机时,与规则不匹配进入交换机,进入交换机后按照SDN数据流程如果交换机中有对应流表项则转发,无则上传给控制器,控制器根据规则下发流表。4 实验与结果分析 4.1实验环境本文通

48、过MiniNet构建实验环境,为了尽可能模拟真实环境,实验拓扑如图10所示,图中的节点代表数据平面的交换机,每台交换机下面运行两台同一网段的主机。数据平面和控制平面分开部署,数据平面运行在Ubuntu18.04、内存大小为4 GB的虚拟机上,控制平面采用Ryu作为控制器部署在另一台虚拟机上。4.2实验数据实验数据分为正常数据流和 DDoS 攻击数据流。通过trafgen工具模拟DDoS攻击流量,trafgen是一款高速、多线程网络数据包生成工具,能够动态生成攻击IP和端口号,且通过修改配置文件动态修改攻击包的内容。实验阶段生成了同步序列编号(Synchronize Sequence Numbe

49、r,SYN)DDoS、用户数据报协议(User Datagram Protocol,UDP)DDoS、确认字符(ACKnowledge character,ACK)DDoS 三种不同的攻击流量。通过 tcpdump收集攻击数据,在多组实验时利用 tcpreplay重放攻击数据到特定的交换机上,攻击速率控制为300 pps。正常流量用Python脚本模拟不同主机之间通信。训练阶段使用正常数据流来确定数据平面的检测阈值,控制平面的模型训练则通过SYN DDoS攻击数据集来构建。4.3实验指标1)缓解效果对比(每秒处理的数据包数)。为了验证所提方案具有较好的缓解效果,对比不同的防御方案在不同的DDo

50、S攻击下,缓解攻击的快慢。较早缓解攻击,更能提高系统的安全性。2)性能开销对比,主要对比以下两个指标。a)流表项数。当一个数据流在流表中没有匹配规则时,则通过南向接口请求控制器根据编程规则下发相应的流规则到交换机中。因此流表中的流表项个数反映了这段时间内控制器处理无法匹配的数据包数。在面对攻击时,有大量无法匹配的数据包,该指标间接反映南向接口以及控制器的性能开销。b)CPU利用率。在SDN架构中由于控制器的集中控制特性,容易发生单点故障,因此应减少在防御DDoS攻击时产生的性能损失,即大量的CPU资源消耗,较早缓解攻击对系统的影响。而CPU利用率反映控制器运行不同的防御方案时,在正常或攻击情况

展开阅读全文
相似文档                                   自信AI助手自信AI助手
猜你喜欢                                   自信AI导航自信AI导航
搜索标签

当前位置:首页 > 学术论文 > 论文指导/设计

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服