混合多层结构化网络攻击态势预测算法仿真
2021-11-17张曼
张 曼
(西北政法大学,陕西 西安 710100)
1 引言
混合多层结构化网络攻击态势预测算法是网络安全主动防御的核心,该预测算法在网络风险评估与分析中起到关键性作用。网络攻击防范技术逐渐从被动防护演变为主动防御。根据网络攻击态势[1]可了解网络当前攻击形势,并对未来一段时间内的网络攻击形式进行预测,能够在网络遭受攻击前,采用适当的措施对其进行防范,所以网络攻击态势的精准预测对维护网络安全起到关键作用。
传统的预测方法以时间序列检测法[2]为主,但网络攻击存在变化大及非线性的特点,针对于这些特点,时间序列方法还不能够准确解决,但随着人工智能不断地发展与完善,研发了多种网络攻击态势预测方法,例如:神经网络[3]、支持向量机[4]、马尔科夫链[5],这些预测方法虽然有较高的预测精度,但经大量的实验结果表明,它们都含有一些弊端。神经网络存在参数选取困难、网络数据收集速度慢,容易局限于最小点,导致预测结果易出现过拟合的状况;支持向量机的预测算法虽解决了神经网络过拟合的状况,但其参数选择没有理论指导,使客观性较低,导致在参数的样本较大时,训练速度减低;马尔科夫链对于预测模型的完成还不够精确,需要用到多种公式求导,计算起来比较困难且消耗时间。所以,想要实现网络攻击态势的预测并具有鲁棒性,就要对参数进行优化[6]。对此,提出一种遗传算法[7]与支持向量机相结合的网络攻击态势预测算法。遗传算法通过全局搜索对支持向量机进行参数优化,然后利用支持向量机算法对网络攻击态势进行预测,最后根据仿真对预测算法精度进行检验与分析,实验表明该网络攻击态势预测方法具有准确性与时效性。
2 网络攻击态势评估指标选取
依据系统内攻击状况,选取态势指标,网络态势反映了当前受到攻击的状况以及攻击发展变化趋势。
网络攻击指标一般有两种方式:①根据贝叶斯方法[8]对报警数量的增减程度进行预测,也就是根据安全设备报警数量累加,从而得到的指标;②综合评定指标的衡量标准是由网络风险相关因素决定的,比如网络攻击的报警次数、严重程度以及涉及到的资产价值,然后抽取某一时间段的报警数据,选择合适的相关模式检测入侵设备,最后获得指标。在处理混合多层结构化网络攻击态势上,应选取第二种网络攻击指标,同时考虑到ISO17799对网络风险判定,本文采用层次分析法[9]求出网络攻击态势评估指标。
在主机入侵监测设备中,将监测出的报警信息作为数据源加以分析,主要分为网络报警、告警日志以及代理报警三部分信息。网络报警指主机网络数据包测试报警,包括IP包登录、攻击嗅探检测等形式;告警日志包括登录、注销、远程监控等形式;代理报警包括注册表、制定文件、木马等监控形式。网络攻击态势指标模型如下所示:
图1 网络攻击态势指标模型
通过目标层、设备层、准则层、指标层依次表示攻击态势评估目标、资产价值特点、报警类型以及等级分配。完成了网络态势评估指标后,根据层次分析法建造判别矩阵,一次性测验层次单、总排序,获取指标层目标权重,表示方法为R1~R24。N1~N24表示分类统计的数据源,根据式(1)计算,可以得到最终网络攻击态势评估指标值E。
E=N1×R1+N2×R2+N3×R3+…+N24×R24
(1)
3 网络攻击态势预测算法及实现
3.1 支持向量机参数优化
支持向量机是目前应用非常多的一种非线性预测技术,大量的检测分析表明,支持向量机能够处理极其复杂的非线性问题,更能体现出算法的超高性能。
因为网络攻击态势值波动频率较大,所以会影响支持向量机的计算速度,对此,将重构数据带入到模型中学习并对其进行归一化处理[10],如式(2)所示
(2)
网络攻击态势数据会在每一段时间监测点对应一个网络态势值,这种方法叫做一维时间序列,利用拓阶法可变成多维时间序列,比如,一维时间顺序组为{x1,x2,…,xn},设定最优维数为m,完成后的多维时间序列为{x1,x2,…,xm},时间点为m+1,网络态势值为xm+1,然后进行预测,从而得到的多维时间序列{x1,x2,…,xm+1},以此类推,最终得到多维时间序列,如表1所示。
表1 多维时间序列
由此网络攻击分为训练集与测试集,前者基于支持向量机对网络攻击态势加以预测,后者预测准确度。
支持向量机用来解决预测的基本算法如下:
设有网络攻击态势的观测样本:{(x1,y1),…,(xn,yn)},其中xi表示网络攻击态势的输入向量,yi表示网络攻击态势的输出值,n表示实验采集的样本数量。支持向量机预测是由一种非线性映射φ函数,将网络攻击态势的输入向量xi投放到多维空间H,然后在多维空间内进行线性预测,如式(3)所示
(3)
其中,ω代表支持向量机超平面的权值向量,b代表偏置量。
所以,支持向量机预测就是在上所述的基础上进一步完善计算方法,展现统计学习理念核心思想,降低计算误差,简化计算步骤,获取小期望风险[11]。泛化能力提高预测表达式如式(4)所示
(4)
制约下述风险函数条件为式(5)所示
(5)
(6)
利用拉格朗日函数和对偶原理,将非线性预测问题转变成一个线性问题,如式(7)所示
(7)
由KKT条件以及式(4)的对偶性算出支持向量机预测问题,如式(8)所示
(8)
式中,k(x,xi)代表支持向量机函数,主要对高维特征空间的内积进行概述。高斯核函数的性能要优于其它核函数,所以在选择支持向量机核函数上会采用高斯核函数,其定义如式(9)所示
(9)
风险函数条件如式(10)所示
(10)
基于此,推导出支持向量机预测模型的表达式如式(11)所示
(11)
式中,σ代表径向基函数。高斯核函数作为支持向量机的核函数,其预测算法需要优化的参数为ε、c和σ。将ε的值定为0.06,c为不限定控制因子,由设置σ的值为0.2来完成预测。
一般的支持向量机参数会选择经验分析法、列举法和网络信息检索法,经验证分析法中的参数性能和准确度不高,列举法和网络信息检索法应用起来比较繁琐,消耗时间,所以要想增强网络攻击态势预测的准确度,就要完成参数的优化。遗传算法是根据生物界进化规律发展而来,含有对全局搜索的特征,对于数据的求导没有限制性。并能主动识别优化范围,具有较高的时效性。通过遗传算法的这些特点,对支持向量机的参数ε、c和σ进行优化。
3.2 网络攻击态势预测算法实现
网络攻击态势预测分为训练模块以及预测模块两部分,在训练模块中,基于网络攻击次数,对支持向量机加以训练,保证预测算法精准性,在获取精准的预测模型后,通过统计数据预测网络攻击态势[12]。
1)由训练模块完成准确的预测需要分为以下几个阶段;
第一阶段:需要先传输数据来设定多组时间序列,同时根据此时间序列确定时间限度。
第二阶段:反复使用数据库读取模块与评估模块,将时间序列中的每一项进行合计,完成每项态势评估后,根据评估值将时间序列分别输入到各组List中。
第三阶段:通过把预测训练模块传输到各组List中,来生成预测模型。
图2 训练模块结构
2)预测模块会通过最近时间段内的网络攻击数据,并采用支持向量机算法对网络攻击态势进行预测。
该模块实现网络攻击态势的预测算法需要分为以下几个阶段;
第一阶段:由传入数据来设定每项预测时间序列和时间范围。
第二阶段:反复使用数据库读取模块与评估模块,从而完成时间序列的架设。
第三阶段:通过采用第二阶段计算后的结果,基于攻击态势预测模块完成预测过程。
第四阶段:用显示模块来显示攻击态势预测结果。
3.3 网络安全态势预测流程结构
综上所述,网络安全态势预测流程如图3所示:
图3 网络安全态势预测流程
4 实验结果与分析
4.1 实验数据收集
为检验预测算法的可行性,选取实验基地作为检测环境。基于局域网互联网,此局域网包含一台Wep服务器、一台FTP服务器、10台PC和2台攻击模拟机。实验设备以及参数信息如表2所示。
表2 实验参数信息
4.2 实验结果分析
通过最优输入权值、隐含层阈值,重构训练集,建立安全态势预测模型,获取预测误差变化曲线。其中误差的计算公式为:
(12)
式中,yk是网络安全态势的实际值,y′k是预测值,n是预测个数。
图4 安全态势值与预测误差的变化曲线
由上图所示,预测值与网络安全态势的实际值十分吻合,预测误差很少,表明混合多层结构化网络攻击态势预测算法可以很好刻画拟合网络安全态势变化趋势,是一种有效的网络安全态势预测模型。主要原因在于所提方法采用支持向量机预测完善计算方法,获得一个小的期望风险,这样可以提高预测的泛化能力,降低实际值与预测值之间的评估误差。
威胁严重性评估指标的建立要考虑评估对象多方面因素,信息多角度融合可以提高评估准确程度,将攻击途径AV、入侵警告严重程度AS作为评估指标,具体实验结果如图5所示。
图5 不同方法对安全态势预测效果的影响分析
由图5可以看出,在AV、AS两个指标变化的过程中,神经网络以及支持向量机方法的预测效果均呈现下降的趋势,而所提方法的预测效果则稳步上升,由此可见,混合多层结构化网络攻击态势预测算法可高效预测网络安全态势。
5 结束语
网络攻击态势变化具有时变性与非线性的问题,传统支持向量机预测算法对于参数这一问题,没有有效的解决办法,且存在预测准确性较低,所以,提出一种遗传算法与支持向量机算法相结合的网络攻击态势预测算法。根据实验结果证明,通过遗传算法全面检索及寻优能力,有效改善了支持向量机参数优化问题,网络攻击态势预测的准确性有较大增强,与其它网络攻击态势预测算法相比,该算法的预测效果更有实时性,同时也能较好的维护网络安全运行状况,有效防御网络攻击。