面向不完备信息网络的集成神经网络入侵检测方法

2021-11-16 01:43张翼英阮元龙
天津科技大学学报 2021年5期
关键词:分类器准确率神经网络

张翼英,阮元龙,尚 静

(天津科技大学人工智能学院,天津 300457)

近年来,随着网络技术的进步,网络安全问题日益严峻,各种各样的入侵方式层出不穷.根据中国互联网应急中心2020年2月发布的《网络信息安全与动态周报》[1]的数据显示,境内感染网络病毒的设备数量达到132万个[2].网络入侵威胁着用户的信息安全,因此入侵检测[3]的重要性日益凸显,建立一套有效的检测机制尤为必要.

随着人工智能的兴起,有学者[3-4]将机器学习引入入侵检测系统.但是,基于深度学习的入侵检测方法存在3个问题:第一,深度学习结构复杂,需要花费大量时间训练参数,检测实时性不好[5];第二,训练需要大量完备的数据,以增强模型的训练效果[6];第三,神经网络复杂的结构决定了其强大的拟合能力,但同时容易导致过拟合.

目前,国内外基于深度学习方法的入侵检测研究均取得一定成果.针对训练效率,Khan等[7]结合主成分分析方法(principal component analysis,PCA)和贝叶斯网络,基于PCA提取数据主要特征,基于贝叶斯网络进行入侵分类,但检测时效性不好.Gurung等[8]采用基于深度置信网络(deep belief network,DBN)与支持向量机(support vector machine,SVM)相结合的模型,模型的检测准确率高,但在训练时长上存在不足.Lopez-Martin等[9]采用基于稀疏自编码器(sprarse auto-encoder,SAE)的特征提取方法,并用自学习(self-taught learning,STL)的方式对数据进行有监督的训练,检测准确率在90%以上,但训练时间过长.冯文英等[10]设计了一种完全基于前馈神经网络的检测模型(simplified feed-forward intrusion detection,SFID),模型通过神经元个数逐级递减,消除样本数据中的冗余特征,基于降维后的特征对网络行为进行分类,实现特征抽取和入侵分类,提升了模型整体的训练效率,但检测结果仍有提升空间.

针对信息不完备的处理,池亚平等[11]将SVM作为弱分类器,每个SVM对应一个特征,一组SVM作为所有选取的特征所组成一个基分类器,Adaboost将多个基分类器组合,利用SVM和Adaboost的各自优点构建了SVM-Adaboost模型.虽然提升了训练效率,但是并没有考虑数据类别不平衡的问题.Li等[12]采用半监督算法对未标记的数据进行自动标记,虽然无需人工干预,但缺少对不完备信息数据的处理.Hamid等[13]构建小波变换和人工神经网络的结合模型,降低了数据不平衡所造成的影响,提高了低频数据类别的检测准确率.Wu等[14]设计了SAE和Bagging组合的检测方法,通过对大量高维、无标签原始数据的特征降维,获得原始数据的深层特征.算法引入了稀疏因子,使得栈式稀疏自编码在检测过程中有更好的泛化性能,检测准确率较高,但对数据特征量要求大.饶绪黎等[15]设计了数据不完备下的入侵检测方法,方法丢弃了部分特征,仅利用少量特征就获得较好的检测效果.

综上所述,虽然有很多机器学习算法被应用于入侵检测领域,也取得了不错的检测效果,但大多数模型的结构复杂、训练时间长,难以满足真实网络环境下检测实时性的要求,且其中一些模型对数据的特征非常敏感,一旦数据特征量减少,检测准确率会迅速下降.

