CVE:英文全称是“Common Vulnerabilities & Exposures” 通用漏洞披露。CVE就好像是一个字典表,为广泛认同的信息安全漏洞或者已经暴露出来的弱点给出一个公共的名称。使用一个共同的名字,可以帮助用户在各自独立的各种漏洞数据库中和漏洞评估工具中共享数据。这样就使得CVE成为了安全信息共享的“关键字”。如果在一个漏洞报告中指明一个漏洞,如果有CVE名称,你就可以快速地在任何其它CVE兼容的数据库中找到相应修补的信息,解决安全问题。其使命是为了能更加快速而有效地鉴别、发现和修复软件产品的安全漏洞。
为什么会有CVE: 各个安全厂家在阐述自己产品的水平时,都会声称自己的扫描漏洞数最多,你说有1000种,我说有5000。直接比较他们的数据库是很困难的,也不科学,但是用户如何辨别?不同的厂家在入侵手法和漏洞这方面的知识库各有千秋,用户如何最大限度地获得所有安全信息?CVE就是在这样的环境下应运而生的。现在的安全工具,比如漏扫,都支持或者兼容CVE漏洞,就是CVE里有的漏洞,它都能作为漏洞库进行检测。
CVE的特点:
- 为每个漏洞和暴露确定了唯一的名称
- 给每个漏洞和暴露一个标准化的描述
- 不是一个数据库,而是一个字典
- 任何完全迥异的漏洞库都可以用同一个语言表述
- 由于语言统一,可以使得安全事件报告更好地被理解,实现更好的协同工作
- 可以成为评价相应工具和数据库的基准
- 非常容易从互联网查询和下载,
- 通过“CVE编辑部”体现业界的认可
一个完整的CVE信息包含六部分,元数据,漏洞影响软件信息,漏洞问题类型,参考和漏洞祭扫,配置信息,漏洞影响和评分。
"cve" : {
[元数据]
"data_type" : "CVE", #数据类型
"data_format" : "MITRE", #数据格式 不能看做格式应该是发布者吧
"data_version" : "4.0", #数据版本
"CVE_data_meta" : { #CVE 元数据
"ID" : "CVE-2019-0001", #CVE ID
"ASSIGNER" : "cve@mitre.org" # 发布者
},
"affects" : { #(一) 影响范围(哪些软件)
"vendor" : { #1.1供应商
"vendor_data" : [ {
"vendor_name" : "juniper", #软件供应商名[公司名] juniper
"product" : { #1.2 软件
"product_data" : [ {
"product_name" : "junos", #软件/操作系统 名 junos
"version" : { #1.3版本
"version_data" : [ {
"version_value" : "18.1", #版本号
"version_affected" : "=" #是否受影响
}, {
"version_value" : "18.2",
"version_affected" : "="
}, {
"version_value" : "16.1",
"version_affected" : "="
}, {
"version_value" : "16.2",
"version_affected" : "="
}, {
"version_value" : "17.1",
"version_affected" : "="
}, {
"version_value" : "17.2",
"version_affected" : "="
}, {
"version_value" : "17.3",
"version_affected" : "="
}, {
"version_value" : "17.4",
"version_affected" : "="
} ]
}
} ]
}
} ]
}
},
"problemtype" : { (二) 问题/漏洞 类型