针对网络安全态势感知问题,为了提高态势感知和预测过程的速度和精准度,提出一种基于神经网络的网络安全态势感知方法.首先利用网络安全态势评估的指标体系来表征整个网络的安全状态,然后提出一种基于逆向传播(BP)神经网络的网络安全态势评估方法.为解决态势要素与评估结果之间的不确定性及模糊性问题, 提出一种基于RBF神经网络的网络安全态势预测方法,利用RBF神经网络找出网络态势值的非线性映射关系,采用自适应遗传算法对网络参数进行优化并感知网络安全态势,在真实网络环境下对提出的方法进行验证,实验结果证明该方法对网络安全态势感知是可行和有效的.
Aiming at the problems of security situation awareness about networks, a network security situation awareness method based on neural network is proposed. Firstly, an index system of network security situation evaluation was built and the network security situation was defined with four independent properties. Then, a back propagation (BP) neural network based on the method to estimate the security situation assessment of network was designed. To solve the problem of uncertainty and fuzziness between the situation factor and the evaluation result, a network security situation forecast method that can find non-linear mapping relationship among network situational values was given based on radial basis function (RBF) neural network, parameters of the network were optimized through adaptive genetic algorithm and the network security situation awareness was obtained. An experiment with a real network environment was performed, the experimental results prove that our method is feasible and effective to the network security situation awareness.
网络安全态势感知就是把所收集的与网络安全相关的要素进行融合,然后按照一定的方法对这些要素进行分析和理解,进而判断当前网络的安全态势和预测未来的安全态势.网络管理员可以依据分析和预测结果进行决策,将网络损失和风险降到最低.这方面的研究在国内外还处于初级阶段,有关的理论技术还不成熟,因此迫切需要找到一种高效并且准确的网络安全态势感知和预测方法.
对于网络安全态势感知的研究,国外起步比较早.网络安全态势概念被Tim Bass提出后,很多学者都对此进行了深入的研究,涵盖了态势评估以及态势预测技术,先后提出了联合指挥实验室(JDL,joint directors of laboratories)模型、Endsley模型和Tim Bass模型,多采用多数据融合等技术.国内在网络态势感知方面的研究起步较晚,主要采用数据挖掘和多感知数据融合的思路进行建模[1-3].
笔者根据引入的网络安全态势评估指标[4],提出一种基于逆向传播(BP,back propagation)神经网络的网络安全态势评估模型,给出将径向基函数(RBF,radial basis function)网络应用于态势预测的方法,在此过程中引入遗传算法对网络参数进行优化,提高网络安全态势评估和预测的准确性.
1 网络安全态势评估方法1.1 态势评估指标体系参考文献[5],并根据网络威胁和漏洞等要素特点,把网络态势的安全等级分级,用0~1区间的小数进行定量描述,网络安全态势安全等级对照表如表 1所示.
在表 1的基础上,形成安全等级矩阵,再建立对应一级指标的安全等级表来评价整个网络的安全态势状况.
1.2 评估数据选择在数据的提取方面,数据源主要取自入侵检测系统(IDS,intrusion detection systems)以及各种扫描工具或检测设备,主要包括Netflow收集的流量信息、Nessus收集的漏洞信息以及Snort采集的日志报警信息.然后通过3种方法完成对原始数据的提取和量化.
计算网络层数据量变化率:设t时刻网络数据的总字节Qt为
(1) |
其中:n为数据流编号,k为t时刻网络中总数据流数,On为第n个数据流中网络层的字节总数.网络层的数据量变化率R为
(2) |
计算频率:主要是计算各个属性指标在单位时间出现的次数.以数据包的端口为例,设D={D1,D2,…,Dn}为检测到的攻击数据包的集合,Dk为D中攻击类型字段,S={S1,S2,…,Sm}为m种攻击类型的集合,则攻击Si的数量Pi为
(3) |
计算协议包占比:以不同协议包的占比为例,其占比表示各协议数据包占总数的百分比.设P={P1, P2, …, Pn},Pi为第i种协议包的总量,则第i种协议的占比Xi为
(4) |
笔者根据实际需要,将态势评估指标进行归一化处理,除去数据的物理单位干扰,把数据的取值约束在区间[0, 1]内[6].初始化指标的公式为
(5) |
其中:xi表示数据值,xmax、xmin表示数值上下限.
1.3 BP神经网络结构及参数设计1) 隐层数的设定
不同的BP神经网络解决非线性映射能力不同. Kolmogorov定理已经证明,3层的BP神经网络可以以任意精度逼近任何映射关系,由于学习的是连续函数,所以没有必要设置多个隐层,因此笔者采用3层BP神经网络结构.
2) 各层节点数目的确定
① 输入层节点个数的设定
依据网络安全态势评估指标,进一步确定输入层节点个数.
② 隐含层节点个数的设定
隐含层节点的数目与输入层节点数目、输出层节点数目、对待问题的难易程度等多种因素相关.确定隐含层节点个数的基本原则是在满足精度和速度的要求下选取尽可能紧凑的结构.先利用经验公式划定隐含节点范围.
3) 激励函数的选取
目前比较常用的激励函数主要有线性函数、Sigmoid函数和高斯函数3种.其中由于Sigmoid函数可微且可导,易于表示,所以选择它作为激励函数.
2 基于RBF的网络安全态势预测方法RBF网络的优点是有较快的学习速度并且有较强的函数逼近能力,适合用于网络安全态势的预测.其重点是选定隐节点的个数以及各层连接权值的大小,以便减小误差.遗传算法的全局搜索能力较强,这样就极大地减小了陷入局部极值的可能性.
2.1 网络参数的优化遗传算法优化网络参数的详细设计如下:
1) 适应度函数设计
RBF进行网络的优化是为了使网络的实际和期望输出的误差最小,则每个染色体的误差函数El(l=1,2,…,L)为
(6) |
其中Y和Y′分别为网络的实际输出和期望输出.
使用标准适应函数的形式确定适应度,在保证适应度非负且目标函数与适应度变化方向一致的原则上,构造每个染色体的适应度函数
(7) |
2) 选择操作
首先利用轮盘赌机制进行选择,然后把具有最佳适应度的个体复制到下一代中.具体步骤如下:
① 当前代中种群中,那些具有最大适应度的个体不进行交叉和变异,而直接复制到下一代,然后根据式(8) 计算种群剩余的个体的选择概率
(8) |
个体i相应的累积概率
(9) |
其中:L为群体规模,fi为个体i的适应度,fsum为群体的总适应度.
② 生成一个[0, 1]区间内的随机数,求
③ 如果qi-1≤s≤qi,则把第i个个体复制;
④ 步骤2和步骤3重复L-1次,那么第G(t+1) 种群即为L个新的个体.
3) 交叉操作
① 交叉概率Pc的选择:2个染色体交叉与否是由Pc决定的.它的大小直接影响到算法收敛速度以及个体更新速度,在本研究中Pc取自区间[0.5,1.0].
② 交叉方法:首先对L个染色体进行随机配对,rl代表每对染色体生成的随机数的值,取值于[0, 1]区间.假如rl小于Pc,则交叉;否则,不对染色体交叉.
4) 变异操作
pm代表变异概率,它的值越大,则可行解在搜索的空间内跳跃越激烈,这就使得搜索的随机性增大. pm在区间[0.001,0.05]内取值.
设变异元素rd, N+2l为染色体的一个元素,则变异结果公式为
(10) |
其中:ux, vx分别为变异元素的左右边界,r为0~1之间的随机值,1≤d≤D,1≤n≤N且为整数.
5) 算法停止条件
遗传算法停止遵循以下条件:
① 最佳适应度低于设定的阀值时;
② 遗传算法超过一定代数或运行超时时;
③ 算法经过多次迭代,但适应度没有提高时.
2.2 基于自适应遗传算法的优化利用自适应遗传算法对RBF神经网络的结构参数进行优化,在此基础上给出具体的优化步骤:
1) 设T为预设的网络安全预测周期,确定RBF网络的输入和输出节点的个数;
2) 染色体编码采用实数编码,采用随机数发生器来初始化种群规模.设R(g)为初始种群,代数g=0;
3) 把RBF网络目标函数的值换算为适应度值,然后对染色体适应度进行评价;
4) 对种群中适应度最强和最弱者的选择采用最佳保留机制;
5) 如果个体的适应度满足误差要求则结束,否则转到6);
6) 如果g已经达到最大进化代数则结束,否则就转到7);
7) 让种群进行遗传操作,个体采用赌轮机制进行复制,利用自适应遗传算法对课题进行交叉以及变异;
8) 新种群产生,代数g=g+1,跳转到3).
3 实验与结果3.1 实验环境与攻击设计为了验证提出的网络安全态势感知方法,搭建了真实网络实验环境(如图 1所示),在该环境下进行安全态势评估和预测实验.
图 1中用户和攻击者均能通过网络访问网络主机.具体攻击步骤如下:
1) 实验过程中普通用户一直访问因特网信息服务器(IIS,internet information server)、主数据库和文件传医协议(FTP,file transfer protocol)服务器;
2) 用CVE-2006—2753 SQL注入漏洞攻击主数据库服务器;
3) SQL注入攻击从主机5传播到备份数据库服务器;
4) 用CVE-1999—0103 UDP泛洪攻击漏洞攻击IIS Web服务器;
5) 通过CAN-2003—0352漏洞对FTP服务器进行蠕虫攻击;
6) 同时用上述第2)、3)、4) 步骤中的攻击方法对主数据库、IIS Web服务器和FTP服务器进行攻击;
7) 对主数据库服务器进行第2) 步骤中的SQL注入攻击和一种未知攻击.
根据攻击场景的设定,采集Snort攻击信息、主机Nessus漏扫信息和路由器Netflow数据流信息,并将其作为仿真实验的数据源.
3.2 安全态势评估实验选择10位专家的意见对感知效果进行评估,以验证评估方法的准确性,则专家意见的集中度和离散度分别是
(11) |
(12) |
其中第j位专家给出的评估值是aj.选取满足Mi≤1, σi≤0.6条件的二级评估指标,构成二级评估的期望输出.实验采集100个样本数据,其中80个用于训练,另外20个用于测试,把训练结果用于态势预测,最终得出了实际态势值和期望态势值之间的对比结果,如图 2所示.
以上实验表明,利用BP神经网络模型进行网络安全态势评估,不仅80个训练集与专家评估结果一致,而且20个测试集仿真评价结果也与专家结果非常接近.实验表明,应用BP神经网络对网络安全态势评估是非常适合的.
3.3 安全态势预测实验利用获取的态势值形成历史和当前的网络态势值进行态势预测.结合网络安全态势值的计算特点,设定预测周期为12 h,即通过前5个时间段的态势值预测之后的1个时间段的态势值.分别用笔者提出的自适应遗传算法和传统的K-均值聚类算法、BP算法对样本进行训练,并对比预测结果.
从态势数据库中选取长为50的态势序列.以滑动窗口的形式,窗口为6,单次滑动1单位,这样就形成了50-(5+1)+1共45个样本,在这些样本中,选取35个用于训练数据,其余的10个用于测试,分别对3种算法的迭代次数和均方误差作对照,如表 2所示,可以看出,改进遗传算法无论是收敛速度还是误差方面都优于K-均值和BP算法.
同时利用3种算法对样本进行训练,并进一步进行态势预测,预测结果如图 3所示.可以看出,遗传算法在预测精准度上高于另外两种算法,拟合效果也较理想.
通过对实验结果分析可知,遗传算法优化的RBF预测模型在收敛速度和准确性上均强于传统的BP算法或者K-均值,同时由于RBF网络径向基的自身特点,遗传算法和K-均值在数值突变的地方比BP算法的逼近效果更好,所以采用RBF网络对网络安全态势进行预测是有效的.
4 结束语建立了一个基于BP神经网络的网络安全评估模型,利用该评估模型对整个网络进行态势评估,较精确地反映了一级指标和二级指标的非线性联系.在此基础上利用RBF网络对当前网络态势进行预测,并且利用遗传算法对网络参数进行优化,实现了较准确的态势预测.由于本研究的所有数据和要素提取都由人工采集,未来将重点实现整个感知系统的数据自动化采集,定期地进行态势评估和预测,另外该模型是否能够较好地应用于大规模网络还有待研究.
[1] |
陈秀真, 郑庆华, 管晓宏, 等. 层次化网络安全威胁态势量化评估方法[J]. 软件学报, 2006, 17(4): 885–897.
Chen Xiuzhen, Zheng Qinghua, Guan Xiaohong, et al. Quantitative hierarchical threat evaluation model for network security[J].Journal of Software, 2006, 17(4): 885–897. |
[2] | Liu Zhiming, Li Sheng, He Jin, et al. Complex network security analysis based on attack graph model[C]//2012 Instrumentation, Measurement, Computer, Communication and Control International Conference. Piscataway.[s.l.]: IEEE Press, 2012: 183-186. |
[3] | GAL A. Managing uncertainty in schema matching with top-k schema mappings[J].Journal on Data Semantics Ⅳ, 2006, 4(9): 90–114. |
[4] | 陈丽莎. 大规模网络安全态势评估模型研究[D]. 成都: 电子科技大学, 2008. |
[5] |
国务院.
国家突发公共事件总体应急预案[M]. 北京: 中国法制出版社, 2006.
The State Council of the People's Republic of China. A overall emergency plans of national public event[M]. Beijing: China Legal Press, 2006. |
[6] |
柳小桐. BP神经网络输入层数据归一化研究[J]. 机械工程与自动化, 2010, 10(3): 122–123.
Liu Xiaotong. Study ondata normalization in BP neural network[J].Mechanical Engineering & Automation, 2010, 10(3): 122–123. |