基于随机森林和XGBoost的网络入侵检测模型

陈 卓 吕 娜

(空军工程大学信息与导航学院, 陕西西安 710077)

摘 要: 为提高复杂网络环境中入侵检测模型的准确性和实时性,提出一种基于随机森林和极端梯度提升树(XGBoost)的网络入侵检测模型RF-XGB。首先针对随机森林算法计算特征重要性的特点,设计混合特征选择方法高效筛选出最有价值的特征子集;在XGBoost算法中引入代价敏感函数来提高对少样本类别的检测率,使用网格法调参降低模型复杂度。实验仿真结果表明,与其他机器学习算法相比,所提出的模型在具备更高检测精度的情况下减少了50%以上的处理时间,并在噪声影响下具有较好的鲁棒性和自适应性。

关键词:入侵检测; 特征选择; 随机森林; 极端梯度提升树; 代价敏感函数

1 引言

如今大数据时代网络发展越来越快,网络攻击方式层出不穷,网络入侵检测对服务质量控制、流量定价、资源使用规划以及网络安全都显得尤为重要。攻击者往往对特定网络进行匿名攻击,从而导致网络崩溃,无法为用户提供安全可靠的服务,从而造成巨大经济损失。因此网络入侵检测系统成为网络安全的重要组成部分,它用于监控网络流量[1],以便在出现网络攻击时生成警报。如何利用机器学习的优势对日益复杂多变的网络进行入侵检测成为研究的热点。

随着机器学习的发展,国内外学者对基于机器学习的网络入侵检测方法进行了大量研究。经典的机器学习算法如KNN[2-3]、决策树[4]、随机森林算法[5-6]能够有效地检测网络攻击,但存在许多缺陷,例如检测速度慢和高错误检测率[7]。文献[8]提出一种基于聚类和遗传算法的复合入侵检测方法,该方法采用无监督算法,没有利用样本标签信息,因此检测性能容易达到上限。文献[9]通过定义网络的融合特征值以识别异常行为,基于自回归预测分类模型来对网络流量进行实时分析以检测DDoS攻击,与同类方法相比,该方法具有较高的检测率,并且消耗较少的资源,但是检测网络攻击的种类较为单一。文献[10]提出使用极限学习机选择性集成的网络入侵检测方法,证明了集成学习算法能够有效识别复杂多变的网络攻击。

目前网络高速发展,网络数据量庞大、数据维度高,会使入侵检测异常困难。通常采用特征选择的方法减少数据冗余,降低时间资源开销。较为流行的特征选择方法有过滤式、封装式和嵌入式三种[11-12]。文献[13]指出过滤式方法适合大数据量的数据集,虽然速度快但是模型精度不够,比较容易过拟合。而采用封装式算法,选择的特征虽然足够精确,但是在计算方面训练成本极高。而嵌入式方法能兼顾前两种方法的优点,但是特征子集的评价机制较难把握[13]。而通过混合不同的特征选择方法来结合其优点成为目前特征选择算法的研究重点。例如,文献[14]提出混合过滤式和封装式的特征选择方法,在较短的时间内得到较小的特征集可以达到相同或更好的整体预测精度,但是针对少数类的预测准确率较低。

由于网络攻击造成的异常流量在网络整体中占少数,直接使用不平衡的数据进行检测模型的训练,容易导致多数类识别率高而少数类识别率低[16]。处理不平衡数据的方法通常有过采样方法和降采样方法[17],前者算法简单应用较广,但由于只是基于少数样本的信息,缺乏数据多样性,易导致训练过拟合[18];降采样则容易丢失一定的数据信息,解决不平衡问题的能力有限[18]。文献[19]提出使用极端梯度提升树(eXtreme Gradient Boosting,XGBoost)算法的入侵检测方法,在不平衡的数据集上,使用改进的Smote算法对少数样本进行过度采样,对多数样本进行降采样。上述方法均以改变数据原本的特征分布为前提,不仅增加模型的计算负担,还容易丢失样本中的一些重要信息并影响最终检测性能。

综上所述,针对复杂多变的网络环境中,现有的网络入侵检测方法检测速度慢,误报率高等问题,提出一种基于随机森林(Random Forest, RF)和极端梯度提升树(XGBoost)的网络入侵检测模型RF-XGB。通过设计混合特征选择方法,筛选出对模型最有价值的特征子集,减少了模型的计算复杂度和检测时间;设计代价敏感函数使XGBoost分类器更加重视少样本攻击类别,提高模型的整体分类性能。实验表明RF-XGB模型在运算效率和检测准确率方面均优于传统算法。

