1、SDN 环境下 DDoS 攻击检测和缓解系统沈浩桐,魏松杰(南京理工大学计算机科学与工程学院,南京210094)通信作者:魏松杰,E-mail:摘要:分布式拒绝服务攻击(distributeddenialofservice,DDoS)是网络安全领域的一大威胁.作为新型网络架构,软件定义网络(softwaredefinednetworking,SDN)的逻辑集中和可编程性为抵御 DDoS 攻击提供了新的思路.本文设计并实现了一个轻量级的 SDN 环境下的 DDoS 攻击检测和缓解系统.该系统使用熵值检测方法,并通过动态阈值进行异常判断.若异常,系统将使用更精确的决策树模型进行检测.最后,控制器通
2、过计算流的包对称率确定攻击源,并下发阻塞流表项.实验结果表明,该系统能够及时响应 DDoS 攻击,具有较高的检测成功率,并能够有效遏制攻击.关键词:软件定义网络;分布式拒绝服务攻击;检测;缓解;决策树;熵值引用格式:沈浩桐,魏松杰.SDN 环境下 DDoS 攻击检测和缓解系统.计算机系统应用,2023,32(8):133139.http:/www.c-s- Attack Detection and Mitigation System in SDN EnvironmentSHENHao-Tong,WEISong-Jie(SchoolofComputerScienceandEngineering,
3、NanjingUniversityofScienceandTechnology,Nanjing210094,China)Abstract:Distributeddenialofservice(DDoS)attackisamajorthreatinthefieldofnetworksecurity.Asanewtypeofnetworkarchitecture,thelogiccentralizationandprogrammabilityofsoftwaredefinednetworking(SDN)providenewideasfordefendingagainstDDoSattacks.T
4、hisstudydesignsandimplementsalightweightDDoSattackdetectionandmitigationsysteminSDN.Thesystemusestheentropydetectionmethodandjudgestheabnormalitythroughthedynamicthreshold.Ifthedynamicthresholdisabnormal,thesystemwilluseamoreaccuratedecisiontreemodelfordetection.Finally,thecontrollerdeterminestheatt
5、acksourcebycalculatingthepacketsymmetryrateoftheflowanddeliverstheblockingflowentry.TheexperimentalresultsshowthatthesystemcanrespondtoDDoSattacksintime.Ithasahighdetectionsuccessrateandcaneffectivelycontainattacks.Key words:softwaredefinednetworking(SDN);distributeddenialofservice(DDoS);detection;m
6、itigation;decisiontree;entropyDDoS 攻击易于实施,利用有限的资源即可在网络中发起不对称攻击.攻击者通过控制大量主机发送无用数据包来淹没受害者的带宽或攻击其可用资源,从而阻止合法用户访问1.在传统网络中,有许多已知的防御 DDoS 攻击的方法.然而,由于传统网络的局限性,这些防御方法仍存在着不足之处.软件定义网络是一种以新颖的方式创建可编程和易于管理的网络模型2.它由数据层、控制层和应用层组成3.在 SDN 中,OpenFlow 是标准通信协议4.当数据包进入交换机时,交换机会查看流表项以确定数据计算机系统应用ISSN1003-3254,CODENCSAOBNE
7、-mail:ComputerSystems&Applications,2023,32(8):133139doi:10.15888/ki.csa.009206http:/www.c-s-中国科学院软件研究所版权所有.Tel:+86-10-62661041基金项目:工信部 2020 年工业互联网创新发展工程(TC200H01V);国家自然科学基金(61802186,61472189)收稿时间:2023-02-06;修改时间:2023-03-08;采用时间:2023-03-22;csa 在线出版时间:2023-06-09CNKI 网络首发时间:2023-06-09SystemConstruction
8、系统建设133包的转发规则.如果不存在匹配的流表项,交换机将发送 Packet-In 消息给控制器,控制器决定数据包的转发规则.这种决策与转发的分离使得 SDN 能够轻松检测和响应 DDoS 攻击.然而,SDN 的网络结构也使得网络本身容易受到 DDoS 攻击.例如 Packet-In 泛洪攻击、针对交换机流表的溢出攻击、针对南向接口的堵塞攻击等5.这些攻击不仅会消耗受害设备的计算和存储资源,还容易阻塞南向接口,降低控制器的网络管理能力.相较于传统网络,SDN 能够通过集中式控制器、全局可见的网络拓扑和按需创建流量转发规则来更有效地防御 DDoS 攻击6.为此,本文利用 SDN 的可编程以及集
9、中控制的特性,提出了一种部署于控制器内的 DDoS 攻击检测和缓解系统.1相关工作已有许多研究者针对 SDN 环境下的 DDoS 攻击进行了检测和缓解方法的研究.Do 等人7使用控制器收集的分组报头中的目的IP 地址来计算目的 IP 地址熵,并使用随时间变化的动态阈值来判断网络状态.Mishra 等人8提出了一种基于熵值的检测方案,以交换机中数据包速率作为触发标准,并在异常交换机中添加阻塞流表项.Makuavaza 等人9提出了一种基于深度神经网络的检测方案,可在 SDN 中实时检测 DDoS 攻击.该方案在 CICIDS-2017 上的检测准确度是 96.67%,精确度是 97.21%.遗憾
10、的是,它并没有在 SDN 上进行仿真实验.Ye 等人10通过控制器定期收集交换机流表的统计信息,从中提取六元特征组,并用SVM算法对这些特征组进行攻击分类.另外,贾锟等人11提出了一种机制,该机制在粗粒度模式下使用统计特征检测可疑行为,在细粒度模式下使用熵值检测算法以及 SVM 检测算法.实验表明,该机制可以快速响应攻击.攻击缓解是保护网络资源的重要防御措施.Hu 等人12提出了一种基于白名单和流量迁移的攻击缓解机制.当攻击发生时,该机制将流量迁移到缓解代理,并利用白名单标识流量.然后,缓解服务器对正常流量进行转发,对攻击流量进行丢弃.不过,流量迁移会造成额外负担.刘向举等人13通过对节点流量
11、特征进行聚类分析,实现攻击溯源,并根据溯源结果封禁攻击端口和过滤 Packet-In 消息.Wang 等人14使用卷积神经网络和极限学习机的混合方法确定攻击流量,并根据攻击流量特征进行 IP 回溯来定位攻击者,最后,控制器发送流表项来过滤攻击流量.综合研究,本文设计并实现一个 SDN 环境下轻量级的 DDoS 攻击检测和缓解系统.轻量级保证检测机制不占用过多控制器的计算以及存储资源.具体而言,控制器通过提取 Packet-In 消息中的信息来计算熵值,并使用动态阈值判断熵值是否异常.若熵值异常,则使用决策树模型进行二次检测.最后,控制器通过不对称分析过滤攻击流量.2系统设计整个系统有 3 个模
12、块,分别是阈值警告模块、攻击检测模块和攻击缓解模块.系统的组成和工作流程如图 1 所示.控制器N数据层数据包到达匹配流表项?从 Packet-In中计算熵EWMA 预测熵异常?收集流表项提取特征DT 分类器攻击?数据包转发阈值警告模块攻击检测模块达到窗口值?YYNNYYN计算包对称率确定攻击源下发流表项修改流/丢包攻击缓解模块图 1系统组成和工作流程图 2.1 阈值警告模块常规的检测方案是通过控制器周期性地请求数据并进行攻击检测,但调度周期很难确定.若间隔时间较小,控制器会频繁请求数据并进行检测,对集中于控制器的检测机制而言,这会增加对控制器以及南向接口的资源占用.而间隔时间过长则可能导致检测
13、不及时.因此,本文采用阈值警告模块并使用熵值检测方法来检测 DDoS 攻击,有助于早期发现网络中的攻击.此外,它不需要周期性触发检测技术.计 算 机 系 统 应 用http:/www.c-s-2023年第32卷第8期134系统建设SystemConstruction(1)特征计算当攻击者发起 DDoS 攻击时,常进行源 IP 地址欺骗,这会导致交换机不断触发 Table-Miss 选项,并向控制器发送大量 Packet-In 消息.控制器收集 Packet-In 消息,并在消息数量达到预设窗口值时,计算目的 IP 地址的熵值.由于窗口中存在大量指向受害者地址的Packet-In 消息,因此目的
14、 IP 地址的不确定性变小,熵值也会显著降低.值得注意的是,交换机中的每条流表项都设有空闲时间和生存时间.当流表项在空闲时间内未被命中,或在生存时间结束后,无论是否匹配,均会被删除.因此,交换机会不断生成新的 Packet-In 消息发往控制器.N W=y1,y2,ynyiinP=p1,p2,pnpi假设窗口容量为,统计一个窗口中各目的 IP 地址的数量信息.其中,为第 个目的IP 地址的数量,为窗口中不同目的 IP 地址的数量.目的 IP 地址的概率分布,其中,由式(1)计算所得:pi=yiN(1)熵值计算公式如式(2)所示:E=ni=1pilog2pi(2)(2)阈值计算静态阈值不能有效地
15、根据网络流量的变化进行调整,其选取需要较长时间的观察.因此,本文采用基于时间序列的指数加权移动平均(exponentiallyweightedmovingaverages,EWMA)模型计算动态阈值.EWMA模型根据前一时刻的观测值和预测值计算当前时刻的预测值,能够描述数值的变化趋势.在网络正常情况下,相邻窗口的熵值不会有太大的变化.但在网络异常时,熵值会发生显著变化,导致 EWMA 模型预测失败.因此,EWMA 模型可在小时间窗口内快速检测 DDoS 攻击.Aladaileh 等人15已经证明了 EWMA 模型在 SDN和 DDoS 检测中是有效的.yttyt表示 时刻的窗口预测值,是实际值
16、,为平滑系数.EWMA 定义如式(3)所示:yt=yt1+(1)yt1,t 2y1,t=2(3)式(3)计算的预测值等于所有观测值的指数加权.但是在实际操作中,控制器不能记录所有的观测值.为ww此,本文设立一个滑动窗口,大小为.EWMA 模型将使用最接近当前时间的 个历史观测值来预测当前值.那么当前预测值的计算公式将被如下定义:yt=yt1+(1)yt2+(1)w1ytw(4)tC动态阈值区域(dynamicthreshold,DTH)计算公式如式(5)所示.其中,是 时刻之前滑动窗口内样本的标准差,是常量值.ytC DTH yt+C(5)t正常网络流量的波动具有一定的规律性,一般与前一段时间的流量波动具有相似性.基于此,本文使用标准差来描述网络本身的变化范围.式(6)和式(7)为时刻滑动窗口中所有样本的平均值以及标准差.avg=1wt1i=twyi(6)=vut1wt1i=tw(yiavg)2(7)当目的 IP 地址的熵值在 DTH 内时,滑动窗口将被更新.反之,阈值警告模块会发出警报,并启动攻击检测模块.熵值会因为大量突发性的合理请求或者网络链路故障而表现异常,因此系统还实现了基于