漏洞类型聚类的层次化漏洞修复模型*

2018-02-05 03:46贺毅岳
计算机与生活 2018年2期
关键词:层次化补丁优先

高 妮,贺毅岳,申 元,高 岭

1.西安财经学院 信息学院,西安 710100

2.西北大学 经济管理学院,西安 710127

3.西北大学 信息科学与技术学院,西安 710127

1 引言

基于主机发现漏洞的最终目的是采用补丁修复方式对各类漏洞进行修复,以消除网络系统中的潜在威胁。只有修复真正威胁到系统的漏洞,合理地安装补丁才可以消除潜在威胁。如果发现系统漏洞而不及时给漏洞打补丁或者只是简单地选择修复高危漏洞,将导致漏洞的安全问题长期存在,因此选择合适的漏洞修复策略非常关键。

传统的漏洞优先修复方案主要是使用基于通用漏洞评分系统(common vulnerability scoring system,CVSS)[1]评分推荐的优先修复策略。根据漏洞的CVSS评分值,将漏洞CVSS评分范围所对应的漏洞优先级别划分为1~3级,如表1,每种漏洞优先级别对应不同的修复策略。一般认为CVSS评分值为7分以上的漏洞都应优先立即修复。从表1可以看出,基于CVSS评分推荐的修复策略过于简单。美国国家信息安全漏洞库(national vulnerability database,NVD)[2]公布的2002年到2015年73 526个安全漏洞信息中,高危漏洞数量占41.26%,而低危漏洞数量占8.46%。如果上百个高危漏洞需要打补丁,哪些高危漏洞优先修复呢,因此需要更为精确、细粒度的漏洞修复策略。

Table 1 Repair strategy based on CVSS score表1 基于CVSS评分的修复策略

对漏洞风险进行评估是漏洞修复策略选择的前提,故许多学者通过改进CVSS评分方法来影响修复策略。Frei等人[3]提出了漏洞概率分布模型用于评估漏洞利用性和补丁利用性的概率大小,为进一步漏洞修复奠定基础。Fruhwirth等人[4]利用漏洞潜在的上下文信息来影响漏洞修复优先次序。何林等人[5]提出了一种基于SVM(support vector machine)的漏洞修复模型,改进了传统漏洞修复方案。Subramanian等人[6]设计漏洞检测和修复模型。汪志亮等人[7]提出收益与代价相结合的漏洞修复模型。Huang等人[8]利用马尔科夫随机模型进行软件漏洞补丁管理。

以往漏洞修复模型存在难以确定同一危害等级漏洞修复优先次序的问题,故需要更为精确、细粒度的漏洞修复策略。漏洞类型已经成为区分漏洞危害性的一个新指标,并对漏洞修复优先次序有重要影响,故本文利用该指标构建漏洞修复模型。针对传统漏洞修复方案过于简单的问题,将目标主机漏洞划分为主机、漏洞类型威胁等级、漏洞类型、漏洞4个层次,采用“自下而上、先局部后整体”的漏洞修复策略,提出一种基于漏洞类型的层次化漏洞修复方法,最终给出细粒度的漏洞修复优先次序。

2 漏洞类型聚类的层次化漏洞修复模型

2.1 模型设计

漏洞类型聚类的层次化漏洞修复(vulnerability remediation based on vulnerability type clustering,VR-VTC)模型设计如图1所示,包含3个步骤。

Fig.1 Architecture of VR-VTC model图1 VR-VTC模型架构

步骤1漏洞聚类分析。

(1)PSO-K-means聚类算法[9]:利用PSO(particle swarm optimization)算法寻找聚类中心,对预处理后的漏洞数据运用K-means算法实现漏洞聚类。

(2)漏洞类型威胁性量化分析:利用每种漏洞类型高危、中危、低危各个危害等级的百分比,计算每种漏洞类型的威胁因子。

步骤2漏洞严重性评估。

(1)根据基于OVAL(open vulnerability assessment language)[10]的漏洞扫描器获得的主机漏洞报告,查找最新发布的相关安全补丁。