2 RF-XGB网络入侵检测模型

2.1 网络入侵检测模型设计

网络入侵检测模型设计如图1所示,首先对原始网络流基于统计的方法构建特征,形成原始特征数据集,进行数据预处理,并按照比例划分为训练集和测试集,使用训练集进行模型的训练,使用测试集对模型进行测试,检验模型的性能。RF-XGB检测模型首先使用随机森林算法计算特征重要性,通过混合特征选择技术得到最优特征子集,最后对得到的特征子集使用改进的XGBoost算法进行检测识别。

图1 网络入侵检测模型
Fig.1 Network anormal traffic detection model

2.2 特征评价指标

基于生成树模型的特征选择算法与 LASSO、信息增益、ReliefF等特征选择方法相比拥有较好的稳定性,特别是在数据扰动和数据类别分布不平衡的情况下[28]。因此本文采用随机森林的基尼(Gini)重要性评分和平均准确度下降(Mean Decrease Accuracy,MDA)作为特征选择的评价指标。

(1)基尼重要性评分VIMj根据随机森林的决策树分枝前后的基尼指数变化量得到。基尼指数的计算公式为:

(1)

其中,K表示特征样本的类别数目,pk表示所有节点中类别k所占的比例。特征Xj在节点m的重要性,即为节点m分枝前后的Gini指数变化量

(2)

GIl和GIr表示分枝后两个新节点的Gini指数。特征Xj在第i颗树上的重要性为:

(3)

假设总共有n棵树,求和可得特征Xj的重要性为:

(4)

然后做归一化处理,得到Gini重要性评分VIMj为:

(5)

(2)平均准确度下降(MDA)根据随机森林的袋外样本(OOB)来进行评估。在构建随机森林的每棵树时,对训练样本随机且有放回地抽取,其中没有抽到的训练样本称为袋外样本。令Xj(j=1,2,…,n)为置换特征,其中n为剩余特征的数量。对于随机森林中的每一颗决策树f,使用相应的OOB数据计算其袋外数据误差,记为errOOBf,对置换特征Xj加上噪声干扰后的袋外数据误差记为特征Xj的MDA评分为:

(6)

其中ntree表示随机森林的决策树个数。对于重要的特征来说,进行置换就会对模型的准确率造成极大影响,因此MDA评分直接度量每个特征对模型准确率的影响。

2.3 混合特征选择

特征选择能够得到数据集的最优特征表示,不仅进一步提高模型鲁棒性和适应性,还极大地降低模型的时间和内存占用。不同的特征选择算法可能会产生特征空间中局部最优的特征子集,而混合特征选择方法有助于逼近全局最优特征子集[20]

混合特征选择方法通常是将过滤式与封装式方法结合,但是由于封装式方法计算复杂度较高,因此本文构造的混合特征选择方法是将过滤式与嵌入式方法相结合:一方面,以基尼重要性为评价指标,使用过滤式方法减少冗余、不相关特征,降低嵌入式方法的计算量;另一方面,以MDA评分为评价指标,利用嵌入式方法对剩余特征子集进行精确的选择,防止过滤式方法移除特征带来的模型准确率下降。设置最小特征数作为算法迭代的上限,同时保证特征选择的灵活性。

混合特征选择算法的具体流程见算法1:

算法1 混合特征选择算法输入: 样本的原始特征数据集S,初始特征数n,最小特征数m,删除特征数比例d%。输出:特征子集。1) 用有抽样放回的方法(bootstrap)从样本集S中选取s个样本作为一个训练集V;2) 用抽样得到的样本集V生成决策树f,也得到每一颗决策树f对应的OOBf;3) for s∈Sdo:4) 根据决策树分枝前后的Gini指数变化量得到每个特征对应的Gini重要性评分VIM(Gini);5) 将特征及所对应的得分排序,使用递归特征消除策略,删除d%得分最低的特征,初始特征数n=n(1-d%);6) while n<2*m;7) 根据OOBf计算每个特征的平均准确度下降VI(Xj),将特征及所对应的得分排序,选择排名靠前的m个特征;8) end while9) end for10) 得到特征子集。

2.4 基于代价敏感函数的改进XGBoost算法

