APP下载

SDN中基于LightGBM算法的入侵检测研究

2021-09-08马群胡佳卉于雅静

中国新通信 2021年14期
关键词:入侵检测

马群 胡佳卉 于雅静

【摘要】    针对当前软件定义网络中传统的入侵检测效率较低,为提高网络入侵检测的效率和准确性,本文提出一种基于LightGBM算法的入侵检测模型。针对LightGBM算法准确性高、速度快可以处理高维数据等特点,采用LightGBM算法建模对入侵数据特征分析处理,然后与随机森林、XGBoost、LSTM、SVM和逻辑回归算法对比效果,最后对网格搜索算法进行改进,提高网格搜索算法优化模型参数的效率。通过实验分析,在模型的精确率、F1值,AUC值等评估指标上都有较好的效果,验证了本文所提方法的有效性。

【关键词】    入侵检测    LightGBM算法    网格搜索算法

引言:

随着网络时代的发展,当前的网络入侵检测系统缺乏对频繁变化的网络环境的适应性。不安全的网络环境会给人们在工作、生活和科研等方面造成多种损失。因此在网络安全领域,入侵检测成为一个重点研究方向。

目前,在网络安全的研究领域有很多关于入侵检测的文献,其中,在文献[1]中提出了一种提出了一种自适应集成学习模型。通过调整训练数据的比例,可建立多棵决策树。为了提高整体检测效果,选择了几种基分类器,包括决策树、随机森林、KNN和DNN算法,并设计了一种集成自适应投票算法。实验验证,该方法有较好的检测效果,而加入自适应投票算法的最终准确率更高。文献[2]研究了基于深度学习的全方位入侵检测系统 (IDS),用于监控和数据采集 (SCADA) 网络,该系统能够检测时间上不相关和相关的攻击,并通过集成方法结合 LSTM 和 FNN 进一步提高了 IDS 性能。文献[3]设计了改进遗传算法(GA)结合深度置信网络(DBN)的入侵检测模型,面对不同类型攻击通过GA多次迭代,自适应生成最优隐藏层数和神经元数,使基于DBN的入侵检测模型结构紧凑检测率高。实验表明改进的入侵检测模型有效提高了检测效果。文献[4]中通过利用SDN流的概念,采用了分层和重量级入侵检测系统(IDS)的体系结构,基于流的IDS使用基于受DARPA入侵检测数据集训练的支持向量机(SVM)的异常检测算法。第一道防线检测网络上的任何入侵。当检测到攻击时,恶意流将镜像到基于数据包的IDS,以进行进一步检查和采取措施。文献[5]针对当前复杂、高维的网络环境给入侵检测带来的巨大压力,分别构建了基于主成分分析-BP神经网络(PCA-BP)和深度置信网络(DBN)的入侵检测模型,并通过实验评估两种检测模型的效果,结果表明深度信念网络在特征学习方面具有独特的优势和良好的性能。

针对降低入侵检测的误报率、入侵数据流特征差异性较大等问题,本文提出一种基于LightGBM算法的入侵检测方法,并对网格搜索算法进行改进,提高网格搜索算法优化模型参数的效率。

一、算法原理

LightGBM(Light Gradient Boosting Machine)是微软亚洲研究院2017年1月在GitHub上公布的一个开源、快速、高效的基于决策树算法的提升 (GBDT、GBRT、GBM和MART)框架[5]。在各种应用场景和各大竞赛中,XGBoost已经被证明是一种非常高效热门的分类算法,但LightGBM是一种更加准确高效的新算法,它在保证准确率的前提下,内存占用下降了大约3倍,速度比XGBoost提升了近10倍。

LightGBM是基于 Histogram 的决策树算法,采用最优的按叶子分裂的学习方法(Leaf- wise Learning),然而其它的提升算法分裂树通常不采用这种方法,而是采用按层分裂的学习方法(Level-wise Learning)。

1. Level-wise Learning处理一次数据同时可分裂同一层的叶子,因此可实现多线程优化,并能較好控制模型的复杂度,不易过拟合。但实际上因为很多叶子的分裂增益较低,没必要进行搜索和分裂,而Level-wise又不加区别的分裂同一层的叶子,这就增加了很多没必要的计算成本。