(2)利用文献[11]提出的基于粗糙集的漏洞严重性评估方法对主机中每个漏洞进行定量和定性评估。

步骤3漏洞修复策略选择。

(1)构建面向漏洞类型的层次化目标主机模型,目标主机模型从上到下分解为主机、漏洞类型威胁等级、漏洞类型、漏洞4个层次,采用“自下而上、先局部后整体”的漏洞修复策略。

(2)提出一种基于漏洞类型的层次化漏洞修复方法,最终给出细粒度的漏洞修复策略。

(3)根据漏洞优先级别执行相应的修复策略。

2.2 漏洞类型的威胁因子

漏洞类型(vulnerability type,VT)中高危、中危、低危各自的百分比分别表示为:

在漏洞类型中高危、中危、低危各自百分比的基础上,可获得该漏洞类型威胁因子(vulnerability type threat factor,VTTF),其计算公式为:

其中,ω1、ω2、ω3分别表示高危、中危、低危的漏洞百分比的权重大小,且满足ω1+ω2+ω3=1。权重大小的取值依据安全管理人员的专家经验知识,并根据式(4)计算每种漏洞类型的威胁因子,进而确定所有漏洞类型威胁因子的取值范围,最终将漏洞类型威胁因子评分进行等级划分。

2.3 基于漏洞类型的修复策略选择

本文提出了面向漏洞类型的层次化目标主机模型构建方法,如图2所示。目标主机模型的层次关系分解为主机、漏洞类型威胁等级、漏洞类型、漏洞4个层次,采用“自下而上、先局部后整体”的策略,其具体步骤为:

(1)利用基于OVAL的漏洞扫描器[12]获得的主机Host共N个漏洞Vi,其中i的取值范围是1≤i≤N。

(2)利用文献[11]提出的基于粗糙集的漏洞严重性评估方法计算每个漏洞危害性评分QS,并获得对应的漏洞危害等级。

(3)对于M个漏洞类型,将具有相同类型的漏洞Vi分到一个漏洞类型VTk组里,其中k的取值范围为1≤k≤M。

(4)将漏洞类型威胁等级是“弱危害”的所有漏洞放到Ggreen组中。同样地,将“中危害”、“强危害”等级的漏洞分别放到对应的组中。

Fig.2 Hierarchical target host model oriented to vulnerability type图2 面向漏洞类型的层次化目标主机模型

本文提出基于漏洞类型的层次化漏洞修复方法,其步骤为:

(1)在Ggreen组中,对每个漏洞按照Ggreen威胁等级规则执行相应的修复策略。若QS为高危,则优先级别为P1,补丁安装时间最多1周;若为中危,则优先级别为P2,补丁安装时间最多5周;若为低危,则优先级别为P3,补丁安装时间最多9周。

(2)在Gyellow组中,对每个漏洞按照Gyellow威胁等级规则执行相应的修复策略。若QS为高危,则优先级别为P1,补丁安装时间最多2周;若为中危,则优先级别为P2,补丁安装时间最多6周;若为低危,则优先级别为P3,补丁安装时间最多10周。

(3)在Gred组中,对每个漏洞Gred威胁等级规则执行相应的修复策略。若QS为高危,则优先级别为P1,补丁安装时间最多3周;若为中危,则优先级别为P2,补丁安装时间最多7周;若为低危,则优先级别为P3,补丁安装时间最多11周。

3 实验与分析

3.1 漏洞聚类结果分析

本文采用NVD数据库[2]在2004—2015年期间公布的65 295个安全漏洞样本进行实验,利用文献[9]中PSO-K-means算法对所有漏洞样本进行聚类分析。CNNVD(China National Vulnerability Database of Information Security)[13-14]对所有漏洞进行漏洞类型的人工标记,其结果有26种漏洞类型[15],通过爬虫程序获取每个漏洞对应的漏洞类型,将其与利用PSOK-means算法获得的聚类结果进行性能对比。

