APP下载

基于PSO-TSA 模型的网络安全态势要素识别研究

2022-05-06张克君郑炜于新颖王航宇王志强

关键词:模拟退火态势粒子

张克君,郑炜,于新颖,王航宇,王志强

(1.北京电子科技学院网络空间安全系,北京 100071;2.北京邮电大学网络空间安全学院,北京 100876)

随着信息技术的不断发展,当前的网络规模具有多节点、多分支、多网段、大流量等特点,网络安全问题越来越严峻.传统的监测方法和防护手段已经无法满足新的安全需求.网络安全态势感知(Net⁃work Security Situation Awareness,NSSA)能在复杂的网络环境中实时感知网络的安全风险,安全分析人员能结合网络安全环境,快速、准确地做出判断,将风险和损失降到最低[1].网络安全态势要素识别是NSSA 的基础,也是直接影响NSSA 性能的关键因素之一.

粒子群算法[2]结构简单、收敛速度快,符合NSSA 对时效性的要求,是目前应用最广泛的态势要素识别算法.粒子群算法在搜索最优解时通过共享粒子之间的信息,使得粒子总是在向当前最优解更新.在算法开始阶段收敛速度很快,直到所有粒子状态相似时收敛速度减慢.这会使算法在寻找到局部最优解且收敛于该位置时,粒子难以从局部最优解中跳出,从而形成粒子“早熟”,导致态势要素识别的准确率降低[3].

PSO 算法容易陷入局部最优解,而模拟退火算法能够接受非更好的解.同时,PSO 算法在初期具有极快的收敛速度,能够弥补SA 算法在收敛速度上的缺陷.因此,针对态势要素提取质量与识别效率较低的问题,本文提出融合粒子群和模拟退火的态势要素识别模型PSO-TSA.利用模拟退火中的Metropolis准则,允许粒子接受一个非更好的解,以优化个体极值(pbest)、全局极值(gbest)以及PSO 参数设置等过程,使得粒子摆脱局部最优解,提高态势要素识别质量与效率.本文的主要工作如下:

1)在pbest和gbest更新阶段,引入退火算法中的Metropolis 准则,改变pbest和gbest的接受规则,允许在一定的概率下接受一个非更好的位置,增加粒子的选择性,提高态势要素提取质量.

2)在PSO参数优化阶段,利用退火算法中的Me⁃tropolis 准则将PSO 算法中参数的设置作为一个统一的优化问题,在评价粒子适应度的同时,也对参数优化过程进行评价,帮助粒子跳出局部极值.

3)本文提出了NSSA 数据获取集成工具,并搭建了一个小型网络环境,以获取反映网络安全状态的真实数据集SDS-W.在开放网络安全数据集和SDSW 数据集上的实验表明,PSO-TSA 模型保持了较优的识别精度和效率.

1 相关工作

态势要素识别技术的研究是随着网络安全态势感知概念的提出开始的.2003 年,Matheus 等人提出了基于Ontology 的态势感知模型,结合各个模块提出了抽象实体的思想,对网络安全态势要素提取具有一定的指导意义[4].2007 年,Jin 等人针对军事战场中面临的态势要素提取情况,并结合周围环境等因素,提出一种基于概念的态势要素提取技术[5],但该方法提取的数据源单一且不能应对多源攻击的情况.2014 年,刘等人提出了基于时空维度分析的网络安全态势预测方法[6],在时间维度上预测未来时段内的安全态势要素集,并在空间维度上分析各安全态势要素集对网络安全态势的影响.2016 年,Kaufman 等人考虑了网络环境的整体结构及不同的层级之间有不同的软硬件设施和相应的通信协议,提出采用自下而上、先局部再整体的形式对网络安全状态进行描述[7].2018 年,Bazrafkan 等人从国家战略决策的角度提出一个国家态势感知的概念[8],以层次化结构提高了态势识别的效率,降低了错误信息的干扰.2019 年,Eckhart 等人提出建立系统的虚拟副本,在并行环境下对网络态势进行全面的感知[9].同年,Debatty 等人提出利用网络靶场更真实地模拟安全事件[10],为决策提供更准确的支持.

