使用BP神经网络进行网络安全态势评估

时间:2022-04-25 07:13:53

使用BP神经网络进行网络安全态势评估

摘要:为了缓解越来越严重的网络安全问题,我们可以使用网络安全态势评估技术,以评估结果为指导,提前将影响网络安全的因素进行优化。尝试将BP神经网络应用于网络安全态势评估之中,采用了大量的实验数据训练模型,并用部分数据进行测试。

关键词:网络安全;态势评估;BP算法

中图分类号:TP393文献标识码:A文章编号:1009-3044(2011)14-3265-02

Using Back Propagation to Achieve The Rating of The Network Security Posture

TANG Jin-min

(Hongli Network Limited Company of Changchun, Changchun 130051, China)

Abstract: In order to alleviate the increasingly serious problem of network security, we can use assessment technology of the network security situation, optimized the factors that affect network security in advance. we try to used Back Propagation in network security situation assessment, and used a lot of experimental data in the training model, tested some of the data.

Key words: network security; situation assessment; BP

随着互联网时代的来临,网络的规模和应用领域不断发展,人们对网络依赖程度不断增加,网络已经成为社会、经济、军事等领域中不可或缺的重要组成部分。但同时,我国网络安全问题日益突出,目前网络系统的安全现状已经清楚地表明:传统的网络安全防护技术已无法为网络系统的安全提供根本的可靠保障。要在错综复杂的网络环境中切实有效地提高网络安全,迫切需要探索新的理论和方法,网络安全技术研究已经步入一个全新的时代。网络安全态势评估(Network Security Situational Assessment,NSSA)研究就是顺应这个需求而生并迅速发展成为网络信息安全领域一个新的研究热点。网络安全态势评估技术能够从整体上动态反映网络安全状况,并对安全状况的发展趋势进行预测和预警,为增强网络安全性提供可靠的参照性依据。

1 相关研究

网络安全态势是指由各种网络设备运行状况、网络行为以及用户行为等因素所构成的整个网络的当前状态和变化趋势。网络安全态势感知,即是在大规模网络环境中,对能够引起网络态势发生变化的安全要素进行觉察、理解、显示以及预测未来的发展趋势。态势强调环境、动态性以及实体间的关系,是一种状态,一种趋势,一个整体和宏观的概念,任何单一的情况或状态都不能称之为态势。

1999年,Bass等人首次提出了网络态势感知概念,即网络安全态势感知。国国家能源研究科学计算中心(NERSC)所领导的劳伦斯伯克利国家实验室于2003年开发了“Spinning Cube of PotentialDoom”系统,该系统在三维空间中用点来表示网络流量信息,极大地提高了网络安全态势感知能力。2005年,CMU/SEI领导的CERT/NetSA开发了SILK,旨在对大规模网络安全态势感知状况进行实时监控,在潜在的、恶意的网络行为变得无法控制之前进行识别、防御、响应以及预警,给出相应的应付策略,,该系统通过多种策略对大规模网络进行安全分析,并能在保持较高性能的前提下提供整个网络的安全态势感知能力。国内方面,网络态势感知也是在起步阶段,主要是从军事信息与网络安全的角度来研究,这对我军在新形势下的信息安全保护和信息战有重大的战略意义。

2 网络安全态势评估系统

下面介绍一个网络安全态势评估系统,它的工作流程图如图1所示。

这其中的关键技术就是态势评估过程,在这里我们使用BP算法来完成网络安全态势评估。

2.1 BP算法

BP算法,也就是误差反向传播(Error Back Propagation, BP)算法,BP算法的最早提出是在1986年,两位科学家Rumelhart和McCelland他们领导的科学小组通过长时间的分析,弄清了非线性连续转移函数的多层前馈网络的误差反向传播算法,并且在《Parallel Distributed Processing》一书中进行了非常详细的阐述,这个分析阐述实现了Minsky的设想。我们也经常把BP算法称之为BP网络。

下面简单介绍一下BP算法的基本思想,在学习也就是网络训练过程中,信号的传播分为正向传播和反向传播,其中反向传播的是误差信号。在进行正向传播时,将训练样本输入,也就是从神经网络的输入神经元输入,样本数据经各隐藏层逐层处理后,最后从输出层传出。如果从输出层输出的数据与期望的输出(事先给定的)不一样,这就说明计算出现了误差,为了解决这个误差问题,训练就会进行反向传播。反向传播就是将输出数据与期望数据的误差以某种形式通过隐层向输入层逐层反向传,在这个过程之中,会把误差值分摊给各隐层的所有神经元上,这样就能获得各层每个神经元的误差信号,我们可以通过这些误差信号来修改各个神经元上的权值。上面所讲的训练样本信号正向传播和误差信号的反向传播是不断地进行的,这个不断进行的过程也就是BP网络的学习和训练过程,经过了这个过程,误差信号逐步减小,达到了一个我们事先约定的限度,或者完成了所有训练样本的输入,这时就可以结束训练过程,同时整个网络确定了下来,网络中的神经元上的权值也固定了下来,这样就可以进入实际的应用阶段,可以用这个网络来进行工作了。

2.2 指标体系的建立

安全态势评估的核心问题是确定评估指标体系。指标体系是否科学、合理,直接关系到安全态势分析的质量。为此指标体系必须科学地、客观地、合理地、尽可能全面地反映影响系统安全性的所有因素。指标体系的建立必须按照一定的原则去分析和判断,指标体系建立过程中所遵循的原则并不是简单的罗列,它们之间存在着密切的关系。指标体系设立的目的性决定了指标体系的设计必须符合科学性的原则,而科学性原则又要通过系统性来体现。在满足系统性原则之后,还必须满足可操作性以及时效性的原则。进一步,可操作性原则还决定了指标体系必须满足可比性的原则。上述各项原则都要通过定性与定量相结合的原则才能体现。此外,所有上述各项原则皆由评估的目的性所决定,并以目的性原则为前提。

根据查找资料等,发现在不同的攻击下一下一些指标有明显变化,就选择这些指标组成指标体系,CPU占用率、内存占用率、端口流量、丢包率、网络可用带宽、平均往返时延、传输率、吞吐率。我们就选择这8种指标作为我们的评价指,根据原系统的设计将网络的安全态势分为五个级别分别是:Good、OK、Warning、Bad、Critical。这5种状态由高到底的标示出整个网络安全状态。

2.3 评级系统的实现

因为有8个评测指标,所以网络的输入层有8个神经元,输出因为要求的评估等级为5,所以输出层的神经元为5个,对应的网络输出模式为(1,0,0,0,0)(0,1,0,0,0)(0,0,1,0,0)(0,0,0,1,0)(0,0,0,0,1),隐含层的神经元个数也要确定,在这里我们将隐含层的神经元个数设为8*2+1=17个,这个也是BP神经网络常用的原则。

同取样本数据100组解决BP神经网络的训练问题,,进行学习训练,同样使用MatlabR2007b作为平台训练BP神经网络,隐藏层神经元的传递函数选择的是S型对数函数logsig,输出层神经元的传递函数选则purelin,性能目标采用MSE,设为0.01,训练步数设为500,学习速率设为0.1,经过多次迭代运算后达到收敛目标,这时候结束训练过程,保存该训练好的网络。然后将25组测试数据代入网络进行网络状态评估。

3 结论

BP算法可以解决计算机网络安全态势评估问题,得到的结果准确率高,而且排除了人为因素的影响,是一种比较好的网络安全态势评估方法。

注:本文中所涉及到的图表、注解、公式等内容请以PDF格式阅读原文

上一篇:中等职业学校计算机课程教学的探讨 下一篇:决策树相关算法研究