脆弱性严重性动态综合量化评估方法

2017-09-01 01:13高妮贺毅岳常言说王孟阳
关键词:严重性补丁脆弱性

高妮, 贺毅岳, 常言说, 王孟阳

(1.西安财经学院 信息学院,陕西 西安 710100;2.西北大学 经济管理学院, 陕西 西安 710127;3.中国人民银行西安分行, 陕西 西安 710075 )

脆弱性严重性动态综合量化评估方法

高妮1, 贺毅岳2, 常言说1, 王孟阳3

(1.西安财经学院 信息学院,陕西 西安 710100;2.西北大学 经济管理学院, 陕西 西安 710127;3.中国人民银行西安分行, 陕西 西安 710075 )

针对CVSS(common vulnerability scoring system)方法很少考虑随时间改变的动态指标对脆弱性严重性评估的动态影响,提出一种脆弱性严重性动态综合量化评估方法(dynamic vulnerability severity assessment,DVSA).在CVSS评分的基础上,引入脆弱性代码可利用性和补丁修复等级2个动态指标.安全影响、静态脆弱性可利用性和动态脆弱性可利用性3个脆弱性指标被选取,并进行脆弱性指标量化.该方法可获得每个脆弱性从0到10的严重性量化值,并将脆弱性严重性等级评定为高危、中危和低危3个严重等级.实验结果表明DVSA方法可提高脆弱性严重性评估结果的多样性和准确性.

脆弱性;脆弱性严重性评估;脆弱性代码可利用性

计算机网络系统面临的网络安全问题形式日益严峻,然而脆弱性是网络系统面临安全问题的一个非常重要的影响指标.2009—2016年的脆弱性统计数据表明,中国国家信息安全漏洞库(CNNVD)[1]每年新增5 000个左右的脆弱性数量,脆弱性成为首要的安全威胁指标.当前脆弱性出现更为智能化的利用工具、被利用危害网络范围越来越大等新特性,那么将会出现影响更为恶劣的网络攻击事件[2].随着脆弱性数量的增加,高级持续性威胁(advanced persistent threat, APT)等攻击方式的涌现,防火墙、入侵检测系统等传统安全防御方法只是尽可能识别攻击行为,无法有效对脆弱性的潜在威胁进行防护.因此,对已知脆弱性的研究与分析具有现实意义和应用前景.

发现脆弱性的最终目的是利用合适的补丁修复策略对脆弱性打补丁,最终可以排除网络系统中隐藏的威胁.为了高效修复脆弱性,对脆弱性风险进行有效评估是脆弱性修复策略的凭据和条件,因此有效评估脆弱性严重性是极为重要的.另外,对脆弱性进行有效的评估可以准确评估当前网络系统所面临的最大安全风险,从而为进一步对网络系统进行安全防护提供有力帮助,并将脆弱性带来的威胁降到最低程度.

1 相关工作

当前多数研究工作常常依靠利用通用脆弱性评分系统(common vulnerability scoring system, CVSS)[3]计算脆弱性严重性,本文对2002-2016年的美国国家信息安全漏洞库(national vulnerability database, NVD)[4]的74 217个脆弱性样本给出CVSS评分分布情况的统计结果.如图1所示,从基于CVSS的脆弱性评分分布可以看出,相同的严重性等级和CVSS分值存在很多的脆弱性数量.如果上百个高危脆弱性需要打补丁,那么哪些高危类型的脆弱性需要优先打补丁呢?因此,更为多样化和准确评估脆弱性会更加精确区分脆弱性之间的差异性.

图1 0~10分值区间的CVSS评分分布Fig.1 Distribution of CVSS score group by ten

脆弱性评估技术可以分为脆弱性的定性评估方法和定量评估方法.定性评估主要是以脆弱性的相关属性为基础,通过计算给脆弱性一个严重性级别;定量评估侧重通过评分指标的整合对严重性进行一个分值的量化.目前,国内外许多学者在应用广泛的CVSS评分系统研究的基础上对脆弱性评估方法开展了深入的研究工作,并创建了新的脆弱性评估体系.Ahmed等[5]提出了网络安全评估框架,该框架可以对网络中已知的和未知的脆弱性分别进行定量评估.Dinh等[6]提出了利用图形优化原理进行脆弱性定量和定性的评估.张玉清等[7]提出了CVRS的脆弱性定量评估系统,该系统在CVSS理论上添加了客观因子,还增加了非客观因子,从而综合评估脆弱性的严重性.刘奇旭等[8]提出一种新的脆弱性评估系统VRSS,该系统可评估出脆弱性的定量评分和定性评级,主要是利用CVSS相关理论结合脆弱性类型指标等.在脆弱性评估研究不断深入的情况下,为了能够多方面、综合地评估脆弱性,依据脆弱性属性,在灰色评估理论、层次分析法等相关基础上进行分析处理,也建立了很多评估方法.付志耀等[9]提出利用属性约简算法获得评估所需的脆弱性属性集,在此集合基础上利用综合评价算法获得脆弱性严重性的定性评级和定量评分结果.

