罗育林
(南方电网深圳数字电网研究院有限公司,广东 深圳 518000)
随着通信技术、网络技术的发展,出现了许多类型的网络系统,它们在各个领域得到了广泛的应用。在网络系统的实际工作过程中,由于网络用户的安全意识薄弱,再加上网络本身的开放性,使得各个网络系统均存在不同程度的安全漏洞和风险[1-2]。风险评估可以帮助人们和网络管理员掌握网络安全的状态,有利于提前制定相应的风险管控方案,因此如何构建正确率高的网络系统安全风险评估方法成为当前网络安全领域研究的一个热点[3]。
针对网络系统安全风险评估问题,许多高校、研究所以及一些网络公司对其进行了系统的研究,提出了许多有效的网络系统安全风险评估方法[4],如有学者提出了基于攻击图的网络系统安全风险评估方法[5],根据图论分析网络各个节点的安全等级,该方法是认为网络系统安全风险呈线性变化态势,这与实际网络系统安全风险变化特性不一致,因此网络系统安全风险不仅具有非线性,还具有随机性,而且随机性存在的概率相当大,使得其网络系统安全风险评估可靠性差[6];随后有学者提出基于BP神经网络的网络系统安全风险评估方法[7]、基于贝叶斯模型的网络系统安全风险评估方法[8]、基于支持向量机的网络系统安全风险评估方法[9],它们的网络系统安全风险评估性能要优于攻击图方法[10]。
为了进一步提高网络系统安全风险评估正确率,设计了基于组合优化理论的网络系统安全风险评估方法,采用仿真实验分析了网络系统安全风险评估性能,结果表明,本文方法的网络系统安全风险评估正确率超过94%,完全可以满足网络系统安全管理的评估正确率要求。
单一方法对网络系统安全风险评估结果十分关键,因为不同方法之间要达到互补的作用,BP神经网络的非线性拟合能力强,但是稳定性不够,支持向量机的泛化能力强,但是学习时间比较长,极限学习机的学习效率低,拟合精度高,但是泛化能力不强,然而网络系统安全风险具有十分复杂的变化特点,单一方法如BP神经网络、支持向量机、极限学习机均难以客观、科学地对网络系统安全风险变化态势进行准确描述,使得网络系统安全风险正确率有待进一步提高[11]。本文基于组合优化理论的优势互补原理,选择支持向量机、极限学习机、BP神经网络作为网络系统安全风险评估的单一方法。
1.1.1 支持向量机
设网络系统安全风险评估的指标为xi,网络系统安全风险等级值为yi,支持向量机根据函数φ(·)可以对它们之间的关系进行拟合,得到式(1)。
y=wTφ(x)+b
(1)
由于式(1)的参数直接求解比较困难,采用结构风险最小化原则得到与式(1)等价的优化形式,具体为式(2)。
(2)
引入拉格朗日乘子αi对式(2)进行转换,得到一个对偶问题,具体如式(3)。
(3)
引入核函数得到支持向量机的网络系统安全风险评估模型[12]为式(4)。
(4)
1.1.2 极限学习机
极限学习机是一种机器学习算法,只需设置隐含层神经元数量,就可以得到问题的最优解,工作过程简单,运行效率高。给定Q个网络系统安全风险评估训练样本,ω为隐含层和输入层神经元间的权重矩阵;b=[b1,b2,…,bl]T为隐含层的阈值;β为隐含层和输出层神经元间的权重矩阵,那么极限学习机可以得到式(5)。
β=H+Y
(5)
式中,H为隐含层输出矩阵;H+为H的广义逆,可以得到式(6)。
(6)
式中,g(x)为激活函数。
极限学习机通过确定参数ω、β和b的值,建立网络系统安全风险评估模型[13]。
1.1.3 BP神经网络
(7)
第l层、第j个节点输出计算为式(8)。
(8)
式中,f(l)为神经元的激励函数,具体定义如式(9)。
(9)
对于网络系统安全风险评估的训练样本集,BP神经网络首先进行正向学习,然后根据网络系统安全风险评估误差进行反向学习,并对权值进行不断调整,使误差越来越小,通常情况下采用梯度下降算法调整权值,具体为式(10)—式(12)。
(10)
(11)
(12)
式中,E表示网络系统安全风险评估误差。
模拟人的大脑神经网络学习原理,收敛能力学习比较强,但是收敛速度比较慢,为了加快BP神经网络的收敛能力,采用遗传算法对BP神经网络的权值初始进行了优化,加快BP神经网络学习效率。
支持向量机、极限学习机、BP神经网络都能得到网络系统安全风险评估结果,但是它们均无法全面描述网络系统安全风险变化特点,因此通过证据理论对它们的网络系统安全风险评估结果进行融合,提高网络系统安全风险评估正确率。
设m1,m2,m3表示支持向量机、极限学习机、BP神经网络的网络系统安全风险评估结果,将它们作为证据体,根据证据理论可以得到各模型的权值。
针对当前单一网络系统安全风险评估方法的缺陷,结合网络系统安全风险复杂多变的特点,引入组合优化理论设计网络系统安全风险评估方法,工作步骤具体如下。
Step1:针对某个网络系统,采集其一段时间的网络系统安全风险历史数据。
Step2:对网络系统安全风险历史数据进行归一化处理,使它们值均缩放到[0 1]范围,加快网络系统安全风险评估速度,如式(13)。
(13)
Step3:采用支持向量机、极限学习机、BP神经网络对网络系统安全风险的训练数据进行学习,建立3种网络系统安全风险评估模型。
Step4:采用已经建立的3种模型对网络系统安全风险评估的测试样本进行评估,得到3种模型的网络系统安全风险评估结果。
Step5:采用证据理论对3种模型的网络系统安全风险评估结果进行分析,分别确定它们的权值。
Step6:根据权值对3种模型的网络系统安全风险评估结果进行组合,得到最终的3种模型的网络系统安全风险评估结果,具体如图1所示。
图1 基于组合优化理论的网络系统安全风险评估流程
为了测试基于组合优化理论的网络系统安全风险评估方法性能,选择5个网络系统作为研究对象,收集它们的网络系统安全风险评估样本,样本数量的具体分布如表1所示。
表1 网络系统安全风险评估样本分布
为了说明组合优化理论的网络系统安全风险评估优越性,选择支持向量机、极限学习机、BP神经网络的网络系统安全风险评估方法进行对照实验。实验环境为:AMD 3.0Ghz 6核CPU,32GB RAM,Win 10操作系统,采用Matlab 2017编程实现仿真实验。
基于组合优化理论的网络系统安全风险评估方法和对比方法对表1的训练样本进行学习,然后对测试样本进行评估,统计它们的网络系统安全风险评估正确率和错误率,分别如图2、图3所示。
对图2和图3的网络系统安全风险评估结果进行分析可以发现。
图2 网络系统安全风险评估正确率
图3 网络系统安全风险评估错误率
(1)组合优化理论的网络系统安全风险评估正确率均值为94.84%;评估错误率均值为5.16%,完全可以满足网络系统安管理的要求。
(2)支持向量机、极限学习机、BP神经网络的网络系统安全风险评估正确率分别为88.80%、85.69%、80.85%,评估错误率均值分别为11.20%、14.31%,19.15%,网络系统安全风险评估效果不理想。
(3)相对于支持向量机、极限学习机、BP神经网络,本文方法大幅度提升了网络系统安全风险评估正确率,能够有效控制网络系统安全风险评估错误率,这主要是因为本文方法首先采用支持向量机、极限学习机、BP神经网络分别从不同角度对网络系统安全风险的变化特点进行刻画,弥补了单一支持向量机、极限学习机、BP神经网络的不足,然后采用证据理论科学合理地确定了支持向量机、极限学习机、BP神经网络对网络系统安全风险评估结果的贡献率,获得理想的网络系统安全风险评估结果。
针对当前网络系统安全风险评估存在错误率高、结果可信度低的缺陷,设计了基于组合优化理论的网络系统安全风险评估方法。首先采用支持向量机、极限学习机、BP神经网络对网络系统安全风险进行评估,然后采用证据理论根据组合优化理论得到单一方法的网络系统安全风险评估的权值,确定各单一模型的贡献率,最后根据各权值得到最终评估结果,仿真实验结果表明,本文方法的网络系统安全风险评估正确率高,相对于对照方法,网络系统安全风险评估结果具有十分明显的优势,具有良好的实际推广价值。