神经网络异常数据识别在信息安全中应用

神经网络异常数据识别在信息安全中应用

摘要:为了探究基于PCA的BP神经网络异常数据识别在信息安全中的应用,以MATLAB软件为仿真平台,通过PCA和BP神经网络对KDDCUP99数据集中3种11类攻击进行了仿真实验。研究成果表明主成分分析法的降维算法能大大提升异常数据识别效率;BP神经网络又大大提高了信息安全系统的泛化能力和鲁棒性;仿真结果进一步证明这种将PCA技术和BP神经网络相结合的方法大大提升了信息安全异常数据检测中的检测性能和准确性。

关键词:PCA;BP神经网络;异常数据识别;信息安全

0引言

计算机技术的迅猛发展促生了大数据和信息化的诞生,这给人们的生活和工作带来了极大便利,例如2020年年初,在肺炎疫情防控过程中,通过手机信号、出行记录等大数据,就能比较容易地追踪到密切接触人群。人们在享受诸多便利的同时,信息化也将人们的(隐私)信息暴露在了互联网中,如果不对其加以严格的保护,就意味着每个人都可能被他人一览无余。同样地,如果不对商业数据、政治机密等信息加以保护,造成的后果将会不堪设想[1-3]。近年来,不断有团队致力于信息安全方面的研究,尤其在BP神经网络和主成分分析法(PCA)等方面的研究成果颇丰[4-5]。现有研究发现,基于BP神经网络的模型虽然能较好地完成系统安全漏洞检测和病毒传播等不利于信息安全的因素的识别,但它在异常数据检测方面的能力明显欠缺[6]。而PCA技术在保留源数据特征基础上的降维处理方法,正好能够弥补基于BP神经网络模型的缺陷[7]。为此,本研究就基于主成分分析法的BP神经网络的异常数据识别技术在信息安全中的应用展开研究,旨在为大数据时代信息安全的实现提供理论支持。

1基本原理

1.1主成分分析法

(PCA)基本原理大数据展现在人们面前的第一特征就是数据量巨大,如今更是需要以Z(10亿个T)作为单位去衡量,保障信息安全,首先应该具备大数据的处理能力[8-9]。但面对如此庞大的数据群,如果所有数据均做处理,对计算机的性能要求极高、数据处理所需时间长。降维处理理念让主成分分析法(以下称PCA)脱颖而出。假设N为一个n维集合,A是N上的一个线性映射,xi是特征值λi对应的特征向量,其中i=1,2,…,n。经过主成分分析法把n个特征向量综合成n个综合变量,如式(1)。yi和yj在i≠j的条件下相互正交。记y1和yn分别为满足式(1)的一切线性组合中方差最大和方差最小者。对于主成分分析法主分量,一般关注贡献率在90%以上的集合,将第i个主分量的贡献率定义为式(3)。设前m个(m<n)主分量的贡献率(∑mi=1λi/∑nk=1λk)可得要求的90%,则在研究中,便可以用m个分量代替源数据的整体,这样的降维处理能减少待处理的数据量,进而提高数据处理效率。

1.2BP神经网络基本原理

与生物神经元各部分功能相类似,人工神经元中树突用于接收传输过来的数据信号(用输入数据x1,x2,…,xn表示);细胞体中的细胞核为BP神经网络的核心,用于处理树突接收的数据信号(用激励函数f()e表示);轴突则用于输出经过激励函数处理过的数据信号单元(yi),如图1所示。图1(a)为人工神经元示意图,图1(a)中[x1,x2,…,xn]为输入数据信号;[Wi1,Wi2,…,Win]为权值;Wi0为阈值;f()e为激励函数;yi为数据信号输出。人工神经网络主要有分层型和互连型神经网络,其中分层型神经网络又可以分为一般前馈型网络、反馈型前馈网络和内层互联前馈网络,基于主成分分析法的数据处理过程可以看出,在本次研究范围内,主要用到的是一般前馈型网络,其网络拓扑结构示意图[10]如图1(b)所示。一般前馈型BP神经网络由输入、中间层和输出层组成。每一层之间互相连接,同层之间相互独立,其数据训练过程为:数据信号从输入层进入,经中间层处理后从输出层输出。

