通用漏洞评分系统(CVSS)是当前应用最频繁的评分系统以评估安全漏洞的严重性。但是,由于该系统在评估漏洞和优先级排序方面存在不足而遭受批评。因此,有部分专业人士呼吁使用漏洞利用预测评分系统(EPSS)或将 CVSS 与 EPSS 结合来推动漏洞指标变得更加可执行和高效。与 CVSS 一样,EPSS 由国际网络安全应急论坛组织(FIRST)来管理。

EPSS 是什么?

EPSS 以开放、数据导向为主要特点,旨在评估一个软件漏洞可以被利用的概率。CVSS 则聚焦于漏洞的内在特征,最终生成一个严重性评分。但该严重性评分不能评估漏洞被利用的可能性,而这对于需要确定漏洞修复优先级的专业人员来说是至关重要的信息,因为这能最大程度降低漏洞对组织的影响。

EPSS 项目是由研究人员、安全从业人员、学者和政府人员自愿推动和领导的,因此EPSS有一个特别兴趣小组(SIG),对那些有兴趣参与这项工作的公众开放。尽管这一项目采用这种行业合作驱动的方法,但是FIRST拥有更新该其认为合适的模型和相关指南的权利。兴趣小组的成员包括来自 RAND、Cyentia、Virginia Tech和Kenna Security等组织的主席和创建者,当然还有来自其他不同组织和企业的成员。针对 EPSS ,有几篇相关的论文深入研究了相关的主题,如攻击预测,漏洞建模和披露,以及软件利用。

EPSS 模型是如何发挥作用的?

EPSS 旨在帮助安全从业者及他们的组织优化漏洞修复优先级排序工作。当今数字化环境中的漏洞数量呈指数级增长,而且由于系统和社会的数字化程度提高、对数字产品的审查加强以及研究和报告能力的提升等因素,这一数字还在不断增加。

EPSS称,通常情况下,企业或组织每月只能修复5%到20%的漏洞。在已公布的漏洞中,只有不到10%的漏洞会被人利用。而长期存在的人才缺口对漏洞修复数量也产生影响,例如,每年 ISC2 网络安全人才研究显示,全球网络安全专业人员的缺口超过200万人。这些因素要求企业采用一个连贯而有效的方法来确定漏洞对其组织构成的风险的严重程度,以进一步确定漏洞修复的优先级,从而避免浪费有限的资源和时间。

EPSS 模型的目标是通过生成漏洞在未来30天内可利用性评分来为用户提供支持,该评分范围在0到1或0%到100%之间。为了提供这些分数和预测,EPSS 使用来自 MITRE CVE列表等来源的数据、关于 CVE 的数据,包括自发布以来的天数,以及来自安全供应商的在野研究。

EPSS 团队公布了数据,数据表明 CVSS 评分与 EPSS 评分相结合的方法可以让漏洞修复工作更高效。例如,许多企业或组织规定,达到某个 CVSS 评分的漏洞必须被修复,如7分或7分以上。然而,这只是根据 CVSS 评分来确定漏洞修复的优先次序,而没有考虑到漏洞是否可被利用。因此,将 EPSS 和 CVSS 结合起来更为有效,因为这样可以根据漏洞的严重程度以及它们是否可以被利用来确定优先级,使得企业能够集中精力和资源处理对企业构成最大风险的CVE。

EPSS 关注两个核心指标——效率和覆盖率。效率考察组织如何利用资源来解决已修复的漏洞的百分比。EPSS指出,相对于仅基于CVSS的严重性评分的随机漏洞,组织的大部分资源用于修复大部分已知的被利用的漏洞更为有效。覆盖率是指被利用的漏洞中被修复的百分比。

为了显示他们提出的方法的效率,EPSS在2021年进行了一项研究,评估了 CVSS v3 基础分数和 EPSS v1 和 EPSS v2 在30天内的数据,以确定CVE的总数、被修复的CVE的数量和被利用的CVE的数目。

研究表明大多数CVE没有得到修复,而在得到修复的CVE中只有一部分的CVE是可以被利用的,换言之,企业没有对大部分CVE进行修复,而在那些已修复的CVE中,需要CVE并不会被利用,而且可能并不构成最大的风险。