针对上述问题,本文提出一种面向不完备信息的集成神经网络入侵检测方法(intrusion detection with incomplete information based on ensemble neural network,IDII-ENN),实现了不完备信息下的轻量级网络入侵检测.模型主要包含了3个部分:首先,模型对数据类别不平衡的缺陷进行弥补,避免了因信息不完备导致训练不充分的问题;然后,将采样后的数据送入基于前馈神经网络的分类器,网络的低复杂度可以有效降低模型的训练时间,满足网络入侵检测实时性的要求;最后,采用基于集成学习的方法,对基分类器的分类结果进行融合,强化了模型的分类效果.模型在满足检测实时性的同时,以较高的准确率实现了不完备信息下的入侵检测.

1 模型设计

在网络传输的过程中,存在数据丢包和网络延迟等问题,以及为了保护隐私对数据进行隐藏的现象.因此,模型在数据层面,对网络数据进行信息完备化处理,优化各类别的数据量,弥补网络数据自身的缺陷.模型在算法层面,基于前馈神经网络对数据进行分类,降低神经网络的复杂度,提升训练效率.模型在分类阶段,设计基于集成学习的结果融合方法,对多个基分类器的结果按照一定策略进行融合,得到最终的检测结果,提高模型检测的准确率.入侵检测的模型如图1所示.

图1 IDII-ENN入侵检测模型Fig. 1 IDII-ENN intrusion detection model

1.1 基于bootstrap采样的信息完备化

信息不完备导致了各类别数据的数据量不均衡的问题,为了避免训练数据在各类别上存在较大的差别,避免训练不充分.模型先对数据进行完备化处理,处理方法基于改进后的bootstrap方法.

自助抽样法(bootstrap sampling,BS)是有放回的抽样算法,在给定包含m个样本的数据集D中,经m次有放回的抽样生成一个数据子集.但在样本训练集的随机采样中,每个样本被采集到的概率是1/m,不被采集到的概率为1−1/m.经m次采样均没有被采集到的概率是(1−1/)mm,因此当采样次数足够大时,在每轮的随机采样中,训练集中仍有约36.8%的数据无法被采样到.

为了使尽可能多的数据被采样到,对BS稍作改进,将原始数据集按照抽取、选取、合并、丢弃这4步进行采样,得到一份新的数据子集.平衡各类别间的数据量,基于BS的完备化处理如图2所示.

图2 基于BS的完备化处理Fig. 2 Complete processing based on BS

完备化处理步骤:

(1)假定分类器的个数为N个,为了提升采集到低频样本的概率,使用有放回的BS方法对数据进行N轮采样,抽取N份数据子集D′,记为α1,α2,…,αN,αi中的数据量与原始数据集D中的数据量相同,记为m.

份数据,记为β1,β2,…,βlnN.

(3)将选取出的β1,β2,…,βlnN进行合并,得到数据集 β,即β=β1+β2+…+βlnN,从而获取较单份采样数据更丰富的样本子集.

在获取到一份新的样本数据子集∑i后,重复N次上述的抽样算法,得到基于BS有放回采样的N份样本数据子集,记为 ∑1,∑2,…,∑N,以便每个学习器学习.通过多轮的采集数据,降低了各类别在数据量上的不均衡;通过对数据的随机丢弃,避免了因数据冗余而导致的训练效率低的问题.

1.2 基于前馈神经网络的入侵检测

基于前馈神经网络对入侵行为进行分类,前馈神经网络包含输入层、隐藏层、输出层,其中隐藏层有3层,数据由输入层传入,经隐藏层降维,送进输出层,输出层采用softmax函数,并完成分类.前馈神经网络分类器如图3所示.

基于正则化后交叉熵损失函数,对样本点为m、类别为n的交叉熵损失函数的表达式为式中:n为类别数量;m为当前batch的训练样本数量;yji为该样本真实的one-hot编码;ji为softmax

函数的输出值,wi为权重值.loss函数中加入正则项,预防模型因个别特征的影响产生较大误差.

模型的参数集合为θ= { wi,bi,i =1,2,3,4},基于随机低度下降(stochastic gradient descent,SGD)的方法对参数进行更新.参数θ的更新表达式为式(3),α为模型更新的速率.

1.3 基于Bagging集成学习结果融合

