APP下载

一种改进的BP神经网络入侵检测方法的设计与实现

2015-03-16李勤朴何立夫

湖南电力 2015年6期
关键词:权值神经网络误差

李勤朴,何立夫

(国网湖南省电力公司防灾减灾中心,湖南长沙410129)

一种改进的BP神经网络入侵检测方法的设计与实现

李勤朴,何立夫

(国网湖南省电力公司防灾减灾中心,湖南长沙410129)

针对传统BP神经网络入侵检测算法学习效率低,收敛速度慢的缺点,本文提出了一种改进型的BP神经网络入侵检测算法,并进行了系统原型的设计。实验表明,改进型的算法比传统型的算法具有更快的学习速度和更准确的报警率,结果令人满意。

网络安全;入侵检测;神经网络;BP算法

随着Internet技术和通信技术的快速发展,互联网应用的日益普及,企业和个人信息的泄漏、信息恶意窃取和篡改、数据恶意添加和删除、计算机病毒大量传播等问题事件涌现,网络安全问题引起了人们的广泛关注。根据最近美国联邦调查局Federal Bureau of Investigation(FBI)的统计分析报告,互联网犯罪投诉中心Internet Crime Complaint Center(IC3)从2010年到2014期间共收到犯罪投诉1 440 264条,平均每年收到近30多万条犯罪投诉,平均每月有两万多条,累计直接的经济损失达40多亿美元〔1〕。世界上其他国家,如加拿大、英国、印度、澳大利亚、法国等也存在不同程度网络犯罪。中国最大的互联网安全公司360发布 “2014年中国个人电脑上网安全报告”,2013年有超过2亿中国网民属于 “风险人群”,上网环境恶劣,该中心共截获新增恶意程序样本3.24亿个,平均每天截获新增恶意程序样本88.8万个,报告说2014年度国际国内发生的14起震惊中外的互联网安全事件,其中有5起主要发生在中国〔1-2〕。网络安全和网络犯罪已经成为了一个全球性的问题。因而许多企业和科研机构纷纷提出许多策略、方案和办法来增强互联网网络的安全性,入侵检测就是其中一个有效的途径。

入侵检测 (Intrusion Detection)是通过软件系统对网络中的计算机或计算机集群中的若干关键点进行检测,并收集相关信息,然后进行统计分析,从中发现计算机网络或计算机集群系统中是否有违反设定安全策略的行为和被攻击的现象〔3〕。目前国内外将智能技术引入到入侵检测中解决网络安全问题,其中人工神经网络是比较理想的一种策略方法,特别是多层前馈神经网络,其学习效率和学习能力均很强大〔4-6〕。

文中对入侵检测技术和人工神经网络技术作了细致的分析研究,尤其对神经网络的训练速度进行了相关的优化和提升,针对传统BP神经网络入侵检测算法学习效率低,收敛速度慢的缺点,提出了一种改进型的BP神经网络入侵检测算法,并进行了系统原型的设计,该算法具有更快的学习速度和更准确的报警率,实验结果令人满意。

1 传统BP神经网络基本模型

BP神经网络模型于1986年提出,它是一种多层前馈模型,它根据神经元的刺激产生反应,刺激的学习机制调整神经元之间的关联强度,利用误差逆传播算法进行误差校正,即利用模型的实际输出与期望值之差修正网络中各层连接的权重,由后向前逐层进行校正的一种模型。

通常,输入层的神经元不参与计算,它只是将刺激信号 (神经元激活值)传递给隐含层。而对隐含层中的2层或多层以上的多层神经元网络,隐含层各层之间的神经元实现全连接,它们再将权重强度和传递规则将刺激传到输出层,如果期望值与实际输出结果误差不大,结果正确时,学习结束;如果误差较大,则计算误差,返回到输入层,逐层计算和修正各连接权,如此反复进行修正,随着误差逆向传播训练的反复迭代,模型的正确率也不断的提高,最终完成学习,输出正确结果。

然而,传统的 BP神经网络模型也有一些缺点,如算法有时会陷入局部极小值、模型收敛速度慢,呈现锯齿形现象,算法效率低等问题〔7〕。

2 基于改进的神经网络的入侵检测模型

2.1 改进型神经网络入侵检测系统结构

文中实现的基于BP神经网络的入侵检测技术的系统的结构如图1所示。

图1 入侵检测系统结构图

其中数据获取模块:提取主机中的日志或者网络节点监听数据。由于时间有限,文中只涉及到入侵检测技术的实现,固其数据来源于模拟的主机日志。从预定义好的文件中读取所需要的数据进行学习。数据样本选取系统活动时间、登录次数以及2次登录间的最大间隔,以秒为单位。数据处理模块:从输入数据流中提取特征向量,并转化为神经网络的输入。将数据进行归一化处理后提交给神经网络,数据经过归一后处于 (0,1)之间,便于运算,所用的公式:xi=(xi-xmin)/(xmax-xmin)。数据学习模块:对样本数据进行训练学习,动量因子和学习效率的范围大都在 (0,1)之间,选择0.7。数据分析模块:对所获得的数据向量进行分析处理,输出判断结果或者根据结果修改权值。

当系统进行数据分析聚类时,样本的期望输出值为0或1,但由于只有激活函数中的λ=±∞时才为0或1,这有可能将某些权值趋向无穷大。为了避免这种饱和现象,期望输出可适当放宽,如输出大于0.9时就看作1,当输出小于0.1时就认为是0,即每个样本的期望误差定义为 ε= (0.1)2=0.01。