2PCA结合BP神经网络检测方法模型

为了能够及时保障信息安全性同时尽可能满足经济性原则,PCA结合BP神经网络的检测方法即先采用主成分分析法,从待处理的数据集A中获得的特征数据集为N,并得到其n个特征值对应的特征向量x1,x1,…,xn,然后确定所需贡献率,并根据贡献率确定下一步需要研究的m维数据。确定实际需要处理的数据后,导入人工神经网络模型中进行计算,检测模型流程图[11]如图2所示。分步对图2所示基于PCA的BP神经网络异常数据识别的流程图做如下详细介绍。(1)从待处理的数据集A中获得的特征数据集为N。(2)计算得到N的n个特征值对应的特征向量x1,x1,…,xn,然后确定所需贡献率,并根据贡献率确定下一步需要主要研究的m维数据。(3)随机将数据集N中入侵样本X=[x1,x2,…,xn]作为输入数据,提供给人工神经网络模型。(4)先计算得到式(4)。然后由激励函数计算出人工神经网络中的核心层,如式(5)。y1=f1(W(x1)1x1+W(x2)1x2+W(x3)1x3)(5)(5)计算并得到θ2=W(f2)1θ,并与预期误差比较,如在接受范围内则结束数据训练,否则进入下一步。(6)修正θ=z-y,重复计算,直至所得θ2在预期误差范围影响之内。(7)重复步骤(3)—步骤(7),直至N中所有的子集均收敛,结束数据训练。

3仿真实验

3.1基本信息

本研究借助于被广泛应用于数学、计算机和系统仿真等领域的软件MatrixLaboratory(俗称MATLAB)进行仿真实验。如表1、表2所示。表1和表2中KDDCUP99数据集是信息安全领域比较权威的数据集[11],该数据集提供了数据总量(4898431条记录)10%的样本供实验测试所用,本研究的仿真实验就是借助于这部分数据完成的。

3.2仿真数据处理

实验所用数据子集中共计包含494021条数据信息,对这些数据首先借助于SQL2016进行无效数据清除,共计清除384487条无效信息,保留145534条。为了节约数据处理时间,本研究选取NORMAL、DOS、R2L和PROBE攻击,并去除攻击数目小于30的数据作为研究对象,并预设贡献率为90%。攻击类型及相应的数目如表3所示。仿真实验过程中,MATLAB无法处理非数值型信息,而样本数据库中二维、三维和四维均非数值型信息,本次研究中用数值“1”代替这些信息[12]。在对某类型攻击识别前先按普通数据∶攻击数据=9∶1的比例选取数据,并按NUMBER(Train.txt)∶NUMBER(Test.txt)=4∶1的比例分别储存。

3.3仿真结果分析

上述3类11种攻击类型进行仿真实验,将测试所得的异常数据总量和总异常数据量之比定义为“识别率”,攻击中被错误地判断为正常数据的数据量与该测试样本中攻击数据的总量之比定义为“误报率”,经过计算得到仿真结果如表4所示。由表4可见,本次实验中,识别率均高于90%,其中识别率高于95%的共计5个,占比45.45%,这也说明了PCA和BP神经网络在异常数据识别中能够满足预设90%识别率的目标。根据数据处理过程,随着数据存量的增大,处理过程会变得更加复杂,但识别率会得以提升。

4总结

本研究从对主成分分析法和人工神经网络基本原理介绍入手,首先对PCA结合BP神经网络检测方法模型进行了介绍,然后以MATLAB软件为仿真平台,对KDDCUP9数据集中3种11类攻击进行了仿真实验。研究成果表明:主成分分析法可以在计算的基础上,删减掉无效信息从而得到比数据总量小得多但保留原有数据集特征的新的数据集,同时在预设贡献率的基础上,还能进一步对新的数据集进行缩减后再参与计算,从而实现降维效果,大大缩减了数据处理所需耗费的人力物力;配合一般前馈型BP神经网络算法,在快速计算的同时,保证攻击数目识别率达到90%以上。综上可见,在大数据时代,基于PCA的BP神经网络异常数据识别技术终将在信息安全中得到更加广泛的使用。

作者:李小华 单位:延安职业技术学院公共课教学部