现有脆弱性评估方法存在仅依赖脆弱性静态相关指标的问题,然而脆弱性严重性评分会随着时间而变化,其中,补丁修复等级和脆弱性代码可利用性2个动态指标可动态影响漏洞严重性评分.因此,如何选择准确的脆弱性评估指标并对其进行定量和定性评估是脆弱性严重性评估的关键问题.本文改进现有脆弱性评估方法,利用CVSS评分机制,引入脆弱性代码可利用性和补丁修复等级2个动态指标,并给出动态指标量化方法.一种脆弱性严重性动态综合量化评估方法(dynamic vulnerability severity assessment,DVSA)被提出,最后,DVSA方法通过实验验证,可提高脆弱性严重性评估结果的多样性和准确性.

2 脆弱性严重性动态量化评估

2.1 评估流程

脆弱性严重性动态综合量化评估方法的框架包括3个阶段,如图2所示.

阶段1:脆弱性严重性评估指标选取.首先在CVSS脆弱性评分基础上,增加脆弱性代码可利用性和补丁修复等级2个动态指标.然后形成3个脆弱性指标:安全影响指标、静态脆弱性可利用性指标和动态脆弱性可利用性指标.

阶段2:脆弱性严重性评估指标量化.对阶段1获取的3个脆弱性指标进行赋值量化.

阶段3:脆弱性严重性动态综合量化评估方法.使用3项脆弱性指标综合计算脆弱性严重性等级和评分.

2.2 脆弱性严重性评估指标选取

网络攻击者一般成功利用脆弱性后才会对网络系统形成大规模威胁,故应该对脆弱性的可利用性进行科学评估.首先,利用CVSS评分机制[3]中原有的特性,本文定义静态脆弱性可利用性指标为访问向量、认证和访问复杂度.

相关研究表明脆弱性严重性评分会随着时间而变化,因此仅依赖静态脆弱性可利用性指标还不够充分.一般来说脆弱性发布时间越久,脆弱性利用工具更为智能化,且自动化程度更高,那么脆弱性利用成功的可能性更大.文献[10]提出脆弱性代码可利用性服从Pareto分布,故本文利用文献[10]的脆弱性代码可利用性方法将其指标量化.另一方面,随着脆弱性发布时间的推移,出现脆弱性的厂商会提高提交补丁的质量.故将CVSS评分机制涉及到的补丁修复等级作为补丁质量指标.因此,本文定义动态脆弱性可利用性指标为补丁修复等级和脆弱性代码可利用性.然后,脆弱性被网络攻击者成功利用后,还需要考虑其产生的安全影响.如果一个脆弱性被攻击者成功利用后对网络系统造成机密性、完整性和可用性损失程度越大,那么该脆弱性的严重性越高.因此,本文定义安全影响指标为机密性、完整性和可用性[2].最后,本文根据上述研究分析将其分到3个脆弱性指标组中,如图3所示,可定义为:安全影响指标、静态脆弱性可利用性指标和动态脆弱性可利用性指标.

图2 脆弱性严重性评估框架Fig.2 Process of vulnerability severity assessment

图3 脆弱性严重性评估指标Fig.3 Vulnerability severity assessment factors

2.3 脆弱性严重性评估指标量化

文献[2]对安全影响指标和静态脆弱性可利用性指标的量化标准进行了分析,给出了静态脆弱性可利用性指标的量化评分,并给出了机密性、完整性和可用性3个安全属性的27种排列组合的映射规则,可将安全影响指标赋予0到1的评估值.

本文重点对动态脆弱性可利用性指标进行量化定义.上文已定义动态脆弱性可利用性指标为脆弱性代码可利用性和补丁修复等级,表1给出了该指标的量化取值.文献[10]说明了脆弱性代码可利用性概率服从Pareto分布,其大小定义为

(1)

其中x为脆弱性发布日期到当前日期的总天数.

表1 动态脆弱性可利用性指标和评分

2.4 脆弱性严重性动态综合量化评估方法

本文提出DVSA方法,首先,静态脆弱性可利用性指标大小使用CVSS的exploitability计算公式去定义,然后,动态脆弱性可利用性指标大小使用补丁修复等级与脆弱性代码可利用性的乘积来计算,再结合安全影响评分综合评估脆弱性严重性,其评分规则定义参见公式(2)

Score = SI+SE+DE,

(2)

