用于网络安全态势预测的粒子群与支持向量机算法研究

2019-06-17 10:02
计算机应用与软件 2019年6期
关键词:态势粒子向量

孙 卫 喜

(渭南师范学院网络安全与信息化学院 陕西 渭南 714099)

0 引 言

现今网络已经成为国家战略部署、人民日常生活、社会经济发展的重要基础。人们在工作、学习、生活等方面分享网络带来极大便利的同时也为经常出现的网络安全问题感到困惑,而网络结构的复杂化、数据的综合化及协议的多样化等使管理人员感到茫然[1],特别是互联网环境高速进化中网络安全威胁及网络攻击手段多样化已超越了防范措施的推出速度[2]。面对网络攻击行为规模化、常态化发展的趋势,研究如何在网络攻击之前,利用有效的防护措施及时发现攻击行为并予以阻止就显得非常有意义。

传统的安全卫士、杀毒软件、防火墙的网络安全防护往往是单一的,难以主动防御网络威胁。美国的Time Bass[3-4]针对网络安全的复杂性于1999年提出了网络安全态势感知的概念,网络安全态势感知NSSA(Network Security Situation Awareness)能对影响网络安全的各种因素信息进行解析、收集、综合处理,并建立数学模型,给出评估网络安全的方法,进而对网络安全进行预测。NSSA包含对网络态势要素获取、态势信息融合量化及对未来态势预测等方面的内容。传统的网络安全技术主要存在,检测的数据流数据单一、速度慢、更新周期繁琐等问题。与传统的网络安全技术相比,NSSA具有实时性、多样性、整体性等优点。其更注重网络安全细节的特征[5]。NSSA作为网络安全的新技术,以网络安全发展状况为关注点,能从整体上感知网络的安全状况。它的数据支持来源于硬件设备与软件系统,更加注重统筹分析影响网络安全的各种因素,全面实时、多角度反映网络当前时刻的安全状况。采用更加科学合理的网络安全评估手段和方法对网络安全状况实时监测,及时发现并处理发现的网络安全问题,NSSA是网络管理的发展方向。网络安全态势感知系统以网络安全态势要素为基础,网络安全态势要素以数据精炼、对象精练、态势精练三次抽象来获取, 从网络系统安全中获取高质量的网络态势要素是实现网络安全主动防御的前提[6]。

网络安全的重要性无论是国家或单位都有充分的认识,纷纷构建其网络安全态势感知系统,该系统不仅需要对网络实施漏洞检查、入侵检测、防火墙等基础防御,更需要掌握全局网络系统的安全运行数据,为管理者提供整个网络变化的决策依据。

在实际操作中,NSSA能通过实时监测的手段了解大规模复杂网络环境中影响网络安全状态的网络、用户、网络设备运行情况。在技术上,NSSA通常通过对当前和早期检测信息表现出的网络安全状态进行分析处理,预测后续的网络安全态势[7],从而使网络管理者能及时利用可视化的网络安全预测系统,对发现的网络安全弱点、预测到的威胁,制定出相应的措施主动进行防御。本文研究的重点为网络安全态势感知中有关态势预测的部分。

1 网络安全态势感知

SA(Situation Awareness),态势感知起源于军事领域,用于对复杂结构、影响因素众多、大范围事件的整体理解及快速决策处理[8]。Endsley[9]以“在一定的范围内,感知和理解环境状况,并对后续发展趋势进行推算” 最先确定了态势感知,并将态势获取、态势理解、态势预测界定为态势感知的三个方面。Loke[10]提出了“网络态势感知是网络环境中所有信息按照逻辑约束关系进行组合的结果”,Lacey 等[11]通过系统研究网络态势感知给出了网络空间态势感知框架,虽然网络态势感知目前还没有权威的定义,但网络态势感知作用很明确,即:通过感知系统观测整个网络的安全情况,依据观测到的数据对网络安全事件及时做出判断,并以可视化方式提供给管理者决策[12]。

用于进行网络安全态势感知的三大技术包括数据挖掘、态势评估以及态势预测。其中,数据挖掘中力求准确、快速、全面地找到网络威胁事件;态势评估要求更为有效客观地评价网络安全态势;态势预测则强调预测网络安全的准确性,以便网络管理者依据预测结果采取相应的措施,保护网络安全。本文的研究重点是在分析网络安全态势预测中的相关技术后,对其进行改进,并使改进后的态势预测系统精度得以提高。

