改进遗传算法优化神经网络的入侵检测研究

2017-06-22 14:41杨云峰唐凤仙
河池学院学报 2017年2期
关键词:粗糙集交叉遗传算法

杨云峰,唐凤仙

(河池学院 计算机与信息工程学院,广西 宜州 546300)

改进遗传算法优化神经网络的入侵检测研究

杨云峰,唐凤仙

(河池学院 计算机与信息工程学院,广西 宜州 546300)

针对大数据时期的互联网安全日趋严重的形势,构建一个利用粗糙集和改进新种群生成方式的遗传算法优化BP网络的网络攻击检测模型,通过粗糙集进行除噪降维,改进的遗传算法的新种群生成方式是通过选择部分最优父代个体进行交叉变异后替换父代最差个体产生新种群,BP网络获得改进新种群生成方式的遗传算法提供更佳初始参数,BP网络的检测速率慢及局部最小的问题获得更好解决。本模型经过仿真测试证明其增长检测正确率,减少检测时间。

粗糙集;改进遗传算法;BP神经网络;全局最优

0 引言

随着网络进入各行各业,网络安全形势日趋严重,早期的安全措施防火墙已不能较好的满足现在的网络安全需求,怎样查找利用网络进行的攻击行为已经成为当代防范网络入侵的首要目标。网络入侵检测系统通常设置于安全网络与不安全网络之间,其通过获取并分析流经的用户数据信息或日志,从中发现异常行为并调用安全模块进行有效的防御。网络入侵检测具有检测效率高,使用灵活,不占用正常的服务资源的优点,它已经成为防火墙之后另一有效的安全措施。

进入21世纪,在新科技革命带动下入侵检测技术得到了长足发展,但这些技术在检测速率和正确率方面仍存在不足。文献[1-3]中构建了一个粗糙集(RS,Rough Set)加反向传播算法(BP,Back-Propagation Algorithm)的网络安全检测结构,在该结构中粗糙集对入侵信息进行预处理,提高了在大数据网络中发现攻击行为的效率,但是文献中存在的局部最小值和优化时间长的问题没有得到处理,导致模型的检测率较低。而文献[4-6]提出通过优化来解决BP网络进行数据分析时的不足,但是由于不对冗余属性进行有效的归约,在对网络攻击的大数据进行分析时会降低检测的速率甚至降低检测的正确性。文献[7-9]提出基于粒子算法和K最近邻(KNN,K-Nearest Neighbor)算法优化的入侵检测系统,适用于处理样本中存在交叉或重叠的数据集,但是如果相异样本数量有较大差别时较难实现准确的分类,而KNN的分类错误也多出现样本数量较小时。而在文献[10-12]展示了利用支持向量机(SVM,Support Vector Machines)建立的网络安全检测结构,由于SVM的数目与SVM计算的复杂程度成正比,支持向量机几乎不存在由于维度而造成计算机量过大的问题,但是SVM在矩阵存储和计算过程中如果样本较大时占用资源增多会造成检测效率降低。

局部最小、收敛速度慢及检测数据的高维度、高冗余的问题都存在于以上入侵检测算法中。结合粗糙集及遗传算法的优点,建立利用粗糙集对数据进行维归约,利用改进新种群生成方式的遗传算法(GA,Genetic Algorithm;)全局优化BP神经网络,最后使用BP网络分析数据并从中发现网络攻击的安全系统。该模型拟解决网络攻击中信息维度冗余和BP网络局域最小的问题,最后本模型与获得经典遗传算法提供初始权值、阈值的BP网络共同分析网络攻击数据并进行对比。

1 BP神经网络模型