集成学习是使用多个学习器共同学习的算法,然后使用一定的策略对多个学习器的结果加以融合,从而获得比单个学习器更好的学习效果.本文设计了基于Bagging算法的结果融合方法.首先对网络数据按照前文所述方法进行N次重复采样,获得N份不完全相同的训练数据;然后将每一份数据送入前馈神经网络分类器,并行对其进行入侵检测的判断;最后对多个结果进行融合,得到最终的检测结果.基于Bagging的集成结果融合如图4所示.

图4 基于Bagging的集成结果融合Fig. 4 Ensemble result fusion based on Bagging

模型基于集成学习的方法将多个弱分类器组合成一个强分类器,强化模型的分类效果,提升了分类准确率.通过简化神经网络模型的复杂度缩短了模型训练时间.经过采样后的数据具有较大差异性,提高了基于集成学习分类方法的检测准确率.模型基于投票表决法融合了多个分类器的结果,投票公式为

式中:Ni表示类别为i的分类器的个数.f(x)即为入侵检测数据的最终类别.

2 实验设置

KDD Cup 99数据集是入侵检测的标准数据集.在入侵检测前,先对数据进行预处理,包括特征数值化和归一化等操作.在入侵检测模块,基于前馈神经网络对采样后的数据进行分类,并用集成学习将多个弱分类器组成一个强分类器.本文对每个数据集进行多次实验,并在测试集上验证了模型的有效性.

2.1 实验数据

KDD Cup 99数据集的每个网络连接被标记为正常或异常,异常类型包含拒绝服务攻击(denial of service,DOS)、远程主机攻击(remote to local,R2L)、用户到根攻击(user to root,U2R)、端口扫描攻击(Probe)等共39种攻击类型,其中22种攻击类型出现在训练集中,另有17种未知攻击类型出现在测试集中.数据类型数量分布见表1.

2.2 数据预处理

样本特征包含数值型数据和字符型数据(protocol_type,service,flag),采用one-hot编码方式将字符型数据数值化处理.部分数据存在数值量纲差异大的问题,而过大的量纲差异导致网络收敛慢,故对数据进行归一化,归一化公式为式中:x′为归一化后的特征值;x为原特征值;xmax和 xmin分别为该特征属性中的最大值和最小值.模型采用Min-Max线性归一化方法,把所有特征均映射到[0,1]的区间上.

2.3 评估机制

使用准确率(accuracy,AC)和训练时间对模型的检测效果进行评价.样例根据其真实类别与分类器的预测类别组合分为真正例(true positive,TP)、假正例(false positive,FP)、真反例(true negative,TN)、假反例(false negative,FN).准确率的定义表达式为

模型的准确率表示预测正确的个数占全部样本的百分比,百分比越大表示模型的检测效果越好.

3 实验及结果评估

为模拟信息不完备的情况,实验中将数据特征量递减,观察IDII-ENN准确率的变化.

准确率的实验包括:第一,观察数据特征量对准确率的影响,特征量从80%特征开始,以10%递减,直至为总特征量的10%,对比IDII-ENN、SFID、SAE各自的准确率;第二,观察分类器个数的差异对准确率的影响,比较3种方法在准确率上的表现.

训练时间的实验包括:第一,在分类器个数变化的情况下比较集成算法的耗时;第二,在确定分类器个数的情况下,比较各算法在特征量不同情况下的耗时.

3.1 准确率

在数据预处理后,实验对比了SFID、SAE、IDIIENN算法在信息不完备情况下的检测准确率.为避免结果的随机性,在相同实验环境下,进行多次实验,取平均准确率为最终结果.IDII-ENN算法在特征量40%时获得了较高的准确率且趋于稳定.3种算法实验的准确率如图5所示.

图5 不同算法的检测准确率Fig. 5 Detection accuracy of different algorithms

