
1214
Journal of Software 软件学报 Vol.29, No.5, May 2018
impact of vulnerabiliti es in the netwo rk system. Further more, a quantitativ e risk method to measure security vulnerabilit y in terms of time
dimension is provided to an alyze some probabilit y evolution rules with respect to the states of vulnerability life cycle. Fin ally, the exploits
by the ransomware “WannaCry” in a typical APT attack scenario are taken as an example to verify the rationality and validity of the
presented model and method.
Key words: securit y metric; vulnerability life cycle; st ochastic model; absorbing Markov chain; dyn amic evaluation
网络系统在提供各种便利的同时,也带来了诸多安全问题.目前,基于漏洞利用的攻击渗透日益猖獗,对网
络系统安全造成了极大的威胁,因此,研究安全漏洞模型
[1−7]
、分析漏洞利用规律
[8−10]
、度量漏洞安全风险
[11−19]
、
为主动防御提供理论基础和技术支撑,受到学术界和工业界的广泛关注和高度重视
[20]
.
在安全漏洞模型研究方面,陈恺等人
[1]
提出了一种多周期的漏洞发布模型,从宏观上预测漏洞数量与软件
发布时间的关系.在此基础上,聂楚江等人
[2]
提出了一种微观漏洞数量预测模型,通过分析与软件代码相关的微
观参数,并结合历史版本软件漏洞数量预测新版本中的漏洞数量.此外,高志伟等人
[3]
提出了基于漏洞严重度分
类的预测模型,不仅能够预测软件发布过程中存在的漏洞总数和时间间隔,而且能够预测漏洞的种类及每一类
漏洞的数量.Arbaugh 等人
[4]
最早提出了漏洞生命周期的概念,分析了漏洞从产生到消亡可能经历的几种状态,
并结合美国 Computer Emergency Respon se Team/Coordination Cente r(CERT/CC) 报告,展示了历年来漏洞数量在
不同状态上的分布情况.类似地,Frei
[5]
利用系统动力学对漏洞生命周期进行建模与分析,但实验数据集较小,且
未分析软件厂商的影响.Kaaniche 等人
[6]
结合开源的 OSVDB 漏洞数据库分析了 Windows,Unix 和 Mobile OS
操作系统漏洞处于生命周期不同阶段的时间长度分布,结果表明,该时间分布与具体操作系统类型相关.宋明秋
等人
[7]
通过量化漏洞生命周期时间维的攻击热度与攻击技术,基于 Mamdani 模型,利用模糊推理法计算漏洞安
全风险值.上述研究各有侧重地分析了漏洞数量在软件发布时间、漏洞类型和漏洞生命周期时间维上的分布情
况,设计能够全面融合漏洞数量、生命周期、可利用性、威胁影响与风险度量的漏洞模型还有待进一步研究.
在漏洞利用规律分析方面,文献[8]提出了与 0-d ay 漏洞相关的漏洞生命周期的几种模式,梳理了 Linux 和
Microsoft 系统的 439 个漏洞信息,结果表明,攻击脚本和漏洞补丁的扩散对漏洞利用概率变化有重要影响.Joh
等人
[9]
将漏洞生命周期划分为漏洞产生、漏洞发现、漏洞公开、漏洞利用和漏洞修复这 5 个阶段,指出安全漏
洞在其生命过程中都存在被攻击者利用的风险,且不同阶段的安全风险大小不等.通过对早期报道的有 46 310
个漏洞的开源数据集 OSVDB 的统计分析,Sha hzad 等人
[10]
展示了 1988 年~2011 年不同软件厂商的漏洞在各自
生命周期不同阶段的数量分布情况,同时呈现了补丁发布周期及漏洞利用平时耗时的变化趋势,结果表明,漏洞
利用耗时往往小于补丁的研发耗时.上述研究主要从统计学角度出发,基于大量数据的统计结果,试图展示漏洞
利用概率和耗时在其生命周期内随软件供应商类型、补丁发布时间等影响因素的变化规律.如何从概率论角度
出发,依据先验历史数据分析漏洞利用规律,并对未来的趋势进行预测,对进一步提高研究的实用性意义重大.
在漏洞安全风险评估方面,对于具体漏洞攻击事件,文献[11]将攻击威胁的严重程度和攻击发生的可能性
划分多个等级,通过建立风险矩阵,借鉴综合评判法分析系统的安全风险等级.Mkpong 等人
[12]
利用专家经验量
化漏洞相关属性对系统的影响程度,提出了一种基于漏洞属性的风险量化模型.上述两种方法虽然计算简单,但
主要依赖领域知识,具有很强的主观性,仅适用于分析已知漏洞的风险值.付志耀等人
[13]
设计了一种基于粗糙集
理论的属性约简及漏洞影响评估方法,避免了漏洞关联属性集选择时过分依赖先验的专家经验.Houmb 等人
[14]
利用通用漏洞系统(common vulnerability scoring system, 简称 CVSS)的标准数据集训练贝叶斯信念网络,并结合
先验漏洞信息,推算漏洞被利用的可能性及威胁影响,能够在一定程度上度量未公开漏洞的潜在风险.在实际应
用方面,周亮等人
[15]
提出了基于关联网络的漏洞风险评估模型,利用层次分析法,对电力调度管理系统的安全漏
洞风险进行了综合评估,类似应用还涉及安卓移动应用终端
[16]
、Web 应用程序
[17]
、电信通信设备
[18]
和电力工
业控制系统
[19]
.不难看出,现有漏洞风险评估侧重静态分析,具有计算量小、操作简单的优点.但随着信息系统的
复杂化和大规模化,宏观的漏洞风险随生命周期动态演化.例如在漏洞公布阶段,随着公众开始了解漏洞信息,
潜在的攻击者数量不断增加,网络系统风险呈现动态上升趋势.
综上所述,目前的研究在 3 个方面有待改进:(1) 现有安全漏洞模型侧重于漏洞发现和数量预测,缺乏对漏
评论