BP网络为一种基于多层后向学习的神经网络算法,其基本原理为基于最优化理论的最速下降法,BP神经网络通过重复寻找,直到算法在某一区域中找到最小误差函数值及其位置。BP网络算法目的是其在训练过程中利用输出可能误差和反向传播多次调整获取最优权值、阈值,最终得出最佳的推导结果。BP神经网络具有结构简单适应多种训练算法及便于实现的特点,长期以来BP网络算法不仅在入侵检测还在图像处理等方面获得应用。图1为具有一个隐含层的三层BP网络结构,该结构中的x和y分别为输入及输出,各层之间的值分别为调整误差的权值和阈值。一个包含N个样本的数据集,其误差函数L如公式(1)。

图1 三层BP神经网络结构

(1)

图2 改进新种群生成方式的RS-GA-BP网络结构

tn为类别向量,yn为BP网络输入为xn时所得到的输出值。BP采用重复学习法可以寻找到最优权值和阈值,但是在归一化在[0,1]之间的BP网络在初始训练时,训练函数会在0和1之间生成随机值并成为BP网络首次训练的权值、阈值,首次运算随机值的使用会造成BP网络的不稳定,运行结果差异较大,而且也存在着收敛速度慢及收敛不能保证其在全局最小值的问题。

2 改进遗传算法的入侵检测模型

2.1 改进RS-GA-BP算法流程图

图2为利用粗糙集和改进新种群生成方式的GA算法优化BP网络的入侵检测结构。

本模型算法结构如下:

(1)对数据进行归一化和属性归约操作的预处理。

(2)利用预处理得到的数据训练BP网络的初始运算值并训练误差。

(3)GA利用BP网络训练误差计算适应度,并利用适应度的大小选择最优个体。

(4)利用GA算法中改进的新种群生成算法经过多次迭代训练并选择出最优新种群。

(5)BP网络利用GA算法产生的最优种群训练出最佳权值、阈值作为首次运算值多次进行反向传播学习,最终得出最佳的仿真测试结果。

2.2 数据初始化预处理

2.2.1 数据归一化

由于网络入侵数据都具有数据量大和属性多的特点,而且同一属性数值大小常有107甚至更大的差异,测试时如果直接将这些数据直接进行分析训练,会造成数据属性特点不明确、收敛不正常的问题,甚至不能得到正确的训练结果。而经过数据归一化操作,可以把各属性特征值大小控制在一个固定的区域内,便于数据的进一步分析处理,也加快了分析程序的收敛速度。数据归一化后的数值范围可以有[-1,+1][13]和[0,1][14]两种选择。本文采用文献[14]中的方法对本实验数据归一化到区间[0,1],归一化方法如公式(2)。

(2)

maxa和mina分别为属性a中的最大及最小数值,vi′为属性vi归一的特征值。

2.2.2 粗糙集的属性约简

网络入侵检测系统采集的数据常具有数据量大、属性不简约的特点,所以在进行数据分析前需要对数据进行维归约。改进RS-GA-BP模型中采用粗糙集进行维归约,粗糙集常用于识别不能进行准确判断的信息[15]。其可直接进行数据归约的处理简化,简化后的数据将变小,但是能够得到几乎一样的甚至更好的分析结果。在神经网络对利用粗糙集归约处理的网络入侵数据再进行分析时,可以加快神经网络收敛速度,提高数据分析速率和正确率。粗糙集的属性约简是利用样本中正域(pos)的变化来判断的,正域是样本中能够准确描述其属性的信息集合。

对于一个训练样本的有限属性集A和决策属性I,如果归约某一属性j其pos出现变化,如公式(3)则说明属性j在A中是必需的,即属性是不能归约;但是如果同等条件下正域pos未发生变化,如公式(4)说明属性不属于该样本的核属性,即该属性可以归约。

pos(A-j)(I)≠posA(I)

(3)

posA-j(I)=posA(I)

(4)

2.3 改进的遗传算法

遗传算法GA是一种进化算法,其原理为模仿生物在进化的过程中“优胜劣汰”生存规律。GA算法在运算时对于初始条件没有严格要求;其对数据进行编码并使用适应度函数进行评价,通过多次选择、交叉及变异的迭代方式来交换染色体的信息最终选择产生最优的新种群。遗传算法没有传统进化算法只可处理单个体的缺点,却有传统进化算法中所不具备的全局最优的优点。BP网络利用改进新种群生成方式的GA算法提供的初始值能够较好的解决BP网络局域最小问题。

