基于BP神经网络的云平台下网络入侵聚类研究
2016-03-22周天源
周天源
摘要:通过分析云平台的安全特征,进行基于BP神经网络的入侵聚类的研究,提出一种新的架构,并改进算法的学习率和权值,通过Matlab实验,其实验的结果也比较令人满意,具有较好的效果。
关键词:神经网络;网络入侵;聚类
中图分类号:TP393 文献标识码:A 文章编号:1009-3044(2016)01-0060-02
Research on Intrusion Clustering in the Cloud Platform Based on BP Neural Network
ZHOU Tian-yuan
(School of Computer Engineering, Huaihai Institute of Technology, Lianyungang 222005,China)
Abstract:Through the safety characteristic analysis of cloud platform, on intrusion clustering based on BP neural network, and proposes a new architecture, and improve the learning rate and weight algorithm, through the Matlab experiment, the experimental results are satisfactory, with good results.
Key words: neural network;network intrusion; clustering
随着计算机网络及云技术的飞速发展,云平台下的网络系统面临着越来越多的攻击,且入侵方式和种类的不断更新,因而对入侵检测技术提出了新的要求。基于聚类的入侵检测方法的最重要的特点就是无监督性,是一个将数据划分为多个类或簇的过程,并使得同一个簇内的数据对象具有较高的相似度,而不同簇中的数据差别很大,从而成为了近几年来网络安全研究的热点之一[1,2]。
神经网络具有自学习、自适应的特征,这些特性使其在入侵检测中得到了很好的应用[3]。由于云平台环境拥有强大的计算能力、海量的存储空间和丰富的用户信息,对网络入侵者具有很大的诱惑力,很容易遭受各种安全威胁与攻击的考验。据此,本文提出了一种基于神经网络的云平台下的网络入侵聚类算法用于人侵检测,通过实验,表明此算法在未知人侵检测方面是可行和有效的,并极大地提高了人侵检测率,同时有效控制了误检率。
1 改进的BP算法设计
对于入侵检测系统来说,最重要的部分在于算法的精准率及稳定性,针对以上的算法缺点,本文提出了通过修改权值和学习率对BP算法进行改进,以提高对入侵数据检测的稳定性和精准率。
传统的BP算法采用采用均方误差(LMS)估计器[4],如式1所示。
[Ep=12j=1m(ypj-opj)2] (1)
式中,[ypj]是网络的期望输出,[opj]是网络的实际输出。
将网络关于整个样本集的误差测度定义为式2所示。
[E=Ep] (2)
反复调整突触权值使代价函数达到最小或使系统达到一个稳定状态,就完成了学习过程。[ωij]表示神经元[xj]到[xi]的突触权值,在学习步骤为[n]时对突触权值的调整为式3。
[Δωij(n)=ηRpjxj(n)] (3)
式中,[Rpj=ypj-opj],[η]为学习速率参数。得到[Δωij(n)]之后,定义突触权值[ωij]的校正值为式4。
[ωij(n+1)=ωij(n)+Δωij(n)] (4)
同时本文为了确保算法的稳定性,采用最速下降BP算法进一步修正权值和阈值。则有是式5。
[x(k+1)=x(k)-ηg(k)] (5)
式中,[x(k)]为第[k]次迭代各层之间的连接权向量或阈值向量。
[g(k)=?E(k)?x(k)]为第[k]次迭代的神经网络输出误差对各权值或阈值的梯度向量。负号表示梯度的发方向,即梯度下降方向。[η]是学习速率,是常量。
[E(k)]为第[k]次迭代的网络输出的总误差性能函数。如以两层网络为例,只有一个输出样本时,有式(6)、式(7)和式(8):
[E(k)=E[e2(k)]≈1S2i=1s2[t2i-a2i(k)]2] (6)
[a2i(k)=f2{j=1s2[ω2i,j(k)a1i(k)-b2i(k)]}=f2{j=1s2[ω2i,j(k)f1](j=1s1(iω1i,j(k)pi+ib1i(k)))+b2i(k)}](7)
如输入[n]个样本,则
[E(k)=E[e2(k)]≈1S2j=1s1i=1s2[t2i-a2i(k)]2] (8)
根据上式可以求出第[k]次迭代的总误差曲面的梯度[g(k)=?E(k)?x(k)],分别代入式(4)和(8)中,便可以逐次修正其权值和阈值,并使总的误差向减少的方向变化,直到达到所要求的误差性能为止。
2 改进算法在入侵检测中的应用
本文把接收到的数据转化为神经网络能识别的格式,送往神经网络学习或判别,在训练阶段将数据转换格式后,送入神经网络。数据归一化是把网络入侵数据进行归一化处理。网络初始化根据入侵数据特点初始化网络,由于网络入侵数据有30维,入侵数据来自于5种不同类型的网络入侵模式,所以输入层节点数为30。竞争层节点代表输入数据潜在的分类类别,竞争层节点数一般大大多于数据实际类别,选择竞争层节点数为35个,竞争层节点排列在一个方阵中。
3 实验仿真及分析
为检验本文改进BP算法,采用的样本数据来源为KDDCUP99数据集,实验使用的平台为MATLAB(R2009a)。本文将入侵行为归为以下4个入侵种类:拒绝服务攻击(DoS);远程权限获取(R2L);非法监听和探测(Probe)和本地用户非法提升权限(U2R)。为了全面的检测改进BP算法后对入侵数据的稳定性和精确率,从数据集中选取了500组测试数据。本文设置学习率([η])是0.65,允许误差为0.001,学习次数150。实际检测率和误检率如表l所示,得到的聚类结果如图1所示。从实验的仿真结果可以看到,将神经网络算法用于入侵检测,收敛容易且速度较快,达到了目标精度,明显提高了各种入侵行为的检测率,降低了系统的误报率,有效地改进了入侵检测系统的性能。竞争层和输出层的权值[ωjk]=0。取4000组网络攻击数据,从中随机抽取4000组数据训练网络,500组数据测试网络分类能力,其结果如表1和图1所示。
图1 聚类结果
表1 检测结果
[攻击类型\&检测准确率(%)\&误报率(%)\&漏报率(%)\&DoS\&96.9\&0.8\&1.3\&Probing\&95.5\&3.2\&1.3\&U2R\&97.3\&1.9\&0.8\&R2L\&92.8\&5.6\&1.6\&]
从表1中可以看到,本文对于入侵检测有很好的效果,这从另外一方面说明在入侵检测系统中特征选取很重要,这主要是因为神经网络的分类能力和自管理能力,测试的结果还是令人满意的。
4 结束语
本文通过对基于BP神经网络的云平台下网络入侵聚类的分析和研究,提出了具体的设计流程,并通过调整神经网络中输出层节点的权值,使得其具有较好的性能,通过实验仿真后的数据分析,BP神经网络在网络入侵聚类中具有良好的效果。
参考文献:
[1] B.R.Kandukuri,V.R.Paturi,A.Rakshit.Cloud security issues.In:IEEE international conference on services computing,2009:517-520.
[2] M. C.Procopiuc.Clustering Problems and Their Applications[D].USA:Department of Computer Science, Duke University,1997
[3] J.Zhang.Intrusion detection based on cloud model and BP neural networks [J]. Transducer and Microsystem Technologies,2011,30(1):116-118.
[4] 郝欢.采用归一化最小均方误差准则的LM-BP算法[J],信号处理,2013(8):1084-1089.