国外网络安全态势感知系统架构的建立主要采用的是集成化思想,卡内基梅隆大学SEI 2005年在网络态势感知系统中集成了Netflow工具,能对潜在的、恶意的网络攻击行为进行识别与响应并做出相应的防御。King等[13]在分类属性网络中运用深度包检测技术提供了深刻全面的态势感知结果,Varun 等在基于事件学习理论的基础上构建了分析网络攻击态势的网络攻击检测模型,Bode等[14]构建了网络态势风险管理的贝叶斯网络模型,Friedberg等[15]给出了网络异常行为的态势感知基于事件自动关联的事件检测AECID。CID(Cooperative Infrastructure Defense)中Fink等[16]提出了分层协同管理的思路,并在CID之上,提出了数字蚂蚁的思路[17]。Szwed等[18]对网络依赖关系中重要资产采用模糊认知图的方式获取并评估其危害程度,该方法存在数据来源单一、主观性、误差较大的问题。Liu等[19]基于隐马尔可夫模型与报警观测序列,以Viterbi 算法推导最大可能状态转移序列,实现攻击意图识别,但缺乏全网风险值量化。Ghasemigol 等[20]针对攻击发生概率的不确定性,提出了一种综合预测算法,提高了预测精度。Wu等[21]基于大数据分析提出了电网系统安全态势感知机制,将博弈论和模糊聚类相结合,降低错误率提高预测效率。

国内研究网络安全态势感知主要包括:网络安全数据的全面获得,数据融合方法及数据之间的关联性分析,网络安全态势指标体系的建立以及网络安全态势评估。陈秀真等[22]利用网络运行情况与告警信息数据,对网络结构及主机和服务发挥的作用进行系统分析,提取影响网络态势的多个因素,给出了网络安全态势计算方法和层次化的量化评估模型,但其缺乏对网络攻击间的联系及整体性分析。李方伟等[23]给出的一种径向基函数神经网络的网络安全态势预测模型,虽然对网络安全态势预测精度有所提高,但有预测结果不稳定与过拟合的问题存在。韦勇等[24]依据层次化的思想,对节点上的安全要素利用D-S证据理论做了融合,再按照节点、子网、全网层融合,最后获得网络态势值,从而在信息融合的基础上建立网络安全态势评估模型。由于其有效处理了多源安全事件,使多源信息间的互补性得到了充分利用,从而使态势感知的准确性进一步提高,也使得在网络态势感知中多源信息融合优于单源的特征得到验证。周新卫等[25]基于安全态势值与多节点网络安全态势重要影响因子值,采用构建的模型对多节点网络安全态势进行预测,实现对突变态势的有效预测,提高网络安全态势的预测精度。刘效武等[26]以数据信息从融合异质多传感器获得,再用支持向量机结合特征约简算法生成网络安全态势值,最后依据评价指标评价量化态势感知。贾焰等[27]建立态势感知模型时采用关联分析与集中处理所收集到的网络安全态势数据,再对网络安全态势用建立的指标体系进行预测,该模型可用于较大规模的网络环境。张丹等[28]利用自律反馈特性获取网络安全态势数据,建立态势评估模型时用层次分析法(AHP),再用神经网络的改进方法对态势进行预测。甘文道等[29]使用网络径向基函数神经网络更利于神经网络的结构与参数控制,使得用网络安全态势图反映网络安全更直观。黄亮亮[30]在网络安全态势预测中用PSO(Particle Swarm Optimization)优化RBF(Radial Basis Function)网络的方法,给出PSO-RBF网络模型,通过对历史数据分析并映射出未来的网络态势值。胡冠宇等[31]将云群的高维差分进化算法应用到预测网络安全态势中补充了算法的多样性及搜索精度。琚安康等[32]将现有大数据处理技术与安全事件管理需求相结合,构建了集数据存储、实时关联检测、收集整理、离线分析发现、态势呈现、威胁预警等有效地实施了全流程网络安全态势预测。

经过专家学者对网络安全态势预测大量的分析研究及验证,发现网络式非线性的状态特征使得时间序列应用于网络安全态势预测中存在许多问题。而传统的统计学方法表示的是线性特征,因此需要借助于人工智能算法如支持向量机、马尔可夫、神经网络等提高对网络安全态势的预测精准,但支持向量机参数选定的盲目性、神经网络参数的难以确定和马尔可夫算法公式推导与建模过程的繁琐也是网络安全态势预测面临新的问题[33-35]。

