基于PCA和ELM的网络入侵检测技术

作者:黄思慧;陈万忠;李晶; 刊名:吉林大学学报(信息科学版) 上传者:李静

【摘要】针对基于传统BP(Back Propagation)神经网络算法的入侵检测技术收敛速度慢和检测率不高的问题,提出了一种基于主成分分析(PCA:Principal Component Analysis)和极限学习机(ELM:Extreme Learning Machine)算法相结合的入侵检测方法。对提取的特征矩阵采用了PCA降维,并使用ELM算法对4类常见的攻击类型进行了多分类检测。实验结果表明,该方法正确率高达98.337 5%,检测时间仅1.851 7 s,与传统方法相比缩短了2~6倍,同时还提高了检测率和精度,降低了误报率和漏报率。最终改善了正确率、误报率、漏报率、检测率、精度和测试时间6项指标。

全文阅读

0引言随信息时代到来,人们生活已经离不开计算机网络,而计算机网络安全性也越来越受到人们关注[1]。一旦网络受到攻击,将带来巨大安全隐患。由于自动化攻击工具的易用性和使用广泛性[2],网络入侵已经成为普遍现象[3]。入侵检测作为一种积极主动的安全防护技术[4],在网络入侵拦截和入侵响应前提供了对内部攻击、外部攻击和错误操作的实时防护。因此,它被认为是继防火墙后的第2个安全门,能在不影响网络性能情况下对网络进行监测[5]。如何在提高分类正确率的同时降低误报率和漏报率以及缩短检测时间已经成为国内外研究学者所关注的热点问题。神经网络是常用于入侵检测的技术[6]。Mukhopadhyay等[7]提出了一种基于BP(BackPropagation)神经网络的入侵检测系统。他们采用Matlab2010a作为仿真环境,在系统中采用KDDCUP99数据集作为实验数据,正确率可达95.6%。该方法存在训练时间长、需调整参数以及正确率不高等缺陷。Sonawane等[8]评估比较了基于BP神经网络和PCA(PrincipalComponentAnalysis)的入侵检测性能。PCA常用于数据分析,其中包括数据集的特征选择与数据表示[8]。采用PCA降低维数可减少检测时间。他们使用了两种方法:1)将PCA和BP神经网络两种算法结合进行入侵检测;2)只使用BP神经网络算法进行入侵检测。最后对两种方法的模型性能进行了比较,达到的最佳正确率为90.20%。周丽娟等[9]提出了基于萤火虫群算法的网络入侵优化检测算法,运用萤火虫群优化实现对聚类中心优化,得到最高检出率为90.82%。郭其标等[10]提出了基于最小信息准则和BP算法的网络入侵检测,使BP神经网络经过结构优化后平均分类准确率达到90%以上。由于ELM算法的速度比BP神经网络要快得多而且可以获得更好的泛化性能[11],笔者提出了一种基于PCA和ELM(ExtremeLearningMachine)算法的入侵检测方法,该方法采用PCA算法进行特征提取并降维,然后利用ELM算法对1种正常类型和4种攻击类型进行分类和检测。4种攻击类型分别是:DOS(DenialofService)攻击、Probing攻击、U2R(UsertoRoot)攻击和R2L(RemotetoLocal)攻击。KDDCUP99数据集是评估入侵检测技术的一种基准[8],用该数据集对该方法进行了验证。实验结果表明,笔者提出的基于PCA和ELM算法的入侵检测方法较基于BP神经网络算法的入侵检测技术及基于PCA和BP的入侵检测技术在正确率、检测率、精度、误报率、漏报率以及检测时间这6项指标上均有改善,为网络入侵检测技术提出一种新思路。1基本算法1.1PCA算法PCA是在数据分析和压缩领域最为广泛使用的一种降维技术。其核心概念是找到一些方差最大的原始变量的正交线性组合,将大量的相关变量变换为较少不相关变量。方差最大的原始变量的线性组合是变换的第1主成分。方差第2大的且与第1主成分正交的原始变量的线性组合是第2主成分,以此类推[12]。在许多数据集中,由于前几个主成分贡献了原始数据集中的大部分的方差,因此,剩余的可被忽略为数据降维中方差的最小损失。下面给出变换过程。给出一组观测值X1,X2,…,Xn,每个观测值由一组m维的向量表示,因此,数据集可由一个矩阵表示为xmn=x11x12…x1nx21x22…x2nxm1xm2…x?mn=[x1,x2…,xn](1)平均观测值定义为=1nni=1xi(2)通过平均值得到偏差i=xi-(3)数据集的样本协方差矩阵定义为H=1

参考文献

引证文献

问答

我要提问