特征提取与两种BP 算法在入侵检测中的对比
2013-12-29卿江萍刘志杰徐洋
摘要:针对海量的等保测评数据,如何从这些数据中选取适量的数据进行入侵行为分析,提出了根据预测变量对预测目标变量的重要性的特征提取方法。该方法采用importance指数来对预测变量进行等级划分。并选取了一些预处理后的数据运用了两种BP算法——标准BP算法和学习速率自适应调整算法进行了系统仿真预测。通过KDDCup99数据集测试表明,后者相对于前者,其学习训练次数大大降低,学习能力和预测准确率明显提高。
关键词:特征提取;标准BP算法;学习速率自适应调整算法
中图分类号:TP391 文献标识码:A 文章编号:1009-3044(2013)28-6365-04
随着信息系统等级保护工作的深入开展,将产生海量的测评数据,尤其是主机和网络数据的数据量非常大 [1]。但如何利用这些数据来检测系统是否遭到攻击,这就需要对数据进行特征提取。文中以KDDCup99数据为例,阐述了如何从海量数据中,根据预测变量对预测目标变量的重要性,提取出重要程度大的特征值,也就是确定了哪些字段来参与数据建模。然后在这些数据的基础 上,采用两种BP算法,利用BP神经网络,对这些攻击行为进行预测结果对比。
1 系统特征信息提取
1.1 KDDCup99数据
KDDCup99数据集[2]是从一个模拟的美国空军局域网上采集来的9个星期的网络连接数据,分成具有标识的训练数据和未加标识的测试数据。训练数据包含了将近五百万条连接记录,测试数据包含了二百万条的连接记录。但是测试数据和训练数据有着不同的概率分布,测试数据包含了一些未出现在训练数据中的攻击类型,这使得入侵检测更具有现实性。[3]
1.2 特征提取
KDDCup99训练数据集中每个连接记录包含了41个固定的特征属性和1个类标识。[4]为了特征提取的方便,把41个固定的特征属性分别用字段
1)重要。0.93≤importance≤1;
2)一般重要。0.9 3)不重要。其他。 对上述特征属性进行选择后,最终得到如下预测变量对于预测目标变量值的重要程度表。如表1所示。 其他字段,不是因为单个类别个大,就是因为变异系数低于阈值而被筛选掉了。 最后参考KDD KDDCup99数据,特征重要性排前五位的为A36、A23、A24、A3、A2的特征属性,把它们作为BP神经网络的输入属性。这5个特征属性的具体含义分别是: 1)A36,从目的主机到同一服务连接的比率; 2)A23,过去2秒内连接到相同主机的连接数; 3)A24,过去2秒内对同一服务的连接数; 4)A3,目标机器的网络服务; 5)A2,协议类型。 2入侵检测 2.1 入侵检测模型 本文采用的是基于BP神经网络[8]的入侵检测模型,该模型具有自学习能力,其数值计算能力使其具有较高的检测效率,不精确推理能力使其不仅能够检测出已知的入侵行为,也能够检测出一些未知的入侵行为。 BP神经网络的组成结构是一种具有三层和三层以上结构的无反馈的、层内无互连结构的前向网络,其中首尾分别称为输入层和输出层,中间层称为隐含层。图1是三层BP神经网络结构图。 2.2 两种BP算法 2.2.1 标准BP算法 入侵检测算法是入侵检测系统的核心部分。神经网络检测技术具有很强的非线性映射能力和学习能力,成为异常检测技术的研究热点。但传统的BP神经网络存在以下主要问题[9]: 1) 学习算法的收敛速度慢; 2) 存在局部极小点; 3) 隐含层层数及节点数的选取缺乏理论指导; 4) 训练时学习新样本有遗忘旧样本的趋势。 为了改进神经网络的性能,采用了学习速率自适应调整算法对它进行优化,称为学习速率自适应调整BP算法,对应的网络称为学习速率自适应调整BP网络。并应用于入侵检测中,相对于原始的BP网络,既可以缩短训练时间,提高学习效率,又增加了算法的可靠性,大大提高了入侵检测的性能。 2.2.2 学习速率自适应调整算法 在学习速率自适应调整算法[10]中,如果误差不断减少并趋向目标时,说明误差修正方向正确,此时可以增加学习速率;如果误差不断增加并超过预先设定值时,说明误差修正方向错误,此时应该减少学习速率,即 2.3 BP预测 整个入侵检测分为两个阶段:首先通过对大量的已知入侵行为进行脱机训练,使其具有对入侵行为进行分类的检测能力;在训练完成后将测试数据导入该模型中,预测出其入侵行为分类。 2.3.1 两种算法的比较 在本次实验过程中,在相同的训练集的情况下,该文选取了隐含层节点数分别为4,5,6,7,8, 12和16的七种不同结构的神经网络进行训练。 经过训练,不同隐含层结构的神经网络的性能不同。由表2可见,当网络收敛指标趋于稳定时,即二者收敛指标相等时,学习速率自适应调整算法相对于标准BP算法的训练次数大大下降,可靠性也大大提高。 2.3.3 预测结果分析 实验中,共收集了200例数据,其中导致异常程序行为的程序输入80例.具体实验时,将80例异常数据平均分为两部分,其中40例与正常的120例数据一起用于训练神经网络,另外40例异常数据用于测试.根据表3知,当隐层8结点数为7时的BP神经网络表现最好。因此在测试过程中选取了隐含层层数为7层时的BP神经网络作为测试网络。在训练好后的网络中将40例异常数据分别输入到采用标准BP算法和学习速率自适应调整算法的BP神经网络中进行测试,得到的结果如图2和图3所示。 由图2和图3结果表明,采用学习速率自适应调整算法的BP神经网络进行入侵检测时,预测值与实际值完全相符的点数为28,比标准BP网络要多3倍以上;逼近值也比标准BP网络更接近1,其逼近值在0.8~0.9之间的有9个,其余3个的逼近值皆在0.99~1之间。根据测试实验时设置的精确度为0.01,可以得到表3这个结果。 表中 实验结果表明,在入侵行为比较清晰的情况下,学习速率自适应调整算法在BP神经网络中的预测结果比标准BP算法的预测结果要准确的多;在BP神经网络中使用学习速率自适应调整算法作为入侵检测的一种方法,灵活性更好、自适应能力更强、预测精度更高。但是整个预测准确率也不是很理想,这可能由以下原因造成: 1)训练期间,神经网络已被训练得过渡吻合; 2)训练迭代次数过多; 3)用于训练的特征属性选取不合理; 4)推导出的规则的选择数量过多,例如只选用质量最好的头20条,而不是40条。 3 结束语 本文从等保测评产生的海量数据入手,以KDDCup99数据为例,给出了特征提取的规则,又对提取出来的特征值选取了一定数量的数据运用了两种BP算法进行了入侵检测,并对结果进行了比较和分析。学习速率自适应调整算法相对标准BP算法,缩短了训练时间,提高了学习效率,又增加了算法的可靠性,降低了入侵检测中的误报率,大大提高了入侵检测的性能。 参考文献: [1] 吴涛.建设符合等级保护要求的信息安全体系——电子政务信息系统等级保护工作的研究与探索 [J]. 通信技术,2008,41(9):196-198. [2] R.Lippmann,J.W.Haines,D.J.Fried,et al.The 1999 DARAP Off-Line Intrusion Detection Evaluation,Computer Networks,2000,(34):579-595. [3] 常伟.基于PCA和改进神经网络的入侵检测系统研究与设计[D].重庆:重庆大学,2009. [4] 舒远仲,吴文俊,陈忠贵.改进的蚂蚁聚类入侵检测方法[J].计算机工程,2011,37(6) : 127-129. [5] 生佳根,胡雨晴.基于灰关系分析的特征重要性评估及应用[J].微电子学与计算机,2012,29(11):167-171. [6] 王越,谭暑秋,刘亚辉.基于互信息的贝叶斯网络结构学习算法[J].计算机工程,2011,37(7):62-64. [7] 刘明.线性回归模型的统计检验关系辨析[J].统计与信息论坛,2011,26(4):21-23. [8] 陆运清.用 Pearson’s 卡方统计量进行统计检验时应注意的问题[J].理论新探,2009(15):32-33. [9] 马锐.人工神经网络[M].北京:机械工业出版社,2010(7):59. [10] 朱正礼.基于三层BP神经网络的字符识别系统的实现[J].现代计算机,2006(245):93-95.