通用漏洞评分系统(CVSS)为软件开发人员、测试人员、安全和IT专业人员提供了评估漏洞的标准化过程。您可以使用CVSS来评估每个漏洞的威胁级别,然后相应地确定缓解的优先级。

本文解释CVSS如何工作,包括对其组件的回顾,并描述使用标准化过程评估漏洞的重要性。

什么是软件漏洞?

一个软件漏洞是代码库中任何可以被利用的弱点。漏洞可能是由各种编码错误造成的,包括错误的逻辑、不充分的验证机制或对缓冲区溢出缺乏保护。不受保护的api第三方库带来的问题也是常见的漏洞来源。

不管漏洞的来源是什么,都给用户和组织带来了一些风险。直到发现漏洞打补丁的,或在软件更新中修复,攻击者可以利用它们来破坏系统、导致停机、窃取数据或部署和传播恶意软件。

如何报告漏洞

报告漏洞的方式取决于发现它们的软件类型以及它们出现的漏洞类型。此外,对发现者来说,感知到的漏洞的重要性是如何报告的一个因素。

通常,漏洞是由安全研究人员、渗透测试人员和用户自己发现并报告的。安全研究人员和渗透测试人员可能全职为组织工作,或者他们可能作为自由职业者在一个bug赏金计划

如果漏洞很小,或者用户无需供应商或社区帮助就可以轻松修复,那么问题更有可能不被报告。同样的,如果一个严重的问题被发现黑帽研究员,或网络犯罪,它可能不会被报告。然而,通常情况下,当发现漏洞时,会向组织或开发人员报告。

如果在专有软件中发现漏洞,可能会直接报告给供应商或第三方监督组织,如非营利安全组织,主教法冠.如果在开源软件中发现了一个,它可能会作为一个整体报告给社区、项目经理或监督小组。

当漏洞被报告给像MITRE这样的组织时,组织会给这个问题分配一个ID号,并通知供应商或项目经理。在信息公开之前,责任方有30到90天的时间来修复或修补问题。这减少了攻击者在解决方案可用之前利用漏洞的机会。

CVSS是什么?

通用漏洞评分系统(CVSS)是一组免费的开放标准。这些标准由非营利性安全组织“事件响应和安全小组论坛”(FIRST)维护。这些标准使用0.0到10.0的等级,其中10.0代表最高的严重性。最新发布的版本是CVSS 3.1该片于2019年6月上映。

这些标准用于帮助安全研究人员、软件用户和漏洞跟踪组织度量和报告漏洞的严重程度。CVSS还可以帮助安全团队和开发人员优先考虑威胁和有效分配资源。

CVSS评分如何工作

CVSS评分是基于分数的几个子集的组合。用CVSS分类漏洞的唯一要求是基本分数组件的完成。然而,建议记者还应包括时间评分和环境指标,以进行更准确的评估。

CVSS的基础得分被评估使用可利用性分,影响分,和范围分。这三个指标包括评估攻击的范围、受影响的数据和系统的重要性,以及范围子得分评估攻击对表面上未受影响的系统的影响。

基础分数

基础分数代表了一个弱点的内在特性。这些品质不应随时间而改变,也不应依赖于个别环境。要计算基础分数,记者必须计算三个子分数的组合。

“可利用性”的得分

可利用性子得分衡量易受攻击组件的质量。这些特性有助于研究人员定义攻击者利用漏洞的容易程度。这个子得分由以下指标组成:

度规 测量 规模(从低到高)
攻击向量(AV) 攻击者访问漏洞的容易程度如何 物理(存在)
本地(存在)
相邻(连接网络)
网络(远程)
攻击的复杂性(AC) 开发需要什么样的先决条件
所需的特权(PR) 利用该漏洞所需的特权级别 没有一个

用户交互(UI) 是否需要第三级用户的操作 二进制——None或Required

“影响”的得分

影响子得分测量成功利用对脆弱组件的影响。它定义了一个组件是如何根据从前剥削到后剥削的变化而受到影响的。这个子得分由以下指标组成:

度规 测量 规模
保密(C) 数据丢失组件或更广泛系统中的机密性 没有一个

完整性(我) 整个组件系统的数据完整性丢失 没有一个

可用性(一) 部件或附加系统的可用性丧失 没有一个

“范围”的得分

范围评分度量漏洞对组件可能产生的影响,而不是受漏洞影响的组件。它试图说明攻击者通过利用报告的漏洞可以执行的整个系统损害。这是一个可以更改或不变范围的二进制评分。

时间分数

时间评分根据漏洞作为已知漏洞的当前状态来衡量漏洞的各个方面。这个分数包括以下指标:

度规 测量 规模(由低到高)
利用代码成熟度(E) 可用来利用该漏洞的工具或代码 概念验证
功能
未经证实的

没有定义
修复级别(RL) 用户当前可使用的补救级别 官方修复
解决方案
临时修复
不可用
没有定义
报告的信心(RC) 漏洞报告的准确性程度 未知的
合理的
确认
没有定义

环境指标

环境指标衡量的是调整后的脆弱性的严重性对个别系统的影响.这些指标是用于计算基本分数的指标的自定义。当安全团队在内部计算与他们自己系统相关的严重性时,环境度量是最有用的。

标准化的重要性

CVSS为评估漏洞提供了全面的指导方针。该评分系统被许多人使用,具有广泛的应用范围。然而,也许CVSS最重要的方面是它为所有相关方提供了一个统一的标准。在应对风险和确定减轻风险的优先次序时,标准化至关重要。

CVSS分数不仅仅是标准化的一种手段。这些分数具有实际的应用程序,可以在帮助安全团队和产品开发人员确定工作的优先级方面产生重大影响。

在一个组织内,安全团队可以使用CVSS分数有效地分配有限的资源。这些资源可能包括监视功能、用于打补丁的时间,甚至是寻找威胁以确定漏洞是否已经被利用。这对于小型团队来说尤其有价值,因为他们可能没有必要的资源来解决每个漏洞。

CVSS分数也可以对安全研究人员有用。这些分数可以帮助突出特别脆弱的组件或特别有效的战术和工具。然后,研究人员可以将这些知识应用于开发新的安全实践和工具,帮助从一开始就检测和消除威胁。

最后,CVSS分数可以为开发人员和测试人员提供信息,在预防漏洞的第一个地方。对高级别漏洞的仔细分析可以帮助软件开发团队确定测试的优先级。它还可以帮助突出可以改进代码安全性最佳实践的领域。团队可以从别人的错误中学习,而不是等到他们自己的产品被发现是脆弱的