EPSS 解读:与 CVSS 相比,孰美?
通用漏洞评分系统(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 相比,孰美?的更多相关文章
- 自然对数e(转)
e表示增长的极限 e=limx→+∞ (1+1/x)^x≍2.71828 假设,一根竹子,第一天是1米,第二天长了1米,然后这根柱子的长度变成了2米.相当于 (1+1/1)^1.上面这个假设,如果仔细 ...
- 前端神器avalonJS入门(一)
转自:http://www.cnblogs.com/vajoy/p/4063824.html avalonJS是司徒正美开发和维护的前端mvvm框架,可以轻松实现数据的隔离和双向绑定,相比angula ...
- Matlab手册翻译
MATLAB 语言是一种工程语言,语法很像 VB 和 C,比 R 语言容易学,你知道 R 语言的语法有多糟糕么.同样,相对于 Python,MATLAB 的优点是天生为了算而算,数与数之间的运算就是矩 ...
- avalonJS入门(一)
前端神器avalonJS入门(一) posted @ 2014-10-31 17:44 vajoy 阅读(1665) 评论(32) 编辑 收藏 avalonJS是司徒正美开发和维护的前端mvvm框 ...
- 翻译连载 | 第 11 章:融会贯通 -《JavaScript轻量级函数式编程》 |《你不知道的JS》姊妹篇
原文地址:Functional-Light-JS 原文作者:Kyle Simpson-<You-Dont-Know-JS>作者 关于译者:这是一个流淌着沪江血液的纯粹工程:认真,是 HTM ...
- Vue, React, AngularJS, Angular2 我们对流行JavaScript框架们的选择
转自<奇舞周刊>,好文章mark一下 分割线 一个有趣的事实是:IBM发表的2017年最值得学习的编程语言名单中,JavaScript榜上有名.这位IT巨头指出,JS在网站中惊人地达到94 ...
- Vue, React, AngularJS, and Angular2. 我们对流行JavaScript框架们的选择
2017-08-04 前端大全 (点击上方公众号,可快速关注) 英文:ANTONI ZOLCIAK 译文:众成翻译 www.zcfy.cc/article/vue-react-angularjs-a ...
- 创造101:如果软件测试工程师组团出道,怎样才能站C位?!
作者 C位出道的华华 虽然华华是一个软件测试技术宅,可以连续七七四十九天加班不重样,心里除了上班工作学习写代码就没有别的爱好了,但是各种潮流资讯啊狗血剧啊娱乐综艺啊,从来没有错过. 比如说现在大火的& ...
- avalonJS入门
前端神器avalonJS入门(一) posted @ 2014-10-31 17:44 vajoy 阅读(8759) 评论(42) 编辑 收藏 avalonJS是司徒正美开发和维护的前端mvvm框 ...
- C++ Primer 学习笔记_5_变量和基本类型(续2)
变量和基本类型 七.枚举 枚举不但定义了整数常量集,并且还把它们聚集成组. 枚举与简单的const常量相比孰优孰劣, 通过以下一段代码. 一看便知: enum {input, output, a ...
随机推荐
- 动态存储管理实战:GlusterFS
文件转载自:https://www.orchome.com/1284 本节以GlusterFS为例,从定义StorageClass.创建GlusterFS和Heketi服务.用户申请PVC到创建Pod ...
- 迁移一个仓库到新的Gitlab
一般这种迁移,要注意旧仓库的提交历史等信息也要同步到新的仓库. 先使用如下命令克隆老的: git clone --bare git@gitlab.test1.com:f2e/test.git 新仓库创 ...
- PAT (Basic Level) Practice 1029 旧键盘 分数 20
旧键盘上坏了几个键,于是在敲一段文字的时候,对应的字符就不会出现.现在给出应该输入的一段文字.以及实际被输入的文字,请你列出肯定坏掉的那些键. 输入格式: 输入在 2 行中分别给出应该输入的文字.以及 ...
- SQL语句——为什么分组函数(多行处理函数)不能用在where语句之后?
在SQL语句中,常见的分组查询函数为: sum()求和 avg()求平均值 min()求最小值 max()求最大值 count()求数目 在分组函数中有几个重要的特征: 1.分组函数进行时自动忽略nu ...
- JavaScript之无题之让人烦躁的模块化
我怎么记得我好像写过相关类型的文章,但是我找遍了我的博客没有-那就再写一遍吧,其实模块化的核心内容也算不上是复杂,只不过需要整理一下,规划一下罢了.嘻嘻. 开始写标题的时候我就在纠结一件事情,就是,先 ...
- Java中的反射与代理(2)
在经典的GoF设计模式中,有一种模式叫做代理模式,好比以前洋务运动的时候所说的「买办」,还有现在咱们经常听到的「代理人」战争中的「代理」,都是同一个意思--代替某人打理. 例如,很多北漂都找中介或者二 ...
- Invalid bound statement (not found)出现原因和解决方法
Invalid bound statement (not found)出现原因和解决方法 前言: 想必各位小伙伴在码路上经常会碰到奇奇怪怪的事情,比如出现Invalid bound statement ...
- logback在springBoot项目中的使用 springboot中使用日志进行持久化保存日志信息
文章目录 1.xml文件的编写 2.实现的效果 2.1 日志保存到磁盘 2.2 控制台输出的效果 放置的位置 1.xml文件的编写 logback-spring.xml <?xml versio ...
- 齐博x1标签实例:标签的嵌套用法,调用聚合数据
齐博标签非常强大,可以让不懂程序的你,轻松就能实现所见即所得. 下面跟大家讲解一下,最复杂的运用, 同时使用了union 动态变量参数 与 分页处理标签 比如下面这张图,不仅仅想调用圈子,还想同时调用 ...
- 5.github操作
Github设置远程仓库 将我们github的https或者ssh远程仓库地址复制 git remote add https://xxxxxxxTest.git # 指定github仓库设置为远程 ...