虽然XGBoost算法相对其他分类算法具有高效、分类准确率高等优势,但是当数据类别分布不平衡时,XGBoost算法会表现出少数类识别率不高的问题。因此在XGBoost算法中引入代价敏感函数,使决策树在分裂时更加重视少样本类别,从而提高少样本类别的识别率,提高模型的整体分类性能。

XGBoost算法中的CART回归树会将输入的特征分配到各个叶子节点,而每个叶子节点上面都会对应一个实数分数,其预测函数为:

(7)

其中f(x)=wj(x),wj(x)为叶子节点j的分数, fk(x)为其中第k棵回归树。XGBoost算法学习的过程就是通过加入fk函数来优化目标函数,减少预测结果与实际结果之间的误差。假设共有n个类别,定义的目标函数如下:

(8)

其中第一部分l是损失函数,用来衡量预测结果与真实值之间的误差,第二部分Ω(ft)是正则化项,用来防止模型的过拟合。

(9)

其中Tt是叶子节点的个数,γλ为权重参数。

为了提高模型对少样本类别的重视,设计代价敏感度函数为:

(10)

sum(ci)为所有类别的数量,num(ci)为类别ci的数量。在样本类别ci(i=1,2,…,n)的目标函数中引入代价敏感度函数,当损失函数l是平方误差,泰勒展开得到:

(11)

其中gcihcihci分别为损失函数的一阶、二阶导数与代价敏感度函数相乘:

(12)

可以看出目标函数的优化会受代价敏感度函数w(ci)的影响,对上述公式进行求解可得叶子节点的最佳分数:

(13)

其中Ij是叶子节点j的实例集。最终求得目标函数为:

(14)

根据的最优结果寻找模型的最优树结构,其中代价敏感函数通过影响梯度值gci,hci,进而影响树的结构。树结构选择增益下降最大的特征作为最优分割点,增益下降的公式为:

(15)

其中ILIR分别是分割后左节点和右节点的实例集,而I包括所有实例集。由于代价敏感函数的影响,按照Gain进行最佳分裂点选择时会更加重视少样本类别,能显著提升少数类样本分类敏感度。然后不断迭代分裂生成新树,直到增益小于零或树分裂到最大深度为止。改进XGBoost算法的步骤见算法2。

算法2 改进XGBoost算法输入:排序后的特征子集ci(i=1,2,…,m),min child weight(最小叶子节点样本权重),max depth(最大深度)。输出:样本的预测值^y(t)i。1) 初始化回归树f(x);2) 选择排序后的特征子集ci中的前j名组成初始分割节点的候选集Sk;

3) while树的深度

2.5 网格法调参

模型选择的特征决定模型的性能上限,而参数调优使模型更接近这个上限[21],在模型准确度与复杂度之间找到平衡,防止模型过拟合并提高鲁棒性。本文的改进XGBoost算法使用网格搜索的方法进行参数调优,步骤如下:

Step 1 确定初始学习速率0.2和treebased参数调优的估计数目。

Step 2 控制树的数量(n estimators)来提高模型的速度。

Step 3 对树的最大深度(max depth)和最小叶子节点样本权重(min child weight)参数调优,对比模型分类的错误率,防止模型过拟合。

Step 4 调整subsample,控制每棵树随机采样的比例。

Step 5 调整gamma,控制最小损失函数下降值,满足该值节点才会分裂,值越大,算法越保守。

Step 6 降低学习速率,进一步提高模型的鲁棒性。

Step 7 当模型基本收敛,停止迭代。

参数范围为:设置树的数量:(10, 100)、最小叶子节点样本权重:(1, 20)、树的最大深度:(5, 15)、subsample:(0.5,1)、 gamma:(0, 1),网格搜索过程中比较模型的运行时间、分类错误率等指标,判断模型是否收敛,迭代曲线如图2所示,可见模型在迭代到20次左右已基本收敛。

图2 模型迭代曲线
Fig.2 Model iteration curve

最后选择的模型参数如表1所示。

表1 模型参数

Tab.1 Model parameters

模型参数参数值min child weight3max depth7n estimators80learning rate0.1subsample1.0nthread4

3 实验及性能评价

3.1 网络流特征的构建

本文使用加拿大网络安全研究所提供的CICIDS2017数据集进行网络入侵检测研究[22],数据集包含正常网络流量和最常见的网络攻击。由于数据集原始流量数目巨大,针对原始网络流量使用CICFlowMeter工具[23]生成与时间相关的统计特征,以此来构建初始特征数据集。CICFlowMeter生成双向流特征,包括前向(源到目标)和后向(目标到源)方向[24]