集成学习的分类器数量会对模型的检测准确率产生影响,因此设计了Bagging-DL和SVMAdaboost在不同分类器个数下的准确率对比实验.本文的模型在分类器个数达到60个时就获得了较高的准确率,该结果优于对比算法(图6).

图6 不同分类器下的检测准确率Fig. 6 Detection accuracy of different classifiers

为了验证模型对各数据类型的分类准确率情况,本文设计了IDII-ENN模型在不同特征量下对各数据类型的检测实验(图7).IDII-ENN对Normal、DOS、Probe这3类数据检测结果较好,在特征数量达到50%时就已经获得了较高的准确率.3个类别的检测准确率曲线非常接近,表明在相同条件下数据量对模型检测有着重要影响,训练数据越多,模型的拟合效果越好.同时,原始数据的数据量对模型的初始训练非常重要,可以使模型快速获得较好的检测效果.模型对U2R、R2L的检测在特征较多时同样可以获得较好的检测准确率.这说明本文的模型对各数据类型的分类均有良好的表现.

图7 不同数据类型的检测准确率Fig. 7 Detection accuracy chart of different data types

损失函数在不同的神经网络中有不同的效果,实验对比了Mean Squared Error、Root Mean Square Error、Mean Absolute Error、Cross Entry等损失函数的优化效果.为了验证不同特征数量下损失函数的表现,本文对比了几种损失函数在特征数量为20%、40%、80%下的检测准确率(表2).通过实验结果可知,Cross Entry损失函数相比其他损失函数在检测准确率上的表现更好.

表2 不同特征数量各类损失函数的检测准确率Tab. 2 Accuracy of various loss functions of different feature quantites

3.2 训练时间

为了验证模型在检测时间上的表现,对比了IDII-ENN、SFID、SAE算法在信息不完全情况下的训练时间.Bagging-DL和SVM-Adaboost都是基于集成学习的分类算法,本文设计了两种算法在不同分类器数量下训练时间的对比实验.实验中对各算法的运行时间进行记录,在相同实验环境下,多次实验,取平均运行时间作为最终结果.3种算法在不同特征数量的训练时间如图8所示.Bagging-DL和SVMAdaboost不同分类器数量的训练时间如图9所示.

图8 不同特征数量的训练时间图Fig. 8 Training time graph of different feature quantities

图9 不同分类器数量的训练时间图Fig. 9 Training time graph for different number of classifiers

由图8和图9可知:本文模型和SFID模型训练时间相差无几,但本文的算法在训练时间上更平稳,相较之下SAE的训练时间略长.在特征数量减小时,IDII-ENN、SFID、SAE这3种算法的训练时间均有一定的变化,表明数据的特征数量对这3种算法的训练时间存在影响.集成学习分类器个数对训练时间也有影响,随着分类器数量增加,训练时间也随之上升,但是整体来看影响并不大.

4 结 语

针对传统入侵检测方法很难同时满足准确率和实时性的双重要求,同时为了解决不完备信息下入侵检测的问题,本文提出了一种面向不完备信息网络的集成神经网络入侵检测方法.该方法的检测结果与其他算法的结果在准确率方面不相上下,但在训练时间上缩短了15%,表明该方法具有可推广性,能够满足网络入侵检测实时性的需求.

猜你喜欢
分类器准确率神经网络
基于神经网络的船舶电力系统故障诊断方法
学贯中西(6):阐述ML分类器的工作流程
MIV-PSO-BP神经网络用户热负荷预测
基于改进Hopfield神经网络的对地攻击型无人机自主能力评价
乳腺超声检查诊断乳腺肿瘤的特异度及准确率分析
多层螺旋CT技术诊断急性阑尾炎的效果及准确率分析
不同序列磁共振成像诊断脊柱损伤的临床准确率比较探讨
基于朴素Bayes组合的简易集成分类器①
颈椎病患者使用X线平片和CT影像诊断的临床准确率比照观察
基于动态分类器集成系统的卷烟感官质量预测方法