通用漏洞评分系统(Common Vulnerability Scoring System,CVSS)
通用漏洞评分系统(Common Vulnerability Scoring System,CVSS)是由FIRST(Forum of Incident Response and Security Teams)提出的漏洞严重性评分算法,现在已成为ITU-T(b-ITU-T X.1521)和NIST(NISTIR 7435)的推荐标准,被广泛应用于软件安全、漏洞管理等领域。下面以CVSS 3.1为例,介绍其主要内容。CVSS主要包含以下3组评估指标:
基准类指标。用于计算基准评分,主要从漏洞的内在特性(不会随时间的推移或环境的改变而变化),来评价漏洞的严重性。
时间类指标。用于计算时间评分,主要根据与时间相关的因素(如漏洞利用工具的研制进展),对基准评分进行调整。
环境类指标。用于计算环境评分,主要根据特定的系统环境(如保护措施的部署),对基准评分和时间评分进行调整。
图1 CVSS的指标体系构成
1、CVSS的指标构成
(1)基准指标
CVSS基准指标组包含三个指标集:“可利用性(Exploitability)”指标主要考虑与攻击成功直接相关的那些漏洞特性,“影响性(Impact)”指标从机密性、完整性和可用性方面,衡量漏洞被成功利用后对目标产生的直接最坏影响,“范围(Scope)”指标主要考虑漏洞是否会影响其安全范围以外的资源。
“可利用性”指标集中的指标包括:
“攻击向量(AV)”反映漏洞被利用的可能性。按攻击(逻辑/物理)距离度量指标值,距离越远(潜在的攻击者越多)则值越大,可能值包括网络(N)、邻接(A)、本地(L)、物理(P)。
“攻击复杂度(AC)”反映成功攻击所依赖的外部条件(不包括用户交互),攻击越复杂则值越大,可能值包括高(H)、低(L)。
“特权要求(PR)”描述在成功利用漏洞之前,攻击者需要拥有的权限。如果没有特权要求,则基准评分越高,可能值包括高(H)、低(L)、无(N)。
“用户交互(UI)”描述成功攻击是否需要用户(攻击者除外)参与。如果没有用户参与的要求,则基准评分越高,可能值包括要求(R)、无(N)。
“影响性”指标在度量时,只考虑漏洞成功利用后,访问方式、权限等方面的提升情况,具体指标包括:
“机密性(C)”反映漏洞对信息资源机密性的影响,影响程度越高则值越大,可能值包括高(H)、低(L)、无(N)。
“完整性(I)”反映漏洞对信息资源完整性的影响,影响程度越高则值越大,可能值包括高(H)、低(L)、无(N)。
“可用性(A)”反映漏洞对信息资源/系统的可用性影响,影响程度越高则值越大,可能值包括高(H)、低(L)、无(N)。
“范围”指标主要衡量漏洞的影响是否跨越了不同的安全区域。
在信息安全中,一个安全控制机制下的所有主、体被视为属于一个安全区域。如果漏洞会影响与自身所在区域之外的组件,则会发生范围更改,此时基准评分更高。该指标的可能值包括改变(C)、未改变(U)。
(2)时间指标
此类指标主要反映漏洞利用技术和工具的进展情况、漏洞解决办法和补丁发布情况,以及漏洞相关资料的可信度。具体指标包括:
“工具成熟度(E)”反映漏洞被用于攻击的可能性。公开的漏洞利用工具增加了潜在攻击者数量,漏洞也更容易被利用,其严重性评分也更高。该指标的可能值包括未定义(X)、高(H)、有效(F)、验证(P)、未验证(U)。
“修复级别(RL)”反映在漏洞公开、解决办法和补丁发布等不同阶段,漏洞严重性的变化。对应方案越非官方,严重性越高,该指标的可能值包括未定义(X)、不可用(U)、变通方法(W)、临时补丁(T)、官方补丁(O)。
“报告可信度(RC)”反映漏洞存在信息的可信程度,漏洞信息来源的信誉度越高(如厂商),漏洞严重性评分越高。该指标的可能值包括未定义(X)、确认(C)、合理(R)、未知(U)。
(3)环境指标
此类指标是基准评分的变形,根据受影响的IT资产对企业组织的重要性,根据已有的安全控制措施,从机密性、完整性和可用性方面修正CVSS评分。具体指标包括:
“安全需求(CR,IR,AR)”通过修改“调整基准”指标的权重从机密性、完整性和可用性3方面修正CVSS评分。例如,如果CR设置为高,则MC指标的权重将会相应增大。每个安全需求均存在未定义(X)、低(L)、中(M)、高(H)4种可能值。
“基准调校”通过优先使用“安全需求”指标,使“环境指标”替代“基准指标”参与评分计算,以反映企业实际环境中漏洞的严重性。对应基准指标类中的8项指标,也存在8项“基准调校”指标,分别为:“攻击向量调校(MAV)”、“攻击复杂度调校(MAC)”、“特权要求调校(MPR)”、“用户交互调校(MUI)”、“机密性调校(MC)”、“完整性调校(MI)”、“可用性调校(MA)”,每项指标的可能值则增加一种“未定义”。
2、CVSS评分算法
CVSS针对上述各项评估指标给出了相应的量化数据,属于定量的严重性评估方法。在评估漏洞严重性时,使用者只需提供相应指标的评标值,CVSS算法根据该指标配置自动计算漏洞评分(值域[0,10.0])。
图2 CVSS的评分计算过程(V3.1)
基准评分通过、两个函数和S指标计算,然后依次通过和函数将时间和环境指标纳入计算,以便通过对基准评分的修正获得更精确的严重性评分。
一般来说,基准评分和时间评分由漏洞分析人员、安全厂商或软件产品厂商计算使用,因为他们能掌握最准确的漏洞信息,而环境评分由用户企业根据漏洞对自身环境的影响而计算使用。CVSS在计算漏洞评分时,将计算时所使用的指标值组合成一个向量字符串,以便说明评分的计算参数。
例如,某漏洞的评分基准指标值为“攻击向量:网络,攻击复杂度:低,特权要求:高,用户交互:无,范围:未改变,机密性:低,完整性:低,可用性:无”,则其向量字符串可表示为:“CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:U/C:L/I:L/A:N”。
表1给出了CVSS分值对应的严重性等级,实际上,CVSS各指标项的量化值(常量)也是由该表推导出来,如攻击向量指标的量化值依次为:网络(0.8)、邻接(0.62)、本地(0.22)、物理(0.2)。通过这些指标值,CVSS算法本质上时一个严重性量化评分查询表,通过不同的指标组合可以查到(计算出)相同或不同的分值。
3、CCSS与CMSS
2007年8月,NIST在NISTIR 7435报告中采纳CVSS算法(V2.0),作为联邦系统及国家漏洞库(National Vulnerability Database,NVD)的漏洞评分算法。随后,2010年10月NISTIR 7502提出通用配置评分系统(Common Configuration Scoring System,CCSS),2012年7月NISTIR 7864提出通用误用评分系统(Common Misuse Scoring System,CMSS)。
CCSS和CMSS是对CVSS的有效补充,主要解决软件安全配置和特性误用的脆弱性评估问题。这三种脆弱性评分系统采用了相同/相近的理念、维度和算法来分析、计算软件的脆弱性分值和等级(如表1)。表2汇总对比了CVSS(V2.0)、CCSS和CMSS的指标情况。
对于基准指标,上述三个规范使用相同的6个指标和计算公式,但CCSS和CMSS对每个指标的含义进行了调整,以符合其涵盖的漏洞类型。特别是,CCSS区分了配置缺陷的利用方式:主动利用或被动利用。主动利用是指攻击者执行某些操作,以利用该缺陷,而被动利用指的是通过该配置项缺陷使授权机制失效。例如,能够阻止审核日志生成安全事件的配置项。CCCS出于利用难易程度的差异,才将基准指标的可利用性分为主动或被动。
在时间和环境指标方面,CMSS和CCSS虽然参考了CVSS,但仍存在较大差异。CVSS中的时间指标主要考虑漏洞利用工具的研制进展、补救措施(例如补丁),以及漏洞存在的可信度。然而CMSS和CCSS所针对的软件缺陷,可以在不使用Exploit代码的情况下利用,而且CMSS缺陷和大多数CCSS缺陷并不存在完整的补救措施,所以CMSS和CCSS的时间指标集与CVSS大不相同。
CMSS和CCSS的环境指标比CVSS要复杂得多。除了沿用CVSS的3个指标“潜在附带损害”、“目标分布(更名为本地发生率)”和“安全需求”之外,CMSS和CCSS还额外增加了两个指标:目标价值(反映攻击者如何看待该环境中的目标价值),补救级别(反映环境中补救措施的有效性)。
通用弱点评分系统
2015年4月,ITU-T X.1525提出了通用弱点评分系统(Common Weakness Scoring System,CWSS),对弱点的描述方法进行了标准化,用户可以通过CWSS的攻击面指标和环境指标,使用业务环境的上下文信息来评价软件功能所面临的风险,以便精准地进行安全决策。
1、CWSS的指标构成
CWSS包含三个指标组:基本指标、攻击面指标和环境指标(如图3)。
图3 CWSS的评分算法及指标
(1)基本指标
基本指标主要评估弱点的固有风险,公开信息的可信度和安全措施的控制效果,具体指标包括:
“技术影响(TI)”指弱点被成功利用后,可能产生的潜在结果;
“获得权限(AP)”指弱点被成功利用后,攻击者可以获得的权限;
“获得权限级(AL)”指弱点被成功利用后,攻击者可以获得的权限层次;
“内部控制有效性(IC)”指防止弱点被攻击者利用的系统控制能力;
“报告可信度(FC)”指弱点报告的消息可信度。
(2)攻击面指标
攻击面指标主要评估在利用弱点时,攻击者必须克服的条件,具体指标包括:
“所需权限(RP)”指为了访问、利用弱点,攻击者必须具有的权限;
“所需权限级(RL)”指为了访问、利用弱点,攻击者必须具有的权限层次;
“访问向量(AV)”指攻击者访问、利用弱点的途径;
“认证强度(AS)”指弱点所在模块的认证保护强度;
“交互水平(IN)”指成功攻击是否依赖受害者的参与;
“分布范围(SC)”弱点是否存在于所有软件的部署实例,或仅限于平台/配置子集。
(3)环境指标
环境指标在特定的系统运行环境或操作上下文中对弱点进行评估,具体指标包括:
“业务影响(BI)”指弱点被成功利用后,对业务或任务的潜在影响;
“发现可能性(DI)”指弱点被攻击者发现的可能性;
“利用可能性(EX)”指弱点攻击者成功利用的可能性;
“外部控制有效性(EC)”指软件之外的控制或缓解的能力;
“发生率(P)”指弱点在软件中的出现情况。
2、CWSS评分算法
在CWSS量化评估算法中,每个指标项均按其具体含义划分为不同的量化等级,并分配量化值,如TI的等级包括严重(1.0)、高(0.9)、中(0.6)、低(0.3)、无(0.0)。除此之外所有指标项均存在未知(0.5)、不适用(1.0)、缺省(0.6)和量化(由用户确定)4种量化值。
从算法本身来看,多因素的乘法运算以及多重权重,意味着最终得分的范围会始终偏低。“不适用”值的权重为1,使得最终评分的最大值为100.0。在极少数情况下,某些因素被视为不适用(如,技术影响、业务影响和内部控制有效性),则最低得分可能为非0。
当多个指标使用缺省值时,CWSS分数将严重偏低,而理想情况下,使用默认值得到的分数应接近于50。使用“未知”值时也会产生偏低的分数,这一点倒是比较有意义,因为如果用户有更具体的弱点信息,评分结果将会更高。
安全态势的量化评估通常是一个复杂的计算过程,需要客观地反映网络环境中的各种资产的安全状态,并通过合理的量化算法确保量化结果的科学性。本文研究分析了CIS RAM、AWARE、CVSS、CCSS、CMSS,以及CWSS算法的基本原理,分析了不同算法的特点和适用范围,希望能为零信任态势评估的发展提供一些参考。
全部 0条评论