1、NETINFOSECURITY2023年第10 期优秀论文doi:10.3969/j.issn.1671-1122.2023.10.001SDN 网络中基于联合熵与多重聚类的 DDoS攻击检测王智1.2,张浩12,顾建军3,(1.福州大学计算机与大数据学院,福州350 116;2.福建省网络计算与智能信息处理重点实验室,福州350 116;3.达尔豪斯大学电气与计算机工程学院,哈利法克斯B3J1Z1)摘要:软件定义网络(Software Defined Networking,SD N)作为一种新兴的网络范式,在带来便利性的同时也引入了更为严峻的分布式拒绝服务攻击(DistributedDeni
2、al of ServiceAttacks,D D o S)风险。现有的模型通常是使用机器学习模型来检测DDoS攻击,忽略了模型给SDN控制器带来的额外开销。为了更加高效且精确地检测DDoS攻击,文章采取了多级检测模块的方式,即一级模块通过计算当前流量窗口的联合熵快速检测异常,二级模块采用半监督模型,并使用特征选择、multi-training算法、多重聚类等技术,通过训练多个局部模型提高检测性能。与现有的其他模型相比,该模型在多个数据集上均表现更好,拥有更好的检测精度和泛化能力。关键词:软件定义网络;分布式拒绝服务攻击;半监督学习;统计学习中图分类号:TP309文献标志码:A文章编号:16 7
3、 1-112 2(2 0 2 3)10-0 0 0 1-0 7中文引用格式:王智,张浩,顾建军.SDN网络中基于联合嫡与多重聚类的DDoS攻击检测J.信息网络安全,2 0 2 3,2 3(10):1-7.英文引用格式:WANG Zhi,ZHANG Hao,GU J.A Hybrid Method of Joint Entropy and Multiple Clustering BasedDDoS Detection in SDNJ.Netinfo Security,2023,23(10):1-7.A Hybrid Method of Joint Entropy and Multiple Clu
4、stering BasedDDoSDetection in SDNWANG Zhil,2,ZHANG Haol2,Jason GU3(1.Colleage of Computer and Date Science,Fuzhou University,Fuzhou 350116,China;2.Fujian Key Laboratory ofNetwork Computing and Intelligent Information Processing,Fuzhou 350116,China;3.Department of Electrical andComputer Engineering,D
5、alhousie University,Halifax B3J1Z1,Canada)Abstract:Software Defined Networking(SDN),an emerging networking paradigm,has introduced more severe Distributed Denial of Service attacks(DDoS)along withconvenience.Existing works typically use machine learning models to detect DDoS attacks,收稿日期:2 0 2 3-0 6
6、-2 8基金项目:国家自然科学基金U1804263,U 2 1A 2 0 47 2 ;国家留学基金2 0 2 0 0 6 6 550 11;福建省自然科学基金2 0 2 0 J01130167,2 0 2 1J0 16 16,2021J01625作者简介:王智(19 9 8 一),男,山西,硕士研究生,CCF会员,主要研究方向为网络安全、机器学习;张浩(19 8 1一),男,安徽,副教授,博士,CCF会员,主要研究方向为信息安全、安全大数据分析和计算智能算法;顾建军(19 7 2 一),男,江苏,教授,博士,主要研究方向为机器学习、神经网络和控制、生物医学工程和康复工程。通信作者:张浩NETI
7、NFOSECURITY优秀论文2023年第10 期but ignore the additional overhead that models impose on SDN controllers.In order to detectDDoS attacks more efficiently and accurately,this paper adoptd a strategy of multi-leveldetection modules:the first-level module detectd suspicious traffic by calculating the jointentr
8、opy of the traffic in the current window;the second-level module used a semi-supervisedmodel that used techniques such as feature selection,multi-training algorithms,and multipleclustering to improve detection performance by training multiple local models.Comparedwith other existing models,this mode
9、l performs best on multiple data sets and has betterdetection accuracy and generalization ability.Key words:SDN;DDoS;semi-supervised learning;statistical learning0引言随着技术的进步,计算机网络在现代社会中扮演着越来越重要的角色,然而网络在发展的同时,其管理和维护也变得日益困难。SDNII作为一种网络范式,可以很好地解决以上问题,它的核心思想是将网络的转发功能与控制功能解耦。SDN虽然为管理网络资源提供了较大的便利和效率,但这种中心化
10、控制思想也引人了一些安全问题,其中较典型的问题是DDoS。SD N存在单点故障问题2 ,因此这种攻击类型在SDN中表现得尤为突出。为了应对DDoS攻击对SDN网络造成的威胁,近几年研究人员提出了多种检测方案,这些方案主要分为统计学习方法和机器学习方法3,这两种方法各有优缺点。统计学习方法的优势在于检测速度很快,但它在准确性上表现欠佳;机器学习方法依靠其复杂的模型拥有更高的检测精度,但也因此需要消耗更多的计算资源,增加了控制器开销3。现有的大多研究47 仅使用这两种方法的其中一种,因此该方法的不足也会体现在这些研究中,如何高效地使用这两种方法是一项有价值的研究。此外,目前基于机器学习的工作大多都
11、采用有监督模型,其在检测性能上虽然表现良好,但如果处于一些特殊的场景中时,这些模型的检测性能会大大降低8 ,如可获取的有标签数据较少时等。针对这个问题,可以采用半监督模型解决,然而半监督模型在检测精度上往往不如有监督模型,因此如何提高半监督模型的性能也是一个需要解决的问题。针对上述两个问题,本文提出了一种用于SDN中的DDoS攻击检测方法。本文采用多级检测策略来解决统计学习和机器学习的问题,一级检测模块通过计算当前窗口中流量的联合来快速检测异常,若有异常,则启动二级检测模块;若无异常,则清空当前窗口中的流量,并继续收集和检测下一个时间窗口内的流量。二级模块是一种机器学习模型,可以对流量进行更精
12、确的判断。由于有监督模型对数据集依赖性较强,本文采用半监督模型,并提出一种半监督学习算法Multi-training,该算法对部分无标签数据附上置信度较高的伪标签来增加训练数据集的大小,解决有标签数据不足的问题。同时,为了提高半监督算法的准确率和泛化能力,本文以Multi-training算法为基分类器构建了多重聚类模型,首先使用加权K-means算法构建多个随机化层,然后在每个层中训练不同的局部模型,最后使用投票法确定每条流量的检测结果。1相关工作近年来,国内外学者针对SDN网络中的DDoS攻击检测技术进行了大量研究。TANI9等人提出了一种混合检测模型,在数据平面部署了检测DDoS攻击的异
13、常触发机制,在控制平面使用基于K-means和KNN的组合机器学习算法检查可疑流量,该模型具有较好的检测精度,但是它的异常触发机制仅考虑了数据包的接收速率,会产生较大的误报率。JASIMI4等人提出了一种半监督分类算法,首先使用混合特征选择方法进行特征优化,然后利用聚类算法选择最优的两个质心作为区分正常流量和DDoS攻击的依据,但是该方法无法取得较高的检测准确率。KALKAN5等人提出了一种基于联合熵的DDoS检测模型,首先在无攻击时期生成一个基本配置文件,然后以该文件为依据检测系统中联合信息熵的2NETINFOSECURITY2023年第10 期优秀论文变化情况,最后判断是否存在DDoS攻击
14、。该方法相较于机器学习算法在准确性方面表现较差,且无法区分DDoS攻击和Flash Crowd事件。MAHESHWARI等人提出了一种优化加权投票集成模型,采用6 个基分类器以及一种新的动态适应度函数来训练集成框架,其中使用的权重集由启发式优化算法确定。该模型的不足主要是对有标签数据的依赖度较高,无法适用于有标签数据较少的场景。于俊清7 等人设计了一种基于序贯概率比和梯度提升机的检测方法,具有较高的实时性和检测精度,但是使用的序贯概率比只能用于检测TCP流量,具有局限性。王聪10 等人提出了一种改进的D-S证据理论检测算法,使用纯度因子和离散因子衡量D-S证据源之间的冲突并对证据源进行调整,通
15、过Dempster规则融合得到检测结果。综上所述,学者们提出了许多在SDN中检测DDoS攻击的方法,但是每种方法都有其局限性,如何高效且精准地检测DDoS攻击,一直都是学者研究的重点与挑战。2模型设计本文提出的异常检测方法主要分为两个子模块:基于联合熵的一级检测模块和基于多重聚类的二级检测模块。2.1基于联合熵的一级检测模块信息熵I是与随机变量相关联的一个度量,随概率分布的不确定性增加而增加。在给定可能结果x(i=1,2,M)和对应样本数n;的情况下,使用香农公式来计算信息熵,如公式(1)所示。(1)(S其中,S表示X中的样本总数。利用信息熵来检测DDoS攻击基于这一原理:正常情况下,源IP地
16、址和目的IP地址的数量是趋于稳定的;而在DDoS攻击的条件下,会存在大量伪造的源IP地址,导致源IP地址数量激增;同时,由于攻击者会有目的性地向某几个目标主机发起攻击,这会使目的IP地址的数量变得很少12 。因此,当发生DDoS攻击时,源IP地址的熵值、目的IP地址的熵值、源IP地址与目的IP地址的熵值之差这3项指标均会发生显著变化,本文将这3项指标作为初始检测模块中的联合熵。一级检测模块的代码如下。输入:数据分组D;Window-WindowU(Di)if Window.size WthenH=(Hsre,Hos,Hpi)if any value of H;exceeds the threshold T,theninvoke the second-level moduleend ifWindowend if该算法会利用“窗口”收集当前网络中最新的W条数据流量,并计算这些流量的联合熵H,如果H中任意一项指标超过预先设定的阈值T,就会触发异常信号并唤醒二级检测模块。虽然这会产生一定的误报率,但这种误报率是被允许的,这是由于该模块的主要作用是提供足够好的查全率,较高的查准率和较低的误报率则