Facebook Google Plus Twitter LinkedIn YouTube RSS Menu Search Resource - BlogResource - WebinarResource - ReportResource - Eventicons_066 icons_067icons_068icons_069icons_070
阅读时长为 11 分钟 2020 年 4 月 16 日

什么是 VPR?它与 CVSS 有什么区别?

什么是 VPR 以及与 CVSS 有什么区别?

本系列博客将从多个不同角度深入探讨漏洞优先级分析 (VPR)。第一部分将重点探讨 VPR 的显著特征,这些特征使其比通用漏洞评分系统 (CVSS) 更适合作为确定修复工作优先级的工具。

什么是 VPR?

漏洞优先级评级 (VPR) 是 Tenable 预测优先级分析的输出,它通过根据严重程度(严重、高危、中危和低危等级,由技术影响和威胁两个组成部分决定)对漏洞进行评级,从而帮助企业提高修复效率和有效性。

技术影响衡量的是漏洞遭到利用后对机密性、完整性和可用性的影响。该指标相当于 CVSSv3 的影响子评分。威胁部分反映的是针对特定漏洞近期和潜在的未来威胁活动。 影响 VPR 的威胁示例包括公开的概念验证 (PoC) 研究、社交媒体上的漏洞利用报告、漏洞利用工具和框架中出现的漏洞利用代码、暗网和黑客论坛上的漏洞利用引用,以及在现实环境中检测到的恶意软件哈希。这些威胁情报对于优先处理会对企业构成最大风险的漏洞至关重要。

VPR 旨在对漏洞进行优先级分析

长期以来,CVSS 框架一直因无法有效、高效地对漏洞修复工作进行优先级分析而受到批评。这主要是因为该方法的设计初衷是衡量漏洞的技术严重性,而非其带来的风险。 卡内基梅隆大学发布的一份报告 [CMU2019] 指出:

通用漏洞评分系统 (CVSS) 设计宗旨在于度量技术严重性,但在漏洞优先级分析和风险评估领域遭到广泛误用。

在用于漏洞修复时,经常被诟病的问题之一是,CVSS 评级中高危和严重漏洞所占的比例过大。截至撰写本文时,评为 9.0 分及以上(按 CVSSv2 标准)的漏洞已有超过 16,000 个,占所有漏洞总数的 13%。CVSSv3(CVSS 的最新主要版本)并未在此问题上有所改进。自 2015 年 6 月发布以来,已有超过 60,000 个漏洞通过 CVSSv3 进行了评级。约有 9,400 个 CVSSv3 漏洞被评为 9.0 或更高,占所有 CVSSv3 漏洞的 16%。当很大比例的漏洞都被判定为严重级别时,优先级分析工作就会变得十分繁琐。

图 1.按重要性评级比较 CVSSv3 和 VPR 漏洞分布情况

VPR 通过将威胁信息纳入其计算公式,旨在避免此类问题。上图对比了 VPR 和 CVSSv3 的漏洞分布情况。由于威胁的动态性,VPR 严重级别的漏洞数量每天都会略有变化。在平常一天中,VPR 通常将约 700 个漏洞评为“严重”,将不到 5,000 个漏洞评为“高危”。这些数字分别占所有漏洞总数的不到 1% 和 4%。由于需要重点关注的严重漏洞数量减少,安全团队可以更高效地制定漏洞修复计划。

在此阶段自然会提出的一个问题,就是关于有效性的问题:VPR 能够检测出多少个高风险漏洞?本文剩余部分将对比 VPR 和 CVSSv3 在识别高风险漏洞方面的有效性。但首先,我们将探讨 VPR 是如何生成的。

VPR: 幕后揭秘

VPR 的核心是一组协同工作的机器学习模型,用于预测威胁。具体而言,该威胁预测旨在回答以下问题: 根据目前可获得的最新数据,该漏洞的短期威胁程度应如何评估? 为了训练 VPR 模型来回答此问题,系统会向其提供源自各种数据源的历史数据:

  • 威胁情报源提供与漏洞相关的漏洞利用和攻击信息,例如对入侵指标 (IoC) 的观测、暗网上漏洞利用的参考、社交媒体或代码存储库上的漏洞利用报告等。它们向 VPR 提供了有关哪些漏洞可能与漏洞利用有关、哪些漏洞正遭受活跃攻击的信息。
  • 漏洞利用存储库/工具包提供了有关漏洞利用代码成熟度的信息。不同成熟度等级(从概念验证到武器化)对威胁的贡献程度各不相同。
  • 漏洞存储库和安全公告提供了漏洞的内在特征,这些特征也可能与威胁相关联。

这些原始数据每天都会汇集到 VPR 管道中。VPR 评分(如下例所示为 9.6)是通过将每个漏洞的预测威胁等级与影响等级(取自 CVSSv3 影响评分)相结合而得出的。 图 2 展示了这一过程。

图 2.VPR 管道

比较 VPR 与 CVSS 在漏洞修复中的应用

比较分析表明,基于 VPR 的修复策略可能比基于 CVSS 的方法具备更更高的有效性。

VPR 优先处理出现漏洞利用行为的漏洞

