APP下载

基于特征优化和BP神经网络的入侵检测方法

2021-11-01赵斯祺

计算机工程与设计 2021年10期
关键词:增益准确率神经网络

王 伟,代 红,赵斯祺

(辽宁科技大学 计算机与软件工程学院,辽宁 鞍山 114051)

0 引 言

及时发现网络入侵行为或入侵意图,将成为保护网络安全的主要手段。防火墙是计算机网络内第一道相对隔绝的保护屏障,而网络入侵检测作为继其之后的又一层防御,已经成为网络安全领域的关键技术之一[1]。近年来,入侵检测技术得到了广泛地研究。戴远飞等[2]提出对网络入侵数据进行特征选择,采用不同离散化方法生成多个不同的最佳属性子集,随后进行分类预测,经过实验验证这种方法有效提高了检测率,并且缩短了建模时间。顾兆军等[3]利用极限学习机和K近邻算法对数据进行筛选,并以此构建入侵检测模型,该模型解决了传统神经网络算法容易陷入局部极小的问题,并且提高了检测攻击的准确率。张睿哲等[4]利用相关性分析和自适应遗传算法对数据进行筛选,随后选取支持向量机作为分类器进行建模测试。结果表明,该方法明显提高了网络入侵检测率。

现有对于网络入侵检测的研究一般有以下几个局限:①缺乏关键特征的挖掘能力;②U2R、R2L检测率较低;③忽略了建模时间的重要性。本文围绕这3个问题,通过对网络入侵行为进行数据预处理和特征优化,并利用优化改进的BP神经网络对网络入侵行为进行分类和预测。

1 相关知识

1.1 SMOTE技术与随机采样技术

SMOTE技术是一种经典的合成少数类过采样技术,常用于处理不均衡数据。它对少数类数据进行剖析,进而模拟少数类数据构建出新的数据,增添到原始数据集中,使原始数据集中的数据类别不再严重失衡。算法流程如下[5]:

(1)对于每一个少数类样本x,计算它到少数类样本集中所有样本的欧氏距离,得到其k近邻;

(2)根据样本不平衡比例,设置少数类样本需要扩大的倍数。对于每一个少数类样本x,从其k近邻中随意选取的样本设为xi;

(3)对于每一个随机选中的样本点,按式(1)构造新的样本xnew

xnew=x+rand(0,1)×(xi-x)

(1)

随机采样技术是指在待抽数据集中按照随机原则抽取一些数据进行分析,根据分析结果推论整个数据集[6]。待抽数据集中每条数据都有相同被抽中的机会。简单随机采样分为重复抽样和不重复抽样两种方式,是一种最基础的抽样方法。在重复抽样中,每次抽中的数据仍重置回数据集中,即同一条数据有被多次抽中的可能。在不重复抽样中,抽中的数据直接从数据集中剔除,即一条数据最多只能被抽中一次。

1.2 特征重要性衡量

一个特征是否对分类系统有意义,衡量标准就是看特征存在与否是否对分类有影响,若有说明这个特征很关键。假设有一个变量Y,Y可能的变化越多,则它对分类结果的贡献越大,说明Y越重要。Y的熵即是Y对分类结果的贡献。

一个变量的熵可以体现其不确定性。假设随机变量Y有n个取值,每一个取值被选中的几率是P(Y=yi)=pi,(i=1,2,…,n)。因此Y的熵为

(2)

(3)

(1)信息增益

在集合中,熵的大小与样本的不确定性呈正相关[7]。因此特征划分前后集合熵的差值可以作为特征对于样本集合S划分结果贡献大小的权衡准则。首先使用特征F对样本集合S进行划分,划分前样本集合S的熵是一定的,再计算划分后的样本子集的熵。特征F的信息增益g(S,F)是利用F对S进行划分前后熵的差值所得,如式(4)所示

g(S,F)=H(S)-H(S|F)

(4)

在计算特征F的信息增益时,划分归类前的熵是不变的。F的不确定性越大,样本集合根据F进行划分归类可以获得分类更明确的子集。即归类之后的熵越小,信息增益越大。因此信息增益侧重不确定性较大的特征。