该研究还表明,EPSS v2 进一步提高了漏洞修复工作的效率,最大限度地提高了被利用漏洞的修复比例。当企业没有雇佣足够的网络安全专家时,通过让资源集中在对企业构成最大风险的娄底市,使其投资回报最大化是至关重要的。EPSS 试图帮助企业更有效地利用其有限的资源,提高其降低风险的效率。

EPSS 的美中不足

与CVSS一样,EPSS 也有来自业界和学术界的批评者。其中,有一篇题为《也许还不能依赖EPSS》的文章来自卡耐基梅隆大学软件工程研究所(SEI)的博客(见参考链接)。SEI最初发表了一篇题为 Towards Improving CVSS 的论文,其中对 CVSS 提出了一些尖锐的批评,而EPSS则是在文章发表后不久诞生的。

文章的主要批评意见包括 EPSS 的不透明性,以及其数据和产出的问题。文章讨论了EPSS是如何决定开发过程、治理或其目标受众的,但这一点并不清楚。EPSS依赖于预先存在的 CVE ID,这意味着它对软件供应商、事件响应小组或漏洞赏金小组等组织没有帮助,因为这些小组处理的许多漏洞还没有 CVE ID。另外,EPSS 在处理零日漏洞时不会有帮助,因为这些漏洞在利用过程中获得可见性,而且没有 CVE ID。

文章指出,EPSS 关注的是一个漏洞在未来30天内被利用的概率,但这需要有一些基本的数据,才能进行预测。它们包括 NVD 中现有的 CVE ID 和相关的 CVSS v3 矢量值, IDS 签名(这与主动尝试利用 CVE ID 相关),以及与未来30天相关联的模型。

正如作者所指出的,只有10%的具有 CVE ID 的漏洞附带 IDS 签名,这意味着90%的具有 CVE ID 的漏洞可能没有被发现利用。这也会在 IDS 传感器和相关数据方面 Fortinet 和 AlienVault 产生依赖性。但是,这在一定程度上可以通过更广泛的安全供应商社区的进一步参与而得到缓解。

虽然这些都是有效的批评,但使用 EPSS 依旧为企业提供了一个窗口,使他们能够充分利用稀缺的安全资源来降低组织风险。专注于具有最高利用概率的漏洞,使企业能够有效投入资源,从而在最大程度上减轻恶意行为者的影响,并避免团队之间的摩擦。

软件供应链安全管理平台 SEAL 0.3 已将 CVSS 评分和 EPSS 结合起来,并借助 SSVC 漏洞评估模型,对漏洞优先级进行科学排序,帮助企业用户将有限的资源投入到更关键的漏洞修复上,充分降低企业风险。此外,SEAL 是国内首个全链路软件供应链安全管理平台,可以为企业提供全链路的安全扫描和全局洞察,帮助企业充分掌握软件供应链安全状况以及对其进行资产管理。

参考链接:

https://insights.sei.cmu.edu/blog/probably-dont-rely-on-epss-yet/