2.3.1 改进的选择算法

在GA算法中通过利用适应度来判断个体的好坏。本文选择转轮选择法[16],即个体适应度越小其被选择的概率越大,被选择的概率pk越大那么它的基因就会在种群中扩大,反之,其将可能被淘汰。适应度与测试结果的误差相关联,本文BP网络采用测试最后结果的绝对值来判断个体适应度的大小。个体适应度函数和选择函数分别如公式(5)(6)。

(5)

(6)

公式(5)中m为BP神经网络的输出节点数;yt为BP神经网络第个节点的期望结果;ot为第t个节点的可能结果;公式(6)中Fk为种群个体k的适应度,M为本种群中所有个体的总数。在本文改进的算法中利用适应度选择个体时并不选择所有个体,而是根据适应度大小只选择部分最优父代个体(为可进行交叉操作,选择数量必须为偶数)。在本文实验中通过测试得出选择比例为0.95的父代个体进行下一步操作效果最佳。

2.3.2 交叉运算

交叉算法是为了让子代产生一个同时具备父代两个交叉个体的特征新个体,如果新个体在交叉时获得父代最优特征,生成的新个体将优于交叉之前的个体,通过交叉将有助于新种群进化。交叉方式有单点、两点和多点等方式,本文使用单点交叉算法,其原理是随机选择两个体作为交叉对象,其次任意生成交叉点,第三是两个体在交叉点交换部分基因,因此生成不同于交叉之前的两个体。交叉操作通常采用与个体编码方式相同的算法,两染色体R和R′在k位的交叉操作结果等于未交叉值加上对方的交叉值,交叉运算如公式(7)。

(7)

其中、分别为两染色体R和R′在k位的交叉运算值;随机数S∈[0,1],本实验S=0.7。

2.3.3 变异运算

变异运算原理是通过基因突变产生一个新个体,如果产生的是一劣势个体,那么该个体经过选择运算后将会被淘汰。但如果生产的是一更优个体,其经过选择运算后会产生更多子代个体,从而该个体在种群中将占主导地址。为了避免过早收敛,通常采用的方法是基本位变异或均匀变异等多种方式。本文采用基本位的变异,即是对由二进制基因组成的个体种群采用基因的小概率翻转,即为0与1互变。本文的随机选择的变异位置大于0.5,基因R的变异选择如公式(8)。

R=R+(R-R′)×r(1-g/g1)2

(8)

公式(8)中,R′为基因的上界;为了防止遗传算法的退化,通常采用小概率的变异,变异概率∈[0.001,0.1],本文中=0.01;g为当前迭代次数,g∈[1,200];g1为最大迭代次数,本文中g1=50。

2.4 改进的新种群重插入生成算法

虽然经典遗传算法通过优化BP网络初始值来解决了其局域最优的缺点,但是仍存在改进效果不佳的问题。针对经典遗传算法的不足,提出一种改良的遗传算法,该算法的改良是针对流程中新种群生成过程的改进,改良后的新种群算法如图2。改进新种群生成算法描述流程如下。

步骤1对最初的种群、目标函数和适应度进行运算并产生父代。

步骤2采用只对父代个体中比例为0.95最优个体实施交叉、变异。

步骤3在新算法中步骤2得到的数据并不直接形成新的种群,而是利用重插入函数把经过交叉变异产生的新种群个体在保留步骤1父代种群中最佳个体前提下替换原父代中适应度最差的个体,从而形成当前最优新种群。

步骤4进行多次循环选择最终得出最优新种群。

在改进的新种群生成算法中,通过替换父代适应度最差个体的方式来进行优化。在改进的新种群生成的算法中通过迭代每次都能够产生优于原父代的种群,算法迭代结束后即可相比未使用改进新种群生成方式的经典遗传算法生成更优种群,从而训练出更佳权值、阈值并成为BP网络首次仿真测试的参数。BP神经网络使用该初始参数进行反向传播学习调整,更好的解决了BP神经网络优化速度慢和局域最优的的问题,提高了数据分析效率。