针对新出现的威胁采取主动应对措施,有助于安全团队争取时间,从而加强其攻击面的防御能力。 主动防御的一个例子是:频繁扫描网络,并在修复窗口期内为所有被归类为 CVSS“严重”级别的漏洞安装补丁。这种方法虽然能在网络加固方面取得显著成效,但由于属于此类的安全漏洞数量庞大,通常难以实施。

VPR 旨在优先处理那些在短期内更可能成为威胁制造者攻击目标的漏洞,同时过滤掉那些被认为风险较低的漏洞。 这就是 VPR 的预测性。此时,您可能会好奇预测是如何做出的。这里可没有魔法!VPR 的预测基于一条简单的规则:在现实环境中,某项漏洞所面临的威胁演变,通常会遵循过去类似漏洞所遵循的相同模式。

在下表中,我们展示了按照 VPR 所设计的修复策略,其有效性可与修复所有 CVSS 严重漏洞相当,且效率要高得多。在此,我们使用识别未来 28 天内出现 IoC 的漏洞的能力,将 VPR 与 CVSSv3 进行基准对比。IoC 是通常被视为漏洞利用确凿证据的痕迹。其中包括恶意软件哈希值、IP 地址、URL 等。我们从 ReversingLabs 和 VirusTotal 等商业数据提供商处获取 IoC。

表 1.未来 28 天内,VPR(左)和 CVSSv3(右)在现实环境中发现的带有 IoC 的漏洞数量

否 - 在 VPR 计算后的 28 天内未发现 IoC
是 - 在 VPR 计算后的 28 天内发现 IoC

上表对比了 VPR(左)与 CVSSv3(右)在预测未来 28 天内可能出现威胁的漏洞方面的表现。本例中使用的 VPR 评分取自 2020 年 1 月,而这些漏洞的 IoC 数据则收集自 VPR 生成后的 28 天内。VPR 高危和严重级别在识别带有 IoC 的漏洞方面的覆盖范围与 CVSSv3 相似。换句话说,在接下来的四周内,这两种策略都能捕获数量相近且存在实际 IoC 的漏洞:VPR 高危和严重级别为 365 个(共 428 个),CVSS 高危和严重级别为 376 个。

然而,在预测未来 28 天内出现 IoC 的漏洞方面,VPR 的效率远高于 CVSSv3。将两者进行比较,VPR 严重和高危级别分别占 26% 和 17%,而 CVSSv3 严重和高危级别则仅各占 1%。修复前 1,500 个 VPR 评分的效果等同于修复前 33,000 个 CVSSv3 分数,效率提升约 22 倍。

VPR 优先处理已知存在漏洞利用代码的漏洞

拥有高度成熟的漏洞利用代码会增加网络犯罪分子在网络攻击中利用该漏洞的可能性。因此,对于 VPR 而言,优先处理那些已有公开漏洞利用代码的漏洞至关重要。请注意,本分析中使用的漏洞利用代码成熟度分类遵循 CVSS 的约定。总而言之,成熟度高意味着存在功能完备、可自主运行的漏洞利用代码。“功能性”是指漏洞利用代码已被武器化,“PoC”则是指该漏洞利用代码在理论上可行。 更多详细信息请参阅 CVSSv3 规范 [CVSSv3]。 我们从多个存储库和漏洞利用工具包(例如 Metasploit、Core Impact、Exploit DB、D2 Elliot、Packet Storm 等)中获取漏洞利用代码。

图 3 比较了 VPR 和 CVSSv3 中存在已知漏洞利用代码的漏洞所占的比例。VPR 严重等级漏洞中,超过一半 (54%) 存在公开的漏洞利用代码(即高危、功能性及 PoC),而 CVSS 严重等级漏洞这一比例仅为 15%。这表明,利用 VPR 对漏洞进行优先级分析,将降低网络上存在漏洞利用代码的漏洞所带来的风险。

图e 3.按漏洞利用代码成熟度划分的各重要性等级中漏洞所占比例(上图为 VPR,下图为 CVSSv3)

接下来要问的问题是:VPR 捕获了多大比例具有高危和功能性漏洞利用代码的漏洞? 换句话说,对于拥有高成熟度的漏洞利用代码的漏洞,VPR 的覆盖范围如何? 图 4 比较了不同成熟度等级的漏洞利用代码中,VPR 和 CVSS 重要性等级所占的比例:

  • 在 VPR 中,利用代码成熟度较高的漏洞(即高危和功能性)大多被归类为严重和高危高漏洞。 这与 CVSS 类似。但是,考虑到在 CVSSv3 评级体系中被评为严重和高危级别的 CVE 数量非常庞大,VPR 在对已知存在漏洞利用代码的漏洞进行优先级分析方面更为有效。
  • 对于具有成熟度较高的漏洞利用代码(即高危和功能性)的漏洞,其 VPR 严重程度分布与成熟度较低的漏洞(即 PoC 和未经验证)相比存在显著差异。大多数具有 PoC 漏洞利用代码的漏洞被评为中等 VPR 级别。此外,VPR 将具有未经验证的漏洞利用代码的漏洞评为低危级别。另一方面,CVSSv3 在所有漏洞利用代码成熟度等级上的分布更为均衡。这从另一个角度表明,与 CVSS 高危和严重等级相比,VPR 的高危和严重等级与高危/功能性漏洞利用代码的相关性更强。