其中SI为安全影响评分,SE为静态脆弱性可利用性评分,DE为动态脆弱性可利用性评分.

静态脆弱性可利用性评分SE定义公式如下:

SE= 2×AV×AC×Au,

(3)

其中,AV为访问向量,Au为认证,AC为访问复杂度.

动态脆弱性可利用性评分DE定于公式如下:

(4)

其中EA为脆弱性代码可利用性,RL为补丁修复等级.安全影响评分SI可参见文献[2]中表4.4.

DE取值0~0.5,SI和SE取值都为0~1,可得Score取值0~2.5.因此,可将Score取值映射到0~10,可定义为

Score= 4×(SI+SE+DE).

(5)

将脆弱性严重性的动态综合量化评分映射到高危、中危和低危3个严重级别,如表2所示.

表2 脆弱性严重性级别

3 仿真实验

3.1 单个脆弱性评估实例

本节对所提DVSA方法的计算过程进行解释,并对一个具体脆弱性CVE-2016-2843进行评分.该实例的相关指标信息可以从NVD数据库中获得,如表3所示.

表3 CVE-2016-2843脆弱性信息

DVSA方法的计算过程可分为4步骤:

步骤1,根据公式(3)计算静态脆弱性可利用性为SE= 2×1×0.71×0.704=1.

步骤2,假设脆弱性CVE-2016-2843当前评估日期为2016年4月7日,从表3中可知该脆弱性的发布时间为2016年3月7号.因此,脆弱性发布日期到当前评估日期的总天数为30 d,脆弱性代码可利用性概率大小EA可根据公式(1)计算为

从表3中可知补丁修复等级RL为官方补丁,从表1中可知官方补丁对应分值为0.87,即RL= 0.87.因此,动态脆弱性可利用性概率大小DE可根据公式(4)计算为

DE= 0.5×0.87×0.922 4 = 0.401 25.

步骤3,从表3中可知脆弱性的机密性、可用性和完整性影响都为“完全”,安全影响SI评分标准可参照文献[2]给出的表4.4,SI取值为第1种情况,即SI= 1.

步骤4,脆弱性CVE-2016-2843的严重性评分可根据公式(5)计算为

Score= 4×(1+1+0.401 25) = 9.605.

该脆弱性严重性等级可参照表2为高危,而CVSS评分为9.8,是一个高危脆弱性.仿真实验结果表明本文所提DVSA方法与CVSS评估结果一致.

3.2 实验数据

本节实验利用本文所提DVSA方法对表4中主机A的脆弱性信息进行严重性评估,并设置当前评估时间为2016-3-12,实验对比分析结果详见表5和表6.

表4 主机A的脆弱性信息

3.3 多个脆弱性评估对比分析

由图2的统计分析结果可知,很多脆弱性对应相同的CVSS分数.在定量分析方面,本文所提DVSA方法可提高脆弱性严重性评估结果的多样性和准确性.从表5可以看出,从定量角度出发,DVSA的评分结果与CVSS以及CNNVD的评分趋势一致,都是v5 > v7 > v3 > v1 > v2 > v4 > v6 > v8 > v9.

一方面,脆弱性CVE-2015-8664和CVE-2015-8369的CVSS评分为7.5,从实验结果可以看出使用本文所提DVSA方法可以区别这2个脆弱性的差异性,CVE-2015-8369比CVE-2015-8369的评分略大一点.这是因为脆弱性CVE-2015-8369暂时无补丁修复,故防御能力较弱,同时也表明了本文所提DVSA方法中引入“补丁修复等级”这一动态指标的有效性.

另一方面,脆弱性CVE-2015-6790和CVE-2014-6444的评分为4.3,而本文所提DVSA方法分别计算为5.875和5.863,CVE-2015-6790比CVE-2014-6444的评分略大一点.从表4可以看出前者发布时间比后者发布时间更久,随着时间的推移,攻击者会设计出攻击成功率更高的脆弱性利用工具,因此脆弱性代码可利用性会随着时间动态增加.实验结果表明本文所提DVAS方法中引入“脆弱性代码可利用性”这一动态指标的准确性.

在定性分析方面,从表6可以清晰地看出,脆弱性的评估等级和CVSS、CNNVD的评估结果基本吻合.综上所述,利用本文所提DVSA方法能对脆弱性进行有效且准确的定量和定性评估,可提高脆弱性严重性评估结果的多样性和准确性.

表5 DVSA和CVSS的脆弱性严重性评分比较

表6 DVSA和CVSS、CNNVD的脆弱性严重性级别比较

4 结论

