基于神经网络的BP算法研究及在网络入侵检测中的应用

罗俊松
摘 要: 通過分析BP神经网络用于检测系统存在的问题,在传统BP算法基础上,采用自动变速率学习法,引入遗忘因子、随机优化算子,并将其用于网络入侵检测系统。仿真实验结果表明,改进的BP神经网络算法用于入侵检测,速度快、易收敛,目标精度0.02很快达到。改进的BP神经网络算法的检测率、漏测率、误报率分别为96.17%,3.83%,4.15%,检测率比未改进的BP算法要高出11.65%,漏测率比未改进的BP算法要低10.66%,误报率比未改进的BP算法要低4.07%,改进算法优越性明显。
关键词: BP算法; 入侵检测; 神经网络; 随机优化算子
中图分类号: TN915.08?34; TP393.08 文献标识码: A 文章编号: 1004?373X(2017)11?0091?04
Research on BP algorithm based on neural network and its application
in network intrusion detection
LUO Junsong
(College of Information Science and Technology, Chengdu University of Technology, Chengdu 610059, China)
Abstract: By analyzing the problems of BP neural network applied to the detection system, the automatic variable?rate learning method, forgetting factor and random optimization operator are introduced into the BP algorithm on the basis of traditional BP algorithm. The BP algorithm is applied to the network intrusion detection system. The simulation results show that the improved BP neural network algorithm applied to intrusion detection has the characteristics of fast speed and easy convergence, and can quickly obtain the target accuracy of 0.02. The detection rate, missed detection rate and false alarm rate of the improved BP neural network algorithm can reach up to 96.17%, 3.83% and 4.15% respectively, whose detection rate is 11.65% higher than that of the traditional BP algorithm, the missed detection rate is 10.66% lower than that of the traditional BP algorithm, and the false alarm rate is 4.07% lower than that of the traditional BP algorithm. The superiority of the algorithm is obvious.
Keywords: BP algorithm; intrusion detection; neural network; random optimization operator
0 引 言
随着通信技术和计算机技术的快速发展,计算机的网络规模越来越大,通信系统也越来越复杂,由于计算机网络本身具有漏洞,同时还有黑客对网络进行攻击,因此计算机网络受到的威胁和攻击日益增加[1?3]。网络安全形势越来越严峻。通过入侵检测技术可收集计算机网络中的若干关键点信息,同时对这些信息进行分析,并对网络是否遭到袭击、是否存在违反安全策略行为进行检查,并做出及时响应,对网络连接进行切断并报警等[4?6]。目前倾向于通过入侵检测技术结合人工智能算法进行相关研究,对于各种入侵行为,采用人工智能算法通过自学习、自适应能力进行识别、检测[7]。
作为一种重要的模式识别方法,人工神经网络具有自学习、自组织、推广能力强等特点[8]。在入侵检测系统中,应用人工神经网络方法可使系统能较好地识别已知攻击,同时还具有对未知攻击进行检测的能力[9]。但是在异常入侵检测系统中,应用标准BP算法存在收敛局部极小值、学习速度慢等缺点,这在很大程度上影响了入侵检测系统的性能[10]。本文在对原有BP神经网络算法进行改进的基础上,研究了优化的神经网络BP算法及其在网络入侵检测中的应用。
1 BP神经网络
BP神经网络是一种多层前馈神经网络,包括输入信号前向传递和误差反向传播两个过程,在结构上一般由输入层、隐含层、输出层三层构成,每一层的神经元状态只影响下一层神经元状态。它被广泛应用在BP神经网络预测模型中。网络结构一般只需单个隐含层就能以任意精度逼近任意有理函数。训练样本的输入、输出向量的维数分别决定了网络的输入、输出层神经节点个数,典型的只有单个隐含层、单个输出的BP神经网络结构如图1所示。