国内对网络安全态势要素提取相关研究起步较晚,前期在入侵检测方面所做的相关工作为网络安全态势要素提取技术的研究奠定了基础.2008 年,王等人提出了一种在神经网络的基础上结合进化策略的方法[11],以优化建立神经网络的参数,然后用神经网络来提取态势要素,极大地提高了分类准确度.2010 年,赖等人为获取反映网络整体安全态势的信息,提出了将D-S 证据理论用于多源报警数据聚类,计算不同数据之间的相似度,融合多种设备来降低系统误报率[12].为了更好更快地去除冗余特征,适应网络安全领域的需要,2015年,司等人提出了一种基于本体论的网络安全态势要素知识获取方法[13],将多源异构数据进行分类提取,依据本体构建规则建立由领域本体、应用本体和原子本体组成的网络安全态势要素知识库本体模型.2016 年,刘等人[14]提出一种基于融合的网络安全态势感知模型,将对安全事件威胁等级和威胁要素关系的推演和多源融合算法结合,克服了态势要素获取过程中需处理网络组件间复杂隶属关系的不足.2017 年,戚等人提出了基于信息增益的贝叶斯态势要素提取方法[15],相较于朴素贝叶斯态势要素提取方法,该方法提高了分类效果,实现了对恶意攻击的检测.2018 年,张等人为了评估网络安全现状,提出了一种基于分布式集群的安全态势感知系统[16],该方法在要素提取的准确性和时间上都有了明显的优化.2019 年,徐等人针对云平台的安全态势,提出一个三层安全态势指标体系[17],从而识别出精确反应云平台态势的要素.同年,段等人提出基于RSAR 的随机森林网络安全态势要素提取,有效提高了分类精确度[18].2020年,赵等人利用D-S证据理论处理多源数据[19],实现了对要素更精确的识别.

1995 年,Kennedy 和Eberhart提出了粒子群算法[20].粒子群算法属于群体智能算法,具有结构简单、鲁棒性强的特点,在解决组合优化问题时有很好的表现.近几年,针对PSO 算法的研究主要集中在PSO 算法的优化和与其他算法的融合方面.最早由Shi 和Eberhart 提出的惯性权重线性递减的方案,在算法初期能够快速找到最优解的范围.随着迭代次数的增多,算法进行更加精确的搜索,最终得到最优解.文献[21]将群体灭绝的现象引入PSO算法,促进粒子个体进化的持续性和群体选择的多样性.文献[22]中,每个粒子根据其自身的适应度和最优粒子选择惯性因子,使得算法具有全局收敛性,能有效地缓解早熟收敛问题.2018 年,胡等人提出利用粒子群算法优化模拟退火降温速度过慢的问题[23],并在实际场景中获得良好的效果.2019年,董等人利用模拟退火解决粒子群容易陷入局部极值的问题,设计了一种新的USV 全局路径规划算法[24],该算法在考虑收敛速度的同时能够更为准确地找到全局极值.

2 融合粒子群和模拟退火的态势要素识别模型PSO-TSA

本文将粒子群算法和模拟退火算法应用到态势要素识别的过程中,提出了一种融合粒子群和模拟退火的态势要素识别模型PSO-TSA.PSO-TSA 利用模拟退火中的Metropolis 准则克服PSO 在以往的态势要素识别过程中识别准确率不高的问题,能较好地摆脱局部最优解,快速准确地找到态势要素.PSOTSA模型的总体框架如图1所示,模型主要由两个部分组成:pbest和gbest退火更新模块、PSO 参数退火优化模块.

图1 PSO-TSA总体框架Fig.1 Overall framework of PSO-TSA

2.1 Metropolis准则

假设一个D维的目标搜索空间,有种群数目为N的粒子群,其中把第i个粒子表示为一个D维向量,记为:

第i个粒子的飞行速度也是一个D维向量,记为:

第i个粒子目前找到的最佳位置称为个体极值,记为:

整个粒子群目前找到的最佳位置为全局极值,记为:

当粒子找到个体极值和群体极值后,粒子会更新自己的速度和位置,如公式(5)和公式(6)所示:

式中:w为惯性权重,表示在多大的程度上保留原有速度.w越大则全局收敛能力越强;w越小则局部收敛能力越强.c1和c2为学习因子,r1和r2为[0,1]内的均匀随机数.

Metropolis 准则是一种以概率接受新状态的采样法.给定一个初始状态i作为当前状态,记当前状态的能量为Ei.然后通过一定的手段产生一个变化,使其进入一个新的状态j,记新状态的能量为Ej.若Ej

物体处于状态i和状态j的概率应为相应Boltzmann因子的比值,如公式(9)所示:

若r>0,则接受新状态j,否则舍弃新状态j.由此得到简化的Metropolis 接受准则:若系统当前处在状态i,由于某种变化进入状态j.相应地,系统的能量也由Ei变为Ej,那么系统接受这种状态改变的概率为:

2.2 pbest和gbest更新模块

pbest和gbest更新模块在利用Metropolis 准则更新个体粒子的最好位置pbest时,允许Pbest在一定的概率下向一个非更好的位置更新.同样,在更新群体粒子的最好位置gbest时,gbest也被允许在一定的概率下向一个非更好的位置更新,算法结束时输出Gbest.两次退火更新能增加粒子的选择性,防止PSO 算法陷入局部最优解.pbest和gbest更新模块算法步骤如下.

Step1:对算法进行初始化,包括最大迭代次数tmax、初始温度T、降温系数α、最低温度tmin、参数组合S(w,c1,c2)、适应度函数f(xi).

Step2:计算所有粒子各自的适应值f(xi)以及每个粒子目前的最好位置pbest的适应值f(pbest).计算∆f=f(xi) -f(pbest),当∆f>0 时,更 新pbest=x;当∆f<0 时,引入Metropolis 准则,得到p=exp(-∆f/T).当p>0时,pbest=x.

Step3:设置两个变量Gbest和gbest来记录群体粒子经历的最好位置.比较当前个体粒子最好位置的适应值f(xbest)和群体粒子最好位置的适应值f(Gbest).如果f(xbest)>f(Gbest),则Gbest=gbest=xbest.否则,计算∆f=f(xbest)-f(gbest),当∆f>0 时,更新gbest=xbest:当∆f<0时,引入Metropolis 准则,得到p=exp(-∆f/T).当p>0时,gbest=xbest.

pbest和gbest更新算法流程如图2所示.

图2 pbest和gbest退火更新模块流程图Fig.2 Flow chart of pbest and gbest annealing update module

2.3 PSO参数优化模块

PSO 参数优化模块对PSO 算法中的参数(惯性权重w,学习因子c1、c2)进行退火优化.在每次迭代中,PSO 算法对粒子群的适应度和参数组合的优化评价值都可以用最优适应度函数来表示.由于Me⁃tropolis 准则能接受非更好的参数组合,从而粒子可以更好地摆脱局部最优解.PSO 参数优化模块算法步骤如下.

Step1:取评价函数C(S)=gbest,求解得到新的参数组合,按照公式(5)、(6)和新的参数组合更新速度vi和位置xi,并计算适应度f(xi).

Step2:令C(S′)=min[f(xi),i=1,2,…,m],其中m为粒子个数,ΔC=C(S) -C(S′).当ΔC>0时,接受S′,进行退火操作,并依据S′更新速度和位置;当ΔC<0时,引入Metropolis准则,得到p=exp(-ΔC/T).当p>0 时,接受S′,进行退火操作,并依据S′更新速度和位置.否则拒绝S′的状态,S仍为当前状态,依据S更新粒子的速度和位置.

Step3:判断是否满足终止条件,若满足,则算法结束,输出最优值;否则,跳转到pbest和gbest更新模块的Step2.

PSO参数优化模块算法流程如图3所示.

图3 PSO参数优化模块算法流程图Fig.3 Flow chart of PSO parameter optimization module