(2)信息增益率

信息增益率gR(S,F)如式(5)所示

(5)

其中,HF(S)表示特征F作为随机变量对于样本集合S求得的经验熵,如式(6)所示

(6)

信息增益率本质是在信息增益的基础上乘以一个惩罚参数。以特征F作为随机变量时,惩罚参数就是数据集S的熵的倒数。当特征取值类型较少时,经验熵值较小,惩罚参数较大,则信息增益率较大;特征取值类型较多时则相反。因而信息增益率偏向取值类型较少的特征。

(3)相关属性

相关属性(correlation attribute)是根据单个属性和类别的相关性进行选择,进而为每个类别值创建一个二进制指标属性,针对每个指标属性分别计算与相关预测变量属性有关的Pearson相关系数。Pearson相关系数r如式(7)[8]所示

(7)

其中,Cov(x,y)为x与y的协方差,Var(x)为x的标准差,Var(y)为y的标准差。一个属性的整体相关性为这些单个相关性系数的加权算术平均值,每个系数由相应类别中的数据量加权得到。

1.3 BP神经网络

BP神经网络是一种多层前馈神经网络,采用梯度下降算法实现收敛[9]。经过反复权值校正,达到最终期望。BP神经网络包括输入层、隐含层和输出层,其中隐含层的层数可以根据需求随意设计。隐含层可以进行信息传递和互换,负责信息处置。如图1所示,本文采用了包含单隐含层的三层BP神经网络。图中X1,X2,…,Xi为输入值,Wij和Wjk为权重,隐含层节点由激活函数训练,Yi为输出值。

图1 BP神经网络结构

BP神经网络算法包括由数据的前向传播和误差的反向传播两个过程。前向传播时,数据进入输入层各神经元,传递给隐含层各神经元,最后到达输出层产生输出。如果输出与预期不符,进入误差的反向传播阶段。误差通过输出层到隐含层,最后到输入层,各层按梯度方向下降方式调整权值。经过反复学习训练,直到实际输出与预期相符,或者达到设置好的迭代次数,模型建立完成。此时经过训练的BP神经网络模型已经具有很强的泛化能力,能够对同种类型的未知数据进行准确的分类。

2 基于特征优化和BP神经网络的AS-BP入侵检测方法

基于特征优化和BP神经网络的入侵检测方法AS-BP(intrusion detection method based on feature optimization and BP neural network)框架如图2所示。在网络入侵检测过程中,引入SMOTE技术和随机采样技术对网络入侵数据进行平衡约简,利用集成方法权衡特征取舍,进行重要特征提取,降低数据处理维度,最后采用BP神经网络对数据进行判断完成预测。

图2 AS-BP框架

2.1 SMOTE与随机采样处理数据

各种攻击数量的极大不平衡是目前的网络入侵检测领域面临的一个重要关卡[10]。某些攻击检测率极低的主要诱因就是攻击类别的连接记录数量过少。在本文使用的KDD CUP 99数据集中,各类攻击数据量分布极不平衡,Probe、DoS攻击数量巨大,有上万条记录,R2L、U2R数据量却只有几百条。而在网络入侵检测中,把DoS攻击判断错误的危害远远大于把U2R攻击判断错误的危害[11]。因此,目前网络入侵检测的首要任务是全面提高各种攻击识别率尤其是少数类攻击的识别率。针对上述问题,本文采用过采样与随机采样相结合的方式进行网络入侵数据平衡。使用SMOTE过采样方法对数据集中少数类别U2R和R2L进行人工合成,并采用随机采样方法对多数类Normal、DoS和Probe进行不重复随机采样,得到各类别数据量相对平衡的状态。如此保证了模型对各种攻击类型数据的学习,以提高各类攻击的识别率,同时提高模型整体性能。

2.2 集成方法进行特征优化

在特征优化中,特征对于系统预测结果是否有关键性作用决定特征能否保留,特征对于预测结果越关键被留用的机会就越大[12]。