网络安全态势感知常用的方法包括基于神经网络的方法、支持向量机、模糊逻辑、知识推理、基于贝叶斯网络、深度学习的方法等。神经网络利用大量的实验来进行神经网络模型的建立,存在计算量大、选择基函数较为困难的问题。知识推理方法克服数学模型难以处理的情况,避免客观性受主观因素的影响,模拟人类思维过程。贝叶斯网络用有向图表示,图中每一个节点表示一种变迁状态,可从状态属性图最小割、重要性程度、可信任性等分析网络系统。网络安全态势感知方法按照其原理可分为:基于模式识别的态势研究方法、基于知识推理的态势研究方法及基于数学模型的态势研究方法。

已有文献对网络安全态势预测提供了理论基础以及思路上的借鉴。目前网络安全态势预测的技术尚不成熟,用于网络安全态势预测的技术一般为一些智能优化算法,然而这些算法较少考虑网络安全态势感知的实际情况。因此,造成了预测准确率低,时变性和非线性等因素未被考虑等问题。基于此,本文给出了一种将改进粒子群算法与支持向量机相结合的新算法来提高网络安全态势预测的精度。

2 网络安全态势预测模型的构建

2.1 网络安全态势预测

网络安全态势的预测以发生网络安全事件的数量、频率、网络受威胁程度等因素经过处理而获取反映网络态势的数据为根据。目前关于网络安全态势预测思路与框架尚未完全形成,发展较快的网络安全态势预测方法主要有:灰色预测、神经网络、时间序列预测法及支持向量机预测。

本文对上述网络安全态势预测的方法进行了分析比较[36-49],并给出了相关方法的优缺点以及适用范围,具体如表1所示。

表1 网络安全态势预测方法比较

续表1

依据网络安全态势预测相关文献及上述研究分析,得出网络安全态势预测具有以下特征:

(1) 数据呈现非线性,高维度等特征。

(2) 预测结果表现出不确定性,无周期性。

鉴于此,本文选择支持向量机作为网络安全态势预测的基本模型。

然而传统的支持向量机方法存在参数确定困难以及结果可能为局部最优等问题。针对传统支持向量机存在的问题,本文引入了一种改进的粒子群算法。改进的粒子群算法与传统粒子群算法相比,使用了混沌优化函数,使得改进后的算法更加偏向全局最优,从而解决了参数确定及局部最优的问题。

综上所述,本文是在对目前网络安全态势预测方法大量的分析研究后,给出一种支持向量机与改进粒子群优化算法相结合的网络安全态势预测方法,即在SVM优点特征的基础上引入改进的粒子群优化算法,通过用无体积无质量的粒子作为个体且规定各粒子的行为规则,使用个体之间的协作寻优在表现出复杂特性的整个粒子群中寻找最优解,进而优化支持向量机的三个参数。该安全态势预测方法还克服了使用线性方法评估网络安全态势带来的预测精度低、描述网络目前状态与未来状态关系困难等问题,更适应网络安全态势变化时变性、非线性等特点。

2.2 改进的粒子群与支持向量机算法

本文将按照由简单到复杂的顺序行文。首先给出一般的支持向量机算法,然后,引入改进的粒子群算法确定支持向量机所需参数,最后,给出综合算法的计算步骤。

2.2.1支持向量机算法

为解决复杂的模式识别问题,Vapnik提出了支持向量机,取得了较大进展[50],并在统计学习理论的基础上给出了SVM分类器,较好地解决了线性不可分的问题[51]。后续的学者们研究出基于二叉树的多分类方法[52]、序列最小优化训练算法(SMO)[53]、多分类理论、决策导向非循环图法(DDAG)[54]、1-a.r方法[55],近年来学者们又研究出Class-SVM、v-SVM、C-SVM等算法,进一步完善支持向量机的理论体系。张翔等[56]在态势评估指标的时间序列预测中采用支持向量回归预测方法。王庚等[57]采用遗传算法的染色体编码优化支持向量机参数。李洁等[58]给出的通过对态势样本集进行归一化处理和相空间重构,利用相关向量机最优的超参数与和声搜索算法搜索,采用wilcoxon符号秩检验验证模型预测性能之间的差异性,提升了网络安全态势预测模型的预测精度和速度。

支持向量机SVM训练样本通过预设函数的支持向量机训练,函数的确定是在用不断拟合方法给出重要参数的基础上获得的。SVM泛化能力强,对复杂的非线性数据与小样本数据的建模识别能力很好。

本文所给样本集为:

{{X1,Y1},{X2,Y2},…,{Xn,Yn}}Xi∈Rn

观测样本值Yi∈Rn,设回归模型为:

f(x)=ωTx+b

(1)

