一种基于SAA-SSA-BPNN的网络安全态势评估方法
未命名
10-10
阅读:128
评论:0
一种基于saa-ssa-bpnn的网络安全态势评估方法
技术领域
1.本发明涉及网络安全态势评估技术领域,具体为一种基于saa-ssa-bpnn的网络安全态势评估方法。
背景技术:
2.随着互联网技术的飞速发展,网络空间安全问题也变得日益复杂,网络攻击事件频发,规模不断扩大,公共互联网安全威胁数量总体呈大幅上升趋势,全球网络安全正面临着严峻的挑战。传统的网络安全防御措施已无法满足复杂的网络安全需求,因此需要采用更加先进的技术和手段来防范网络安全事件的发生。在此背景下,网络安全态势感知技术应运而生。
3.网络安全态势感知,包括感知、评估和预测三个层次。网络安全态势评估能够对从网络中提取的态势要素和数据信息进行整合、分析,对当前网络安全态势进行建模评估,根据评估模型得到态势值,从整体上动态反映网络系统的当前运行状态以及面临的威胁的严重程度,并对其发展趋势进行预测和预警,为网络安全管理提供决策支持。网络安全态势评估作为下一代网络安全的新技术和新型网络安全防御体系的重要组成部分,具有重要的研究意义和应用价值。
4.自从网络安全态势感知概念提出以来,专家学者对网络安全态势感知技术做了大量研究。有人采用堆栈式自编码网络对态势数据进行降维处理,来减少数据的存储开销并提高运算效率。有人通过引入模糊c-means、混合层次遗传算法和最小二乘法对传统rbf神经网络的参数和结构进行优化来评估网络安全态势。有人引入多源异构数据融合策略来解决单点网络数据无法有效地分析网络安全状况的问题。有人利用反正切和修正函数来设计证据理论中的经验函数并将证据理论运用到网络安全态势评估中。有人提出开发和改进网络安全检测工具以应对日益复杂的互联网攻击事件。有人提出利用honeynets进行态势评估,通过构建安全态势曲线来分析当前网络安全状况,但是该曲线并不能在所有遭受攻击的时刻都能呈现出明显的效果,因此该态势评估方法还不够全面。有人提出使用可视化技术显示一组安全指标用来评估网络安全态势以及网络保护机制的效率。这些态势评估模型或算法在原有基础上有了一定的改进,但是在评估的准确性和算法的收敛性方面仍有提升的空间。
技术实现要素:
5.该发明的目的在于提供一种基于saa-ssa-bpnn的网络安全态势评估方法,以解决上述背景技术中提出的问题。
6.为实现上述目的,发明提供如下技术方案:一种基于saa-ssa-bpnn的网络安全态势评估方法,具体包括以下步骤:
7.步骤一:构建网络安全态势指标体系:网络安全态势指标体系从整体上描述网络的安全状况,按照态势指标体系构建原则,构建了一个树状层次结构的安全态势指标体系,
该指标体系分为两个一级指标、四个二级指标和二十个三级指标,分别从脆弱性、威胁性、容灾性和稳定性四方面对网络系统的安全风险和运行状态特性进行描述;
8.步骤二:建立基于saa-ssa-bpnn的网络安全态势评估模型:通过模拟退火算法(saa)优化的麻雀搜索算法(ssa)来改进bp神经网络(bpnn)并应用于网络安全态势评估;首先根据步骤一中所构建的网络安全态势指标体系,收集相应的态势数据并进行预处理,然后对saa-ssa算法改进的bp神经网络进行训练,生成具有评估能力的网络安全态势评估模型;
9.基于saa-ssa-bpnn的网络安全态势评估算法,具体步骤为:
10.①
构建网络安全态势指标体系,对网络安全数据进行预处理,初始化bp神经网络的初始权值和阈值;
11.②
初始化麻雀种群并定义相关参数,如,用n表示麻雀种群规模,d表示变量的维数,t表示当前迭代数。
12.麻雀种群表示为如下形式:
[0013][0014]
麻雀种群的适应度函数值表示为如下形式:
[0015][0016]
其中,f表示单只麻雀的适应度函数值。
[0017]
③
将模拟退火算法引入麻雀搜索算法中,模拟退火算法的原理是对高温固体退火降温过程进行模拟,经历加温、等待、冷却这三个步骤;在实际应用中会将系统的能量用函数f来表示,将系统温度用控制参数t来表示,f在内能随温度降低的同时也随之下降,当温度下降到常温时内能减少到最小;当t=0时的系统状态对应于寻优问题的整体最优解;模拟退火算法根据metropolis准则(见公式(5)),以一定的概率接受劣质解的同时有效避免算法陷入局部最优。在引入模拟退火算法后,需要按照公式(3)、(4)和(5)初始化模拟退火算法的退火温度、退火速率以及突跳概率:
[0018]
模拟退火算法的初始化退火温度确定为tk(令k=0),tk表示如下:
[0019][0020]
公式(3)中,fg表示全局最佳适应度值,α为初始接受概率,取值区间为[0.2,0.5];
[0021]
退火速率为:
[0022]
t
t+1
=γt
t
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(4)
[0023]
公式(4)中γ为降温的速率,t为迭代次数;
[0024]
突跳概率为:
[0025][0026]
δf=f
i-fgꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(6)
[0027]
公式(5)中p为突跳概率,公式(6)中fi为当前个体适应度值,fg表示全局最佳适应度值;如果δf<0,则以概率1接受新解,否则以概率exp(-δf/tk)来接受新解;
[0028]
④
根据适应度函数计算每只麻雀的个体适应度值fi,并将其按适应度值大小进行排序,进而选择出当前全局最佳适应度值fg和最差适应度值fw以及对应的位置x
best
和x
worst
;
[0029]
⑤
依据麻雀搜索算法原理,根据预警值r2和安全值st的大小按照公式(7)更新发现者位置,按照公式(8)更新加入者的位置,按照公式(9)更新意识到危险的麻雀位置。具体算法原理如下:
[0030]
在麻雀搜索算法中,由于发现者处于主动地位,所以他们可以获得更大的觅食搜索范围且具有较好的适应度;当预警值r2<安全值st时,表示此时周围的环境安全,当r2≥st时,表示种群中的一些麻雀已经意识到了危险,所有麻雀都需要迅速飞到安全地方进行觅食。发现者的位置更新可表示为:
[0031][0032]
其中,j=1,2,3
…
d;iter
max
是一个常数,表示最大的迭代次数;x
i,j
表示第i只麻雀在第j维中的位置信息;α∈(0,1]是一个随机数;q是服从正态分布的随机数;l表示每一个元素都为1的1
×
d矩阵;
[0033]
加入者在整个觅食过程中都会监视着发现者,当它们意识到发现者找到更好的食物时就会立刻飞过去与发现者抢夺新的食物,如果争夺过程赢得了发现者就会立即获得该发现者的食物,否则就重复执行上述操作;当i>n/2时,表明第i只加入者的适应度值较低,此时这只麻雀正处于非常饥饿的状态,因此,它要飞到其它地方寻找食物以获得更多的能量。加入者的位置更新可表示为:
[0034][0035]
其中,x
p
是发现者所占据的最优位置;a表示每一个元素都被随机赋值为1或-1的1
×
d的矩阵,且a
+
=a
t
(aa
t
)-1
;
[0036]
在麻雀觅食的过程中,当有捕食者出现时,处于种群最外围的麻雀会先意识到危险的存在,当它们意识到危险时即当前麻雀个体的适应度值fi>当前全局最佳适应度值fg时,这些群体最外围的麻雀会为了获得更好的觅食位置努力向安全区移动。当fi=fg时,表明处于中间位置的麻雀意识到了危险,需要向安全区移动以减少它们被捕的风险。意识到危险的麻雀的位置更新可表示为:
[0037][0038]
其中,β为步长控制参数,k为一个随机数,取值范围为[-1,1],ε为最小的常数;
[0039]
⑥
获得当前最优值,如果当前最优值比上一次的最优值好的话就进行更新操作,否则不进行更新,并继续进行迭代直到满足条件为止,最终得到全局最佳适应度值fg和对应的最优位置x
best
;
[0040]
⑦
根据metropolis准则,对x
best
进行saa邻域搜索产生一个新的可行解x'
best
,用于对原位置x
best
进行调整。因此,公式(5)与(6)变为如下形式。
[0041][0042]
δf
new
=f(x'
best
)-f(x
best
)
ꢀꢀ
(11)
[0043]
在公式(11)中,f(x'
best
)是模拟退火阶段产生的新的全局最优位置的适应度值;为了便于理解这里用f(x
best
)代替fg表示旧的全局最优位置的适应度值。
[0044]
saa-ssa算法通过新旧全局最优位置对应适应度值的差值来调整对新位置的接受概率p,从而得到最终的全局最优位置,具体步骤为:先按公式(11)计算在x'
best
这个新位置上的麻雀的适应度值f(x'
best
)与旧位置的适应度值f(x
best
)的差值δf
new
。接着按照公式(10)分情况接受新位置,如果δf
new
<0则以概率1接受新位置,否则以概率exp(-δf
new
/tk)接受新位置,然后更新全局最优位置x
best
;
[0045]
⑧
根据公式(4)进行退火操作,判断是否超过最大迭代次数和种群规模,若是则输出最优位置x
best
和其对应的最佳适应度值,否则跳转至
④
;
[0046]
⑨
获取最优权值和阈值,并将其赋值给bp神经网络作为初始权值和阈值;
[0047]
⑩
训练神经网络;将预处理后的训练数据输入具有最优初始权值和阈值的bp神经网络模型中,计算bpnn隐含层和输出层的输出值,然后计算输出层的输出值与期望输出值之间的误差值,根据误差调整权值和阈值的大小使bpnn的输出值与期望输出值不断接近,直到迭代满足终止条件,此时训练完成,获得bpnn最终的最优权值和阈值;
[0048]
步骤三:基于saa-ssa-bpnn模型进行网络安全态势评估:具体包括将测试数据输入到训练完的具有最优权值和阈值的bpnn模型中,输出得到态势评估值,然后结合网络安全态势评估等级表来分析当前网络安全状况。
[0049]
优选的,步骤一中的所述两个一级指标为安全风险和运行状态;所述四个二级指标为脆弱性、威胁性、容灾性和稳定性;所述二十个三级指标为设备开放端口总量、网络拓扑结构、操作系统类型及版本、核心交换机负载、路由器健康指数、感染病毒的主机数量、被篡改网站数量、被植入后门网站数量、仿冒网站数量、新增安全漏洞数量、子网内安全设备数目、网络带宽、访问安全网站的频率、服务器支持的并发线程数、关键设备提供的服务种类、子网内关键设备存活时间、流出子网数据包目的ip分布、子网流量变化率、子网数据流总量和平均无故障时间。
[0050]
优选的,步骤二和步骤三中所述态势评估过程,具体包括以下步骤:
[0051]
s1、数据采集与处理:收集来自国家互联网应急中心《网络安全信息与动态周报》从2015年第1期至2021年第21期中的308条数据作为实验数据,对数据进行归一化处理,将其中298条数据作为训练集,10条作为测试集;
[0052]
s2、生成态势评估模型:根据输入输出数据的特征确定bp神经网络的结构,利用saa-ssa算法对bp神经网络的初始权值和阈值进行参数寻优,将得到的最优参数组合赋给bp神经网络后输入训练数据对其进行训练,生成saa-ssa-bpnn态势评估模型;
[0053]
s3、评估与结果分析:将测试数据输入到saa-ssa-bpnn态势评估模型中得到态势评估值,依照态势等级的划分对态势评估结果进行分析,判断当前网络安全状况和等级,方便管理员全面掌握当前的网络安全态势,以便及时采取措施。
[0054]
与现有技术相比,该发明的有益效果是:该基于saa-ssa-bpnn的网络安全态势评估方法,针对目前网络安全态势评估模型的准确性和收敛性有待提高的问题,提出一种基于saa-ssa-bpnn的网络安全态势评估模型,该模型利用模拟退火算法(saa)可以一定概率接受劣解并有大概率跳出局部极值达到全局最优解的特性来优化麻雀搜索算法,利用优化后的麻雀搜索算法(ssa)具有良好稳定性和收敛速度快且不易陷入局部最优的特点对bp神经网络进(bpnn)行改进,找到最佳适应度个体并获取最优权值和阈值,将其作为初始值赋给bp神经网络,然后将预处理后的指标数据输入改进后的bp神经网络模型对其进行训练,最后利用训练好的模型对网络系统所遭受威胁的程度进行评估,该评估模型比其它基于改进bp神经网络的态势评估模型准确性更高,收敛速度更快。
附图说明
[0055]
图1为网络安全态势指标体系示意图;
[0056]
图2为态势评估模型示意图;
[0057]
图3为一种基于saa-ssa-bpnn的网络安全态势评估算法的流程图;
[0058]
图4为网络安全态势评估等级示意图;
[0059]
图5为评估值对比表图;
[0060]
图6为评估值对比折线图;
[0061]
图7为评估等级情况对比图;
[0062]
图8为绝对误差值对比表图;
[0063]
图9为绝对误差值对比折线图;
[0064]
图10为精准度对照表图;
[0065]
图11为最优个体适应度值变化对照图。
具体实施方式
[0066]
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
[0067]
请参阅图1,发明提供一种技术方案:一种基于saa-ssa-bpnn的网络安全态势评估
方法,具体包括以下步骤:
[0068]
步骤一:构建网络安全态势指标体系:网络安全态势指标体系从整体上描述网络的安全状况,按照态势指标体系构建原则,构建了一个树状层次结构的安全态势指标体系,如图1所示,该指标体系分为两个一级指标、四个二级指标和二十个三级指标,分别从脆弱性、威胁性、容灾性和稳定性四方面对网络系统的安全风险和运行状态特性进行描述;
[0069]
步骤二:建立基于saa-ssa-bpnn的网络安全态势评估模型:通过模拟退火算法(saa)优化的麻雀搜索算法(ssa)来改进bp神经网络(bpnn)并应用于网络安全态势评估;首先根据步骤一中所构建的网络安全态势指标体系,收集相应的态势数据并进行预处理,然后对saa-ssa算法改进的bp神经网络进行训练,生成具有评估能力的网络安全态势评估模型;
[0070]
基于saa-ssa-bpnn的网络安全态势评估算法,具体步骤为:
[0071]
①
构建网络安全态势指标体系,对网络安全数据进行预处理,初始化bp神经网络的初始权值和阈值;
[0072]
②
初始化麻雀种群并定义相关参数,如,用n表示麻雀种群规模,d表示变量的维数,t表示当前迭代数;
[0073]
麻雀种群表示为如下形式:
[0074][0075]
麻雀种群的适应度函数值表示为如下形式:
[0076][0077]
其中,f表示单只麻雀的适应度函数值。
[0078]
③
将模拟退火算法引入麻雀搜索算法中,模拟退火算法的原理是对高温固体退火降温过程进行模拟,经历加温、等待、冷却这三个步骤;在实际应用中会将系统的能量用函数f来表示,将系统温度用控制参数t来表示,f在内能随温度降低的同时也随之下降,当温度下降到常温时内能减少到最小;当t=0时的系统状态对应于寻优问题的整体最优解;模拟退火算法根据metropolis准则(见公式(5)),以一定的概率接受劣质解的同时有效避免算法陷入局部最优。在引入模拟退火算法后,需要按照公式(3)、(4)和(5)初始化模拟退火算法的退火温度、退火速率以及突跳概率:
[0079]
模拟退火算法的初始化退火温度确定为tk(令k=0),tk表示如下:
[0080][0081]
公式(3)中,fg表示全局最佳适应度值,α为初始接受概率,取值区间为[0.2,0.5];
[0082]
退火速率为:
[0083]
t
t+1
=γt
t
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(4)
[0084]
公式(4)中γ为降温的速率,t为迭代次数;
[0085]
突跳概率为:
[0086][0087]
δf=f
i-fgꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(6)
[0088]
公式(5)中p为突跳概率,公式(6)中fi为当前个体适应度值,fg表示全局最佳适应度值;如果δf<0,则以概率1接受新解,否则以概率exp(-δf/tk)来接受新解;
[0089]
④
根据适应度函数计算每只麻雀的个体适应度值fi,并将其按适应度值大小进行排序,进而选择出当前全局最佳适应度值fg和最差适应度值fw以及对应的位置x
best
和x
worst
;
[0090]
⑤
依据麻雀搜索算法原理,根据预警值r2和安全值st的大小按照公式(7)更新发现者位置,按照公式(8)更新加入者的位置,按照公式(9)更新意识到危险的麻雀位置。具体算法原理如下:
[0091]
在麻雀搜索算法中,由于发现者处于主动地位,所以他们可以获得更大的觅食搜索范围且具有较好的适应度;当预警值r2<安全值st时,表示此时周围的环境安全,当r2≥st时,表示种群中的一些麻雀已经意识到了危险,所有麻雀都需要迅速飞到安全地方进行觅食。发现者的位置更新可表示为:
[0092][0093]
其中,j=1,2,3
…
d;iter
max
是一个常数,表示最大的迭代次数;x
i,j
表示第i只麻雀在第j维中的位置信息;α∈(0,1]是一个随机数;q是服从正态分布的随机数;l表示每一个元素都为1的1
×
d矩阵;
[0094]
加入者在整个觅食过程中都会监视着发现者,当它们意识到发现者找到更好的食物时就会立刻飞过去与发现者抢夺新的食物,如果争夺过程赢得了发现者就会立即获得该发现者的食物,否则就重复执行上述操作;当i>n/2时,表明第i只加入者的适应度值较低,此时这只麻雀正处于非常饥饿的状态,因此,它要飞到其它地方寻找食物以获得更多的能量。加入者的位置更新可表示为:
[0095][0096]
其中,x
p
是发现者所占据的最优位置;a表示每一个元素都被随机赋值为1或-1的1
×
d的矩阵,且a
+
=a
t
(aa
t
)-1
;
[0097]
在麻雀觅食的过程中,当有捕食者出现时,处于种群最外围的麻雀会先意识到危险的存在,当它们意识到危险时即当前麻雀个体的适应度值fi>当前全局最佳适应度值fg时,这些群体最外围的麻雀会为了获得更好的觅食位置努力向安全区移动。当fi=fg时,表
明处于中间位置的麻雀意识到了危险,需要向安全区移动以减少它们被捕的风险。意识到危险的麻雀的位置更新可表示为:
[0098][0099]
其中,β为步长控制参数,k为一个随机数,取值范围为[-1,1],ε为最小的常数;
[0100]
⑥
获得当前最优值,如果当前最优值比上一次的最优值好的话就进行更新操作,否则不进行更新,并继续进行迭代直到满足条件为止,最终得到全局最佳适应度值fg和对应的最优位置x
best
;
[0101]
⑦
根据metropolis准则,对x
best
进行saa邻域搜索产生一个新的可行解x'
best
,用于对原位置x
best
进行调整。因此,公式(5)与(6)变为如下形式。
[0102][0103]
δf
new
=f(x'
best
)-f(x
best
)
ꢀꢀ
(11)
[0104]
在公式(11)中,f(x'
best
)是模拟退火阶段产生的新的全局最优位置的适应度值;为了便于理解这里用f(x
best
)代替fg表示旧的全局最优位置的适应度值。
[0105]
saa-ssa算法通过新旧全局最优位置对应适应度值的差值来调整对新位置的接受概率p,从而得到最终的全局最优位置,具体步骤为:先按公式(11)计算在x'
best
这个新位置上的麻雀的适应度值f(x'
best
)与旧位置的适应度值f(x
best
)的差值δf
new
。接着按照公式(10)分情况接受新位置,如果δf
new
<0则以概率1接受新位置,否则以概率exp(-δf
new
/tk)接受新位置,然后更新全局最优位置x
best
;
[0106]
⑧
根据公式(4)进行退火操作,判断是否超过最大迭代次数和种群规模,若是则输出最优位置x
best
和其对应的最佳适应度值,否则跳转至
④
;
[0107]
⑨
获取最优权值和阈值,并将其赋值给bp神经网络作为初始权值和阈值;
[0108]
⑩
训练神经网络;将预处理后的训练数据输入具有最优初始权值和阈值的bp神经网络模型中,计算bpnn隐含层和输出层的输出值,然后计算输出层的输出值与期望输出值之间的误差值,根据误差调整权值和阈值的大小使bpnn的输出值与期望输出值不断接近,直到迭代满足终止条件,此时训练完成,获得bpnn最终的最优权值和阈值;
[0109]
步骤三:基于saa-ssa-bpnn模型进行网络安全态势评估:将测试数据输入到训练完的具有最优权值和阈值的bpnn模型中,输出得到态势评估值,然后结合网络安全态势评估等级表来分析当前网络安全状况。
[0110]
本实施例中,步骤一中的所述两个一级指标为安全风险和运行状态;所述四个二级指标为脆弱性、威胁性、容灾性和稳定性;所述二十个三级指标为设备开放端口总量、网络拓扑结构、操作系统类型及版本、核心交换机负载、路由器健康指数、感染病毒的主机数量、被篡改网站数量、被植入后门网站数量、仿冒网站数量、新增安全漏洞数量、子网内安全设备数目、网络带宽、访问安全网站的频率、服务器支持的并发线程数、关键设备提供的服
务种类、子网内关键设备存活时间、流出子网数据包目的ip分布、子网流量变化率、子网数据流总量和平均无故障时间。
[0111]
本实施例中,步骤二和步骤三中所述态势评估过程,具体包括以下步骤:具体的态势评估模型如图2所示;
[0112]
s1、数据采集与处理:收集来自国家互联网应急中心《网络安全信息与动态周报》从2015年第1期至2021年第21期中的308条数据作为实验数据,对数据进行归一化处理,将其中298条数据作为训练集,10条作为测试集;
[0113]
s2、生成态势评估模型:根据输入输出数据的特征确定bp神经网络的结构,利用saa-ssa算法对bp神经网络的初始权值和阈值进行参数寻优,将得到的最优参数组合赋给bp神经网络后输入训练数据对其进行训练,生成saa-ssa-bpnn态势评估模型;
[0114]
s3、评估与结果分析:将测试数据输入到saa-ssa-bpnn态势评估模型中得到态势评估值,依照态势等级的划分对态势评估结果进行分析,判断当前网络安全状况和等级,方便管理员全面掌握当前的网络安全态势,以便及时采取措施。
[0115]
实验与结果分析:
[0116]
实验:将模拟退火算法(saa)引入麻雀搜索算法(ssa)并对bp神经网络进行改进,以提高bp神经网络的收敛速度和评估效率且避免ssa算法优化的bp神经网络陷入局部最优。为了方便对网络安全态势状况进行分析,本发明将网络安全态势评估等级量化为具体的态势值,并划分了五个级别,分别为:优、良、中、差、危,如图4中的表1所示的网络安全态势评估等级。
[0117]
本实验以网络系统所遭受的安全威胁为评估对象来测试saa-ssa-bpnn网络安全态势评估模型的有效性,采集前面建立的指标体系中威胁性指标下的五个三级指标元素:感染病毒的主机数量、被篡改的网站数量、被植入后门的网站数量、仿冒网站数量和新增安全漏洞数量,这里设定每个指标的权重均相等。目前大部分研究使用的实验数据来自kdd99数据集或honey net项目公布的攻击数据集,但kdd99数据集距今已久且冗余数据过多,而honey net攻击数据集的影响因素又过于单一。因此,本实验采用国家互联网应急中心公布的从2015年第1期至2021年第21期的《网络安全信息与动态周报》中的308条数据,将实验数据分为两部分:a)训练样本298条,用于训练saa-ssa算法改进的bp神经网络;b)测试样本10条,用于检验saa-ssa-bpnn态势评估模型的评估效果。实验采用matlab r2019a进行仿真,硬件环境采用1.80ghz cpu和8gb内存,操作系统为:windows 10。
[0118]
本实验通过归一化方式对数据进行预处理,通常归一化的方式有两种:把数都归到[0,1]区间内,或是把有量纲表达式变为无量纲表达式。这里采用第一种方法,按公式(12)将实验数据都归到[0,1]区间内。
[0119][0120]
其中,x
min
和x
max
分别表示实验数据集中的最小值数据和最大值数据;xi为实验数据中第i个数据值;yi为xi归一化后的值。
[0121]
实验结果分析:评估结果对比分析,如图5所示的评估值对比表,为采用遗传算法(ga)、粒子群算法(pso)、麻雀搜索算法(ssa)和模拟退火算法(saa)优化的麻雀搜索算法(ssa)这四种算法改进bp神经网络进行态势评估得到的十个态势评估值与国家互联网应急
中心(cert)给出的态势评估值的对比情况。其中,国家互联网应急中心的态势评估值由其对应的态势评估等级取值区间中间值量化而来。
[0122]
为了更直观的分析态势评估结果,这里将上表中的评估值用折线图表示出来,如图6所示。从图6可以看到,四种评估模型的态势评估值曲线走势大致相同,都是在第3周出现小幅波动后在第6周达到峰值,第8周出现新的最低值后再次上升,直到第10周出现新的峰值。ga-bpnn评估模型的态势值曲线前期波动不大,只有在第8周时出现最低值,第8周后又恢复到与前几周持平的状态;pso-bpnn评估模型的态势值曲线是四种模型中最不稳定的,在第3周、第6周、第8周和第10周都出现了极值,波动较大;ssa-bpnn评估模型与ga-bpnn评估模型的态势值曲线走势基本相同,但在前5周内态势值明显低于ga-bpnn评估模型;saa-ssa-bpnn评估模型的态势值曲线明显的出现了三次峰值,分别在第3周、第6周和第10周,表明这十周内该网络受到了三次较大规模的攻击,整体态势值曲线波动幅度不大,较为稳定。将四种态势评估模型的态势值曲线与国家互联网应急中心量化后的态势值曲线进行对比,只有saa-ssa-bpnn评估模型与之更加贴合。对图6进一步分析可知,在每次安全态势值曲线达到峰值后,态势值会随之下降,网络所面临的危险程度也会有所缓解,这说明被攻击网络的态势值和性能会随着攻击强度的改变而发生变化,态势值越高说明当前网络遭受的威胁性越大,网络安全状况越差,反之态势值越低说明当前网络安全状况相对良好。
[0123]
如图7所示的表3为评估等级情况对比,给出了应用ga-bpnn、pso-bpnn、ssa-bpnn和saa-ssa-bpnn四种评估模型得到的评估等级,并与国家互联网应急中心给出的态势评估等级进行了对比。分析表3可知,ga-bpnn评估模型结果的态势等级与应急中心态势等级有6个测试数据点的结果不一致;pso-bpnn评估模型结果的态势等级与应急中心态势等级有4个测试数据点的结果不一致;ssa-bpnn评估模型结果的态势等级与应急中心态势等级有2个测试数据点的结果不一致;而saa-ssa-bpnn评估模型在10个测试数据点上的态势评估结果等级与国家互联网应急中心评估结果的等级完全相同。因此总体上看,saa-ssa-bpnn评估模型能最为客观的反应当前网络的安全态势状况。
[0124]
如图8所示为绝对误差值对比表,其中的ga-bpnn、pso-bpnn、ssa-bpnn和saa-ssa-bpnn四种评估模型的十个态势评估结果值与国家互联网应急中心态势评估值之间的绝对误差值对比情况。
[0125]
这里将图8中的绝对误差值用更为直观的折线图表示出来,如图9所示,绝对误差值折线图。分析图9可以发现,只有saa-ssa-bpnn态势评估模型的绝对误差值曲线波动幅度最小,是四种态势评估模型中绝对误差值曲线最为平稳的且一直在最接近0误差值标线上下浮动。因此本发明所提出的saa-ssa-bpnn态势评估模型与另外三种评估模型相比具有更小的评估误差和更高的评估准确性。
[0126]
为进一步验证saa-ssa-bpnn态势评估模型的准确性和优越性,采用均方误差(mse)和平均绝对误差(mae)这两个误差指标来衡量该模型的态势评估值与国家互联网应急中心态势评估值之间的差异情况,这两个误差公式表示如下:
[0127]
[0128][0129]
其中,y表示真实值,表示态势评估值。
[0130]
如图10所示的表5为精准度对照表,为ga-bpnn评估模型、pso-bpnn评估模型、ssa-bpnn评估模型和saa-ssa-bpnn评估模型进行网络安全态势评估得到的评估值与国家互联网应急中心态势评估值之间的mse和mae。由表5可以明显看出,用saa-ssa-bpnn评估模型进行态势评估所得到的态势评估值与国家互联网应急中心态势评估值之间的mse和mae明显比另外三种评估模型更小,这也说明saa-ssa-bpnn态势评估模型具有更高的评估准确性。
[0131]
收敛性分析:在本实验中,将训练数据的评估误差绝对值之和作为个体适应度值,适应度值越小说明该个体越优。因此适应度值的变化情况也能代表该评估模型的收敛情况。将ga-bpnn评估模型、pso-bpnn评估模型、ssa-bpnn评估模型和saa-ssa-bpnn评估模型的收敛情况进行对比,如图11所示为最优个体适应度值变化对照图。
[0132]
从图11可以看到,ga-bpnn评估模型一开始的适应度值相对较高,但在第4次迭代时开始陷入长期局部极值,在第54次迭代跳出后于第55次再次陷入局部极值,直到第99次迭代时收敛于最小值50.8648;pso-bpnn评估模型在第5次、第11次和第15次迭代时多次产生波动,并在第16次和第46次迭代时分别陷入长期局部极值,直到第99次迭代时才跳出,最后收敛于最小值49.8094;ssa-bpnn评估模型开始时适应度值最高,在第76次迭代时收敛于最小值48.4953,比ga-bpnn评估模型和pso-bpnn评估模型的收敛速度快且收敛值小;而saa-ssa-bpnn评估模型的适应度值最开始是四种模型中最小的,且适应度值曲线在迭代过程中多次跳出局部极值,在第62次迭代时收敛于最小值45.4408,在四种态势评估模型中收敛速度最快且适应度值曲线趋于平稳时其适应度值是最小的。因此,saa-ssa-bpnn态势评估模型的收敛效果相较于另外三种评估模型的收敛效果更好,收敛速度最快,适应度值趋于平稳时值最小且不易陷入局部最优。
[0133]
算法的时间复杂度很大程度上能反映出其优劣与否。bp神经网络算法的时间复杂度受样本规模n、最大迭代次数iter
max
和空间维度d的影响,时间复杂度为o(iter
max
×n×
d2),当空间维度d较高时近似为o(d2)。采用ssa算法对bp神经网络进行改进后,其时间复杂度增加了o(iter
max
×n×
d),因此ssa-bpnn算法的时间复杂度为o(iter
max
×n×
d2+iter
max
×n×
d)。当空间维度d较高时近似为o(d2),该算法的时间复杂度与bp神经网络算法的时间复杂度近似。为避免ssa算法陷入局部最优又引入了saa算法对其进行优化,但该优化过程是在ssa算法迭代循环内完成的,没有额外增加循环次数,所以没有增加运算量,时间复杂度仍为o(d2)。因此,对bp神经网络算法的两次改进在空间维度较高时基本上都未增加其时间复杂度。
[0134]
实验结果:本发明采用模拟退火算法优化的麻雀搜索算法来改进bp神经网络并应用于网络安全态势评估,提出了一种基于saa-ssa-bpnn的网络安全态势评估模型,解决了麻雀搜索算法易陷入局部最优和bp神经网络的最优权值和阈值难以确定及收敛速度缓慢的问题,显著提高了评估的准确性和收敛速度。下一步的研究将与其它智能评估模型对比,寻找精度和评估效率更高的态势评估模型。
[0135]
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精
神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
技术特征:
1.一种基于saa-ssa-bpnn的网络安全态势评估方法,其特征在于:具体包括以下步骤:步骤一:构建网络安全态势指标体系:网络安全态势指标体系从整体上描述网络的安全状况,按照态势指标体系构建原则,构建了一个树状层次结构的安全态势指标体系,该指标体系分为两个一级指标、四个二级指标和二十个三级指标,分别从脆弱性、威胁性、容灾性和稳定性四方面对网络系统的安全风险和运行状态特性进行描述;步骤二:建立基于saa-ssa-bpnn的网络安全态势评估模型:通过模拟退火算法(saa)优化的麻雀搜索算法(ssa)来改进bp神经网络(bpnn)并应用于网络安全态势评估;首先根据步骤一中所构建的网络安全态势指标体系,收集相应的态势数据并进行预处理,然后对saa-ssa算法改进的bp神经网络进行训练,生成具有评估能力的网络安全态势评估模型;基于saa-ssa-bpnn的网络安全态势评估算法,具体步骤为:
①
构建网络安全态势指标体系,对网络安全数据进行预处理,初始化bp神经网络的初始权值和阈值;
②
初始化麻雀种群并定义相关参数,如,用n表示麻雀种群规模,d表示变量的维数,t表示当前迭代数;麻雀种群表示为如下形式:麻雀种群的适应度函数值表示为如下形式:其中,f表示单只麻雀的适应度函数值。
③
将模拟退火算法引入麻雀搜索算法中,模拟退火算法的原理是对高温固体退火降温过程进行模拟,经历加温、等待、冷却这三个步骤;在实际应用中会将系统的能量用函数f来表示,将系统温度用控制参数t来表示,f在内能随温度降低的同时也随之下降,当温度下降到常温时内能减少到最小;当t=0时的系统状态对应于寻优问题的整体最优解;模拟退火算法根据metropolis准则(即以一定概率接受新状态,见公式(5)),以一定的概率接受劣质解的同时有效避免算法陷入局部最优;在引入模拟退火算法后,需要按照公式(3)、(4)和(5)初始化模拟退火算法的退火温度、退火速率以及突跳概率:模拟退火算法的初始化退火温度确定为t
k
(令k=0),t
k
表示如下:公式(3)中,f
g
表示全局最佳适应度值,α为初始接受概率,取值区间为[0.2,0.5];退火速率为:t
t+1
=γt
t
ꢀꢀꢀ
(4)
公式(4)中γ为降温的速率,t为迭代次数;突跳概率为:δf=f
i-f
g
ꢀꢀꢀ
(6)公式(5)中p为突跳概率,公式(6)中f
i
为当前个体适应度值,f
g
表示全局最佳适应度值;如果δf<0,则以概率1接受新解,否则以概率exp(-δf/t
k
)来接受新解;
④
根据适应度函数计算每只麻雀的个体适应度值f
i
并将其按适应度值大小进行排序,进而选择出当前全局最佳适应度值f
g
和最差适应度值f
w
以及对应的位置x
best
和x
worst
;
⑤
依据麻雀搜索算法原理,根据预警值r2和安全值st的大小按照公式(7)更新发现者位置,按照公式(8)更新加入者的位置,按照公式(9)更新意识到危险的麻雀位置;具体算法原理如下:在麻雀搜索算法中,由于发现者处于主动地位,所以他们可以获得更大的觅食搜索范围且具有较好的适应度;当预警值r2<安全值st时,表示此时周围的环境安全,当r2≥st时,表示种群中的一些麻雀已经意识到了危险,所有麻雀都需要迅速飞到安全地方进行觅食;发现者的位置更新可表示为:其中,j=1,2,3
…
d;iter
max
是一个常数,表示最大的迭代次数;x
i,j
表示第i只麻雀在第j维中的位置信息;α∈(0,1]是一个随机数;q是服从正态分布的随机数;l表示每一个元素都为1的1
×
d矩阵;加入者在整个觅食过程中都会监视着发现者,当它们意识到发现者找到更好的食物时就会立刻飞过去与发现者抢夺新的食物,如果争夺过程赢得了发现者就会立即获得该发现者的食物,否则就重复执行上述操作;当i>n/2时,表明第i只加入者的适应度值较低,此时这只麻雀正处于非常饥饿的状态,因此,它要飞到其它地方寻找食物以获得更多的能量;加入者的位置更新可表示为:其中,x
p
是发现者所占据的最优位置;a表示每一个元素都被随机赋值为1或-1的1
×
d的矩阵,且a
+
=a
t
(aa
t
)-1
;在麻雀觅食的过程中,当有捕食者出现时,处于种群最外围的麻雀会先意识到危险的存在,当它们意识到危险时即当前麻雀个体的适应度值f
i
>当前全局最佳适应度值f
g
时,这些群体最外围的麻雀会为了获得更好的觅食位置努力向安全区移动。当f
i
=f
g
时,表明处于中间位置的麻雀意识到了危险,需要向安全区移动以减少它们被捕的风险;意识到危险的
麻雀的位置更新可表示为:其中,β为步长控制参数,k为一个随机数,取值范围为[-1,1],ε为最小的常数;
⑥
获得当前最优值,如果当前最优值比上一次的最优值好的话就进行更新操作,否则不进行更新,并继续进行迭代直到满足条件为止,最终得到全局最佳适应度值f
g
和对应的最优位置x
best
;
⑦
根据metropolis准则,对x
best
进行saa邻域搜索产生一个新的可行解x
b
'
est
,用于对原位置x
best
进行调整;因此,公式(5)与(6)变为如下形式。进行调整;因此,公式(5)与(6)变为如下形式。在公式(11)中,f(x’best
)是模拟退火阶段产生的新的全局最优位置的适应度值;为了便于理解这里用f(x
best
)代替f
g
表示旧的全局最优位置的适应度值;saa-ssa算法通过新旧全局最优位置对应适应度值的差值来调整对新位置的接受概率p,从而得到最终的全局最优位置,具体步骤为:先按公式(11)计算在x’best
这个新位置上的麻雀的适应度值f(x’best
)与旧位置的适应度值f(x
best
)的差值δf
new
;接着按照公式(10)分情况接受新位置,如果δf
new
<0则以概率1接受新位置,否则以概率exp(-δf
new
/t
k
)接受新位置,然后更新全局最优位置x
best
;
⑧
根据公式(4)进行退火操作,判断是否超过最大迭代次数和种群规模,若是则输出最优位置x
best
和其对应的最佳适应度值,否则跳转至
④
;
⑨
获取最优权值和阈值,并将其赋值给bp神经网络作为初始权值和阈值;
⑩
训练神经网络;将预处理后的训练数据输入具有最优初始权值和阈值的bp神经网络模型中,计算bpnn隐含层和输出层的输出值,然后计算输出层的输出值与期望输出值之间的误差值,根据误差调整权值和阈值的大小使bpnn的输出值与期望输出值不断接近,直到迭代满足终止条件,此时训练完成,获得bpnn最终的最优权值和阈值;步骤三:基于saa-ssa-bpnn模型进行网络安全态势评估:将测试数据输入到训练完的具有最优权值和阈值的bpnn模型中,输出得到态势评估值,然后结合网络安全态势评估等级表来分析当前网络安全状况。2.如权利要求1所述的一种基于saa-ssa-bpnn的网络安全态势评估方法,其特征在于:步骤一中的所述两个一级指标为安全风险和运行状态;所述四个二级指标为脆弱性、威胁性、容灾性和稳定性;所述二十个三级指标为设备开放端口总量、网络拓扑结构、操作系统类型及版本、核心交换机负载、路由器健康指数、感染病毒的主机数量、被篡改网站数量、被植入后门网站数量、仿冒网站数量、新增安全漏洞数量、子网内安全设备数目、网络带宽、访问安全网站的频率、服务器支持的并发线程数、关键设备提供的服务种类、子网内关键设备
存活时间、流出子网数据包目的ip分布、子网流量变化率、子网数据流总量和平均无故障时间。3.如权利要求1所述的一种基于saa-ssa-bpnn的网络安全态势评估方法,其特征在于:步骤二和步骤三中所述态势评估过程,具体包括以下步骤:s1、数据采集与处理:收集来自国家互联网应急中心《网络安全信息与动态周报》从2015年第1期至2021年第21期中的308条数据作为实验数据,对数据进行归一化处理,将其中298条数据作为训练集,10条作为测试集;s2、生成态势评估模型:根据输入输出数据的特征确定bp神经网络的结构,利用saa-ssa算法对bp神经网络的初始权值和阈值进行参数寻优,将得到的最优参数组合赋给bp神经网络后输入训练数据对其进行训练,生成saa-ssa-bpnn态势评估模型;s3、评估与结果分析:将测试数据输入到saa-ssa-bpnn态势评估模型中得到态势评估值,依照态势等级的划分对态势评估结果进行分析,判断当前网络安全状况和等级,方便管理员全面掌握当前的网络安全态势,以便及时采取措施。
技术总结
本发明公开了一种基于SAA-SSA-BPNN的网络安全态势评估方法,具体包括以下步骤:步骤一:构建网络安全态势指标体系,对收集到的指标数据进行预处理;步骤二:建立基于SAA-SSA-BPNN的网络安全态势评估模型:具体包括:用模拟退火算法优化麻雀搜索算法;用优化后的麻雀搜索算法获取BP神经网络的最优初始权值和阈值;对用SAA-SSA算法优化后的BPNN进行训练;生成具有评估能力的SAA-SSA-BPNN模型;步骤三:基于SAA-SSA-BPNN模型进行网络安全态势评估:输入测试数据到SAA-SSA-BPNN模型进行网络安全态势评估。该发明的技术效果为:解决了麻雀搜索算法易陷入局部最优和BPNN的最优权值和阈值难以确定及收敛速度缓慢的问题,显著提高了评估的准确性和收敛速度。了评估的准确性和收敛速度。了评估的准确性和收敛速度。
技术研发人员:张然 潘芷涵 王一帆 甘勇 尹毅峰
受保护的技术使用者:郑州轻工业大学
技术研发日:2022.02.14
技术公布日:2023/10/7
版权声明
本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
飞行汽车 https://www.autovtol.com/