在前文介绍的3种特征重要性衡量标准中,信息增益偏向取值较多的特征,信息增益率偏向取值较少的特征,相关属性则是根据单个属性和类别的相关性进行选择。

由于这3种特征重要性衡量标准各有千秋,所以采用集成方法降低网络入侵数据处理维度。采用这3种方法分别对数据特征进行关键性权衡,判断特征是否对分类结果有关键性作用,并根据特征对于分类结果作用大小进行排列。采用中值法集成3组排列结果,并以此作为最终特征关键性的排序,据其进行数据特征筛选,并进行实验。选择模型分类精度最高时的特征子集作为最终特征优化结果。本文所提出的特征优化算法描述如下所示:

输入:入侵检测数据集S=(N,P,D,U,R),属性集A

输出:数据集S=(N,P,D,U,R)的特征优化子集F’

(1)计算信息增益g(S,A),按值从大到小排序,记为{Gi}

(2)计算信息增益率gR(S,A),按值从大到小排序,记为{Ri}

(3)计算相关属性CorrelationAttribute(S,A),按值从大到小排序,记为{Ci}

(4)集成三组排序Ti=Gi∪Ri∪Ci

(5)DoubleAcc=0,inti=7

//Acc为准确率,i为保留特征个数

(6)Whilei<42

(7) 特征约简集F=S∩Ti

(8) 输入BP神经网络,得到准确率记为accuracy(i)

(9) ifaccuracy(i)>Accthen

(10)F’=Ø //初始特征子集设为空集

(11)Acc←accuracy(i)

(12)F’=F∪F’

//F’为准确率最高时的特征约简集

(13) End if

(14)i←i+5

(15)End while

(16)输出特征优化子集F’

2.3 优化BP神经网络

(8)

这个误差也称为一条数据的方差,但在实际输入中一定不止一条数据,因此不能只考虑一条数据的误差Eq最小。对于BP神经网络而言,必须考虑所有数据产生的整体偏差,将整体偏差降到最小才是BP神经网络训练目标。这个整体偏差ET可表示为

(9)

这个偏差也称为所有数据的方差和。

设ω为神经网络的任一连接权值,按照梯度下降,权值的修正量Δω为

(10)

其中,η为一个[0,1]的小数,称为学习率。这种权值修正方法是将所有训练数据输入BP神经网络后,计算整个训练数据的综合误差,据此进行一次权值修正。

在BP神经网络中,学习率与神经网络学习过程的平稳性息息相关[13]。BP神经网络学习过程就像是描摹一条曲线,学习率越小,描摹的越精细,但同时学习速度也会降低,学习时间就会越长;学习率越大,描摹的跨度越大,学习的速度越快,但可能会失去很多曲线的扭曲信息,导致描摹的曲线局部直线化严重。由式(10)可以得知,η越大,Δω就会越大,可能会导致权值在修正过程中低于某个误差的极小值,造成权值不收敛。一般情况下,大的学习率可以加快模型训练速度,但是只有误差变化较小时可以考虑大的学习率;小的学习率可以保证模型收敛,因而当误差大幅度变化时,可以选取较小的学习率。为了找到适合本实验的最佳学习率,本文进行了反复实验,不断调试BP神经网络的学习率,最终模型可以达到最好效果。

在BP神经网络中,往往需要学习很多次样本特征来提高模型的泛化能力,而神经网络学习的次数就是迭代次数[14]。迭代次数过少,BP神经网络模型对样本规律的学习程度不够,可能导致模型分类准确性不够,但迭代次数过多又会导致模型对样本学习过度,所以需要慎重选择最大迭代次数,使得模型达到最佳分类效果。使用上一小节经过平衡约简和特征优化的数据集作为实验数据,不断调试设置最大迭代次数,得到适合本实验的最佳迭代次数。

3 实验分析

本文利用Weka2019软件进行数据预处理并建立BP神经网络模型。使用KDD CUP 99网络入侵检测公共数据集(以下均称KDD CUP 99数据集),数据集中包含了22种攻击类型和一种正常标识类型,对这些攻击类型进行划分合并,得到Normal、DoS、Probe、U2R和R2L这5种类型数据。本文在实验中采用了十折交叉验证的方法,利用SMOTE技术和随机采样得到的16 055条实验数据,测得BP神经网络模型检测攻击的准确率、精确率和召回率等。