深入分析现有脆弱性评估存在的问题,针对CVSS方法很少考虑随时间改变的动态指标对脆弱性严重性评估的动态影响,提出了一种脆弱性严重性动态综合量化评估方法DVSA.在CVSS评分的基础上,引入脆弱性代码可利用性和补丁修复等级2个动态指标,通过DVSA方法可获得每个脆弱性从0~10的严重性量化值,并将脆弱性严重性等级评定为高危、中危和低危3个严重等级.实验表明引入脆弱性代码可利用性和补丁修复等级2个动态指标提高了脆弱性严重性评估结果的准确性和多样性,能更加细微地区分脆弱性的差异性.

[1] 中国信息安全测评中心.China national vulnerability database of information security(CNNVD) [EB/OL]. [2017-5-2].http://www.cnnvd.org.cn/.

[2] 高妮.网络安全多维动态风险评估关键技术研究[D].西安:西北大学, 2016. GAO N.The research on key technologies of multi-dimensional and dynamic risk assement of network security[D].Xi’an:Northwest University, 2016.

[3] THE MITRE CORPORATION.Common vulnerabilities and exposures(CVE) [EB/OL].[2017-4-24].http://www.cve.mitre.org/.

[4] NATIONAL INSTITUTE OF STANDARDS AND TECHNOLOGY.National vulnerability database(NVD) [EB/OL]. [2017-1-23].https://nvd.nist.gov/download.cfm.

[5] AHMED M S, AI-SHAER E, KHAN L.A novel quantitative approach for measuring network security[Z].International Conference on Computer Communications, Phoenix, 2008.

[6] DINH T N, YING X, THAI M T, et al.On new approaches of assessing network vulnerability: hardness and approximation[J].IEEE/ACM Transactions on Networking, 2012, 20(2):609-619.

[7] YANG H, ZHANG Y, HU Y, et al.IKE vulnerability discovery based on fuzzing[J].Security & Communication Networks, 2013, 6(7):889-901.

[8] LIU Q, ZHANG Y, KONG Y, et al.Improving VRSS-based vulnerability prioritization using analytic hierarchy process[J].Journal of Systems and Software, 2012, 85(8):1699-1708.

[9] 付志耀, 高岭, 孙骞, 等.基于粗糙集的脆弱性属性约简及严重性评估[J].计算机研究与发展, 2016, 53(5):1009-1017.DOI: 10.7544/issn1000-1239.2016.20150065. FU Z Y, GAO L, SUN Q, et al.Evaluation of vulnerability severity based on rough sets and attributes reduction[J].Journal of Computer Research and Development, 2016, 53(5):1009-1017.DOI: 10.7544/issn1000-1239.2016.20150065.

[10] FREI S, MAY M, FIEDLER U, et al.Large-scale vulnerability analysis[Z].Proceedings of the Workshop on Large-scale Attack Defense, Pisa, 2006:131-138.

(责任编辑:孟素兰)

A dynamic and comprehensive quantitative scoring method of vulnerability severity

GAO Ni1, HE Yiyue2, CHANG Yanshuo1, WANG Mengyang3

(1.School of Information, Xi’an University of Finance and Economics, Xi’an 710100, China; 2.School of Economics and Management, Northwest University, Xi’an 710127, China; 3.People's Bank of China Xi’an Branch, Xi’an 710075, China)

The vulnerability severity evaluation is rarely considered the dynamic indicator with changing time in the CVSS method, so the paper proposes a method of dynamic vulnerability severity assessment (DVSA).The code exploitability and the patch remediation level of dynamical indexes are introduced based on the CVSS score.Three vulnerability indexes, such as the safety influence attribute, the static vulnerability exploitability attribute and the dynamic vulnerability exploitability attribute, are selected and quantified.The vulnerability severity is evaluated with values from 0 to 10 by using the DVSA method, which can divide vulnerability severity rank into three levels: high, moderate and low.Experimental results showed that this method can more precisely distinguish the difference between vulnerabilities, and improve the diversity and accuracy of the vulnerability severity evaluation.

vulnerability; vulnerability severity evaluation; the code exploitability of vulnerability

10.3969/j.issn.1000-1565.2017.04.012

2016-08-22

国家自然科学基金资助项目(61373176; 61572401; 61672426);陕西省自然科学基金资助项目(2015JQ7278)

高妮 (1982—),女,陕西咸阳人,西安财经学院讲师,博士,主要从事网络安全、机器学习方向研究. E-mail:gaoni@nwu.edu.cn

TP393

A

1000-1565(2017)04-0405-06

猜你喜欢
严重性补丁脆弱性
工控系统脆弱性分析研究
健胃补丁
不该被遗忘的天地
绣朵花儿当补丁
基于DWT域的脆弱性音频水印算法研究
补丁奶奶
浅谈无线电干扰及其常用的预防、排查方法
煤矿电网脆弱性评估
基于攻击图的工控系统脆弱性量化方法
大病医保期待政策“补丁”