EPSS 解读:与 CVSS 相比,孰美?的更多相关文章

  1. 自然对数e(转)

    e表示增长的极限 e=limx→+∞ (1+1/x)^x≍2.71828 假设,一根竹子,第一天是1米,第二天长了1米,然后这根柱子的长度变成了2米.相当于 (1+1/1)^1.上面这个假设,如果仔细 ...

  2. 前端神器avalonJS入门(一)

    转自:http://www.cnblogs.com/vajoy/p/4063824.html avalonJS是司徒正美开发和维护的前端mvvm框架,可以轻松实现数据的隔离和双向绑定,相比angula ...

  3. Matlab手册翻译

    MATLAB 语言是一种工程语言,语法很像 VB 和 C,比 R 语言容易学,你知道 R 语言的语法有多糟糕么.同样,相对于 Python,MATLAB 的优点是天生为了算而算,数与数之间的运算就是矩 ...

  4. avalonJS入门(一)

    前端神器avalonJS入门(一) posted @ 2014-10-31 17:44 vajoy 阅读(1665) 评论(32) 编辑 收藏   avalonJS是司徒正美开发和维护的前端mvvm框 ...

  5. 翻译连载 | 第 11 章:融会贯通 -《JavaScript轻量级函数式编程》 |《你不知道的JS》姊妹篇

    原文地址:Functional-Light-JS 原文作者:Kyle Simpson-<You-Dont-Know-JS>作者 关于译者:这是一个流淌着沪江血液的纯粹工程:认真,是 HTM ...

  6. Vue, React, AngularJS, Angular2 我们对流行JavaScript框架们的选择

    转自<奇舞周刊>,好文章mark一下 分割线 一个有趣的事实是:IBM发表的2017年最值得学习的编程语言名单中,JavaScript榜上有名.这位IT巨头指出,JS在网站中惊人地达到94 ...

  7. Vue, React, AngularJS, and Angular2. 我们对流行JavaScript框架们的选择

    2017-08-04 前端大全 (点击上方公众号,可快速关注) 英文:ANTONI ZOLCIAK  译文:众成翻译 www.zcfy.cc/article/vue-react-angularjs-a ...

  8. 创造101:如果软件测试工程师组团出道,怎样才能站C位?!

    作者 C位出道的华华 虽然华华是一个软件测试技术宅,可以连续七七四十九天加班不重样,心里除了上班工作学习写代码就没有别的爱好了,但是各种潮流资讯啊狗血剧啊娱乐综艺啊,从来没有错过. 比如说现在大火的& ...

  9. avalonJS入门

    前端神器avalonJS入门(一) posted @ 2014-10-31 17:44 vajoy 阅读(8759) 评论(42) 编辑 收藏   avalonJS是司徒正美开发和维护的前端mvvm框 ...

  10. C++ Primer 学习笔记_5_变量和基本类型(续2)

     变量和基本类型 七.枚举 枚举不但定义了整数常量集,并且还把它们聚集成组. 枚举与简单的const常量相比孰优孰劣, 通过以下一段代码. 一看便知: enum {input, output, a ...

随机推荐

  1. 第一个Django应用 - 第三部分:Django视图和模板

    一.概述 一个视图就是一个页面,通常提供特定的功能,使用特定的模板.例如:在一个博客应用中,你可能会看到下列视图: 博客主页:显示最新发布的一些内容 每篇博客的详细页面:博客的永久链接 基于年的博客页 ...

  2. Nginx负载均衡设置max_fails和fail_timeout

    在Nginx的负载均衡检查模块中,对于负载均衡的节点可以配置如下可选参数: max_fails=1 fail_timeout=10s 这个是Nginx在负载均衡功能中,用于判断后端节点状态,所用到两个 ...

  3. 打印 Logger 日志时,需不需要再封装一下工具类?

    在开发过程中,打印日志是必不可少的,因为日志关乎于应用的问题排查.应用监控等.现在打印日志一般都是使用 slf4j,因为使用日志门面,有助于打印方式统一,即使后面更换日志框架,也非常方便.在 < ...

  4. Opencv环境配置及踩坑

    Opencv环境配置及踩坑 1.什么是Opencv OpenCV是一个基于Apache2.0许可(开源)发行的跨平台计算机视觉和机器学习软件库,可以运行在Linux.Windows.Android和[ ...

  5. Git使用与心得体会

    Git使用与心得体会 一.闲聊 闲暇时间学一下Git,也算是不用在网页端操作github了 二.Git相关 集中式与分布式 Git是一个分布式的版本控制系统,而传统的SVN则属于集中式 集中式与分布式 ...

  6. Spring Boot 配置 jar 包外面的 Properties 配置文件

    一.概述 Properties 文件是我们可以用来存储项目特定信息的常用方法.理想情况下,我们应该将其保留在 jar 包之外,以便能够根据需要对配置进行更改. 在这个教程中,我们将研究在 Spring ...

  7. for循环及range内置方法

    目录 while循环补充说明 流程控制之for循环 range方法 rang实战案例 作业 """ 1.先写注释(思维逻辑和想法) 2.先考虑主体功能 在考虑附加功能 & ...

  8. IDEA清空控制台以及Java中运行cmd命令实现清屏操作

    IDEA中清空控制台方法 在网上有看到各种的实现方法,比如: Runtime.getRuntime().exec("cls"); 或者: public static void cl ...

  9. 3.RabbitMQ系列之消费者

    1. 编写消费者 @Component @RabbitListener(queues = "hello") public class RabbitReceiver { @Rabbi ...

  10. 【Chrome浏览器】关闭触摸板双指滑动进行前进后退的功能

    痛点 Chrome浏览器使用过程中,当前页面经常会莫名其妙地退回到上一个浏览的页面. 当时真是一脸懵B(心里一万头草泥马呼啸而过~)!以为活见鬼了! 后来才发现浏览器左边,有一个幽灵般的淡蓝色箭头的出 ...