在选择与时间相关的网络流特征时,考虑两种不同的构建方法。在第一种方法中,我们关注时间度量,例如数据包之间的时间间隔或流保持活动状态的时间。在第二种方法中,我们关注数量,例如每秒字节数或每秒数据包数。最后生成了183个统计特征如持续时间、数据包数量、字节数量、数据包长度等。如表2所示。

表2 构建的统计特征

Tab.2 Statistical Feature Construction

特征名称特征描述Packet Length Std数据包长度的标准差Fwd Packet Length Std向前方向数据包长度的标准差Bwd Packet Length Std向后方向数据包长度的标准差Fwd Packet Length Max向前方向的数据包长度最大值Flow Packet/s每秒流量字节数…………

3.2 实验环境及评价指标

本文所选取的实验硬件环境为一台内存为 16 GB,搭载 1.8 GHz 主频处理器的 Win 10 操作系统 PC,使用NVIDIA 1060 GPU进行模型加速。在比较机器学习算法方面,用一个混淆矩阵可以直观的看出每个类的预测值和真实值。在多分类的混淆矩阵中能够更加直观的看出有多少类别被分错,以及被分错到哪些类别中。

表3 混淆矩阵

Tab.3 Confusion matrix

预测正常预测异常实际正常TPFN实际异常FPTN

对于多分类的情况,通常使用“微平均”micro,和“宏平均”macro作为评价指标。宏平均是分别计算n个类别每类的准确率(precision),召回率(recall)和F1score,然后分别求平均。

(16)

微平均是先计算总体的TP, FP和FN的数量,然后计算precision,recall, F1score对应的平均值。

(17)

当数据集中的样本分布不均衡时,通常采用ROC曲线和AUC值来评价分类器的性能[24]

图3中ROC曲线的横坐标表示伪正类率(False positive rate, FPR),纵坐标表示真正类率(True positive rate,TPR),预测为正且标签为正的样本占所有正例样本的比例。ROC 曲线上的每个点对应一对误报率和检测率,反映了检测算法在各种检测阈值条件下的误报率和检测率的折中。ROC曲线越接近左上角,模型分类性能越优。评价指标AUC(Area Under ROC Curve)表示ROC曲线下方的面积值:AUC范围在0到1之间,分类器的AUC越接近1说明分类性能越好[25]

图3 ROC曲线示意图
Fig.3 Schematic diagram of ROC curve

3.3 检测分析

对数据集的类别数量进行分析,其中正常流量占比为80.34%,其他类的流量最少的占比只有0.00074%。因此将异常流量攻击类似的合并,如WebAttack-BruteForce和WebAttack-sql injection合并为WebAttack类,最终流量标签由原来的14种合并为8种:正常流量,Bot,DDoS,DoS,Infiltration,Patator,PortScan,Web Attack。每类的数量和占比如表4,可以看出不同类别的样本数量分布极不均衡。

表4 数据集相关信息

Tab.4 Multi-Label Datasets and Their Statistics

数据训练集占比/%测试集占比/%正常流量181820980.2845488880.34Bot15750.0693910.069DDoS1026014.53254264.49DoS2020618.92506008.93Infiltration320.000014140.000007Patator110060.4828290.49PortScan1273775.62315535.57Web Attack17240.0764560.08总数22645858056614720

为了提高算法的精度和加快算法的收敛速度,对构建的数据集进行数据预处理:

a)检测数据集中的缺失值(Nan),由于本文的一些算法对缺失值比较敏感,所以将数据集中所属特征列的均值对空值进行替换。

b)将处理后的数据集划分为75%的训练集和25%的测试集。

c)对多分类的标签进行one-hot编码。

d)为消除特征的尺度不同对模型准确率的影响,对数据集特征进行正则化处理,对于方差非常小的属性可以增强其稳定性。

本文的RF-XGB模型在特征选择过程中设置不同的特征子集数目后的模型召回率和模型所需时间(训练时间和测试时间)如图4所示。

图4 不同特征子集数目对模型的影响
Fig.4 Model effects of different feature subsets

图4可以看出随着特征子集数目的减少,RF-XGB模型所需时间与召回率都在下降,同时权衡模型的运算效率与模型性能,最终选择特征子集的数目为30,重要性靠前的特征如图5所示,可以看出后向和前向的数据包的长度(packet length)的统计值对模型贡献比较大。