3.1 特征优化

由于数据量较大且分布不平衡,本文对数据进行了预处理,使其分类效果更加明确。数据预处理过程分为4步:

(1)对原始数据集进行SMOTE过采样和随机采样处理,以达到数据平衡。本文中,无放回对Normal随机抽取10%、DoS随机抽取13%、Probe随机抽取50%,U2R、R2L利用SMOTE技术分别扩大110倍和50倍,得到各分类标签数据量相对平衡且数据约简的状态。

(2)进行网络入侵数据特征重要性排序,根据实验结果剔除部分对分类结果贡献不大的特征属性。由于数据集中数据量较多,对于建立模型及测试都会耗费许多时间,为了能够更快建立模型并进行测试,可以删除数据中部分与分类结果相关性较小的属性,这样可以极大地缩短建模时间,同时又不降低分类结果的准确率。为此,本文利用信息增益、信息增益率、相关属性分别进行特征重要性排序,最后采用中值法集成最终排序结果,根据排序结果进行实验,确定特征提取结果。本文分别对删除排名后5/10/15/20/25/30/35后的数据进行实验,得到各个情况下分类的准确率如图3所示。

图3 特征选择实验对比

由图3中可以得出在删除排名后15个数据特征时分类模型准确率最高,达到97%,所以本文选择删除特征重要性排名后15个特征后的约简数据作为实验数据。

(3)用属性映射法将字符型特征数据数值化。KDD CUP 99数据集的每条连接记录是由38个数字特征和3个符号型特征组成,分别将Protocol_type,Service和Flag这3种符号型特征映射为二进制值。其中,Protocol_type特征包括TCP(传输控制协议),UDP(用户数据报协议),ICMP(网际控制报文协议)3种协议类型,Service和Flag分别包括70种和11种符号。Protocol_type可分别映射为(0,0,1),(0,1,0),(1,0,0),因此数值化完成后数据集特征维度增加至117维。

(4)采用最大、最小值规划方法对网络入侵数据进行归一化,如式(11)所示

(11)

其中,fi为数据属性值,min(fi)为fi的最小值,max(fi)为fi的最大值。

3.2 优化BP神经网络学习率、迭代次数的设定

为了找到适合本实验的BP神经网络的最佳学习率和迭代次数,对其不断调试并进行实验,最终得到了各个学习率所对应的模型性能和适合的最佳迭代次数,分别如图4、图5所示。

图4 学习率调参实验对比

图5 迭代次数调参实验

从图4可以得知,学习率为0.1时准确率最高,达到98%,效果最好;从图5可以得知,迭代200次时,准确率接近最高值,且建模时间相对于较短,所以迭代次数设置200次效果最好。

3.3 结果与分析

为了验证本文所提出AS-BP模型的性能,在实验中参数选择上述实验中得出的结果,激活函数选择Sigmoid函数,学习率和最大迭代次数分别设置为0.1和200。

(1)性能指标

为了评估提出的入侵检测模型的效果,本文使用以下4个性能指标来评价检测效果,分别是准确率(Accuracy),精确率(Precision)、召回率(Recall)和F值(F-measure)。表1所示为混淆矩阵,性能指标式(12)~式(15)也可以通过表1求得。

表1 混淆矩阵

则性能公式分别如下

(12)

(13)

(14)

(15)

(2)AS-BP与传统BP神经网络对比

本文利用传统BP神经网络使用原始数据进行十折交叉验证得到的实验结果与本文AS-BP模型得出的实验结果进行对比,见表2。表2分别列出了模型整体准确率、建模时间、精确率、召回率和F值的比较。