式中:ω为支持向量机法向量,b为偏移量。

实现合理拟合样本集需要用到损失函数ε,|yi-f(xi)|=max{0,|yi-f(xi)|-ε}观测值与f(xi)回归预测值间误差的相对值不能大于ε,因而:

(2)

(3)

(4)

惩罚因子C>0,利用拉格朗日乘子求解,即:

(5)

(6)

并满足:

(7)

把式(6)代入式(4)获取优化目标函数,给出K(x,xi)核函数来替换点积运算,则:

(8)

(9)

于是,问题就变为二次规划问题,该问题的解:

(10)

鉴于在支持向量机核函数中使用高斯核函数较好,对高斯核函数做如下设定:

(11)

如下表达式是支持向量机预测模型:

(12)

高斯核函数宽度用σ表示。

2.2.2改进的粒子群优化算法

使用SVM算法能从庞杂的网络安全因素中找出规律,足以说明其对网络安全态势预测的有效性,而传统确定SVM参数的方法如网络搜索法、穷举法及经验法存在耗时长、难以找到最优参数、模型的预测精度较低等问题,分析前期对SVM用于网络安全态势预测的研究,发现SVM参数的优化问题是决定预测精度的关键。支持向量机的主要参数是:① 核函数的宽度σ,非线性问题最优解的复杂度用σ确定,σ的取值关系支持向量机的泛化能力;② 惩罚因子C,是过学习还是欠学习由C的取值过大或过小决定;③ 不敏感损失函数ε,支持向量数目和计算复杂度由ε确定,其表示训练时的误差期望。支持向量机主要参数的选取决定其预测精度,本文采用粒子群结合混沌优化两种算法对SVM的三个参数进行了优化。

粒子群算法是基于群体智能的优化理论所抽象出算法,其包括三方面内容:一是用一个具备初始位置和速度的粒子表示优化问题的解;二是按其最优位置以及全局最优位置动态调整粒子飞行速度和当前所处位置,搜寻粒子最好的目标获得最优解;三是用适应度函数衡量解的优劣程度。

粒子群优化算法是一种全局优化进化算法,有着进化初期需要调整的参数少、容易实现、概念简单、快速收敛等特征。但在用PSO优化SVM的三个主要参数时发现:粒子群中当单个粒子搜索到某个局部最优解时会影响到其周围的其他寻优粒子,导致它们快速靠近该粒子,这样就会出现局部最优解及粒子早熟等问题[59]。针对PSO存在局部最优解及粒子早熟的问题,本文引入了混沌优化算法对粒子群优化算法做了改进。混沌优化算法具有全局性的优点[60],其可以按某种规则一次性搜索一定范围内的所有情况,当粒子群出现部分收敛后,再按照粒子群变化的适应情况对粒子群最优值及情况差的粒子进行混沌变异,使粒子群优化算法避开部分最优的能力得到进一步的提高。

采用改进的PSO算法优化支持向量机中参数的思路为:将支持向量机中的三个参数作为一个组合优化(σ,C,ε),计算利用该组合得到的模拟值f(x)与实际值y的标准差(MSE),并以此为目标建立多目标规划模型,设置初始化参数并进行迭代,最终得到目标最小值。在迭代过程中,需要注意每个粒子的适应度值。若适应度值大于所给阈值,则使用一般PSO算法进行更新,若适应度值小于所给阈值,则使用混沌优化算法进行处理,再对粒子进行更新。

当模型取最小值时,得到的组合为SVM的最优参数。值得指出的是,需要预先给出这三个参数的取值范围,并作为多目标规划的约束。

式中:y为实际值,f(x)为利用SVM得到的模拟值。

ming(z1,z2,…,zi)=minMSE
s.t.ai≤zi≤bij=1,2,3

(13)

式中:z1、z2、z3分别对应SVM中需要得到的三个参数σ、C、ε,[ai,bi]分别为其对应的上下界。

使用PSO算法进行迭代的公式为:

(14)

(15)

下面给出用使用改进的PSO算法计算支持向量机参数的步骤:

Step2利用式(12)-式(13)计算所有粒子的初始个体极值以及全局初始极值。

Step5输出最优解向量。得到支持向量机所对应的函数表达式f(x)。