2. Leaf- wise Learning是每次从当前所有叶子中,找到分裂增益最大的进行分裂,然后重复此步骤。因此在分裂次数相同时,Leaf-wise可降低更多误差,效率更高。但有一个明显缺点:生成的决策树可能深度过大,产生过拟合。因此LightGBM在Leaf-wise上增加最大深度限制,保证高效率同时防止过拟合,使算法更快速有效,因此有更高的精度,同时支持并行学习也会占用更小运行内存。而其他任何已存在的提升算法都很难做到。

二、改进网格搜索算法

网格搜索算法一般用来优化模型的参数,但对于一些参数多,取值范围较大的模型来说,网格搜索会很耗时。因此,本文提出了一种改进的网格搜索算法,保证优化模型参数效果的同时提高效率。

网格搜索算法是网格化处理作为变量的区域,即将算法参数可能取值的所有排列组合结果生成“网格”。然后采用穷举法计算运行所有的网格点,寻找出满足约束函数的目标函数值,最后通过比较得到最优点[6]。由于计算所有的网格点耗费了大量计算时间,因此为提高计算效率,本文提出一种大范围寻优,小范围求解的方法。

在保证LightGBM算法性能得到提高的前提下,也要考虑到每棵决策树的准确性和树的多样性。在本文中使用改进的网格搜索算法寻求LightGBM最优参数,选用模型的准确率作为目标函数值。改进网格搜索方法的具体步骤如下:

1.确定需要优化的参数,相应的参数就是网格上的点,设定较长的网格间距来划分网格;

2.将网格上的每一组参数全部遍历一次,采用LightGBM算法的准确率作为评价标准,进行初步的大范围寻优;

3.选择准确率最高即误差最小的一组数据,继续缩短网格间距进行参数优化。若袋外分数或网格间距满足要求,则输出结果,否则重复上述步骤。

三、实验

3.1 优化参数

在建模的參数调优时,采用改进的网格搜索算法快速高效的调参。以参数“LightGBM中决策树最大深度md”和“单棵树的叶子数量ml为例”为例,采用改进的网格搜索算法对决策树参数进行优化。首先在进行大间距初步搜索,md的取值范围确定为0

由上表可知最优结果为md =11,ml =40时,此时准确率为0.816,成正比例增长,所以继续以小间距细分网格,将md的取值范围确定为9< md <15,网格间距设定为2;ml的取值范围确定为29

再次细分网格的结果为md =10,ml =36时,准确率为0.862,已经趋于稳定。由此可初步确定md和ml两个参数的取值,另外模型的其他参数也通过此方法求得模型的最优参数。

3.2 模型评价指标

在对本文的入侵检测模型进行评估时,主要采用了模型的精确率(Pre)、AUC(Area under the Curve of ROC)值、F1值和误报率(FPR)等指标。AUC值可以更直观的体现出ROC曲线所表达的结果,ROC曲线表示模型分类能力,AUC值就越大则ROC曲线就越高,说明模型的预测精度高。F1值兼顾了分类模型的准确率和召回率。误报率表示被错分到正常样本类别的负样本,在全部负样本的所占比例,是入侵检测模型的重要评估指标之一。

3.3 实验结果分析

本文采用 OpenDaylight作为控制器,Mininet在VMware Workstation pro上运行的 Ubuntul6.04操作系统进行。所有的实验均在CPU为2 CPU Cores i5-8265U,1.80GHZ,内存为8G的计算机上运行,使用Python3.5构建代码进行实验。同时,为了增加本文方法的说服力和对比性,加入随机森林(Random Forest,RF)、XGBoost、逻辑回归(Logistic Regression,LR)、支持向量机(Support Vector Machine,SVM)和长短期记忆人工神经网络(Long Short-Term Memory,LSTM)算法与本文方法进行比较。实验结果如表3所示:

由上表各项模型评价指标可知,逻辑回归模型的整体性能最弱,各项性能指标最低。同属集成学习的随机森林、XGBoost和LightGBM模型中,随机森林模型的整体性能最弱,但强于逻辑回归和SVM模型;XGBoost模型的性能中等,优于逻辑回归、随机森林和SVM模型。SVM模型的各项评价指标强于逻辑回归模型,但比其他模型较差。LSTM模型的性能仅次于LightGBM模型。由此可知,基于LightGBM算法的入侵检测模型性能最好。

另外,本文分别测试了几种模型在各种类型攻击下的入侵检测精确率,实验结果如表4所示:

由表4各种类型检测结果可知,LSTM模型和XGBoost模型的入侵检测水平基本持平,随机森林模型稍次之,LightGBM模型对Normal、Probe、U2R、R2L和DDos的几种入侵检测效果最好,说明本文所提基于LightGBM算法的入侵检测模型具有良好的实际应用效果。

通过观察入侵检测模型的ROC曲线图和AUC曲线下面积来对比几种不同模型的分类性能。其中黑色实线为LightGBM算法的ROC曲线,LSTM算法的ROC曲线用黄色虚线表示,绿色实线代表XGBoost算法,黑色虚线代表随机森林算法,蓝色点虚线代表SVM算法,红色点划线代表LR算法,从图1中可以看出基于LightGBM算法的入侵检测模型ROC曲线明显高于另外几种模型的曲线图,同样,AUC值(曲线下面积值)最大,效果更优,说明模型的分类能力较好。

另外,为了验证网格搜索算法改进前后的效果,在此额外引入KS(Kolmogorov-Smirnov)值和KS曲线图(用采用默认参数值和采用改进网格搜索算法优化参数的C5.0进行对比,此处不加入其他几种算法做比较的目的是因为C5.0模型的性能最好)。KS值越大,说明模型的预测准确性越好,KS>0.2时,模型就有较好的预测准确性。通过对比KS值和KS曲线图可以体现出经过改进的网格搜索算法的有效性,采用默认参数值的LightGBM模型的KS值为0.47,采用优化参数后的LightGBM模型的KS值为0.59。图2为LightGBM模型默认参数值的KS曲线图。图3为KS曲线对比图,其中蓝色虚线和蓝色实现为默认参数值的KS曲线图,黑色实线和黑色虚线为最优参数值组合的KS曲线图。

通过实验结果对比分析,LightGBM算法的入侵检测精确率为0.9887,F1值为0.9726,AUC值为0.9837。总体检测效果优于其他集成学习算法并且同样优于LSTM、LR和SVM算法。说明了本文所提方法的有效性。

四、结束语

本文针对降低入侵检测的误报率、入侵数据流特征差异性较大等问题,提出一种基于LightGBM算法的入侵检测模型,并通过实验对比了几种集成学习算法和其他几种机器学习算法的检测效果,另外本文对网格搜索算法进行了改进,实验证明基于LightGBM算法的入侵检测模型性能优于其他几种集成学习算法,同样优于其他几种对比算法,同时提高了优化模型参数的效率,证明了改进网格搜索算法的有效性。

参  考  文  献

[1] X Gao, Shan C, Hu C, et al. An Adaptive Ensemble Machine Learning Model for Intrusion Detection[J]. IEEE Access, 2019, 7:82512-82521.

[2] Gao J, Gan L, Buschendorf F, et al. Omni SCADA Intrusion Detection Using Deep Learning Algorithms[J]. 2019.

[3] Zhang Y, Li P, Wang X. Intrusion Detection for IoT Based on Improved Genetic Algorithm and Deep Belief Network[J]. IEEE Access, 2019:1-1.

[4] Q. Schueller, K. Basu, M. Younas, M. Patel and F. Ball, “A Hierarchical Intrusion Detection System using Support Vector Machine for SDN Network in Cloud Data Center,” 2018 28th International Telecommunication Networks and Applications Conference (ITNAC), Sydney, NSW, 2018, pp. 1-6, doi: 10.1109/ATNAC.2018.8615255.

[5] Duan T, Tian Y, Zhang H, et al. Intelligent Processing of Intrusion Detection Data[J]. IEEE Access, 2020, PP(99):1-1.

[6] Perez-Diaz J A, Valdovinos I A, Choo K, et al. A Flexible SDN-based Architecture for Identifying and Mitigating Low-Rate DDoS Attacks using Machine Learning[J]. IEEE Access, 2020, PP(99):1-1.

猜你喜欢

入侵检测
多Agent的创新网络入侵检测方法仿真研究
基于入侵检测的数据流挖掘和识别技术应用
艺术类院校高效存储系统的设计
基于关联规则的计算机入侵检测方法
无线传感器网络发展历史及安全需求及技术挑战
无线传感器网络入侵检测系统综述
人工神经网络的改进及其在入侵检测中的应用
基于Φ—OTDR的分布式入侵检测系统的应用综述
一种基于数据融合的新的入侵检测框架