3 仿真实验及分析

3.1 实验数据集

本文实验采用KDD99数据集模拟网络攻击数据,KDD99中的任一连接都有41个参数特征及1个连接标记,KDD99按照入侵的种类可分为4大类共39类网络攻击方式,4大类的网络攻击方式分别为DOS、R2L、U2R和PROBING。在测试中从10%的数据中任意采集训练信息12 046条,测试信息4 241条。训练子集共有22种攻击类型;为了评估改进遗传算法的网络安全系统的泛化能力,测试集中的入侵方式比训练集多17种。

3.2 数据预处理

利用公式(2)(3)(4)对训练数据集和测试数据集进行归一化和进行粗糙集的维归约,预处理后发现第20维特征信息num_outbound_cmds(一个FTP会话中出站连接的次数)被归约,分析原因因要为数据集中这一特征出现次数为0。

3.3 实验结果

3.3.1 算法的训练

由于参数原因遗传算法与BP算法需要多次进行测试,经过多次测试后得出最优参数为:遗传算法交叉概率为0.7,变异概率为0.01;BP神经网络训练目标为0.01,学习速率为0.1。根据KDD99具有的41个连接特征,4大攻击类型细划分的39类的特点。通过测试由图3遗传迭代数及误差关系图知当隐含层有32个节点时经过37次迭代得到的误差值最小。

图3 遗传迭代数及误差关系图

3.3.2 实验现象

在本次实验中使用的硬件为InterI52.5GHZ,4GB内存和1TB硬盘的计算机,实验在Win7平台上使用Matlab2014a编程实现。为了检测改进后的系统的功能,本文采用检测率、误差率(报错的概率)及时间作为检测参数判断系统的性能高低,利用本文算法与经典SVM、BP网络及基于传统的GA模型进行对比。

经过多次模拟测试,由图4可知获得改进遗传算法提供初始值的BP网络(改进+BP)平均测试时间为0.82s少于获得传统遗传算法提供初始值的BP网络(传统+BP)的平均测试时间0.9s。

图4 两种技术优化的BP检测时间

经过实验模拟测试不同类型入侵检测结果对比如表1。

表1 入侵检测结果对比

从图4和表1可知本文模型即改进新种群生成算法的RS+GA+BP模型由于新种群的迭代生成造成检测时间与经典未改进新种群算法的RS+GA+BP模型相比略有不足,但是获得改进GA算法提供初始值的BP网络平均检测时间仍少于由传统GA算法提供初始值的BP网络的平均检测时间,而且由于本文算法中的粗糙集对数据进行的属性归约精简了检测数据,所以本文模型的平均检测时间仍优于传统BP神经网络算法和GA+BP模型,而且该模型对攻击数据进行分析的检验率及误差率均好于其他模型。

4 结论

通过分析了基于经典遗传算法改善BP网络的入侵检测技术,针对BP网络收敛速度慢、正确率不高及分析的具有数据高维高冗余问题,构建利用重插入算法得到新种群的RS+GA+BP入侵检测模型。通过测试分析几种经典入侵检测模型性能并相互对比,文中所使用的改进新种群生成方式的RS+GA+BP入侵检测模型不仅减少了BP网络的数据输入维,提高分析效率,而且由于改进新种群算法的GA算法能为BP网络提供更佳首次运算值,从而入侵检测模型能够提高了分析数据的正确率和泛化能力,降低了误报机率及BP网络的分析检测时间,互联网的安全得到更好的保障。

[1]蔡晓丽.基于粗糙集理论和BP神经网络入侵检测模型[J].计算机仿真,2011,28(11):107-110.

[2]张东波,黄辉先,王耀南.基于粗糙集约简的特征选择神经网络集成技术[J].控制与决策,2010,25(3):371-377.