本文充分综合上述两种算法的优点计算SVM的三个参数。用混沌优化算法在参数选取时能使用普遍的参数选取法,不用考虑模型的变量维数和复杂度的特性,再利用混沌理论的规律性、遍历性、随机性等特点有效地解决了用PSO算法优化时出现的局部最优解及粒子早熟的问题,也就是用混沌变异算子对粒子群优化算法进行必要的改进。在粒子群进化中确定粒子是否早熟依据粒子群适应度最优变化情况,若变化不大于确定值时,则对粒子群中优胜粒子的位置与速度进行更换,再用混沌变量映射非优胜粒子,然后把替换了的优胜粒子与使用混沌优化后的非优粒子组成新种群。使用混沌优化法对此时全局最优值进行扰动,以便增加寻找全局最优解的几率,使得粒子群经过本操作后避开出现局部最优点的问题。粒子的速度与位置经混沌变量随机性初始化后,种群的遍历性及多样性得到进一步的提高。

2.3 网络安全态势预测步骤

预测步骤如图1所示。

图1 网络安全态势预测

(1) 收集、整理网络安全态势数据,量化处理网络安全监测数据。

(2) 数据归一化处理,影响网络安全态势的因素众多,有时收集到的数据差异明显,而支持向量机数据预测敏感区在(0,1)之间,故需要在(0,1)之间归类原始的网络安全态势数据。

(3) 在前两步的基础上通过确定嵌入维数和时间延迟将一维的网络安全态势数据转换为多维样本态势数据。

(4) 把获得的样本数据分为测试集与训练集两部分,把训练集数据输入SVM学习。

(5) SVM主要参数的优化采用改进的粒子群优化算法,实现用最优参数建立预测模型。

(6) 对测试集使用建立的预测模型进行预测,完成反归一化预测结果等处理,再依据得到的处理数据预测网络安全态势。

3 实验分析

3.1 网络安全态势数据的选取

选取某公司2017年3月1日-4月29日和5月1日-6月29日的安全测试数据,每天取样4回,安全测试数据按两月为一批,通过计算后每批各获得240个态势值,以相同的过程分别对两批数据进行实验,通过MATLAB 2016b进行实验。

3.2 实现预测网络安全态势的模型

累加所得的各组态势值,以获得新数据样本,实行归一化处理新数据样本。把NSSA时间延迟设定为1,用试凑法得到的嵌入维数为6,这样SVM就有了1个输出变量和5个输入变量,最后通过嵌入维数与延迟时间对获得的数据进行重构,生成SVM的测试集与训练集样本,再将生成的训练集样本数据输入到预测模型中学习。预测模型为改进的粒子群优化后的SVM。

3.3 预测网络安全态势

对本文所给网络安全态势预测模型通用性与有效性的检验,采用上述获得的两组重构数据,以未改进的PSO-SVM模型与改进后的模型分别进行预测,然后比较两种模型所得的预测结果。具体操作方法采用:① 先将两组重构数据的前200个点作为训练样本,用于两种方法的训练及模型的构建;两组数据的后40个点作为测试样本,用于将两种模型的预测结果与实际值进行比较。② 分别将两组重构数据的训练样本输入SVM进行学习,SVM的三个参数用改进的粒子群优化算法进行优化,获得用第一批数据时σ=5、ε=0.001、C=98;第二批数据时σ=5、ε=0.001、C=76.12。③ 用两组数据所获得的三个参数再分别将两组重构数据输入到支持向量机进行学习、训练得到新模型的预测结果。④ 图2为比对未经处理的原始值、本文所给方法得到的预测结果及未改进PSO-SVM得到的预测结果,图3为PSO-SVM改进前后的误差比较。

图2 三种数据比较图

图3 两种方法误差比较

结果表明,采用本文给出的网络安全态势预测方法,预测未来的网络安全状态精度高、误差小。

4 结 语

本文给出的采用支持向量机与改进粒子群优化算法相结合的网络安全态势预测方法,是基于实际问题展开的,理论基础深厚、可实施性强。实验表明,该方法进一步提高了网络安全预测的精确度及有效性。用本文给出的网络安全态势预测模型,能对先前网络安全态势的变化趋势做出准确、客观的评估,很好地预测后续的网络安全态势,便于指导网络管理者做出更好应对网络安全威胁的决策。

猜你喜欢
态势粒子向量
历史虚无主义的新近演化态势与特征
向量的分解
碘-125粒子调控微小RNA-193b-5p抑制胃癌的增殖和侵袭
聚焦“向量与三角”创新题
混沌粒子群算法在PMSM自抗扰控制中的优化研究
基于膜计算粒子群优化的FastSLAM算法改进
2019年12月与11月相比汽车产销延续了增长态势
汇市延续小幅震荡态势
国际金价能否延续上涨态势
向量垂直在解析几何中的应用