一种基于机器学习算法的网络安全评估方法

2021-06-27 03:26李丹彤冯海云高涌皓
电子设计工程 2021年12期
关键词:果蝇态势向量

李丹彤,冯海云,高涌皓

(延安大学附属医院网络中心,陕西延安 716000)

随着计算机技术不断发展完善,互联网迅速得到发展和普及,但同时引起的网络安全事件也成为目前相关部门重点关注的话题[1]。目前,国内外在网络安全的态势评估、威胁类型等方面已经取得一定的研究进展。常见网络安全态势预测模型有灰色理论预测模型、支持向量机预测模型、神经网络预测模型、时间序列预测模型[2-3]。但由于网络安全态势的影响因素诸多,现阶段仍然没有有效的评估预测模型。与此同时,支持向量机、随机森林、遗传算法、神经网络等常见的机器算法均在各行各业风险评估和预测领域得到广泛应用,且已经取得相当大的成就[4]。鉴于此,此次研究利用支持向量机和果蝇改进算法,提出结合时间序列和支持向量机的网络安全态势预测模型,旨在对未来网络安全的评估提供建设性的意见。

1 面向FOA-SVM 算法的网络安全评估模型

1.1 支持向量机算法优化改进

研究引入支持向量机SVM(SupportVector Machine)机器算法进行网络安全评估预测,其基本思想是通过一个非线性映射,把原空间的非线性问题转移到空间中更高维度的线性问题,在超空间中获得一个超平面有效地将正例和负例分开。假设超平面可以满足训练集并正确分类,设置:

解出ω和b 即可得到模型,分析可以看出,支持向量模型仅与其支持向量有关。针对对偶问题采用二次规划算法解决会导致巨大的开销,因此每次选择更新的aj和ai,然后固定aj和ai以外的其他参数,获得更新之后的aj和ai,更新拉格朗日乘子,提高运算效率[5-6]。使用所有支持向量来求得b的平均值,得到广泛应用的效果。其计算表达式为:

为了实现高纬度的线性分割,减少运算中复杂程度,采用核函数来降低复杂性。ϕ(xi)表示某样本映射得到的特征向量,ϕ(xi)Tϕ(xj) 表示向量xi和xj映射到高维空间的特征向量内积,通过假设核函数κ(xi,xj)=ϕ(xi)Tϕ(xj),二分类模型可以简化为:

核函数“核矩阵”半正定,所以总可以把两类数据区分开,核函数的选择直接决定支持向量机最关键的环节。常见的核函数类型有线性核、二次多项式核与径向基3 种函数。径向基函数具备简单、光滑性好、径向对称等优点,研究选用径向基函数作为核函数,函数宽度参数对安全态势的预测结果影响很大,需要最优求解。

g是指函数宽度参数,该参数的取值会直接影响高维空间分布复杂度,直接影响网络安全态势结果。蚁群算法和粒子群算法作为经典的群智智能算法均需要更新迭代才能找到最优解,此次研究利用新型的果蝇优化算法FOA(Fruit Fly Optimization Algorithm)作为演化式算法进行最优值求解。该算法是受到果蝇寻觅食物的启发而产生的全局优化求解的方法[7-10]。果蝇具备敏锐的嗅觉和视觉功能,可依靠自身嗅觉发现40 km 以外的食物源,同时也可通过视觉发现其他果蝇和同伴所处位置[11]。果蝇算法的迭代步骤简化图如图1 所示,首先随机生成果蝇群体且计算群体中每个果蝇的气味浓度,依据的原则是每个中心点一个果蝇群体。然后设置最高感受气味浓度值的果蝇为坐标中心点,群体中其他果蝇依靠视觉飞往该中心点。最后继续以上操作直至寻找到全局最优解。

图1 果蝇算法简化图

果蝇算法具体的操作如下,第一步,确定群体规模Sizepop 和最大迭代次数Maxgen,同时设置初始化果蝇群体的初始位置X_axis 和Y_axis。第二步,给予果蝇个体搜索食物的自主选择权利,任意选取方向和距离,当下果蝇的位置表示为式(6)。RandomValue是指搜索距离。第三步,由于无法准确获知食物的位置,预知食物到原点的距离为Disti,经计算可得到果蝇味道浓度判定值Si。第四步,将获得值代入果蝇味道浓度判别函数,即可得到所有果蝇个体的味道浓度Smelli。第五步,将果蝇群体中味道浓度最大值的果蝇个体作为最优个体。第六步,记下最佳果蝇的最佳味道浓度值和坐标,此时群体中的其他果蝇将依靠灵敏的视觉飞向最佳位置。第七步,重复进行第二步至第五步,然后判断最佳味道浓度值是否优于前一味道浓度值,如果当前迭代次数小于最大迭代次数,完成第六步操作。