图5 特征重要性排序
Fig.5 Ranking of feature importance

(1)为了验证改进XGBoost算法的有效性,在同样实验环境下,对原始特征数据集使用XGBoost算法[26]和加入代价敏感函数的XGBoost算法进行比较,图6是两种算法的分类混淆矩阵,0~7标签分别表示正常流量,Bot,DDoS,DoS,Infiltration,Patator,PortScan,Web Attack,横坐标表示预测标签,纵坐标表示真实标签。通过混淆矩阵可以直观看出XGBoost进行分类时,将Bot攻击识别为PortScan攻击和正常流量,将所有的Infiltration攻击识别为正常流量,22%的Patator攻击识别为正常流量,可以看出少样本类别的检测率较低。而改进的XGBoost算法对Bot攻击的检测准确率从原来的36%提高到了72%,并检测出了25%的Infiltration攻击,其他攻击类别(Web Attack和Patator)的检测率也有所提高。因此验证了改进XGBoost算法具有较低的误报率以及漏报率。

图6 加入代价敏感函数的模型混淆矩阵比较
Fig.6 Comparison of model confusion matrix with cost sensitive function

(2)接着验证RF-XGB模型的整体性能。为了说明本文模型的有效性,在同样的实验环境下,选择较为流行、检测效果较好的KNN[3]、决策树[4]、随机森林[5],GBDT[27]和XGBoost[26]算法构建模型进行对比,且都是基于网格搜索方法来选择合适的超参数。不同模型的检测对比结果见表5。可以看出KNN模型性能最弱,DT模型次之,RF,GBDT和XGBoost的微准确率与宏准确率都相差不大,但是召回率指标就有明显的差距,本文的RF-XGB模型的召

表5 模型整体性能对比

Tab.5 Comparison of overall performance of each model

modelMicroprecisionrecallF1scoreMacroprecisionrecallF1scoreKNN0.8840.7920.8350.8220.7630.791DT0.9760.9660.9690.8260.8040.813RF0.9920.9860.9940.9860.9340.959GBDT0.9920.9850.9930.9910.9280.958XGBoost0.9940.9920.9930.9930.9560.974RF-XGB0.9990.9990.9990.9990.9970.998

回率指标明显高于其他算法,验证本文模型的整体分类性能优于其他算法。

(3)为进一步分析RF-XGB模型的鲁棒性。在训练数据和测试数据中引入掩蔽噪声[29],将每一类别的数据以20%~30%的噪声比例随机置零,来比较模型此时的分类性能。对比在噪声影响下RF-XGB模型与XGBoost[26]检测模型和随机森林[5]检测模型。在不平衡数据集中常用ROC-AUC曲线进行客观评价[22],ROC曲线越接近左上角(TPR=1, FPR=0),模型分类性能越为理想。从图7可以看出RF-XGB模型的大部分类别的ROC曲线均比较接近左上角,在噪声影响下分类性能也非常理想。而XGBoost模型的Bot攻击和Infiltration攻击的检测性能较差,随机森林模型针对所有类别的检测性能最差。图中标签AUC表示ROC曲线所覆盖的区域面积,AUC 越大表示分类性能越好。而RF-XGB模型所有类别(包括少数类)的AUC值相较其他两个算法均为最高,验证了RF-XGB模型在噪声影响下,仍有较高的分类性能。从而验证了本文模型在噪声影响下具有较好的鲁棒性。而XGBoost和随机森林模型在噪声影响下,分类性能尤其是少数类的分类性能不如本文的RF-XGB模型。

图7 在噪声影响下各模型的ROC-AUC曲线
Fig.7 Comparison of model confusion matrix with cost sensitive function

(4)图8展示了各个模型的训练和测试时间,可以看出KNN,GBDT,决策树(DT)算法相对较慢,随机森林(RF)和XGBoost相对稍快,而本文的RF-XGB模型的训练时间和测试时间是最短的。与XGBoost检测模型对比,RF-XGB的运行时间大概减少了50%~70%。实验证明了RF-XGB模型大大降低了处理时间,节省了计算资源,提高了检测分类速度。

图8 模型的速度对比
Fig.8 Speed comparison of different models

4 结论