从表2中可以看出,本文所提出的AS-BP模型整体准确率比传统BP神经网络降低了不到1%,但是建模时间却缩短了近15倍;同时,本文所提出的AS-BP模型在各个攻击类型分类上都有较好的表现,尤其U2R、R2L分类效果远远优于传统BP神经网络,U2R和R2L精确率达到了97%和96%,比传统BP神经网络分别提高了30.3%和19%,克服了原始数据集不平衡导致传统神经网络分类时U2R、R2L检测率较低的缺陷,验证本文所提出的AS-BP是有意义的,可行的。

表2 与传统BP神经网络性能对比

(3)AS-BP与其它分类器对比

本文选取当前广泛使用的支持向量机(SVM)和朴素贝叶斯(NaiveBayes)分类器,利用经过特征提取的数据进行十折交叉验证,得到表3所示的实验结果对比,分别为模型整体准确率、精确率、召回率和F值的对比。

表3 与其它分类器性能对比

从表3中可以得出,本文所提出的AS-BP模型各个方面性能较好,整体准确率比SVM高出了15.5%,比Nai-veBayes高出了16.7%;同时,检测DoS、Probe、U2R、R2L和Normal的精确率分别达到97.2%、99.3%、98.7%、97%、96%,召回率和F-measure均达到了96%以上。可以得出,本文所提出的AS-BP模型在各攻击类别的分类结果上均有不错的表现,从而得出本文所提出的AS-BP模型具有很好的分类性能和实用性。

3.4 模型性能分析

Kappa statistic指Kappa统计量,是一个[-1,1]区间内的数。一般来说,分类模型的Kappa统计量与AUC指标呈正相关,即分类模型的Kappa统计量越高,模型预测的准确率越高。所以该指标的值越接近1,说明模型性能越好。

绝对误差的平均值称为平均绝对误差,通常使用MAE(mean absolute error)表示。MAE能很好体现出估计值与真实值偏差的大小。

均方误差MSE是实际值与估计值差值的平方和的均值,可以用来评价数据的变化程度,且MSE的值是与分类器分类准确率成负相关的。而RMSE(root mean squared error)意为均方根误差,是MSE的算术平方根。

从表4中可以得出,本文所提出的AS-BP模型的Kappa statistic比SVM高出了19.4%,比NaiveBayes高出了20.79%;AS-BP模型的MAE比SVM降低了5.8%,比NaiveBayes降低了6.31%;AS-BP模型的RMSE比SVM降低了17.19%,比NaiveBayes降低了18.41%。可以得出,AS-BP模型各项指标都远远优于SVM和NaiveBayes模型,说明本文所建立的模型能够很好地对网络入侵数据进行分析和识别。

表4 模型性能指标对比

4 结束语

针对传统入侵检测方法在检测效果上的不足,提出了一种集特征优化和BP神经网络于一体的网络入侵识别发现框架AS-BP。对于KDD CUP 99数据集,引入SMOTE技术和随机采样技术对网络入侵检测数据进行均衡约简处理,以此解决攻击类别数据量不均衡的问题。利用集成方法对网络入侵数据进行特征降维,得到最优特征子集。对BP神经网络的学习率、训练次数进行调节,并进行了实验对比。最后通过优化BP神经网络算法,对网络入侵数据进行识别分类。从实验结果可以得出,本文所提出的AS-BP模型能够很好地构建分类模型,而且在不降低其它攻击类型检测率的同时,大大地提高了U2R和R2L检测率,解决了以往研究中这两种攻击类型检测率极低的问题,且克服了传统BP神经网络建模时间过长的问题。与SVM,NaiveBayes分类器进行比较,也验证本文所提出的AS-BP模型具有较高的检测率。

猜你喜欢

增益准确率神经网络
基于增益调度与光滑切换的倾转旋翼机最优控制
乳腺超声检查诊断乳腺肿瘤的特异度及准确率分析
不同序列磁共振成像诊断脊柱损伤的临床准确率比较探讨
2015—2017 年宁夏各天气预报参考产品质量检验分析
神经网络抑制无线通信干扰探究
基于单片机的程控增益放大器设计
基于Multisim10和AD603的程控增益放大器仿真研究
高速公路车牌识别标识站准确率验证法
基于神经网络的拉矫机控制模型建立
复数神经网络在基于WiFi的室内LBS应用