1. 关于CVE
CVE的英文全称是“CommonVulnerabilities&Exposures”公共漏洞和暴露。CVE就好像是一个字典表,为广泛认同的信息安全漏洞或者已经暴露出来的弱点给出一个公共的名称。使用一个共同的名字,可以帮助用户在各自独立的各种漏洞数据库中和漏洞评估工具中共享数据,虽然这些工具很难整合在一起。这样就使得CVE成为了安全信息共享的“关键字”。如果在一个漏洞报告中指明的一个漏洞,如果有CVE名称,你就可以快速地在任何其它CVE兼容的数据库中找到相应修补的信息,解决安全问题(来自搜狗百科)。
CVE 开始建立是在1999年9月,起初只有321个条目。在2000年10月16日,CVE达到了一个重要的里程碑——超过1000个正式条目。
截至目前(2015年底),CVE共计收录了87731个正式漏洞。
CVE目前已经是信息安全界内有关漏洞的一个人事实上的标准,安全研究人员也把自己发现的漏洞能够具备CVE-ID编号为荣。那么如何申请CVE-ID编号呢,下面就给大家一一道来。
2. CNAs 的角色、要求和成员
要申请CVE-ID,就不能不说起CNAs,不得不提起其中大名鼎鼎的公司。目前这些公司可以说完全掌握着进入CVE大门的钥匙,要拿到CVE-ID,就必须跟他们仔细周旋。
CVE开始是由MITRE Corporation (cve-assign@mitre.org) 负责日常工作的,但是随着涉及的漏洞范围愈发广泛,漏洞在首次公开时就需要一个CVE-ID来规范其唯一性, CANs就是一个向研究人员和信息技术厂商在首次披露新漏洞时分发CVE-ID编号的机构。而METRE现在已经不直接参与具体漏洞的细节。按照按需分配的原则,MITRE向每一个CNA成员分配一个CVE-ID编号池供其分发漏洞编号。
CANs成员介绍
CNAs日常管理机构:是 MITRE Corporation (cve-assign@mitre.org)。
以下公司在2015年2月前已经加入CVE-编号管理机构(以下简称CANs)。
软件供应商类共18家:
1) Adobe 公司(Adobe产品的问题)
2) 苹果公司(苹果产品的问题)
3) Attachmate(Attachmate / Novell/SUSE / NetIQ产品的问题)
4) 黑莓(黑莓产品的问题)
5) 思科系统公司(Cisco产品的问题)
6) Debian GNU / Linux(Linux版)
7) EMC公司(EMC产品的问题)
8) FreeBSD(主要是FreeBSD产品的问题)
9) 谷歌公司(Chrome, Chrome OS, 和安卓开源项目的问题)
10) HP公司(HP产品的问题)
11) IBM公司(IBM产品的问题)
12) 微软公司(微软产品的问题)
13) Mozilla公司(Mozilla产品的问题)
14) 甲骨文(甲骨文产品的问题)
15) Red Hat 公司(Linux产品的问题)
16) Silicon Graphics,Inc.(SGI产品的问题)
17) 赛门铁克公司(赛门铁克产品的问题)
18) Ubuntu Linux(Linux版产品的问题)
第三方协调组织:
1) 美国国家计算机应急响应协调中心(CERT / CC)
2) 美国工业控制系统应急响应协调中心(ICS-CERT)
3) 日本计算机应急响应协调中心(jpcert / CC)
3. CNAs协助CVE工作的几种方式
CANs协助CVE工作的几种方式包括,一是作为一个漏洞研究者和受影响的供应商之间的中介,可以提供一个CVE-ID编号而不用通知METRE,从而降低脆弱性信息意外泄露的风险。二是通过为漏洞研究人员和厂商为获得CVE-ID数提供更多的接入点从而增加CVE-ID的范围和清晰度。三是他们可以利用现有的与研究人员和厂商工作关系,(没有METRE的参与)可以减少干扰,不会导致漏洞披露过程进一步的延误。最后,CANs成员的参与缓解了METRE的一些潜在的劳动密集型任务,使其可以把资源投入到CVE需要关注的其他方面去。
4. 成为CNAs成员的要求
一个CNA必须是具有显著的用户基础和建立了安全咨询能力的主要的软件厂商,并且建立了通常作为研究人员和厂商之间的一个第三方的中立的接口。METRE也作为一个能力有限的CNA成员在发挥一定的作用。
CNA必须为首次漏洞披露建立发布机构。它必须拥有一个在CVE编委会中从事技术工作的成员。在保持与CVE确定的公开议题需求的前提下,CNA必须仅给将被公开的安全问题分配CVE-ID编号。最后,它必须遵循被绝大部分的安全社区接受的负责任披露漏洞的做法。负责任信息披露的漏洞对CVE是非常重要的,否则可能会引入重复的或不准确的信息。
5. CVE-ID编号的预订流程
CVE-ID编号预订流程允许负责任的研究人员,供应商和事件响应团队在漏洞最初的公告中就可以包含一个CVE-ID编号, 以确保这个CVE-ID编号可以立即提供给所有用户,使得可以方便地实时跟踪漏洞。其基本流程是:
(1)发起一个或多个对CVE-ID编号的请求;
(2)METRE保留并向请求者提供这些CVE-ID编号;并在CVE网站创建跟这些CVE-ID编号有关的无内容的“空白”页面;
(3)请求者将这些CVE-ID编号与漏洞信息披露的各方分享;
(4)请求者在漏洞的建议中会包含这些CVE-ID编号;
(5)请求者公开CVE-ID编号并通知METRE;
(6)METRE在CVE网站上提供漏洞细节以更新跟这些CVE-ID编号有关的漏洞;
(7)如果该CVE-ID的问题一直保留没有公开,该CVE-ID将被删除,而且不会再会指派给其他的漏洞,即该CVE-ID将会彻底消失;
6. 漏洞研究人员的责任
研究人员必须从一个供应商那里预约一个特定的漏洞的CVE-ID。如果受影响的软件供应商是一个CNA成员,研究人员必须从该供应商处获得CVE-ID。研究者需要提供足够的细节以便获取CVE-ID。研究者必须协调所有各方来进行CVE-ID交换。最后,研究者必须在通过可靠渠道发布信息(供应商或响应小组),或已知的公共通道与同侪审查(如BUGTRAQ)中包含CVE-ID。
研究人员的不同的方式可能会影响CVE整体质量。例如,拒绝与供应商的工作,研究人员经常发布的问题被发现是虚假的并容易出错,研究者的披露过程经常会导致重复的CVE-ID,导致相关的CVE-ID编号被CVE编辑拒绝。及时发现和解决这些滥用问题证书是MITRE和CANs的责任。
7. 申请CVE-ID的步骤
在大多数情况下,CVE并不会主动发布CVE-ID编号而是直接依赖于某个特定的机制来处理新出现的最终提供给CVE的信息,因此,为了获取有关的CVE-ID编号需要以下几点:
1) 联系上面列举的的CNAs列表中的厂商,它将在其首次公开宣布你的新漏洞时包含CVE-ID编号;
2) 联系急救响应团队如CERT / CC;
3) 向Bugtraq邮件列表提交有关漏洞信息;
4) 向某个漏洞分析小组提供信息;
5) 另外,你可以联系CVE项目要求CVE-ID编号,我们将为您提供我们的“为研究人员提供的CVE标识符保留指导”,在通公开披露的漏洞的过程中分配有关漏洞的CVE-ID编号;