CVE介绍
CVE 是常见漏洞和暴露(Common Vulnerabilities and Exposures)的英文缩写,列出了已公开披露的各种计算机安全缺陷。同常提到的 CVE,指的都是已分配 CVE ID 编号的安全缺陷。CVE是一个公开已知的网络安全漏洞和暴露的列表。列表中的每一项都是基于在特定软件产品中发现的特定漏洞或暴露,而不是基于一般类别或类型的漏洞或暴露。CVE列表的设计是为了方便链接来自漏洞数据库的信息,并能够对安全工具和服务进行比较。CVE列表是分配给每个漏洞和暴露的CVE标识符的集合。通常CVE列表包含了以下内容:
名称 | 内容 |
---|---|
Denial of Service (DoS) | 拒绝服务 |
Code Execution | 代码执行 |
Buffer Overflow | 缓冲区溢出 |
Memory Corruption | 内存崩溃 |
SQL Injection | 数据库注入 |
Cross-Site Scripting (XSS) | 跨站脚本攻击 |
Directory Traversal | 目录遍历攻击 |
HTTP Response Splitting | 响应头截断 |
供应商和研究人员发布的安全公告几乎总会提到至少一个 CVE ID。CVE 可以帮助 IT 专业人员协调自己的工作,轻松地确定漏洞的优先级并加以处理,从而提高计算机系统的安全性。
一旦漏洞被记录下来,Mitre就会为其提供一个唯一的ID。在Mitre漏洞数据库公布数天后,NVD(国家漏洞数据库)公布了CVE和相应的安全分析。CVE被Mitre界定为公开可获得的漏洞和风险的术语表或字典,而不是数据库,因此它可以作为围绕特定漏洞进行沟通和对话的行业基准。
1.1 概念的区分
1.CVE和CWE的区别
VE指的是产品或系统内漏洞的特定示例。而CWE指的是软件缺陷的类型。因此,实际上,CVE是一个已知示例的列表,而CWE是一本软件漏洞的参考书。
2.CVE和CVSS的区别
CVE和CVSS的区别在于:CVE是漏洞列表,而CVSS是分配给特定漏洞的综评分数。而且,CVSS和CVE可以一起运行,以帮助您对软件漏洞进行优先级排序。
1.2 CVE特点
CVE主要包含了以下特点:
1.为每个漏洞和暴露确定了唯一的名称;
2.给每个漏洞和暴露一个标准化的描述;
3.不是一个数据库,而是一个字典;
4.任何完全迥异的漏洞库都可以用同一个语言表述;
5.由于语言统一,可以使得安全事件报告更好地被理解,实现更好的协 同工作;
6.可以成为评价相应工具和数据库的基准;
7.非常容易从互联网查询和下载,http://www.cve.mitre.org;
8.通过“CVE编辑部”体现业界的认可。
CVE只是一个漏洞描述的标准,是一个关于漏洞的列表,如果想更好的利 用它,那么建立一个完善的数据库系统是非常必要的。
1.3 CVE条目内容
每个CVE条目主要包含以下信息:
-
**描述:**漏洞的来源、攻击方式等简要描述。
-
**参考:**漏洞的相关参考信息链接汇总,例如供应商的漏洞公告、紧急响应建议等。
-
**发布的CNA:**发布此CVE的CNA。
-
**发布日期:**此CVE的发布日期。
1.4 CVE的作用
如果没有CVE,每个IT供应商或安全组织都维护自己的漏洞数据库,数据无法共享,大家对漏洞的认识也不统一。CVE为漏洞赋予唯一编号并标准化漏洞描述,主要作用如下:
-
IT人员、安全研究人员基于相同的语言理解漏洞信息、确定修复漏洞的优先级并努力解决漏洞。
-
不同的系统之间可以基于CVE编号交换信息。
-
安全产品或安全工具开发者可以将CVE作为基线,评估产品的漏洞检测覆盖范围。
1.5 CVE的应用
安全产品在开发过程中需要紧跟CVE漏洞信息,使产品尽可能多地检测CVE漏洞,保护用户网络安全。
根据CVE信息快速更新签名库
IPS功能基于签名库检测入侵行为,签名库中签名的一类主要来源就是漏洞签名。安全团队使用CVE跟踪最新漏洞,快速推出新签名,甚至在IT供应商推出修复程序之前阻断攻击保护用户网络。
日志报表集成CVE信息
在入侵事件的日志报表中,攻击详情中包含漏洞对应的CVE编号、参考链接,用户可以据此深入了解漏洞详细信息并制定安全措施。
日志报表中的CVE信息
安全中心发布IPS威胁知识库
安全中心基于CVE、CVSS评分等信息向用户发布更详细的IPS威胁知识库,其中包括漏洞级别、修复建议等信息。
2.CVE识别号
CVE 识别号由 CVE 编号管理机构(CNA)分配。全球目前约有 100 个 CNA,包括各大 IT 供应商以及安全公司和研究组织。MITRE(全球最大的网络安全公司) 也可以直接发布 CVE。
MITRE 向每个 CNA 发放了一个 CVE 编号池,用于在发现新问题时将编号连接至新问题。每年,都有数以千计的 CVE ID 发放出来。单个复杂产品(如操作系统)可能会累积数百个 CVE。
任何人都可以从任何地方进行 CVE 报告。无论是供应商、研究人员或是机敏的用户,都有可能发现缺陷,并促使他人予以关注。很多供应商都会提供错误报告奖励,以鼓励相关人员负责任地披露各种安全缺陷。
再通过种种渠道,该缺陷的相关信息最终会传至 CNA。CNA 进而会为这些信息分配 CVE ID,然后编写简短描述并附上参考资料。然后,CVE 条目就会被发布 CVE 网站上。
通常会在公开安全公告之前分配 CVE ID。供应商一般会对安全缺陷保密,直至相关修复已完成开发和测试。这样可以降低未修补漏洞被攻击的风险。公布时,CVE 条目中会包含 CVE ID(格式为“cve-2019-1234567”)、安全漏洞的简短描述和相关的参考资料(可能包括漏洞报告和公告的链接)。
每个新的CVE条目都会按照这个公式获得一个唯一的ID
CVE+ 年份 + 数字编号 =CVE-2021-14451
除了唯一的ID之外,每个CVE还会收到一个输入日期,表明它是由Mitre创建的,后面往往会跟着一个单独的描述字符和一个引用字段。如果漏洞不是由Mitre直接报告的,而是由另一个漏洞追踪机构或咨询委员会首先指定的话,则参考字段将包括首先提交漏洞的漏洞追踪机构的URL链接。参考字段中可能还会出现受到CVE影响的产品页面的链接。
3.CVE的定义
只有满足一系列特定条件的缺陷才会分配 CVE ID。这些缺陷必须满足以下条件:
1. 可以单独修复。
该缺陷可以独立于所有其他错误进行修复。
2. 已得到相关供应商的确认或已记录在案。
软件或硬件供应商已确认错误,并承认其会对安全性造成负面影响。或者,报告者本应共享一份相关漏洞报告,表明错误会造成负面影响,且有悖于受影响系统的安全策略。
3. 会影响某个代码库。
如果缺陷会对多个产品造成影响,则会获得单独的 CVE。对于共享的库、协议或标准,只有在使用共享代码会容易受到攻击时,该缺陷才会获得单个 CVE。否则,每个受影响的代码库或产品都会获得一个唯一的 CVE。
4.通用漏洞评分系统
为了评估漏洞的严重性,通常使用通用漏洞评分系统(CVSS)来评估。CVSS是为漏洞分配数值以评估其严重性的开放标准。NVD、CERT 等机构会使用 CVSS 评分来评估漏洞的影响。评分范围为 0.0 到 10.0,数值越大代表漏洞越严重。许多安全供应商也都创建了自己的评分系统。
4.1 通用漏洞评分系统要点
1.了解己方的部署情况
存在 CVE 并不意味着特定环境和部署正面临风险。务必查看各个 CVE,并验证 CVE 是否适用于(或部分适用于)具体环境中所用的操作系统、应用、模块和配置,确定 CVE 是否适用于当前环境。
2.开展漏洞管理
漏洞管理是一个可重复的过程,用于识别、分类、确定优先级、补救和解决漏洞。需要清楚当前环境会如何遭遇风险,才能正确地为有待解决的所有重要漏洞确定优先级。
3.及时沟通反馈
4.2 CVE-less 漏洞
一些漏洞没有进入Mitre数据库,因此也从来没有收到CVE编号。如果发现者没有联系Mitre或任何其他CNA请求CVE标识符,或者像Mitre这样的CAN决定不在系统中收录漏洞,就会发生这种情况。
根据统计显示,在所有报告的开源漏洞中,只有86%进入了Mitre的CVE列表。其中,有近30%的JavaScript开源漏洞没有报告给CVE库,同样,在Ruby中这一比例为20%。
这些未报告的漏洞仍然隐藏在检测工具之中,对许多开发人员来说,这些漏洞是“雷达范围外的”。因为开发者通常只关注主要的漏洞数据库,因此即使发现者公布了补丁或新版本,开发人员也极有可能无法收到消息并正确修补这些漏洞。
4.3 Mitre和NVD
如果说Mitre公司的CVE由一系列词条组成,每个词条都记录了一个特殊的公开漏洞,并给出了一个唯一的ID号,那么NVD就是一个详细的漏洞数据库,并提供漏洞的安全分析。
虽然NVD和Mitre的CVE是两个独立的实体,但它们是几乎完全同步的。对Mitre的任何更新、更改和新词条都会显示在NVD数据库中。
CVE列表将提供一个更精简的漏洞条目,并为其分配一个ID。然后NVD将在这些信息的基础上提供关于漏洞的更广泛的信息,这包括修复信息、搜索选项和风险评级。
CVE和NVD都是在美国国土安全部网络安全和通信办公室的管理下运作的,两者都是公开且免费的。
安全漏洞是一个范围广泛且多样的组合,然而在这各式各样的组合中,CVE漏洞仍然是最常见的漏洞类型,Mitre仍然是公开发布的软件中安全漏洞文档的首要列表,它目前依旧是安全行业的坚强后盾和可靠的技术支持文档。泛联新安的CodeAnt开发安全平台就支持16万+条漏洞库信息,涵盖CVE、NVD、CNNVD漏洞信息,检测引擎也已通过CWE认证。