基于BP神经网络的网络安全态势预测

230 阅读5分钟

伴随着网络在全球的广泛应用,网络安全问题日益突出。2019年中关于网络安全的法律法规的相继颁布,加之更加频繁的网络安全事件,使人们对网络安全给予更高的关注度,根据《2019年网络安全态势报告》,针对于政企行业的高危持续被爆出,影响更加恶劣。针对于云上的基础架构,个人移动设备,可信赖的第三方的新的攻击工具与技术不断研发,使得场景更加复杂化,大数据云计算智慧城市物联网的技术飞速进步,5G时代,移动化虚拟化正在打破传统的安全边界,网络威胁的多场景攻击力度的加强使得网络安全备受瞩目,该报告显示,2019年下半年基于网站的尝试攻击增长59%,漏洞收录增长14%,恶意软件拦截,勒索软件,挖矿软件,木马远控,蠕虫病毒等在治理中仍然持续性增长。漏洞利用在航空,国防,通信,医疗各个行业影响。根据互联网应急中心的报告显示,在实现万物互联的过程中不可避免的受到新的安全威胁[1],但未来两年严重程度将会不断增加。传统的防火墙等安全手段不足以应对。目前的漏洞挖掘,曝光和修复可以解决,但是仍然处于后知后觉的的被动状态[2]。

网络安全态势预测是目前态势预测中应用最为广泛的方向,是网络安全态势感知的重要环节,态势最早起源于军事,后发展于核反应控制,医疗应急调度,正如安全态势的概念,反映了网络的过去和现在状况,继而预测下一阶段可能的状态及走势,网络安全态势预测可以利用神经网络等手段,通过分析历史数据,运用科学理论进行准确的预测,可以主动预防,解决漏斗攻击中的被动局面,有效遏制大规模的攻击,降低危害。学术界对该问题关注已久,随着神经网络,大数据等技术快速崛起,网络安全态势预测的研究更具生命力。网络安全态势预测提高了安全管理部门及人员的风险分析能力和应急处置能力,可以实现检测不同类别,不同规模的威胁事件,及时预警,有效提高网路安全性,为维护网络生态安全提供有力保障。

BP神经网络(Back-Propagation Neural Network)即反向传播网络,是指基于误差反向传播算法的多层前向神经网络。BP神经网络是目前应用最广泛的神经网络模型。据统计,90%的神经网络模型采用的是BP神经网络。

BP神经网络包含输入层,一个到多个隐含层,输出层。单个隐含层最为常用,因为可以实现任意M维欧氏空间到N维欧氏空间的映射,这种映射是高度非线性的。

Matlab中提供了大量的神经网络函数,方便我们创建神经网络以及训练、检验和绘图等功能。本课题涉及的函数如下:

(1)newff构建函数

net=newff(P,T,S,TF,BTF,BLF,PF,IPF,OPF,DDF),函数newff建立一个可训练的前馈网络。

P:输入数据矩阵;T:输出数据矩阵

TF:节点传递函数,默认函数为tansig函数,另有对数S型传递函数,正切S传递函数,线性传递函数purelin

BTF:训练函数,包含梯度下降BP算法训练函数traingd,动态自适应学习速率的梯度下降BP算法traingdx,Levenberg_Marquardt的BP算法。

BLF:权阀值学习函数,bp学习规则Learngd,默认带动量学习规则learngdm。

IPF OPF:输入输出处理函数;DDF:验证数据划分函数;PF:性能函数,默认函数为均方差性能分析函数mse

(2)train训练函数

[net,tr]=train(NET,X,T,Pi,Ai)

net训练好的网络,tr训练记录过程  net待训练的网络, XT输入输出矩阵

(3)sim()用训练好的神经网络预测函数输出

Y=sim(net,x)

net:训练好的网络;x:输入数据;y:网络预测数据

相关参数:

(1)输入层节点数n:取决于样本的属性个数

(2)输出层节点数l:取决于定义的标签编码规则,或者预测的节点数

(3)隐含层节点数:根据经验公式。太少的节点建立的网络容错性较差,太多的节点数会导致训练时间较长,且误差达不到最佳。

基本原则使:在满足精度的前提下,取尽可能紧凑的结构,即取尽可能少的隐含层节点数,隐藏层节点数m:

image.png

image.png

image.png

实验预测准确度结果显示,基于L-M改进算法的 训练集预测成功率在95.4545%,测试集的预测精准率在95%,在5%的误差内,我们认为它预测有效,并且训练的过程迭代次数相较于传统BP神经网络训练时间缩小很多,可以应用于网络安全态势值的预测中。