1.2 网络安全评估预测

研究提出面向FOA-SVM 算法的网络安全预测评估模型,首先利用时间序列模型进行网络安全态势预测。时间序列模型通过安全事件采集化处理获取当前网络安全状况,获取对应时间的安全态势值,表现为随攻击长度不断变化的数值。常见的时间序列模型为短记忆序列和长记忆模型。其中短记忆模型最常见是MA(Moving Average)模型、自回归模型AR(Auto Regressive)、自动回归平均模型ARMA(Auto Regressive and Moving Average)。鉴于网络攻击相互间存在潜在相关性,因此选用短时时间序列进行安全评估。在预测方法方面,研究排除移动平均法、分解方法、指数平滑法等线性方法,选用SVM 算法进行预测,且经过FOA 算法对SVM 的参数和输入维度的优化。

网络安全态势评估是指网络安全整体情况,对网络安全态势的预测有极其重要的影响。具体评估步骤如下,首先完成网络安全的采集,然后归一化处理安全事件和状态信息,其次动态关联归一化后的安全事件,生成相对应的告警信息,并及时更新安全事件的可靠性,最后利用态势指标模型计算的网络安全态势,并得到网络安全态势值[12-13]。安全态势评估的指标和含义如表1 所示,包括威胁指数T、脆弱度指数V、资产状态指数R、网络安全态势值S。威胁指数是对安全事件归一化和动态关联后得到每个事件的指数,它是衡量网络遭遇攻击的危害情况,该值越大,网络遭遇的攻击性就越大。资产运行状态指数是指CPU 使用率、内存使用率、宽带利用率、磁盘使用率。

表1 安全态势评估的指标和含义

安全态势值是对各种影响网络安全因素的量化和评估,其计算公式如式(7)所示。

i、j、k是指相应的网络安全影响因子,值的确定依据为人工分析法,值分别确定为0.2、0.2、0.6。其中有关安全事件指标的计算重要参考依据为资产值Ai、优先级Pi、可靠性Rei。资产值依据资产对系统的重要性分配的一个资产价值,取值范围为(0,5)[14]。优先级是依据安全事件对系统影响程度分配先后秩序,该值越大,表明影响范围越大,取值范围也为(0,5)。可靠性是指依据安全事件发生的可能性分配的值,该值越大,表明发生该类型安全事件的可能性越高,取值范围为(0,1)[15]。

基于FOA-SVM 算法的网络安全评估预测的流程图如图2 所示,首先经网络安全态势的计算获取安全态势时间序列数据,设置系统每间隔3 min 自动评估当前的网络安全情况,随后构建时间序列矩阵,同时需要保证序列的有序性。

图2 基于FOA-SVM算法的网络安全评估预测

对于含有N个数据的训练集,构造时间序列样本X如式(8)所示。

安全态势训练样本值X有N-n个时间序列,且每条时间序列含有n个时间记录,矩阵为相应的训练目标值。矩阵Y和矩阵X可以保证态势值的连续性。测试集的构造方式和训练集相同,然后通过训练集在空间拟合一个较好的线性函数完成SVM算法训练,并通过该拟合函数实现对测试集的预测,以此确定模型的训练效果。训练具体实现步骤如下,先确定训练矩阵中的维数(n),再依据经验设定惩罚因子(C)和核函数的参数,最终通过训练数据求解二次规划并获取拟合函数[16-17]。最后依据测试记录的安全态势值预测训练器的性能,并通过果蝇改进算法获取最佳的维数、惩罚因子、核函数参数。

研究利用二类混淆矩阵进行算法性能评价,真正例、假负例、假正例、负例分别用TP、FN、FP、TN 表示,二类混淆矩阵表示如表2 所示。算法性能评价指标包括Preicision、Accuracy、F1-Score。AUC 是用于衡量ROC 函数下方面积的评价指标,该函数依据模型而绘制代表预测为正例的阈值曲线,该评价方法可以避免不均匀数据分布影响的评价误差。

表2 二类混淆矩阵

2 安全态势评估预测分析

2.1 SVM算法参数优化结果