[3]史志才.基于粗糙集的入侵检测方法研究[J].计算机工程与科学,2012,34(2):13-18.

[4]杨雅辉,黄海珍,沈晴霓,等.基于增量式GHSOM神经网络模型的入侵检测研究[J].计算机学报,2014(5):1216-1224.

[5]WU Wen-Tie,LI Min,B Liu.Intrusion Detection Scheme based on IPSO-RBF[J]. Journal of Networks,2013,8(10):2269-2276.

[6]Zou, Li Kun. Intrusion detection model based on improved genetic algorithm neural network in computer integrated process system[J].Applied Mechanics and Materials,2013,380(4):2708-2711.

[7]AA Aburomman,MBI Reaz.A novel SVM-kNN-PSO ensemble method for intrusion detection system[J]. Applied Soft Computing, 2015(38):360-372.

[8]冯莹莹,余世干,刘辉.KNN-IPSO选择特征的网络入侵检测[J].计算机工程与应用,2014,50(17):95-99.

[9]李欢,焦建民.简化的粒子群优化快速KNN分类算法[J].计算机工程与应用,2008,44(32):57-59.

[10]饶鲜,董春曦,杨绍全.基于支持向量机的入侵检测系统[J].软件学报,2003,14(4):798-803.

[11]郭成芳.支持向量机在网络异常入侵检测中的应用研究[J].计算机仿真,2011,28(7):135-137.

[12]MS Pozi,MN Sulaiman,N Mustapha,T Perumal.Improving Anomalous Rare Attack Detection Rate for Intrusion Detection System Using Support Vector Machine and Genetic Programming[J].Neural Processing Letters,2015,44(2):1-12.

[13]姚明海.改进的遗传算法在优化BP网络权值中的应用[J].计算机工程与应用,2013,49(24):49-54.

[14]Wlee,Sl stolfo,KW MOK.A data mining framework for building intrusion detection models[J].In IEEE Symposium on security and Privacy,1999(1):120-132.

[15]Pawlak,Zdzislaw.Rough set theory and its applications to data analysis[J].Cybernetics & Systems,2010,29(29):661-688.

[16]周明,孙树栋.遗传算法原理及应用[M].北京:国防工业出版社,1999.

[责任编辑 韦杨波]

Research on Intrusion Detection of Optimized Neural Network Based on Improved Genetic Algorithm

YANG Yunfeng, TANG Fengxian

(School of Computer and Information Engineering, Hechi University, Yizhou, Guangxi 546300,China)

Based on the situation that internet security is becoming increasingly serious and important in the age of big data, a network attack detection model has been built which optimizes the BP network by using the rough set and improved genetic algorithm of new population generation mode. The new population generation mode produced by the improved genetic algorism is the mode through whicha new population is generated by selection of the optimal parent individuals undertaking crossover mutation to replace the worst parent individuals. The improved genetic algorism of new population generation mode provides better initial parameters to BP network and supplies a better solution to the slow detection rate and local minimization problem of BP network. Simulation tests of this model have proved the improvement of detection accuracy and reduction of detection time.

Rough Set;Improved Genetic Algorithm;BP Neural Network;Global Optimization

TP37

A

1672-9021(2017)02-0077-07

杨云峰(1975-),男,广西宜州人,河池学院计算机与信息工程学院高级实验师,主要研究方向:网络安全。

2016年广西高校中青年教师基础能力提升项目(KY2016YB380);河池学院智能计算与模式识别重点实验室科研项目。

2017-01-15

猜你喜欢
粗糙集交叉遗传算法
基于Pawlak粗糙集模型的集合运算关系
基于二进制链表的粗糙集属性约简
“六法”巧解分式方程
优势直觉模糊粗糙集决策方法及其应用
一种基于遗传算法的聚类分析方法在DNA序列比较中的应用
多粒化粗糙集性质的几个充分条件
连数
连一连
软件发布规划的遗传算法实现与解释
基于改进的遗传算法的模糊聚类算法