图1 BP神经网络拓扑结构
图1中,为BP神经网络的一组输入向量;为网络的目标输出值;为输入层与隐含层之间的连接权值;为隐含层與输出层之间的连接权值;分别为隐含层和输出层的节点阈值。若设隐含层节点个数为则在前向传递中,输入信号向量从输入层经隐含层逐层传输,最后到输出层,通过各层连接权值矢量、阈值矢量和每一层相应的激励函数进行计算。得到输出层的预测输出值若预测值与目标值之间有误差,则误差部分转入反向逐层传递,沿误差减小方向调整网络各层连接的权值、阈值。反复执行以上过程,使得BP神经网络的预测值不断逼近实际输出值。
2 入侵检测算法
网络入侵检测通过分析系统数据,一旦有网络攻击行为、非授权网络访问时,入侵检测系统就会报警,同时对入侵线路进行切断。入侵检测系统应具有监视系统、用户的活动,对系统、用户活动进行分析,对异常行为模式进行分析,对已知进攻模式进行识别,审计系统弱点、构造,跟踪管理系统审计,对系统、数据文件完整性进行评估,对用户违反安全策略行为进行识别。常见的攻击手段目前包括非授权获得权限、非授权访问、探测、拒绝服务等。在实际中,这些攻击手段变异很大,入侵检测难度较大。BP神经网络具有较强的自学习和自组织能力,经过训练后,对以前观察到的入侵检测行为模式,BP神经网络会进行归纳和总结,可识别出已观察到的攻击和已知攻击变异的新攻击,图2为网络的入侵检测过程。
3 改进的BP神经网络入侵检测
3.1 BP神经网络用于检测系统存在的问题
BP神经网络采用分布式存储,但传统的BP算法存在一些不足,包括极小的局部,较慢的学习收敛速度,缺乏理论隐含层节点的选取,已经学完样本会受到新加入样本的影响,每次样本的输入必须具有确定相同的特征数目。
在入侵检测中,BP神经网络的实现方式主要是与现有系统结合进行,BP神经网络与应用模式识别系统相结合使用,例如与专家系统结合。在这种方式中,BP神经网络可作为系统组成部分,通常是作为信息过滤模块或信息预处理模块,当信息输入系统后,神经网络会对信息做过滤处理。另外,神经网络可规则自动生成模块,进而更新入侵检测系统规则库、模式库。这种方式的优点是能将入侵检测系统的工作性能提高,缺点是这种方式神经网络的真正优势不能得到充分发挥。
3.2 改进的神经网络算法
在信号检测、非线性处理、模式识别等领域,人工神经网络应用较多,这是因为人工神经网络自组织性、自适应性非常好,同时其非线性特性明显,信息存储为分布式模式、可进行大规模的并行处理。实质上BP神经网络算法属于非线性优化的梯度算法,在收敛性上,该算法存在不足,也就是说该算法的学习结果有可能落入到均方误差全局最小点,也有可能落入到局部极小点,造成算法不收敛,使工作模式陷入错误。
入侵检测系统的主要功能是对入侵计算机网络的行为和计算机系统进行检测,包括数据聚类、数据采集、分析判断行为、对入侵行为进行响应、报警等。BP网络各层神经元仅连接相邻层神经元;在各层内部,神经元间无连接;同时各层神经元间也无反馈连接。在信号输入后,传播到隐节点经变换函数再将信息传播到输出节点,经过处理,输出结果。本文将改进的BP 神经网络用于入侵检测系统,其检测模型见图3。
3.2.1 采用自动变速率学习法
传统BP算法在梯度基础上,采用最陡下降法LMS学习问题,学习步长为一个较小值,并且这个值是固定不变的,对网络收敛无益处。因而选择基于梯度方向自动对学习速率进行调节。通过梯度对学习方向做最终确定,在梯度方向上,学习步长由速率决定。若相邻两次梯度方向是相同的,表明该方向的收敛有利;若相邻两次梯度方向是相反的,表明该方向的收敛不稳定。根据这个规律,通过两次相对梯度的变化确定学习步长。当两次梯度为相同方向时,学习步长增大,该方向上学习速度要加快;在两次梯度为相反方向时,学习步长减小,整个网络收敛速度要加快,自适应速率调节方法如下:
(1)
(2)
式中表示在时刻和时刻梯度的乘积。
3.2.2 引入遗忘因子
根据相邻两次梯度变化,通过自适应变速率学习法对学习步长算法进行确定。变化单纯学习速率,这时收敛速度不能完全保证,但不会有振荡产生,因此考虑变速率学习法,在权值调节量上,加一个量,这个量正比于前几次的加权,权值调节量采用式(3)计算:
(3)
式中:表示遗忘因子,引入遗忘因子项,在学习过程中可通过对学习速率进行等效微调的效果进行说明。遗忘因子的作用是缓冲平滑,并使调节的平均方向朝底部变化。
3.2.3 引入随机优化算子
BP神经网络算法在引入遗忘因子,采用自动变速率学习法后,虽然可微调学习速率,但BP神经网络的不足和限制仍存在,为了进一步对BP神经网络进行优化,本文引入随机优化算子,当网络权值误差迭代达到一定次数后,收敛不明显或连续几次发生系统误差函数梯度变化,这种情况表明网络进入疲乏状态,要借助外界推动力对网络进行激活。当出现这两种情况时,与权值维数相同的随机数就产生了,直接将权值和随机数相加,对系统误差变化进行判断,若误差未降低,继续产生随机数,进行权值修改,当误差出现减少时停止,然后再从新权值继续开始BP算法,随机优化算子可随机变化搜索方向,局部极小点就摆脱掉了,图4为改进的BP算法流程图。
4 仿真实验
本文的仿真实验在Matlab 7.0实验平台进行,以此来验证提出改进的BP神经网络算法是否能达到较好的效果,本文同时给出采用未改进的BP算法网络入侵检测和改进的BP神经网络算法网络入侵检测模型仿真实验结果。
图5为两种算法得到的训练精度。从两种算法的实验仿真结果可看出,将改进的BP神经网络算法用于入侵检测,速度快、易收敛,目标精度0.02很快达到。在规定周期内,未改进的BP算法不能达到规定的目标精度,易陷入局部极小,本文提出的改进的BP算法所用训练周期较短,学习时间缩短显著,效果良好。
评价检测模型的标准为漏报率、误报率、检测率,其定义分别如下:
表1为未改进的BP算法与改进的BP算法的比较结果,从表1中可看出,改进的BP神经网络算法的检测率、漏报率、误报率分别为96.17%,3.83%,4.15%,检测率比未改进的BP算法要高出11.65%,漏报率比未改进的BP算法要低10.66%,误报率比未改进的BP算法要低4.07%。
表1 两种算法的入侵检测结果
[算法 训练周期 /s 检测率 /% 漏报率 /% 误报率 /% 基本BP算法 480 84.52 14.49 8.22 改进的BP算法 480 96.17 3.83 4.15 ]
5 结 语
本文在对原有BP 神经网络算法进行改进的基础上,研究了改进优化的BP神经网络算法及其在网络入侵检测中的应用。通过分析BP神经网络用于检测系统存在的问题,在传统BP算法基础上,采用自动变速率学习法,引入遗忘因子、随机优化算子,并将其用于网络入侵检测系统。仿真实验表明,改进的BP神经网络算法用于入侵检测,速度快易收敛,目标精度0.02很快达到。本文算法具有明显的优越性,各种入侵行为检测率得到明显提高,系统误报率也降低了,入侵检测系统性能得到有效改进,本文算法优越性明显。
参考文献
[1] 宋玲,常磊.变异粒子群优化的BP神经网络在入侵检测中的应用[J].智能系统学报,2013,8(6):558?563.
[2] 刘伉伉,谢福,郭雪雪.基于BP神经网络的云计算入侵检测技术研究[J].计算机与数字工程,2014(12):2357?2361.
[3] 黄煜坤.基于BP神经网络算法的入侵检测技术[J].电子制作,2015(10):60?62.
[4] 沈夏炯,王龙,韩道军.人工蜂群优化的BP 神经网络在入侵检测中的应用[J].计算机工程,2016,42(2):190?194.
[5] 王玲.基于BP 算法的人工神经网络建模研究[J].装备制造技术,2014(1):162?164.
[6] 王俊士,李江涛.一种改进的BP神经网络算法在入侵检测中的应用[J].电脑知识与技术,2014,10(3):614?617.
[7] 颜谦和,颜珍.遗传算法优化的神经网络入侵检测系统[J].计算机仿真,2011,28(4):141?144.
[8] 汪洁.基于神经网络的入侵檢测系统的设计与实现[J].计算机应用与软件,2013(5):320?322.
[9] 胡明霞.基于BP神经网络的入侵检测算法[J].计算机工程,2012,38(6):148?151.
[10] 夏淑华.基于BP神经网络的入侵检测系统设计[J].计算机与现代化,2011(4):47?50.