2.2 改进型BP神经网络入侵检测模型

基于BP神经网络入侵检测模型包括输入层、隐含层 (中间层)和输出层,模型结构如图 2所示。

图2 入侵检测系统模型图

通过反复试验,输入层设3个结点较为合适,每个结点代表一个数据项,分别表示活动时间段,活动时间内的登录次数,2次登录相隔的最大时间;而输出层设计一个结点,判断是否发生了入侵作为输出结果;隐含层单元数的选择没有具体的判定方法,通常选取3个结点比较理想。

标准的神经网络算法使训练过程发生振荡,收敛速度缓慢。为了提高网络的训练速度,文中在权值调整公式中引入动量因子。在标准BP算法中学习效率定为常数,然而在实际应用中,学习效率选得过小,收敛速度太慢;学习效率选得过大,则有可能修正过头,导致振荡甚至发散,文中增加学习效率自动修改。

2.3 算法主要函数与基本步骤

笔者在Windows XP+C语言环境上运行,主要函数有:Detecting():检测函数;Training():训练函数;Initial():初始化函数;Normalization ():归一化函数;Err_calculate():输出结果的误差计算;Err_O_H():输出层到隐层的误差计算函数;Err_H_I():隐层到输入层的误差计算函数;Delta_O_H():修改隐层到输出层的权值,学习效率以及阈值函数;Delta_H_I():修改输入层到隐层的权值,学习效率以及阈值函数。

算法基本步骤: (1)调用initial()函数初始化神经网络的各权值和阈值; (2)对所得到的数据进行归一化处理; (3)如果是进行检测,则转入Detecting()函数进行检测并输出结果,反之则转入Training()函数进行学习; (4)调用Err_ calculate()函数计算Training()函数运算得出的结果,如果误差大于 0.01,则转入下一步,反之,则训练结束。(5)调用Err_O_H(),Err_H_I()和Delta_O_H(),Delta_H_I(),进行运算。(6)转回并调用 Err_calculate,重新计算误差,重复(4)(5)(6)直到结束。

3 实验结果及分析

本次算法优化主要从两个方面进行:增加动量因子;增加学习效率自动修改。算法对神经网络的权值和阈值进行了546次修改,增加动量因子和自动调整学习效率优化后,对神经网络进行了40次修改,对权值和阈值的次数的修改大幅下降,达到了原来的近1/14。由此可见,算法运算精度提高,学习速度提升,优化效果明显。

优化算法能对经过一项优化情况,能检查出全部发生入侵;对经过2项优化情况,能检查出一项正常活动纪录;对经过三项优化情况,能检查出有2项正常活动记录。详细情况见表1。

4 结论

文中针对传统BP神经网络入侵检测算法学习效率低,收敛速度慢的缺点,提出了一种改进型的

BP神经网络入侵检测算法,并进行了系统原型的设计,并对不同优化水平做了相应的优化。仿真实验结果表明:算法学习速度明显加快,报警率的准确性大大提高,实验结果令人满意。

表1 改进型BP神经网络入侵检测算法模拟结果表

〔1〕360发布2014中国个人电脑上网安全报告〔R/OL〕.〔2015-10-26〕 http://www.cssn.cn/dzyx/dzyx_ jlyhz/201501/ t20150123_1490778.shtml

〔2〕2014年全球14大网络安全事件5个在中国〔R/OL〕.〔2015-10-26〕 http://www.cctime.com/html/2015-1-20/ 2015120161127366.htm

〔3〕入侵检测〔EB/OL〕.http://www.baike.com/wiki

〔4〕唐正军,李建华.入侵检测技术〔M〕.北京:清华大学出版社,2004.

〔5〕李庆海,张德运,孙朝晖,等.用神经网络驱动的模糊推理入侵检测方法〔J〕.计算机工程,2003(19).

〔6〕刘春.人工鱼群算法优化神经网络的网络入侵检测〔J〕.计算机安全,2014(7).

〔7〕杨立洁,杨波.神经网络在入侵检测中的应用〔J〕.济南:济南大学学报,2004(03).

Design and implementation of an Improved BP neural network intrusion detection method

LI Qinpu,HE Lifu

(State Grid Hunan Electric Corporation Disaster Prevention and Reduction Center,Changsha 410129,China)

Aiming at the shortcomings of low learning efficiency and slow convergence speed of intrusion detection algorithm based on traditional BP neural network,this paper presents an improved intrusion detection algorithm based on improved BP neural network,and designs the system prototype.The simulation results show that the improved algorithm has faster learning speed and more accurate alarm rate than the traditional algorithm.And the results of the experiment are satisfactory.

network security;intrusion detection;neural network;BP algorithm

TP393.08

B

1008-0198(2015)06-0038-03

10.3969/j.issn.1008-0198.2015.06.010

2015-10-16 改回日期:2015-11-10

猜你喜欢

权值神经网络误差
一种融合时间权值和用户行为序列的电影推荐模型
CONTENTS
角接触球轴承接触角误差控制
Beidou, le système de navigation par satellite compatible et interopérable
神经网络抑制无线通信干扰探究
压力容器制造误差探究
基于神经网络的中小学生情感分析
基于权值动量的RBM加速学习算法研究
基于多维度特征权值动态更新的用户推荐模型研究
基于神经网络的拉矫机控制模型建立