本文的RF-XGB模型通过构造混合特征选择方法,筛选出对模型最有价值的特征子集,降低了模型的计算量,提高了分类速度;设计代价敏感函数减轻不平衡数据集对模型性能的影响,提高了少样本攻击类别的检测准确率。实验表明RF-XGB模型在分类速度和检测准确率方面优于传统算法,能有效检测出各种入侵攻击类型,具有较低的误报率和漏报率,在噪声影响下仍有较好的鲁棒性。

参考文献

[1]Kwon D, Kim H, Kim J, et al. A survey of deep learning-based network anomaly detection[J]. Cluster Computing, 2017: 1-13.

[2]Khan J A, Jain N. Improving intrusion detection system based on KNN and KNN-DS with detection of U2R, R2L attack for network probe attack detection[J]. International Journal of Scientific Research in Science, Engineering and Technology, 2016, 2(5): 209-212.

[3]Serpen G, Aghaei E. Host-based misuse intrusion detec-tion using PCA feature extraction and kNN classification algorithms[J]. Intelligent Data Analysis, 2018, 22(5): 1101-1114.

[4]Rai K, Devi M S, Guleria A. Decision tree based algo-rithm for intrusion detection[J]. International Journalof Advanced Networking and Applications, 2016, 7(4): 2828.

[5]Farnaaz N, Jabbar M A. Random forest modeling for network intrusion detection system[J]. Procedia Computer Science, 2016, 89: 213-217.

[6]Ahmad I, Basheri M, Iqbal M J, et al. Performance comparison of support vector machine, random forest, and extreme learning machine for intrusion detection[J]. IEEE Access, 2018, 6: 33789-33795.

[7]Ahmed M, Mahmood A N, Hu J. A survey of network anomaly detection techniques[J]. Journal of Network and Computer Applications, 2016, 60: 19-31.

[8]Chakrabarty B, Chanda O, Islam M S. Anomaly based intrusion detection system using genetic algorithm and K-centroid clustering[J]. International Journal of Computer Applications, 2017, 163(11): 13-17.

[9]Chen J, Tang X, Cheng J, et al. DDoS Attack Detection Method Based on Network Abnormal Behavior in Big Data Environment[J]. arXiv preprint arXiv: 1903.11844, 2019.

[10]刘金平, 何捷舟, 马天雨, 等. 基于KELM选择性集成的复杂网络环境入侵检测[J]. 电子学报, 2019, 47(5): 1070-1078.

Liu Jinping, He Jiezhou, Ma Tianyu, et al. Selective Ensemble of KELM-Based Complex Network Intrusion Detection[J]. Acta Electronica Sinica, 2019, 47(5): 1070-1078.(in Chinese)

[11]Yuan Z, Zhao P. An Improved Ensemble Learning for Imbalanced Data Classification[C]∥2019 IEEE 8th Joint International Information Technology and Artificial In-telligence Conference (ITAIC). IEEE, 2019: 408- 411.

[12]Li J, Cheng K, Wang S, et al. Feature selection: A data perspective[J]. ACM Computing Surveys (CSUR), 2018, 50(6): 94.

[13]Hasan M A M, Nasser M, Ahmad S, et al. Feature selection for intrusion detection using random forest[J]. Journal of Information Security, 2016, 7(3): 129.

[14]Hsu H H, Hsieh C W, Lu M D. Hybrid feature selection by combining filters and wrappers[J]. Expert Systems with Applications, 2011, 38(7): 8144- 8150.

[15]刘艺, 曹建军, 刁兴春, 等. 特征选择稳定性研究综述[J]. 软件学报, 2018, 29(9): 2559-2579.

Liu Y, Cao J J, Diao X C, et al. Survey on Stability of Feature Selection[J]. Journal of Software, 2018, 29(9): 2559-2579.(in Chinese)

[16]Li H, Wang Y, Wang H, et al. Multi-window based en-semble learning for classification of imbalanced stream-ing data[J]. World Wide Web, 2017, 20(6): 1507-1525.

[17]Su P, Liu Y, Song X. Research on intrusion detection method based on improved smote and XGBoost[C]∥Pr-oceedings of the 8th International Conference on Communication and Network Security. 2018: 37- 41.

[18]Yuan Z, Zhao P. An Improved Ensemble Learning for Imbalanced Data Classification[C]∥2019 IEEE 8th Joint International Information Technology and Artificial In-telligence Conference (ITAIC). IEEE, 2019: 408- 411.