2.4 PSO-TSA性能分析

为了验证PSO-TSA 在寻找最优解时的能力、有效性和收敛性,本文选择了囊括单多峰函数的三个测试函数来分析算法的性能,分别是:

1)Rosenbrock单峰函数.

本文对标准粒子群算法(PSO)、线性惯性权重粒子群算法(LDPSO)以及本文提出的融合粒子群和模拟退火的PSO-TSA 进行对比分析.在对比试验中,三个函数的维度设置为N=10.算法的参数设置:种群大小m=40,初始温度T=1 000,最大迭代次数tmax=1 500,降温系数α=0.96,惯性权重w=0.6,学习因子c1=c2=2.算法各自独立运行100次,实验结果如表1所示.

由表1 可知,针对本文选取的三种测试函数,PSO-TSA 的测试效果要优于其他两种传统的PSO 算法.在算法速度上,对于单峰函数Rosenbrock,PSOTSA 相比于另外两种算法没有明显的优势;对于多峰函数Rastrigin 和Griewank,PSO-TSA 在收敛速度上的表现明显优于传统的PSO 算法.在算法的收敛精度上,对于单峰函数Rosenbrock,PSO-TSA 算法相较于另外两种算法有了明显的提高;对于多峰函数Rastrigin 和Griewank,PSO-TSA 算法在收敛速度提升的同时,精度也有了明显的提高.总的来说,PSOTSA 对于单峰函数,速度上没有明显的优势,但在收敛精度上有明显的优势;对于多峰函数,其优化后的收敛速度和精度都有很大的提升.PSO-TSA 增加了一定的算法复杂性,在维持原有收敛速度甚至提高速度的情况下,能够很好地摆脱局部最优值,提升寻找全局最优值的性能.

表1 三种算法在不同测试函数下的性能对比结果Tab.1 Performance comparison results of the three algorithms under different test functions

3 实验分析

3.1 实验拓扑

全面采集网络安全态势数据并充分考虑多方面信息,进而选择合适的态势数据字段组成态势指标,这是进行准确态势理解[25]的重要保证.为了数据获取的真实性,本文搭建了一个小型网络环境.实验环境拓扑如图4 所示,包括七台主机,五个网络组件和两套NSSA数据获取工具,其中三台主机进行服务器模拟,包括了Web服务、FTP服务和database服务.

图4 实验搭建的小型网络环境拓扑图Fig.4 Topology diagram of small network environment built by the experiment

3.2 数据采集

网络安全态势感知旨在实现对网络安全态势的全面掌握,需要对反映网络安全状态的数据进行全面的获取.本文考虑了漏洞信息、攻击信息、流量信息三个方面,提出了NSSA 数据获取集成工具,包括Nessus、Snort 和Netflow.NSSA 数据获取集成工具对网络的基本运行、正在面临的攻击和潜在的安全隐患进行全面的测评,为态势要素提取提供了强有力的支持.

NSSA 数据获取工具对网络中节点的态势数据进行采集,剔除缺失数据,生成态势要素数据集SDS-W.SDS-W 数据集包含了各类网络安全数据信息,共37个字段,数据格式如表2所示.

表2 SDS-W 数据集中的数据字段Tab.2 Data fields in the SDS-W data set

3.3 实验结果

本文为了全面分析PSO-TSA 算法在态势要素识别上的性能,将实验分为两个部分.一部分实验采用现有的开放网络安全数据集,包括KDD99、NSLKDD 和UNSW-NB 15;另一部分实验采用本文模拟的实验环境所获取到的态势要素数据集SDS-W.本文选取五种在态势要素识别领域应用较多并且较为经典的算法与PSO-TSA 算法进行比较,包括支持向量机(SVM)、分类决策树(CART)、线性惯性权重粒子群算法(LDPSO)、BP 神经网络、循环神经网络(RNN).实验结果如表3和表4所示.

表3 PSO-TSA在开放网络安全数据集上的性能Tab.3 Performance of PSO-TSA on open network security data sets