实验测试环境为Debian 7.8 Wheezy 系统,内存为6 GB,CPU 运行速度为2.2 GHz,研究利用python脚本实现结果分析和展示。首先从安全态势历史数据库中任意挑选连续的294 个安全态势值,将前面244 个数据和后面44 个数据集分别作为训练集和测试集,安全态势变化值曲线如图3 所示。安全态势时间序列表现出复杂多变的变化趋势,变化范围为30~75。

图3 安全态势时间序列

表3 是指果蝇改进算法的寻优序列,由于篇幅受限,仅展示部分数据。随着迭代次数的增加,可以看出惩罚因子等相应的参数不断迭代更新,当决定系数逐渐趋于稳定时,即可得到最佳的参数。经过果蝇改进算法迭代,最终得到最佳核函数参数为9.558 866 730 69,输入维数为12,惩罚因子为26.611 251 199 2。

表3 果蝇改进算法的寻优序列

图4 是指FOA-SVM 网络安全态势预测模型在0~50 的时间序列下预测值和真实值的对比情况。真实值和预测值具有在某些时间段内完全一致,但在有些时间段内存在相反的变化趋势,经计算得到SVM 模型预测序列的决定系数为0.906 997 774 231。因此该模型具有极高的拟合性,有很好预测效果。决定系数越接近1,表明拟合程度越高,且随着决定系数的稳定即可以得到相应的最佳参数。

图4 预测对比图

2.2 网络安全评估结果

图5 是FOA-SVM、RBF、PSO-SVM 3 种模型的预测值和真实值的对比情况。结合图5 可以看出,3 种预测模型均具有极高的性能,在0~50 的时间序列下,网络安全态势值均稳定在30~50 之间。通过粒子群算法PSO(Particle Swarm Optimization)优化SVM 的参数,得到相应预测模型的决定系数为0.902 380 400 512。但由于粒子群算法易陷于局部最小解,所得到全局搜索能力相对弱于果蝇算法。径向基神经网络是RBF(Radial Basis Function)是目前新型的神经网络算法,能极大程度降低训练时间,具备很强的泛化能力,其预测模型的决定系数可达到0.902 132 952 65,但构建模型非常困难。综上分析,该文提出的FOA-SVM 预测模型是较优模型。

图5 几种算法态势对比情况

实验进一步对比3 种预测模型性能,它们的准确率、AUC 值、F1 值的结果分别如图6(a)、6(b)、6(c)所示。从准确率来看,FOA-SVM、RBF、PSO-SVM 3 种模型的值分别为81.2%、79.8%、78.2%。从AUC 值变化情况来看,FOA-SVM 预测模型的值最高为0.83,而RBF、PSO-SVM 两种模型的值分别为0.79 和0.76。FOA-SVM、RBF、PSO-SVM 3 种模型的F1 值依次为0.83、0.76、0.76。综上分析,FOA-SVM 预测模型具有最佳的性能。

图6 3种网络安全预测模型的准确率、AUC值、F1值的对比

3 结论

网络安全态势的研究是目前网络安全评估领域重点关注的话题。针对当前国内外存在大量网络威胁这一现状,此次研究提出基于FOA-SVM 算法的网络安全态势评估模型,在建立网络安全态势计算指标模型的基础上,利用SVM 机器算法进行网络安全态势预测,并通过果蝇改进算法进行参数优化,得到最佳预测模型。FOA 迭代寻优结果表明,预测模型的最佳核函数参数为9.558 866 730 69,输入维数为12,惩罚因子为26.611 251 199 2。FOA-SVM、RBF、PSOSVM 3 种模型的决定系数分别为0.906 997 774 231、0.902 380 400 512、0.902 132 952 65,准确率分别为81.2%、79.8%、78.2%,AUC 值分别为0.79 和0.76,F1值依次为0.83、0.76、0.76。因此FOA-SVM 网络安全态势预测模型具有最佳的性能优势和极高的拟合性。该研究并未建立多层次和全民的基础信息体系进行安全信息采集,在下一步工作中需要进一步完善改进。

猜你喜欢
果蝇态势向量
向量的分解
果蝇遇到危险时会心跳加速
2021年大樱桃园果蝇的发生与防控
聚焦“向量与三角”创新题
2019年12月与11月相比汽车产销延续了增长态势
汇市延续小幅震荡态势
小果蝇助力治疗孤独症
我国天然气供需呈现紧平衡态势
基于改进果蝇神经网络的短期风电功率预测
向量垂直在解析几何中的应用