[19]Su P, Liu Y, Song X. Research on intrusion detection method based on improved smote and XGBoost[C]∥Proceedings of the 8th International Conference on Communication and Network Security. 2018: 37- 41.

[20]Song J, Zhao W, Liu Q, et al. Hybrid feature selection for supporting lightweight intrusion detection systems[C]∥J. Phys., Conf. Ser. 2017, 887(1).

[21]Sawada Y. Machine learning accelerates parameter opti-mization and uncertainty assessment of a land surface model[J]. arXiv preprint arXiv: 1909.04196, 2019.

[22]Sharafaldin I, Lashkari A H, Ghorbani A A. Toward generating a new intrusion detection dataset and intrusion traffic characterization[C]∥ICISSP, 2018: 108-116.

[23]Draper-Gil G, Lashkari A H, Mamun M S I, et al. Characterization of encrypted and vpn traffic using time-related[C]∥Proceedings of the 2nd International Conference on Information Systems Security and Privacy (ICISSP), 2016: 407- 414.

[24]Zhou Q, Pezaros D. Evaluation of Machine Learning Classifiers for Zero-Day Intrusion Detection-An Analysis on CIC-AWS-2018 dataset[J]. arXiv preprint arXiv: 1905.03685, 2019.

[25]Brzezinski D, Stefanowski J. Prequential AUC: properties of the area under the ROC curve for data streams with concept drift[J]. Knowledge and Information Systems, 2017, 52(2): 531-562.

[26]Dhaliwal S S, Nahid A A, Abbas R. Effective intrusion detection system using XGBoost[J]. Information, 2018, 9(7): 149.

[27]Rai M, Mandoria H L. Network Intrusion Detection: A comparative study using state-of-the-art machine learning methods[C]∥2019 International Conference on Issues and Challenges in Intelligent Computing Techniques (ICICT). IEEE, 2019, 1: 1-5.

[28]Kamkar I, Gupta S K, Phung D, et al. Stable feature selection for clinical prediction: Exploiting ICD tree structure using Tree-Lasso[J]. Journal of Biomedical Informatics, 2015, 53: 277-290.

[29]Tan T, Qian Y M, Hu H, et al. Adaptive very deep convolutional residual network for noise robust speech recognition[J]. IEEE/ACM Transactions on Audio, Speech, and Language Processing, 2018, 26(8): 1393-1405.

Network Intrusion Detection Model Based on Random Forest and XGBoost

Chen Zhuo LYU Na

(Institute of Information & Navigation,Air Force Engineering University, Xi’an, Shaanxi 710077, China)

Abstract: To improve the accuracy and real-time performance of intrusion detection models in complex network environments, a network intrusion detection model based on random forest and eXtreme Gradient Boosting (XGBoost) is proposed. First, the feature importance is calculated based on the random forest algorithm. A hybrid feature selection method combining filtering and embedded is used to reduce the feature dimension of the dataset. When detecting the sample category, the XGBoost algorithm based on cost-sensitive function and grid method tuning is used to improve Model accuracy. Experimental simulation results show that compared with other machine learning algorithms, the proposed model greatly reduces processing time by more than 50% with higher detection accuracy, and has better robustness and adaptability.

Key words intrusion detection; feature selection; random forest; xgboost; cost sensitive function

文章编号: 1003-0530(2020)07-1055-10

收稿日期:2020-03-05;修回日期:2020-04-20

基金项目:国家自然科学基金(61703427)

中图分类号:TP393

文献标识码:A

DOI: 10.16798/j.issn.1003- 0530.2020.07.004

引用格式: 陈卓, 吕娜. 基于随机森林和XGBoost的网络入侵检测模型[J]. 信号处理, 2020, 36(7): 1055-1064. DOI: 10.16798/j.issn.1003- 0530.2020.07.004.

Reference format: Chen Zhuo, LYU Na. Network Intrusion Detection Model Based on Random Forest and XGBoost[J]. Journal of Signal Processing, 2020, 36(7): 1055-1064. DOI: 10.16798/j.issn.1003- 0530.2020.07.004.

作者简介

陈 卓 男, 1997年生, 河南南阳人。空军工程大学硕士研究生, 主要研究方向为通信网络、机器学习。

E-mail: 408258313@qq.com

吕 娜 女, 1970年生, 陕西西安人。空军工程大学教授, 博士, 主要研究方向为通信网络、机器学习、航空数据链。

E-mail: lvna2007@163.com