图 4.按漏洞重要性级别划分的各漏洞利用代码成熟度等级中漏洞所占比例:VPR(上)和 CVSSv3(下)

按漏洞重要性级别划分的各漏洞利用代码成熟度等级中漏洞所占比例: VPR 和 CVSSv3

VPR 优先处理漏洞利用代码成熟度提升的漏洞

IoC 虽然能直接证明系统遭到漏洞利用,但并非威胁存在的唯一迹象。另一个迹象是,当有人正在积极研究如何进行漏洞利用时:某漏洞的漏洞利用代码已公开,或其成熟度已提升。

表 2.未来 28 天内,根据 VPR(上图)和 CVSSv3(下图)评估,其漏洞利用代码成熟度已提升的漏洞数量

表 2 比较了 VPR 与 CVSS 在捕获漏洞方面的有效性,其中这些漏洞的利用代码成熟度在 VPR 评分后的 28 天内分别上升至 PoC 级、功能级或高危级。这些是本期正在积极研究利用的漏洞。 表格中的行与漏洞重要程度相关。这些列与漏洞利用代码的成熟度相关。这些单元格中的数值代表在 VPR 评分后的 28 天内,存在已升级或正在达到成熟度的漏洞利用代码的漏洞数量。例如,有四个被评为 VPR 严重级别的漏洞,其漏洞利用代码的成熟度将在未来 28 天内提升至高危等级。以下是我们的分析:

  • 在预测漏洞利用代码成熟度会在 VPR 评分后 28 天内升级为高危时,VPR 的命中率高于 CVSSv3。在此类别的八个漏洞中,VPR 将其中四个被评为严重,而 CVSS 仅将其中两个被评为严重。
  • VPR 并非对所有漏洞利用代码的成熟度级别一视同仁。 VPR 严重级别重点关注具有更高成熟度级别的漏洞:
    • 在被提升为高危级别的漏洞中,有 50%(8 个中的 4 个)被评为 VPR 严重级别。
    • 在提升为功能性级别的漏洞中,有 30%(六个中的两个)被评为 VPR 严重级别。
    • 在升级为 PoC 的漏洞中,仅有 4%(每 24 个中有 1 个)被评为 VPR 严重级别。
  • 与此形成对比的是,CVSSv3 严重级别包含多种成熟度等级:高危级别的占比为 25%,功能性级别的占比为 5 0%,而 PoC 级别的占比为 21%。
  • CVSSv3 在捕获包含成熟度不断提升的漏洞利用代码的漏洞方面具有更高的覆盖率: 与 VPR Critical 和 High 相比,更多被评为 CVSSv3 Critical 和 High 的漏洞具有更高的漏洞利用代码成熟度: 
    • 总计有 31 个漏洞,其漏洞利用代码的成熟度呈上升趋势,被评为 CVSSv3 严重或高危级别。其中,七个漏洞的利用代码成熟度提升至高危,四个提升至功能性,20 个提升至 PoC。
    • 总计有 11 个漏洞因漏洞利用代码成熟度不断提升,被评为 VPR 严重或高危级别。其中,五个漏洞的利用代码成熟度提升至高危,两个提升至功能性,四个提升至 PoC。

因此,在以修补存在不断升级的漏洞利用代码的漏洞为目标的情况下,一个有效的策略是:首先根据VPR 严重级别进行优先级分析以获得高命中率,其次再根据 CVSS 高危和严重级别进行排序,以提高覆盖范围。

摘要

在本文中,我们探讨了 VPR,以及它为何不仅仅是一个普通的 CVSS。总结如下:

  • VPR 专为漏洞修复优先级分析而设计。 其评分公式既考虑了技术特征,也考虑了威胁情报。
  • 在预测受威胁的漏洞方面,VPR 比 CVSSv3 更有效:
    • 为了在现实环境中强化网络防护以抵御新出现的漏洞利用,基于约 400 个 VPR 严重漏洞进行优先级分析,可以达到与约 9000 个 CVSSv3 严重漏洞进行优先级分析相同的效果。
    • 为了增强网络抵御具有已知漏洞利用代码的漏洞的能力,根据约 1,500 个 VPR 严重和高危级别的漏洞进行优先级分析,其有效性可与 33,000 个 CVSSv3 严重和高危级别的漏洞相当。
    • 为了增强网络抵御漏洞利用代码成熟度不断提升的漏洞的能力,应首先使用 VPR 严重漏洞进行优先级分析以获得较高的命中率,然后通过 CVSS 高危和严重级别来扩大漏洞覆盖范围。

获取更多信息

参考资料

[CMU2019] J.M. Spring,E. Hatleback,A. Householder,A. Manion,D. Shick, Towards Improving CVSS(《改进 CVSS 的方向》),白皮书,2019 年
[CVSSv3] 《通用漏洞评分系统》第 3.1 版:技术规范书

作者:

了解详情