近几年来,信息系统的漏洞数量呈指数级增长,高级持续性威胁(Advanced Persistent Threat, APT)攻击不断涌现,并且具有极强的针对性和隐蔽性。以入侵检测、防火墙等技术为代表的传统防护手段已不足以应对这些安全威胁。漏洞威胁评分方法可根据漏洞自身的相关属性和危害程度的不同作出排序,优先处理破坏性较强的安全漏洞,将漏洞可能引起的风险降低到最小[1]。
依据评分结果的多样性,漏洞威胁评分分为定性评估和定量评估两种方法。根据相关要素以高、中、低三个量级评定漏洞风险等级的方法称为定性评估。但定性评估具有主观性强和可重复性差等特点,因此风险评估与应急响应过程中存在许多不确定因素。定量评估则是参照既定的评分标准,以量化数值的形式反映出漏洞的威胁程度[2]。通用漏洞评分系统(Common Vulnerability Scoring System, CVSS)[3]给出了一个简洁统一的漏洞评分标准,以量化评分的形式,通过添加漏洞的相关属性,使安全机构能够量化计算漏洞的威胁程度,更好地降低漏洞带来的安全风险。
唐成华等[4]提出了一种利用遗传模糊层次分析漏洞威胁的分析方法,利用改进的模糊层次分析法求出各种风险因素的权重,建立模糊矩阵,利用遗传算法求解分析。张恒巍等[5]提出了基于博弈模型和风险矩阵的漏洞风险评分方法,针对安全漏洞,建立漏洞攻防博弈模型,结合攻击图和风险矩阵对漏洞连通关系进行定量分析。付志耀等[6]采用粗糙集理论中可辨识矩阵算法,提出了基于粗糙集的漏洞评估方法,在漏洞属性约简和属性权重计算上有所提高。
上述方法都是以单个安全漏洞威胁的量化评分为基础,依据CVSS并结合多个漏洞间的相互关联进行评分,量化计算出漏洞可能引起的风险程度。但CVSS自身存在不足,在制定时基础评分指标权重分配过多依赖于专家学者的主观经验决策,度量标准缺乏客观性;并且CVSS在对漏洞威胁进行基础评分的过程中对机密性、完整性及可利用性作均等权重分配而没有考虑其相对重要性,不能明确区分评分相近的漏洞的内部属性差异性,导致资源的重复和浪费。
本文在CVSS评分基础上,重新设计基础评分要素权重分配方法,根据评分要素的相对重要性对其权重进行优化分配,并与灰色关联度分析方法结合,使评分结果更具客观性,提高了评分结果的多样性,便于直观地对漏洞威胁性加以区分。
1 漏洞基础评分指标权重分配方法设计 1.1 漏洞基本评分指标影响性分析CVSS基本评分指标分为可利用性和影响性两部分,其包含要素及权重分配值[7]如表 1所示。
由表 1可见,影响性指标所包含的机密性、完整性和可利用性三个要素权重分配相同。但是,漏洞威胁产生的影响构成较为复杂,对其赋予相同权值限制了基本评分结果的多样性,导致无法区分具有不同属性的漏洞。本文研究的思路是:依据漏洞被成功利用后对系统的机密性、完整性和可利用性所造成的危害程度进行权重分配。
由CVSS的权重分配结果可知:当系统的机密性、完整性和可利用性没有受到破坏时,将权重值均设定为0;将造成完全影响的权重设定为部分影响的权重的2倍;所有权重值设定范围为0~7.0。
对机密性、完整性和可利用性的分析如下:
1) 漏洞被成功利用后对系统的机密性造成的危害很难被发现,且机密性一旦遭到破坏是不可逆的,无法对其进行恢复。更为严重的是,攻击者会利用漏洞将受保护的信息泄露给非授权的个人和实体,使授权机构及合法用户处于“失控”状态,极大地危害组织的信息安全并造成不可估量的经济损失[8-10]。故本文将机密性设定为最主要的影响因素。
2) 完整性对系统造成的影响也较难被发现,且通常会对可用性产生一定的影响[8, 11],故本文将完整性设定为次要的影响因素。
3) 与机密性和完整性相比,漏洞被成功利用后,对信息系统可利用性的影响具有易被发现的特点,且造成的破坏也较容易恢复[8, 11],故本文将可利用性设定为一般的影响因素。
由上述分析可知,当系统漏洞被成功利用并造成破坏后,对系统机密性影响远高于对系统完整性影响和可利用性影响。
1.2 漏洞评分指标权重组合最优搜索方法依据1.1节的分析结果,为提高漏洞评分的多样性和精确性,达到真实反映漏洞威胁程度的目的,本文提出一种漏洞评分指标权重组合最优搜索方法。该方法的流程设计如图 1所示。
为避免出现无法真实反映漏洞威胁的极端值,应保证完整性的完全影响大于机密性的部分影响,且可利用性的完全影响大于完整性的部分影响。由于最终漏洞评分结果需要保留一位小数,且部分影响权重为完全影响的一半,故将最小增减量的步长设定为0.2。采用与CVSS一致的权重范围(0~7.0), Wc表示保密性权重,Wi表示完整性权重,Wa表示可用性权重,t表示最小增减量步长,则:
$ {W_c} + {W_i} + {W_a} = 7 $ | (1) |
由于部分影响为完全影响的一半,完整性的完全影响大于机密性的部分影响,可利用性的完全影响要大于完整性的部分影响,故:
$ 2 * {W_a} > {W_i} $ | (2) |
且:
$ 2 * {W_i} > {W_c} $ | (3) |
由式(2)~(3) 可得,4*Wa > Wc,2*Wa > Wi。代入式(1),可得:
$ 7 * {W_a} > 7 $ | (4) |
即:
$ {W_a} > 1 $ | (5) |
由于最小增量步长为0.2,则:
$ {W_a} \geqslant 1.2 $ | (6) |
所以,Wa的最小取值为1.2。
由于Wa≤Wi,步长为0.2,则:
$ {W_a} \leqslant {W_i}-0.2 $ | (7) |
且:
$ {W_i} \leqslant {W_c}-0.2 $ | (8) |
采用与Wa最小值推导相同方法,可得:
$ 3 * {W_a} \leqslant 7-0.6 $ |
即:
$ {W_a} \leqslant \left( {7 - 0.6} \right)/3 $ | (9) |
同理,由于最小增量步长为0.2,可得Wa的最大取值为2.0。
由以上推导得出可利用性权重Wa取值范围为1.2~2.0。
此外,机密性、完整性和可利用性评分要素又具有“无影响”“部分影响”和“完全影响”三个属性类别,由此可得到33种权重组合方案,方案改进需保证权重方案组合各列项取值相异。
通过执行该搜索方法,可得到基本评分指标机密性、完整性和可利用性的14组权重组合方案,方案具体构成如表 2所示。
CVSS过多依赖专家经验决策,导致其主观性偏强,并且专家知识缺乏也容易对决策结果造成影响。1.2节提出的最优搜索方法只针对评估要素相对重要性作出改进,并没有克服权重分配主观性较强这一缺陷。因此,本文依据灰色关联度分析来对1.2节所得的14种分配方案进行关联集成,得到更具客观性的权重分配方案。
可将表 2中的14种权重分配方案视为14个专家的经验决策方案,将14种权重分配结果与其中某一专家决策的权重分配结果中的权重最大值(设定)作量化比较,利用简易数学模型根据不同方案的权重值作集成计算,得到的结果既吸取了专家主观决策信息,也具备更高的客观性。
采用灰色关联度分析指标权重求解方法的设计过程如下:
1) 生成评估指标权值矩阵。把14种权重分配方案中各评估指标不同权重方案数据形式化表示为矩阵形式 Z=(Z1, Z2, …, Zn)T,则有:
$ {\boldsymbol{Z}} = \left[{\begin{array}{*{20}{c}} {{z_1}(1)}&{{z_1}(2)}& \cdots &{{z_1}(m)} \\ {{z_2}(1)}&{{z_2}(2)}& \cdots &{{z_2}(m)} \\ \vdots&\vdots &{}& \vdots \\ {{z_n}(1)}&{{z_n}(2)}& \cdots &{z{}_n(m)} \end{array}} \right] $ | (10) |
2) 给出参考数据列。参考数据列Z0的组成权值为Z中权重值最大的数值。把这个值赋给m个专家, 则Z0=(z0(1), z0(2), …, z0(m));
3) 求解n个评估指标序列Z1, Z2, …, Zn与Z0的间距;
$ {D_{oi}} = \sum\limits_{k = 1}^m {{{({z_0}(k)-{z_i}(k))}^2}} $ | (11) |
4) 求解n个评估指标权值:
$ {W_i} = 1/\left( {1 + {D_{oi}}} \right) $ | (12) |
根据上述计算步骤,分别对机密性、完整性和可利用性所包含的“无”“部分”以及“完全”影响三个属性类别分别作基于灰色关联度分析的指标权重求解。而由表 2可知,机密性、完整性和可利用性三个评估要素的“无影响”属性类别的所有方案权重分配均为0,因此只需对“部分”“完全”这两个属性类别作灰色关联度指标的权重求解。利用上述计算式(10)~(12),权重求解步骤设计如下:
1) 依据表 2,确定三个评估要素“部分影响”类别权重分配表,如表 3所示。表 3中的数据是不同权重分配方案赋给三个评分要素“部分”类别的权重。
2) 依据基于灰色关联度分析的指标权重求解方法中的步骤2) 写出参考数列 Z0。由表 3可知,所有权重取值中最大值为1.9,因此Z0={1.9,1.9,1.9,1.9,1.9,1.9,1.9,1.9,1.9,1.9,1.9,1.9,1.9,1.9}。
3) 依据基于灰色关联度分析的指标权重求解方法步骤1) 中的式(10) 写出评估指标权重矩阵,即:
$ {\boldsymbol{Z}} = \left[ {\begin{array}{*{20}{c}} {{{\boldsymbol{Z}}_0}} \\ {{{\boldsymbol{Z}}_1}} \\ {{{\boldsymbol{Z}}_2}} \\ {{{\boldsymbol{Z}}_3}} \end{array}} \right] = \left[ {\begin{array}{*{20}{c}} {1.9}&{1.9}&{1.9}&{1.9}&{1.9}&{1.9}&{1.9}&{1.9}&{1.9}&{1.9}&{1.9}&{1.9}&{1.9}&{1.9} \\ {1.9}&{1.8}&{1.8}&{1.7}&{1.6}&{1.5}&{1.7}&{1.5}&{1.4}&{1.6}&{1.5}&{1.4}&{1.4}&{1.3} \\ {1.0}&{1.1}&{1.0}&{1.1}&{1.2}&{1.3}&{1.0}&{1.2}&{1.3}&{1.0}&{1.1}&{1.2}&{1.1}&{1.2} \\ {0.6}&{0.6}&{0.7}&{0.7}&{0.7}&{0.7}&{0.8}&{0.8}&{0.8}&{0.9}&{0.9}&{0.9}&{1.0}&{1.0} \end{array}} \right] $ |
式中:Z1、Z2、Z3分别代表机密性、完整性、可利用性。数列由14种权重分配方案结果组成,相对所设定的参考数列Z0,Z1、Z2、Z3称为比较数列。将数列Z0、Z1、Z2、Z3代入式(11)~(12) 中,可得评估要素Z1、Z2、Z3的“部分”类别的权重集合为:W={w1, w2, w3}={1.8, 1.2, 0.7}。
同上,依据表 2,确定“完全”类别权重分配表,如表 4所示。
同上,确定数列组成, Z0为参考数列,Z1、Z2、Z3为比较数列,分别代表机密性、完整性和可利用性,得到评估指标权重矩阵为:
$ \boldsymbol{Z} = \left[{\begin{array}{*{20}{c}} {{\boldsymbol{Z}_0}} \\ {{\boldsymbol{Z}_1}} \\ {{\boldsymbol{Z}_2}} \\ {{\boldsymbol{Z}_3}} \end{array}} \right] = \left[{\begin{array}{*{20}{c}} {3.8}&{3.8}&{3.8}&{3.8}&{3.8}&{3.8}&{3.8}&{3.8}&{3.8}&{3.8}&{3.8}&{3.8}&{3.8}&{3.8} \\ {3.8}&{3.6}&{3.6}&{3.4}&{3.2}&{3.0}&{3.4}&{3.0}&{2.8}&{3.2}&{3.0}&{2.8}&{2.8}&{2.6} \\ {2.0}&{2.2}&{2.0}&{2.2}&{2.4}&{2.6}&{2.0}&{2.4}&{2.6}&{2.0}&{2.2}&{2.4}&{2.2}&{2.4} \\ {1.2}&{1.2}&{1.4}&{1.4}&{1.4}&{1.4}&{1.6}&{1.6}&{1.6}&{1.8}&{1.8}&{1.8}&{2.0}&{2.0} \end{array}} \right] $ |
4) 将数列Z0、Z1、Z2、Z3代入式(11)~(12) 中,可得评估要素Z1、Z2、Z3的“完全”类别的权重值集合为:W={w1, w2, w3}={3.6, 2.4, 1.4}。
2 验证实验与结果分析 2.1 实验工具和环境选择“统计产品与服务解决方案”软件(Statistical Product and Service Solutions, SPSS)作为统计分析应用工具,从美国国家漏洞数据库(National Vulnerability Database, NVD)[12]里随机选取5 000个漏洞样本作为本文漏洞评分方法的实验数据。在Windows系统环境下安装开放数据库连接(Open DataBase Connectivity, ODBC)引擎,使用SPSS并通过ODBC直接访问NVD数据库管理系统导入实验数据样本。
2.2 样本数据预处理分析基本指标间的关联性,需要对样本数据作预处理。对样本包含的所有漏洞的机密性、完整性和可利用性三个指标信息进行分类,统计出各个指标中完全影响、部分影响及无影响所占据的百分比。
在SPSS环境下,采用对个案的值计数功能完成统计过程,分别设置机密性、完整性和可利用性作为目标计数变量输入,统计出完全影响、部分影响及无影响三个属性类别在目标计数变量中所占比例,统计结果如图 2所示。
利用上述统计结果对机密性、完整性和可利用性进行双因素交叉作用下的列联表分析,分析两两因素间有无显著性影响。分别设定三个指标为列联表的行列变量,作频数列联分析。列联表的频数分布可以对列联表中行列变量之间是否彼此独立进行简单的判断。列联表分析结果如表 5~7所示。
由表 5~7可知,基本评估指标是相互关联的而非相互独立。尤为显著的是,由表 5可知,对系统机密性和完整性同时造成完全影响的漏洞占实验样本的95.58%。由表 6可知,95.56%的样本漏洞在对系统机密性造成完全影响的同时也对系统的可利用性造成完全破坏。由表 7可知,99.24%的样本漏洞对系统完整性和可利用性同时造成了完全影响。
因此各评分指标在完全影响这一类别上具有很强的关联性,即成功利用漏洞后如果对系统机密性、完整性和可利用性其中之一造成了完全影响,则对另外两者造成完全影响的概率很大。同样,其余影响类别间也具有一定关联性。
通过以上对数据样本的预处理分析可知,不同的漏洞具有不同的属性,可视为漏洞组成的相关组件。由于构成漏洞的组件构造具有复杂性,组件之间并不是相互独立的,所造成的威胁影响也并不是以相同的比例出现,所以应尽量避免不同属性的漏洞获得相同的评估分值。因此需要对评估要素权值的均等分配作适当改进,尽量提高评估分值的多样性,以便更好地对漏洞威胁加以区分,有利于系统优化。
2.3 样本数据描述性统计分析在本节中,基本评估分值计算式如下:
基本评分标准值=取整(10*攻击途径*攻击复杂度*认证((机密性影响*机密性影响偏移量)+(完整性影响*完整性影响偏移量)+(可用性影响*可用性影响偏移量)))
在SPSS环境下,采用Frequencies过程以及Descriptives过程,选取均值、总和、标准差、变异系数、最小值、最大值和分位数等描述集中趋势的基本统计量作为参数,分析样本数据变量取值状况并获取样本数据的分布特征。Frequencies过程可以产生详细的频数分布表以及计算百分位数,Descriptives过程可对变量进行描述性统计分析并计算出相应的统计指标,得到频数分布表如表 8所示。
该实验中,判定最优方案的重要依据是:实验样本在进行权重转换后的频数基本统计结果中最终得到不同分值数量,分值多样性越高意味着对漏洞差异区分程度越好。由表 8可知方案15获得最终分值数量为78种,多于CVSS以及另外14种方案。
由于基本评估分值限定在一个相对较小的取值范围内(0~10),且由表 8可以看出,不同方案统计结果相差不大,因此需要对实验结果进行假设检验,用于判断所有方案的评判标准是否相同。如果相同,则实验结果无意义。
2.4 权重方案一致性检验Kendall's W 一致性检验适用于分析评判者的判别标准是否一致,Kendall一致性协同系数 W 值越接近1,说明评判者的评价标准一致性越好。在实践中, m个评估机构按照某些特别属性对n个对象进行排序,如果要评判这m 个评估机构的评估结果是否一致,就需要运用Kendall协同系数检验。
本实验需验证不同加权方案的评分标准是不一致的,因此提出零假设H0:所有分数(CVSS以及15种加权方案)分布是一致的。在SPSS环境下,设置检验方法类型为Kendall's W 一致性检验,显著性水平选定为0.01,检验结果得到 W 值为0.087,该值远小于1且渐近显著性概率值0.002也小于所选定的显著性水平0.01,因此拒绝零假设H0,可以确定在本质上CVSS以及15种加权方案评分标准是不一致的。
2.5 对比与分析针对CVSS和运用本文方法得到的方案15,分别从定量和定性两个角度进行对比分析。
具体过程为:根据2.3节表 8的频数分析基本统计结果,对上述两种方案进行定量对比分析,结果如表 9所示。
由表 9可知,在中值和平均值方面,CVSS都要高于方案15。若把5定为中值标准,则CVSS的漏洞评分结果会更“偏激”,即高危类别的漏洞数量所占比例过高。同时,CVSS的四分位数取值范围更窄,变异系数也略低。
综上所示,方案15评分结果分值分布比CVSS更为平缓连续,有效地避免了过多极端值的出现,并且评分分值分布的离散化更能客观有效地区分不同漏洞威胁的严重性。
下面对两种方案再作定性对比分析。在SPSS环境下进行数据等级划分,设定数值转化规则为Lowest thru 3.9 →“低”,4 thru 6.9 →“中”,7 thru Highest →“高”,选定柱形图作为输出图表,结果如图 3所示。
由图 3可知,在CVSS中,绝大多数漏洞(92.9%)被定为中高严重级别。与CVSS相比,方案15在三种漏洞严重等级分配上实现了更为均衡的特征分布。
3 结语本文提出了一种漏洞威胁基本评分指标权重分配方法,依据机密性、完整性和可利用性三个漏洞威胁基本评分要素的相对重要性差异,设计了一种最优搜索方法,对评分要素权重进行优化分配,通过与灰色关联度分析方法结合,得到更加客观的指标分配方案。验证实验结果表明,与CVSS相比,本文方法在一定程度上削弱了指标权重分配的主观性,提高了漏洞评分结果的多样性和准确性。
本文提出的方法简单适用,给信息技术管理者、信息安全机构提供了一种有效的漏洞威胁优先级确认方法。漏洞评分结果的均衡分布也有助于软件供应商优先出厂修补程序,优化资源配置。可以进一步挖掘包含在不同重要数据库中更多潜在信息,目前CVSS3.0已出版,可参照CVSS3.0纳入的新的计算指标来对本文评分方法结构进行改进,得到更精细有效的评分系统。
[1] | 刘奇旭, 张翀斌, 张玉清, 等. 安全漏洞等级划分关键技术研究[J]. 通信学报, 2012, 33(Z1): 79-87. ( LIU Q X, ZHANG Y B, ZHANG Y Q, et al. Research on key technologies of vulnerability threat classification[J]. Journal on Communications, 2012, 33(Z1): 79-87. ) |
[2] | 李锐. 通用安全漏洞评估系统(CVSS)简介及应用建议[J]. 计算机安全, 2011(5): 58-60. ( LI R. Brief introduction and application of general security vulnerability assessment system (CVSS)[J]. Network and Computer Security, 2011(5): 58-60. ) |
[3] | MELL P, SCARFONE K, ROMANOSKY S. A complete guide to the common vulnerability scoring system version 2.0[EB/OL].[2016-10-09]. https://wenku.baidu.com/view/5c90a4d5c1c708a1284a44fc.html. |
[4] | 唐成华, 田吉龙, 汤申生, 等. 一种基于GA-FAHP的软件漏洞风险评估方法[J]. 计算机科学, 2015, 42(9): 134-138. ( TANG C H, TIAN J L, TANG S S, et al. Risk assessment of software vulnerability based on GA-FAHP[J]. Computer Science, 2015, 42(9): 134-138. doi: 10.11896/j.issn.1002-137X.2015.09.025 ) |
[5] | 张恒巍, 张健, 韩继红, 等. 基于博弈模型和风险矩阵的漏洞风险分析方法[J]. 计算机工程与设计, 2016, 37(6): 1421-1427. ( ZHANG H W, ZHANG J, HAN J H, et al. Vulnerability risk analysis method based on game model and risk matrix[J]. Computer Engineering and Design, 2016, 37(6): 1421-1427. ) |
[6] | 付志耀, 高岭, 孙骞, 等. 基于粗糙集的漏洞属性约简及严重性评估[J]. 计算机研究与发展, 2016, 53(5): 1009-1017. ( 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 ) |
[7] | 韦涛, 彭武, 王冬海. 基于漏洞属性分析的软件安全评估方法[J]. 电光与控制, 2015, 22(8): 66-70. ( WEI T, PENG W, WANG D H. A method for software security assessment based on analysis of software defects[J]. Electronics Optics & Control, 2015, 22(8): 66-70. ) |
[8] | WANG Y, YANG Y. PVL:a novel metric for single vulnerability rating and its application in IMS[J]. Journal of Computational Information Systems, 2012, 8(2): 579-590. |
[9] | CAMPBELL K, GORDON L A, LOEB M P, et al. The economic cost of publicly announced information security breaches:empirical evidence from the stock market[J]. Journal of Computer Security, 2003, 11(3): 431-448. doi: 10.3233/JCS-2003-11308 |
[10] | CAVUSOGLU H, MISHRA B, RAGHUNATHAN S. The effect of Internet security breach announcements on market value:capital market reactions for breached firms and Internet security developers[J]. International Journal of Electronic Commerce, 2004, 9(1): 70-104. |
[11] | MELL P, SCARFONE K. Improving the common vulnerability scoring system[J]. IET Information Security, 2007, 1(3): 119-127. doi: 10.1049/iet-ifs:20060055 |
[12] | 蒋诚. 信息安全漏洞等级定义标准及应用[J]. 信息安全与通信保密, 2007(6): 148-149. ( JIANG C. Rank definition standard and application for information security vulnerability[J]. Information Security and Communication Privacy, 2007(6): 148-149. ) |