PSO-K-means算法的各个参数取值为:粒子群的种群规模大小m=65 295,聚类数目k=26,最大迭代次数maxTime=200,粒子群的适应度方差阈值threδ=0.1,利用文献[9]中算法1得到的频繁字典keylib有50个。因此,KSset的规模大小为50×65 295的二维向量。

图3显示了PSO-K-means算法获得的聚类结果与CNNVD人工标记的漏洞类型对比结果。其中,横轴表示漏洞类型,纵轴表示漏洞数量。从实验结果可以看出,PSO-K-means算法达到了良好的聚类效果,可对漏洞进行自动、有效的分类管理。

3.2 漏洞类型威胁等级分析

表2给出了26种漏洞类型各自高危、中危、低危漏洞的百分比。由于每种漏洞类型的漏洞危害等级百分比分布是一个动态变量,根据安全管理人员的专家经验知识,漏洞危害等级的分值越高,其对应的漏洞危害等级百分比权重也越高。依据3种漏洞危害等级的分值范围,设置高危、中危、低危的漏洞百分比权重分别为ω1=0.6,ω2=0.3,ω3=0.1,并根据式(4)计算各种漏洞类型的威胁因子。

3.3 漏洞修复策略分析

Fig.3 Vulnerability clustering analysis图3 漏洞聚类结果分析

Table 2 Various kinds of vulnerability types threat factor表2 各种漏洞类型威胁因子

Table 3 Vulnerability types threat rank表3 漏洞类型威胁等级

采用OVAL的漏洞扫描器对局域网中主机A进行漏洞检测,获得11个漏洞信息见表4所示,对该漏洞集合利用文献[11]提出的基于粗糙集的漏洞严重性评估方法RAR计算每个漏洞危害性评分,并获得对应的漏洞危害等级;3.1节已经完成对NVD数据库在2004—2015年期间公布的所有漏洞数据进行自动标注漏洞类型,查询主机A检测到的11个漏洞各自对应的漏洞类型,并根据表3查找对应的威胁等级,其结果如表4所示。

从定量角度可以看出,v5>v11>v7>v3>v1>v2>v4>v6>v8>v9>v10。根据面向漏洞类型的层次化目标主机模型构建方法,将威胁等级为强危害的漏洞放入组Gred中,包括漏洞序号v1、v3、v4、v5、v9、v11;将威胁等级为中危害的漏洞放入组Gyellow中,包括漏洞序号v7;将威胁等级为弱危害的漏洞放入组Ggreen中,包括漏洞序号v2、v6、v8、v10。

Gred、Gyellow、Ggreen中,按照其修复规则制定补丁修复策略,输出补丁优先修复过程见图4,制定相关策略如下:P1优先级的漏洞序号为v1、v3、v5、v11,其补丁修复时间最多为1周;P2优先级的漏洞序号为v7、v9,其补丁修复时间最多为2周;P3优先级的漏洞序号为“无”;P4优先级的漏洞序号为v4,其补丁修复时间最多为5周;P5优先级的漏洞序号为“无”;P6优先级的漏洞序号为v2、v6、v8,其补丁修复时间最多为7周;P7优先级的漏洞序号为“无”;P8优先级的漏洞序号为“无”;P9优先级的漏洞序号为v10,其补丁修复时间最多为11周。

Table 4 Vulnerability information of hostA表4 主机A的漏洞信息

Fig.4 Vulnerability remediation strategy图4 漏洞修复策略

4 结束语

深入分析现有漏洞评估与修复策略存在的问题,以及漏洞类型对漏洞修复优先次序的重要影响,提出了一种基于漏洞类型聚类的层次化漏洞修复模型,有效解决了难以确定同一危害等级漏洞修复优先次序的问题。实验验证了本文模型改进了传统的“一旦扫描出漏洞就要进行修复”的理念,从漏洞危害评分、漏洞危害等级、漏洞类型、漏洞类型威胁等级等多个角度出发,实现了对漏洞修复优先次序的细粒度管理,有效解决了难以确定同一危害等级漏洞修复优先次序的问题。

[1]Mell P,Scarfone K,Romanosky S.Common vulnerability scoring system[J].IEEE Security&Privacy Magazine,2006,4(6):85-89.