表4 PSO-TSA在安全态势数据集SDS-W 上的性能Tab.4 The performance of PSO-TSA on the security situation data set SDS-W

KDD99数据集包含了四种攻击类型和一种正常状态,训练集共494 021 个,测试集共331 029 个;NSL-KDD 数据集包含四种攻击类型和一种正常状态,训练集共125 973 个,测试集22 544 个;UNSWNB 15 数据集为二分类集合,包含训练集175 341 个和测试集82 332 个.本文获取的SDS-W 数据集为二分类集合,包含训练集148 957个和测试集51 043个.

由表3 可知,在开放网络安全数据集的实验中,相较于SVM、BP 和RNN,PSO-TSA 在KDD99 数据集上的训练时间和测试时间上都体现了明显的优越性.从训练准确率和测试准确率来看,六种算法在KDD99 数据集上的性能表现相差不大.在NSL-KDD数据集上,PSO-TSA 在训练时间、测试时间和测试准确率上有了明显提升.在UNSW-NB 15 数据集上,PSO-TSA 在四项性能指标中都有明显的优势,尤其在大幅度缩小测试时间的基础上,对测试准确度也有了显著的改进.整体来看,PSO-TSA 虽然在各个数据集上的识别准确率略逊于BP神经网络和RNN,但是在时间成本上具有明显的优势;与同类型的LDPSO 相比较,在测试准确率有小幅提升的情况下,时间成本极大减少.

由表4 可知,在本文搭建的小型网络环境所采集的网络安全态势数据集SDS-W 上,PSO-TSA 在各项性能指标上的表现比较突出.与SVM、CART、LDPSO 相比,在时间成本和识别精确度上都有比较好的表现.与BP 和RNN 神经网络算法相比,虽然在准确率上有1%~2%的下降,但是其时间成本不到这两种算法的10%.

总的来说,PSO-TSA 在开放网络安全数据集上的整体表现比较好,在个别数据集上全面优于实验中的其他五种算法.在本文搭建的模拟网络环境中,对于采集到的网络安全数据集SDS-W,PSO-TSA 在识别精度保持一定的基础上,时间成本大幅降低.

4 结语

本文提出了一种融合粒子群和模拟退火的网络安全态势要素识别模型PSO-TSA,用于对网络安全态势要素进行快速准确的识别.首先分析了粒子群算法和模拟退火中的Metropolis 准则,讨论了两者结合的可能性.接着提出了以粒子群为基础,在位置更新和参数选择阶段三次引入Metropolis 准则的全新融合算法.然后从测试函数的角度证明了PSO-TSA算法比其他PSO 改进算法在避免陷入局部最优解的方面具有更优的效果.最后为了实验数据更加逼近实际网络环境,搭建了一个小型网络环境,用于获取全新的网络安全态势要素数据集SDS-W.从现有开放网络安全数据集和全新态势要素数据集SDS-W两方面,将PSO-TSA 与几种常见的态势要素识别算法进行对比实验.实验表明,PSO-TSA 算法在绝大多数的态势要素数据集中的性能表现都要优于其他识别算法,在维持甚至大幅度降低原有时间成本的基础上,显著提升了态势要素识别的精确度.

未来的工作将讨论在现有态势要素识别的基础上,如何将识别后的要素更快、更准确地进行态势理解,从而对网络安全态势有一个更直观有效的表达,为之后的决策、分析提供强有力的支持.

猜你喜欢

模拟退火态势粒子
结合模拟退火和多分配策略的密度峰值聚类算法
历史虚无主义的新近演化态势与特征
碘-125粒子调控微小RNA-193b-5p抑制胃癌的增殖和侵袭
基于膜计算粒子群优化的FastSLAM算法改进
基于遗传模拟退火法的大地电磁非线性反演研究
2019年12月与11月相比汽车产销延续了增长态势
汇市延续小幅震荡态势
国际金价能否延续上涨态势
Conduit necrosis following esophagectomy:An up-to-date literature review
改进模拟退火算法在TSP中的应用