2. 哈尔滨理工大学计算机科学与技术学院, 哈尔滨 150001
针对自主可识别性机制,基于最短K-路径算法,提出一种可生存系统认知性的评估机制.首先,建立了可生存系统认知性评估的框架结构,给出了认知状态转移矩阵和认知评估指标;然后,对可生存系统的认知生存能力进行量化建模;最后,对某网络安全态势感知系统,针对DoS攻击行为,进行了认知性能的仿真验证,结果表明,所提方法如实反映了系统在不同攻击参数下认知性的动态演化,分析了系统中存在的生存威胁,验证了所提方法的可行性.
2. School of Computer Science and Technology, Harbin University of Science and Technology, Harbin 150001, China
The autonomous recognition mechanism on survivability is still in the ascendant, and the cognition is the realization premise of the recognition. A cognitive evaluation mechanism for survivable system was proposed based on the shortest K-path algorithm. Firstly, a framework structure of the cognitive evaluation for survivable system is established, the cognitive state transfer matrix and cognitive evaluation index are given. Then, a quantitative model for the cognitive survivability of the system is made. Finally, a cognitive performance simulation experiment in some network security situation awareness system is carried out under DoS attacks. Experiment shows that the presented method faithfully reflects the dynamic evolution of cognitive performance under different attack parameters, analyses the survival threat of the system and validates the effectiveness of the proposed method.
认知性是目前可生存系统研究领域的一个热点问题. 认知性是指系统具有“可知”和“可感”当前系统生存态势的能力[1],而面向生存性的认知性更偏重对整个系统场景环境安全状态的感知和识别,这种识别可同化为对基本关键服务生存性能下降的识别、对攻击和入侵事件集的识别[2]. 目前对可生存系统认知性评估技术的研究还比较少,赵国生等[3]提出的认知性评估通过认知性参数的参考阈值约束实现,而自主性可通过自主识别单元的中央控制进程实现. 认知性可通过建立分层感知模型,由策略库发起驱动认知环结构,即模型驱动工程(MDE,model driven engineering)的自管理模式来实现[4]. Cotanis[5]通过引入认知测量仿真系统诊断和监控用户的体验质量(QoE,quality of experience)来实现认知性的评价. 具有认知性的可生存系统本身是一个自感知系统,其中的每一个认知单元都是一个智能agent结构,通过获取系统内外部环境的感知信息实现认知性的综合评估[6].
笔者的主要工作是提出了一种可生存系统认知性的量化评估机制. 第1节建立了评估框架结构,给出了认知状态变迁矩阵和认知评估指标;第2节基于K-路径算法对可生存系统的认知生存能力进行量化计算;最后,对某网络安全态势感知系统进行了认知性能的仿真验证.
1 认知性评估的框架结构可生存系统认知性能的评估涉及被分析的信息系统如何定义、评估过程[7]等,因此首先需要确定一个系统认知性能量化评估的框架结构.
1.1 框架结构认知性评估的框架结构如图 1所示,可分6步:
步骤1 定义可生存系统认知需求或指标;
步骤2 建立服务与组件间的关联交互关系;
步骤3 确定系统执行的关键服务;
步骤4 确定系统的威胁种类和危害程度;
步骤5 确定服务权重随系统状态变化的情况;
步骤6 认知性能量化评估.
1.2 认知性的状态变迁和概率由于任何一个可生存系统的应用场景目标都不同,所处的内外部环境也不一样,受到诸多约束条件限制等因素,导致可生存系统认知性能需求也不同,必须按照特定的系统需求、外界环境因素和诸多约束条件来确定所需的认知性能. 因此,在评估起初需根据系统规格、服务说明等,确定系统任务和任务应实现的认知性能指标. 随后按照需求标准和实际认知性能评估结果对比,判断系统认知性能需求是否已完成.
根据不同的应用场景可将可生存系统状态集分为正常生存态、妥协生存态、认知检测态、自恢复态和自毁态. 对应的认知生存状态变迁和概率分布如图 2所示.
可生存系统的认知状态集可描述为{G,C,D,SH,SD}. 其中:G为正常生存态(general),C为妥协生存态(compromised),D为认知检测态(detection),SH为自恢复态(self healing),SD为自毁态(self destruction). 各个状态变迁概率的对应关系为p1=W2,1-p1=W1,p2=L2,1-p2=L1,p3=L5,p4=L4,1-p3-p4=L3,p5=L6.
对应的状态转移矩阵为
G C D SH SD
$P=\begin{array}{*{35}{l}}
G \\
C \\
D \\
{{S}_{H}} \\
{{S}_{D}} \\
\end{array}\left[ \begin{array}{*{35}{l}}
0&1&0&0&0 \\
{{p}_{1}}&0&{{{\bar{p}}}_{1}}&0&0 \\
0&0&0&{{p}_{2}}&{{{\bar{p}}}_{2}} \\
{{V}_{G}}&0&0&{{p}_{3}}&{{p}_{4}} \\
{{p}_{5}}&0&0&0&0 \\
\end{array} \right]$
依据认知需求目标,每一个关键服务ESi对应一个认知事件集合EVi,而ESi的一个服务环境Sij对应若干个认知事件的序列集合. 同时,根据ESi的关键度,确定ESi的服务权重Wi,Wi的取值为[0,1]. 结合实际系统对认知性的需求,确定该ESi服务期望的认知性评估指标集,包括每一个ESi期望的应变能力(strain capacity)概率ECsESi和期望的响应能力(response capability)概率ECrESi等参数. 确定了可生存系统认知性的评估指标集,就可对认知性进行评估,通过分析评估结果,从而对系统资源配置进行自优化,提高可生存系统的认知性.
2 基于K-路径算法的评估实现 2.1 认知性评估的计算笔者将传统K-路径算法的应用进行了修改,即将有向边权值之和最小修改为状态边权值之积最大的前K条路径算法,具体修改过程可参考文献[6].
设某服务ESi期望成功执行的最大路径集合为{p1,p2,…,pk},其中pj成功执行应变能力概率计算,即从可生存系统认知状态转移模型中,找到路径pj对应的事件序列集后,将其在转移图中的概率值相乘,得到CsESj的值. 同时,与路径中最终节点对应的等价类区域的最大值pj的最大响应能力概率CrESj相乘得到ESi服务的应急响应能力概率.
ESi的应变能力概率为
${{C}_{S}}E{{S}_{i}}=\sum\limits_{j=1}^{K}{{{C}_{S}}E{{S}_{ij}}}$
(1)
ESi的响应能力概率为
${{C}_{r}}E{{S}_{i}}=\sum\limits_{j=1}^{K}{\left( {{C}_{S}}E{{S}_{ij}}\times {{C}_{r}}E{{S}_{ij}} \right)}$
(2)
计算得出各关键服务的应变能力和实时响应能力后,通过与期望应变能力和期望实时响应能力相比,得出关键服务认知能力为
${{C}_{g}}E{{S}_{i}}\frac{{{C}_{S}}E{{S}_{i}}/{{C}_{r}}E{{S}_{i}}}{E{{C}_{S}}E{{S}_{i}}/E{{C}_{r}}E{{S}_{i}}}$
(3)
可生存系统的认知能力与攻击威胁时的应变能力正相关,而与其应急响应能力反相关. 将计算所得的认知能力和系统期望的认知能力相比较,可直观得到该ESi服务的认知能力.
如何计算可生存系统的认知性,这里可给出一个认知性的综合评估函数. 从系统认知性定义出发,通过所有关键服务的综合认知性来刻画可生存系统的整体认知性. 系统在面对攻击、威胁和恶意事件下继续提供服务的能力正是系统可认知性的外在表现. 针对某个ESi的认知性能评估函数为
${{C}_{g}}E{{S}_{i}}=\sum\limits_{E{{S}_{i}}\in ES}^{{}}{\left( {{C}_{g}}E{{S}_{i}}\times {{W}_{i}} \right)}$
(4)
基于K-路径方法的优势是在评估系统关键服务的认知性后,可依据K条路径上的各种服务组件的逻辑映射关系,找到系统的脆弱点加以改进,从而增强系统的认知能力.
比如,可求出服务从正常开始运行到服务失效之间的期望路径,先得到服务的失效概率分布,找到K条失效路径,失效路径上的事件集就是系统的脆弱点集,也是影响系统认知能力提高的关键点. 找到威胁权重大的事件,加强对这些事件的应变处理能力,就可提高服务的认知性. 可生存系统认知性能量化评估过程如图 3所示.
3 实验仿真对课题组某网络安全态势感知系统(NSSAS,network security situation awareness system)进行认知性能监控. 该系统部署于校园网中,目前主要侧重对可生存系统安全态势信息的获取,利用系统中的各类传感器,对多源、异构数据执行采集和预处理,进而实现多层次的可生存系统安全监控和保障. 实验的拓扑环境如图 4所示.
拒绝服务(DoS,denial of service)是一种极具代表性的系统攻击行为,它运用合情理、有效的服务请求占用资源,从而导致合法用户得不到服务响应. 实验中利用HGod V0.4模拟该类攻击行为,测试可生存系统在不同攻击参数变化下的认知能力.
实验数据初始设定如下. ES为{ES1:数据处理},ECsES为0.96,ECrES为6 s. ES1对应的事件集EV1为{e1:取得完整数据;e2:取得的数据有缺失;e3:数据修复;e4:数据修复不成功;e5:数据修复成功}. ES1对应的威胁集T1为{t1:网络攻击;t2:传感器故障、维护等;t3:网络传输异常;t4:数据丢失;t5:软件故障}.
通过搭建仿真环境的历史测量数据,取得实验中各事件的发生概率值等参数信息,实验事件的权值设定参考历史观测数据取得,如表1所示.
按照式(1)~式(4)计算仿真实验系统数据处理服务的认知综合评估函数结果值,如表2所示.
随着可抵抗攻击参数h的变化,验证在不同攻击下的系统面对不同威胁时的应变能力变化,如图 5所示. 改变系统修复率β和DoS攻击速率δ,观察系统的应急响应值的变化,如图 6所示.
从图 5可以看出,可生存系统的应变能力随着系统抵抗攻击的能力h值的变小而增强,可抵抗攻击参数h越小,面对攻击时系统的应变能力就越强. 3种攻击强度即单点攻击、顺序攻击和并发攻击依序变大,可以看出,单点攻击强度最弱,因此其系统应变能力始终较高,而由于并发攻击强度最高,导致系统受到威胁的影响也最大,直接关联影响系统的应变能力变化. 由该实验得知,可通过适当减小h的取值来提高系统面对威胁的应变能力,从而增强系统的认知生存能力.
图 6显示出修复率β和攻击频率δ正相关,系统的实时响应能力随着修复率β增大而升高. 在不同的攻击频率δ下,系统实时响应能力增加的幅度不同. δ越大,增加的幅度越大,δ=0.005 6时,曲线上升得最快,δ=0.000 7时,曲线上升得最慢;而δ越小,系统实时响应能力越大,δ=0.000 7时,系统实时响应能力最大. 由该实验得知,当系统攻击频率δ一定时,可通过适当增加修复率β的取值来提高系统实时响应的能力,从而增强系统的认知性能.
综上仿真实验,可以发现,可生存系统的认知性能直接受到系统抵抗攻击的能力参数h、修复率β和攻击速率δ的影响. 因此,可采用适当地减小h值,增加修复率β来提高系统面对威胁的应变能力和实时响应能力,从而可提高系统的认知性能. 通过对服务失效K-路径的分析发现,原因包括服务组件失效、链路异常、数据劫持、响应超时、恶意攻击等,其中恶意攻击造成的威胁最大. 因此,面对类似威胁事件,通过改善系统有关服务构件,使得系统修复率和系统抗攻击能力得以改善. 实验中通过冗余服务组件自配置技术降低了服务失效率,计算后的服务认知性能评估函数值如表3所示.
通过对可生存系统增强技术改进前后的计算结果对比,可以发现,系统的认知性能得到了提高,验证了方法的有效性.
4 结束语可生存性研究中的自主可识别性机制研究方兴未艾,而认知性是可识别性的研究基础. 笔者提出了一种可生存系统认知性的评估方法. 建立了认知性的评估框架结构,基于最短K-路径算法对认知生存能力进行了量化建模,结合实际应用场景对某网络安全态势感知系统进行了认知性能的仿真验证. 实验结果如实反映了在不同攻击强度下系统认知性能的动态变化,分析了系统存在的服务薄弱点,验证了方法的有效性.
[1] | 赵淦森, 王维栋, 张伟, 等. 云计算平台生存性研究[J]. 电信科学学报, 2011(9):52-59. Zhao Xinshen, Wang Weidong, Zhang Wei, et al. Research of cloud survivability[J]. Telecommunications Science, 2011(9):52-59.[引用本文:1] |
[2] | 蔡均平, 肖治庭, 李雪东. 基于云模型的军事信息网络可生存性评估[J]. 武汉理工大学, 2010, 32(20):11-15. Cai Junping, Xiao Zhiting, Li Xuedong. Survivability evaluation of military information networks based on cloud model[J]. Journal of Wuhan University of Technology, 2010, 32(20):11-15.[引用本文:1] |
[3] | 赵国生, 刘海龙, 王健. 可生存系统的自主可识别性机制研究[J]. 高技术通讯, 2014, 24(10):999-1006. Zhao Guosheng, Liu Hailong, Wang Jian. Study on the autonomous recognition mechanism for survivable systems[J]. Chinese High Technology Letters, 2014, 24(10):999-1006.[引用本文:1] |
[4] | 王健, 赵国生. 基于SM-PEPA可生存系统认知模型及量化分析[J]. 华中科技大学学报:自然科学版, 2015, 43(5):99-103. Wang Jian, Zhao Guosheng. Cognitive model and quantitative analysis for survivable system based on SM-PEPA[J]. Journal of Huazhong University of Science and Technology:Nature Science Edition, 2015, 43(5):99-103.[引用本文:1] |
[5] | Cotanis I. An introduction to the cognitive concept as a cost-effective method for network performance management[C]//WCNC 2008. Las Vegas:IEEE Press, 2008:3197-3201.[引用本文:1] |
[6] | 刘金亮. 基于时间自动机的可生存性评估方法研究[D]. 大连:大连理工大学, 2009.[引用本文:2] |
[7] | 苏岩, 赵国生, 王健, 等. 一种可生存系统的自主管理模型[J]. 计算机科学, 2014, 41(4):65-69. Su Yan, Zhao Guosheng, Wang Jian, et al. Model of autonomous management for survivable system[J]. Computer Science, 2014, 41(4):65-69.[引用本文:1] |