[2]NIST.The national vulnerability database(NVD)[EB/OL].[2015-10-28].https://nvd.nist.gov/.

[3]Frei S,May M,Fiedler U,et al.Large-scale vulnerability analysis[C]//Proceedings of the 2006 SIGCOMM Workshop on Large-Scale Attack Defense,Pisa,Sep 11-15,2006.New York:ACM,2006:131-138.

[4]Frühwirth C,Männistö T.Improving CVSS-based vulnerability prioritization and response with context information[C]//Proceedings of the 3rd International Symposium on Empirical Software Engineering and Measurement,Lake Buena Vista,Oct 15-16,2009.Washington:IEEE Computer Society,2009:535-544.

[5]He Lin,Gao Ling,Chen Dongqi,et al.Research of vulnerability-patch associated repair model based on SVM[C]//Proceedings of the 3rd International Conference on Multimedia Information Networking&Security,Shanghai,Nov 4-6,2011.Washington:IEEE Computer Society,2011:356-360.

[6]Subramanian D,Le H T,Loh P K K,et al.An empirical vulnerability remediation model[C]//Proceedings of the 2010 International Conference on Wireless Communications,Networking and Information Security,Beijing,Jun 25-27,2010.Piscataway:IEEE,2010:376-380.

[7]Wang Zhiliang,Gu Naijie,Li Kai.Benefit and cost combined vulnerabilities repair model[J].Journal of Chinese Computer Systems,2009,30(11):2163-2168.

[8]Huang C C,Farn K J,Lin Fengyu,et al.Software vulnerability patch management with semi-Markov decision process[J].Applied Mathematics&Information Sciences,2013,7(6):2467-2476.

[9]Gao Ling,Shen Yuan,Gao Ni,et al.Clustering analysis vulnerability information based on text mining[J].Journal of Southeast University:Natural Science Edition,2015,45(5):845-850.

[10]Open vulnerability assessment language[EB/OL].[2015-07-09].http://oval.mitre.org.

[11]Fu Zhiyao,Gao Ling,Sun Qian,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.

[12]He Lin.Research of vulnerability detection and repair technology supporting the compatible repository[D].Xi'an:Northwest University,2013.

[13]China national vulnerability database of information security(CNNVD)[EB/OL].(2010-11-16).http://www.cnnvd.org.cn/.

[14]Zhang Yuqing,Wu Shuping,Liu Qixu,et al.Design and implementation of national security vulnerability database[J].Journal on Communications,2011,32(6):93-100.

[15]Liao Xiaofeng,Wang Yongji,Fan Xiubin,et al.National security vulnerability database classification based on an LDA topic model[J].Journal of Tsinghua University:Science and Technology,2012,52(10):1351-1355.

附中文参考文献:

[7]汪志亮,顾乃杰,李凯.收益与代价相结合的漏洞修复模型[J].小型微型计算机系统,2009,30(11):2163-2168.

[9]高岭,申元,高妮,等.基于文本挖掘的漏洞信息聚类分析[J].东南大学学报:自然科学版,2015,45(5):845-850.

[11]付志耀,高岭,孙骞,等.基于粗糙集的漏洞属性约简及严重性评估[J].计算机研究与发展,2016,53(5):1009-1017.

[12]何林.支持兼容知识库的漏洞检测与修复技术研究[D].西安:西北大学,2013.

[14]张玉清,吴舒平,刘奇旭,等.国家安全漏洞库的设计与实现[J].通信学报,2011,32(6):93-100.

[15]廖晓锋,王永吉,范修斌,等.基于LDA主题模型的安全漏洞分类[J].清华大学学报:自然科学版,2012,52(10):1351-1355.

猜你喜欢
层次化补丁优先
面向量化分块压缩感知的区域层次化预测编码
补丁
基于类别混合嵌入的电力文本层次化分类方法
基于皮尔森相关算法的云存储层次化去冗优化
基于改进键合图方法的层次机电系统的测试性建模与分析
八月备忘录
八月备忘录
健胃补丁
40年,教育优先
绣朵花儿当补丁