2021年4月第4期Vol. 42 No. 4 2021小型微型计算机系统Journal of Chine Computer Systems 利用改进灰狼算法优化BP 神经网络的入侵检测王振东',刘尧迪S 胡中栋彳,李大海J 王俊岭§
(江西理工大学信息工程学院,江西赣州341000)
E-mail : 1589807038 @ qq. com
摘要:神经网络技术被广泛应用于网络安全领域,在入侵检测中能够实现网络攻击的主动检测和攻击分类.然而随着恶意攻 击的不断演化,神经网络技术存在的弊端日益显现.针对BP 神经网络在入侵检测过程中存在的初始值随机性较大以及易陷入 局部最优的问题,本文提出一种改进灰狼算法优化BP 神经网络的入侵检测模型(IGWO-BP).首先,使用混沌映射初始化种 群、设计非线性收敛因子以及动态权重策略对传统灰狼算法进行改进,并以此优化BP 神经网络的初始权值和阈值,并运用改 进BP 神经网络对网络安全数据集进行实际检测.实验结果表明,IGWO-BP 模型在NSL-KDD 和UNSW-NB15数据集上取得了 较优的检测结果,与其它现有模型相比性能也有较大提升.
关键词:入侵检测;改进灰狼算法;BP 神经网络;NSL-KDD 和UNSW-NB15数据集中图分类号:TP393 文献标识码:A 文章编号:1000-1220(2021)04-0875-10U Improved Grey Wolf Algorithm to Optimize BP Neural Network Intrusion Detection WANG Zhen-dong 1 ,LIU Yao-di 2 ,HU Zhong-dong 3 ,LI Da-hai 4 ,WANG Jun-ling 5(School of Information Engineering , Jiangxi University of Sc
ience and Technology ,Ganzhou 341000.China)Abstract : Neural network technology is widely ud in the field of network curity. Intrusion detection can realize the active detection and classification of network attacks. However,with the continuous evolution of malicious attacks ,the disadvantages of neural network technology have become increasingly apparent. Targeting BP neural networks in intrusion detection process , the initial value has large randomness and is easy to fall into a local optimal problem. This paper propos an improved grey wolf algorithm to optimize the BP neural network intrusion detection model (IGWO-BP). First ,the chaotic mapping is ud to initialize the population ,design nonlinear convergence factors and dynamic weighting strategies to improve the traditional grey wolf algorithm , and optimize the initial weights and thresholds of the BP neural network , and u the improved BP neural network to actually detect the network curity data t. Ex perimental results show that the IGWO-BP model has achieved better detection results on the NSL-KDD and UNSW-NB15 datats , and the performance has also been greatly improved compared to other existing models.Key words : intrusion detection ; improved grey wolf algorithm ; BP neural network ; NSL-KDD and UNSW-NB15 datats 1引言对企图入侵、正在入侵或者已经发生入侵的行为进行识 别的过程称为入侵检测⑴.该方法的核心技术是通过分析采 集的网络数据,检测网络中的各类行为是否安全.异常检测与 误用检测是入侵检测系统两种不同
的检测类型.误用检测通 过对已知的入侵行为和企图进行特征提取并编写进规则库, 将监测到的网络行为与规则库进行模式匹配,进而判断入侵 行为或者入侵企图,该方法的优点是误报率低;异常检测则是 从大量正常用户行为模型中检测出攻击行为,可以对未知攻 击进行检测是其显著优点.截至目前,研究人员提出了包括基于神经网络、决策树 (Decision Tree.DT)、AdaBoost 、支持向量机(SVM)等多种入 侵检测方法.杨彦荣等⑵将卷积神经网络和极限学习机的组合式入侵检测模型(CNN-ELM)应用于入侵检测,实验表明,
该方法在NSL-KDD 数据集上具有较高的检测准确率、良好
的泛化能力和实时性.Ranjit Panigrahi 等⑶使用J48决策树 进行二元和多元分类,在ISCXIDS2012和NSL-KDD 数据集 上取得了较优的检测效果.Mehmaz Mazini 等⑷提出了基于 人工蜂群算法(ABC)和AdaBoost 的入侵检测模型,首先使 用ABC 进行特征选择,再使用AdaBoost 进行分类,与传统方 法相比,该方法的检测率得到了提高.高妮等⑸提出了基于 自编码网络特征降维的轻量级入侵检测模型,该模型使用 SVM 对降维的数据进行入侵检测,实验证明,该模型的检测 性能优于传统算法,而且能够满足网络入侵检测实时性的要
求.而B 玖Back Propagation)神经网络作为一种工作信号前 向传播,误差反向传播的多层前馈型神经网络,在学习过程中 具有很强的自学习能力、泛化能力以及强大的非线性映射能
收稿日期:2020-04-02收修改稿日期:2020-04-27基金项目:江西省自然科学基金项目(20171BAB202026,20181BBE58018)资助;国家自 然科学基金项目(61562037,61562038,61563019,61763017)资助.作者简介:王振东,男,1982年生,博士,副教授,CCF 会员,研究方向为无线 传感器网络、智慧物联网、认知计算、大数据与信息安全;刘尧迪,女,1995年生,硕士研究生,研究方向为信息安全;胡中栋,男,1958年生,硕士, 教授,研究方向为无线传感器网络;李大海,男,1975年生.博士,副教授,研究方向为分布式系统服务质量(QoS)控制、分布式系统自学习资源调 度控制;王俊岭,男,1976年生,博士,副教授,研究方向为分布式计算、容错、计算机视觉.
876小型微型计算机系统2021年
欧派橱柜怎么样力.梁辰等⑷将BP神经网络应用于对网络攻击的入侵检测,并证明BP神经网络较传统的入侵检测具有较高的检测正确率,较低的误报率和漏报率.
虽然BP神经网络较传统入侵检测能够取得较好的效果,但BP神经网络存在初始值随机性较大以及易陷入局部最优的缺点.很多学者对此提出了相应的改进方法•刘珊珊等⑴提出了基于PCA的PSO-BP入侵检测模型,该模型通过变惯性因子粒子群算法优化BP神经网络的初始权值和阈值,取得较好的分类效果以及较优的泛化能力和实时性;丁卫红等⑻使用改进的和声搜索算法(HS)来优化BP神经网络应用于
空调滤网清洗
入侵检测,该办法中BP神经网络的初始值通过改进和声搜索算法来优化,提高网络检测率以及收敛速率,防止神经网络陷入局部最优;沈夏炯等⑼在入侵检测中设计了一种使用人工蜂群优化BP神经网络的方法,该方法将神经网络的误差函数作为人工蜂群算法的适应度函数,选择最优适应度函数作为神经网络的初始权值和阈值,从而缩短模型的训练时间以及避免神经网络陷入局部最优.雷宇飞等将PSO-BP神经网络模型应用于入侵检测中,该模型利用粒子群算法优化得到一个最优初始值,通过修正网络误差获得最优值,实验结果证实该算法能够在较大程度上提高入侵检测系统的检测正确率.
针对BP神经网络存在的缺点,本文提出一种基于改进灰狼算法优化BP神经网络的入侵检测模型(IGWO-BP),通过改进灰狼算法获得较优的初始权值和阈值,再使用反向传播BP算法对NSL-KDD和UNSW-NB15数据集进行入侵检测.从而解决BP神经网络初始值随机较大且易陷入局部最优的缺点.
2BP神经网络
BP神经网络可以模拟神经系统结构和生物神经网络传递信息,拥有较强的自学能力,同时能够进行自适应计算,是一种大规模非线性自适应体系.在3层BP神经网络中,假设有M个输入神经元个隐含层神经元,J个输岀层神经元. x”为输入层第m个神经元的输入,3”为隐含层第m个神经元到输岀层第i个神经元的连接权值,勺为隐含层第i个神经元的阈值.3,7为隐含层第i个神经元到输出层第J个神经元的连接权值,&,为输出层第i个神经元的阈值.
BP网络学习的具体过程:
1)权值和阈值通过rands随机初始化.通常,我们在[-1.1]之间随机初始化权值和阈值.
2)实验数据预处理并输入BP网络进行学习.
3)计算隐含层第i个神经元的输入,隐含层第i个神经元的输入等于输入层神经元的加权和:
勺=工二+6
再通过激活函数来计算隐含层第i个神经元的输出:
奥秘吧Vi=/(«,)
其中,/'为Sigmoid激活函数.
4)计算输出层第J个神经元的输入,输出层第j个神经元的输入等于隐含层输出的加权和:
u j=工;=円勺+Q
再计算输出层第J个神经元的输出:
Vj=«(«
;)
其中.g为线性函数.
5)计算神经网络输出总误差:
e_叩2
其中,/为神经元网络的真实输出,V」为神经网络的预测输岀.
6)工作信号正向传播调整隐含层与输岀层之间的权值J?和阈值误差信号反向传播调整输入层与隐含层之间的权值3”,和阈值仇,权值和阈值修正量分别为:
=旳g'()v,,A0,=鸥
其中,&,=/"(«,)2;=卩竹,》为神经网络学习率.
7)重复3)-6),直到全局误差小于预期误差,或学习次数到达最大学习次数.
3改进的灰狼算法
灰狼优化算法(grey wolf optimizer,GWO)是Miijalili等人在2014年模拟灰狼群体狩猎行为提出的一种元启发式算法⑴】.算法具有较强的收敛性能,实现起来简单且参数较少,因此在约束优化21、无人机路径规划、模块组装调度、PI控制器优化、车间调度"°)等领域得到初步应用.然而,因为难以平衡全局和局部搜索能力以及位置向量更新时头狼位置未必最优,致使GWO算法在不停迭代过程当中极易陷入局部最优及收敛速度较慢.针对上述问题,本文对原始灰狼算法进行改进.首先,使用二维混沌映射初始化种群,可以确保数据的多样性和不重复性;接着,用非线性收敛因子取代线性收敛因子,可以很好地平衡算法的局部和全局搜索能力;最后,提出动态权重策略,使权重系数在每一次迭代中不断变化,领导层灰狼动态指导狼群前进,从而防止灰狼算法陷入局部最优.
3.1混沌映射初始化
标准GWO算法利用随机数随机初始化灰狼群体,导致群体的多样性和不重复性难以保证,算法搜索效率在一定程度上会受到影响.因此,用混沌映射代替随机数初始化种群,可以确保种群具有较好的遍历性和不重复性,提高算法的搜索效率.文中使用二维混沌映射初始种群的数学表达式为:
[x”+i=ay”2+bx”+c⑴
+i=x”
星际争霸图片其中,a,b,c为控制参数,控制参数的选择在很大程度上影响初始种群的形态.若参数a=0,混沌映射退化为线性映射,故一般要求参数aK0且b2-4ac#0,此时映射在不动点处具有较好的混沌性,故文中取a=-4,b=0,c=0.5,X]= 0.15.
3.2非线性收敛因子
收敛因子a对算法的全局搜索能力和局部搜索能力具有很好地平衡作用.由文献[11]可知,当Ml>1时,灰狼群体为寻找到更好的猎物将扩大搜索范围;当IAI<1时,灰狼群体为接近猎物而缩小搜索范围,此时算法应进行局部搜索.因
4期王振东等:利用改进灰狼算法优化BP神经网络的入侵检测877
此,该参数的选择对算法的性能有很大的影响.标准GWO算法中,收敛因子a随迭代次数增加从2线性递减到0,无法较好地平衡算法的局部和全局搜索能力.在实际应用中,更加偏向选择非线性策略调整收敛因子,以此更加准确地描述灰狼群体复杂的搜索过程.因此,本文对线性收敛因子进行改进,提出非线性收敛因子策略,以此来平衡算法的局部和全局搜索能力•数学描述如下:
a=2_2(2盘_1)(2)其中,是最大迭代次数,r是当前迭代次数.
图1为收敛因子的对比图,从图中可以看出原始收敛因子a的图像是线性递减的,在迭代过程中以相同
的速率减小,算法的局部和全局搜索能力一直保持不变;改进收敛因子a 的图像是非线性递减的,在迭代初期a的衰减程度缓慢,有利于进行大量全局搜索;迭代后期收敛因子a的衰减程度提高,有利于进行大量局部搜索,提高算法的搜索精度.因此,改进的收敛因子a可以更好地平衡算法的局部和全局搜索能力.
图1收敛因子对比图
Fig.1Convergence factor contrast diagram
3.3动态权重策略
标准GWO算法中,灰狼位置的更新公式是前3头狼位置的算术平均数,位置权重始终不变.而算法中头狼a狼不一定是全局最优解,此时随着3狼不停地向头狼逼近,算法极易陷入局部最优.因此,本文提出动态权重策略,通过位置向量比例权重不断调节头狼所占的比重,避免算法陷入局部最优.
本文提出的比例权重公式,数学描述如下:
6
6+6+cr3
(3)
(T)+6+6
(4)
I a t+a2+cr3
其中,3狼对a狼的学习率为%;®狼对0狼的学习率为狼对&狼的学习率为Wj.
灰狼位置更新公式为:
X(r+1)=W]*X|+%*X?+W3*X3(5)
在标准GWO算法中,位置更新公式的权重系数始终保持不变,算法极易陷入局部最优.而提出的动态权重策略,通过位置向量计算比例权重叱、%和旳,在每一次迭代中叭、W?和W,不断变化,使领导层灰狼动态指导狼群前进,避免算法陷入局部最优.
3.4改进灰狼算法步骤
综合以上改进策略,给出本文提出的改进灰狼算法(IG-WO)步骤:
算法1-改进灰狼算法(IGWO)步骤
1•设置算法参数:种群规模N和最大迭代次数j
2.用二维混沌映射产生初化始种群.
3.计算种群适应度值并对适应度值进行升序排序,适应度前3的个体位置记为X^Xp和X s.
4.用公式(3)-公式(5)更新种群中灰狼个体的位置.判断算法是否满足迭代终止条件,若满足,则停止计算,输出最优适应度对应的位置X,否则,重复执行34
3.5算法的复杂度分析
假设算法最大迭代次数为仏,种群规模为N,维数为D,标准GWO算法中,首先初始化种群,时间复杂度为o(NxQ);其次计算灰狼的适应度值,时间复杂度为o(N);之后对适应度值进行升序排序,时间复杂度为o(MogN);最后根据上述公式更新灰狼群体的位置,时间复杂度为o(N);故总的时间复杂度为ogx(DxN+N+MogN+N)).IGWO算法和GWO算法相比没有增加任何步骤,故IGWO总的时间复杂度为。(仏x(Z>xN+N+MogN+N)).对比两种算法,可知GWO算法和IGWO算法具有相同的时间复杂度,数量级为。(『昨xMogN),但实验结果表明IGWO算法具有更高的求解精度、更快的收敛速度以及更好地稳定性.
4IGWO-BP入侵检测模型构建
4.1适应度函数
适应度函数使用入侵检测误差和函数,由于预测结果可由神经网络直接得到因此计算误差和非常方便;文献[17]的适应度函数为入侵检测正确率,一方面需要统计出模型正确分类个数,增加算法计算量;另一方面如果计算正确分类个数不当,会导致训练神经网络结果不理想.因此,误差和函数作为适应度函数优化BP网络可以得到较好的网络模型以及减少计算量.
IGWO通过适应度函数优化BP神经网络建立最优入侵检测模型,提高网络入侵检测正确率,降低误报率,从而提高网络整体安全性.使用网络入侵检测误差和函数作为适应度函数,数学表达式为:
L M
f=11*=」y*-X1(6
)其中表示网络的理论输出,y't表示网络的训练输出,M表示输入神经元的个数.
4.2模型设计
使用IGWO算法优化BP神经网络的基本思路是求出适应度函数最好的一组灰狼位置,在迭代结束时把最好的灰狼位置作为BP神经网络的最优初始权值和阈值建立最优检测模型,基于IGWO-BP入侵检测模型框架图如图2所示,
该入
878小型微型计算机系统2021 年侵检测框架具体过程如下:图2 IGWO-BP 入侵检测总体框架图Fig. 2 IGWO is ud to optimize the flow chart of BP neural network 一确定
IBPI 模
型的
参劉
步骤1.对原始数据集预处理.预处理过程包括2个步骤:表1Table 11) 离散数据特征映射.将离散型特征转化为数字型特征.
2) 数据归一化.由于同种属性的数据之间差异较大,影
响模型的训练效果,因此将数据归一化为〔0,1]的实数.
步骤2. IGWO-BP 模型训练和参数调优.
1) 初始化BP 网络结ft : innum 个输入层节点、诚加m 个隐
藏层节点和outnum 个输出层节点以及网络初始权值和阈值.
2) 初始化灰狼群体:灰狼种群大小N ;所求问题维度Q =
(innum + 1) x midnum + (midnum + 1 ) x outnum 和最大收敛 迭代次数『心及灰狼种群位置x ”
3) 根据训练样本和适应度函数计算灰狼适应度函数值,对
适应度值升序排序并保存前3个最优狼X 八Xp 和X,,更新狼
群3的位置以及非线性收敛因子a,若当前迭代次数到达最大 收敛迭代次数,则迭代结束转到4);不然转到3).4) 建立最优入侵检测模型,并输入测试集进而得到入侵 检测分类结果.5实验设置
5.1测试函数用4个标准测试函数f ,8]进行仿真实验检验IGWO 算法的寻
优能力.4个标准测试函数都是经典函数,包括2个单峰函数,2
个多峰函数.标准测试函数的详细信息可以从表1中查看.
测试函数
Test function
测试函数 表达式 解区间 最优解
单峰测试函数
Sphere •A(x)=》:=円 2[-100,100]0Schwefel2. 22处)=£"=1 1 X]1+m 叩[-10,10]0
多峰测试函数
Ackley 広(x) =-20exp (—°' 2 妊》;”讦))-exp ( + 工:=严(2歼))+ 20 + e
[-32,32]0Griewank 皿)=為y :曲一口;严(制+】[-600,600]0
5.2入侵检测数据集1) NSL-KDD [i 9] : NSL-KDD 是 KDD CUP99 数据集的简
化版本,删除了 KDD Cup99数据集中的冗余数据和重复记 录.NSL-KDD 数据集可以保证入侵检测模型不受偏见,相比 于KDDCUP99数据集,它更适合于误用检测.表2给出了 NSL-KDD 数据集的详细信息.
2) UNSW-NB15[20]:澳大利亚网络安全中心的网络安全
研究团队引入了一种称为UNSW-NB15的新数据集,以解决 KDD CUP99和NSL-KDD 数据集中发现的问题.此数据以混 合方式生成,包含实时网络流量的正常行为和攻击行为, 是一种综合性的网络攻击流量数据集.数据集用42个 特征来描述,这些要素的标签为“正常”和9种不同的“攻击” 类型.表3中描述了有关模拟攻击类别的信息及其详细统计 信息.我们随机选择了 2000条连接记录并将其使用t-SNE [211 将NSL-KDD 进行可视化如图3所示.从图3可以看出NSL-KDD 数据集是非线性可分的.
图3 NSL-KDD 可视化Fig. 3 NSL-KDD visualization
5.3模型参数设置实验是在Intel core i7双核CPU,主频2. 5GHz,
内存
4期王振东等:利用改进灰狼算法优化BP神经网络的入侵检测879
8GB,操作系统Windows10环境下进行,实验仿真软件采用Matlab R2015b.
表2NSL-KDD的训练集和测试集
Table2NSL-KDD training and testing ts
Attack category Description Train Test
Normal正常连接记录9727760592
Probe获取系统和网络配置详细信息的详细统计信息41074166
DoS攻击旨在降低网络资源391485229853
U2R在特定计算机上获得权限或超级用户访问权限52228
R2L远程计算机的非法访问112616189
Total494047311028
表3UNSW-NB15的训练集和测试集
Table3UNSW-NB15training and testing ts
Attack_cat Normal Backdoor Analysis Fuzzers Shellcode Reconnaissance Exploit
Dos
Worms Genertic
Description
正常连接记录生日帽子
绕过安全性控制而获取对程序或系统访问权的技术第一次包饺子作文
一种通过端口、电子邮件和web脚本渗透web应用程序的人侵方式
一种试图发现程序、操作系统或网络中安全漏洞的攻击方式,通过输入大量随机数据,使其崩溃
一种通过发送利用待定漏洞的代码控制目标机器的攻击方式
一种为逃避安全控制而收集计算机网络信息的攻击方式
一段通过触发一个漏洞(或几个漏洞)进而控制目标系统的代码
一种通过直接或间接耗尽被攻击对象的资源,使目标计算机或网络无法提供正常的
服务或资源访问的攻击方式
一种通过网络传播的主动攻击的恶性计算机病毒
一种不考虑分组密码的配置而使用哈希函数对每个分组密码进行碰撞的技术
82332175341
Train Test
3700056000
5831746
6772000
606218184
3781133
349610491
1113233393
408912264
44130
1887140000
Total
群智能算法涉及参数的选择,选择较好的参数可以提高算法的收敛速度和精度.在实际应用中,群智能算法的交叉概率和变异概率一般在[0.5」]和[0,0.5]之间取值;而在粒子群算法中,c,,c2为学习因子,也称为加速常数,分别用于控制粒子指向自身或领域最佳位置的运动,一般建议q+C2W4;惯性权重3能够在很大程度上保留原始的速度.3较大,算法具有较强的全局搜索能力,较弱的局部搜索能力;®较小,
算法具有较强的局部搜索能力,较弱的全局收敛能力,一般3在[0.8,1.2]之间,PSO算法具有更快的收敛速度,而当3> 1.2时,算法极易陷入局部极值.
神经网络分类模型的性能受到所选参数的影响,较多的训练次数对于模型准确率的提升没有太大的影响,一般浅层神经网络训练50-150次,就可以获得较优的分类模型;而隐含层结点个数过多模型会岀现过拟合现象,过少模型不能充分学习其特征,故参考文献[22]确定隐含层结点个数.
因此,文中使用的参数设置如下:在测试函数中,函数维度为30,最大迭代次数为5000次,并且实验运行30次.特别的是在GA中,交叉和遗传概率分别为0.7和0.5;在PSO 中心=C2=3=0.9;在DE中,交叉概率为0.99.入侵检测模型中最大迭代次数为500,神经网络训练次数为100;神经网络的输入层和输岀层由实际数据集的特征和类别决定,隐含层结点个数为30.
5.4模型评价标准
模型评价标准定义如下:
准确率(Accuracy):它估计正确识别的样本数与整个测试集的比率.准确率越高,神经网络的模型就越好(Accuracy e[0,1]).对于包含平衡类的测试数据集是一个很好的度量.准确率定义为:
A TP+TN
AcCUraCy=TP^TN^FP^FN⑺精确率(PrcidoM):它估计正确识别的正常样本与被预测为正常样本总数之比.精度越高,神经网络模型越好(Pre-cision e[0,l]).精确率定义如下:
TP
Precision=—-——审丑
TP+FP
(8)
Fl-Score:Fl-Score也叫做F\-Measure.它是精确率和召回率的调和平均数.F\-Score越高,神经网络模型越好(Fl-Score e[0,1]).Fl-Score定义如下:
「2x Precision x Recall z、n~Sc°re=-Precisions Recall⑼
真正率(TPR):它也被称为召回率.它估计正确分类的正常样本与实际正常样本总数的比率•如果7PR越高,则神经网络模型越好(7PR丘[0,1]).7PR定义如下:
TPR
TP
TP+FN
(10)
鳄梨的功效与作用
假正率(FPR):它估计被预测为正常样本的攻击样本数与实际攻击总数的比率.FPR越低,则神经网络模型越好(FP/?e[0,l]).FPR定义如下:
ROC(receiver operating characteristic)曲线:它的横轴为假正率(fal positive rate,FPR),纵轴为真正率(true positive