CVE―公共漏洞和暴露

/ns/wz/sys/data/20050905060954.htm

安氏中国 首席技术官 潘柱廷
CVE的产生背景
随着最近一些年来在全球范围的黑客入侵不断猖獗,信息安全问题越来越严重。在对抗黑客入侵的安全技术中,实时入侵检测和漏洞扫描评估(IDnA――Intrusion Detection and Assessment)的技术和产品已经开始占据越来越重要的位置。目前实时入侵检测和漏洞扫描评估基于的主要方法还是“已知入侵手法检测”和“已知漏洞扫描”,换句话说就是基于知识库的技术。可见,决定一个IDnA技术和产品的重要标志就是能够检测的入侵种类和漏洞数量。
1999年2月8日的InfoWorld在比较当时ISS的Internet Scanner5.6和NAI的CyberCop2.5时有一段描述,“由于没有针对这些扫描器平台的分类标准,直接比较他们的数据库非常困难。我们找到在Internet Scanner和CyberCop中同一个漏洞采用了不同的名称……”
各个IDnA厂家在阐述自己产品的水平时,都会声称自己的扫描漏洞数最多,你说有1000种,我说有5000。我们的用户如何辨别?不同的厂家在入侵手法和漏洞这方面的知识库各有千秋,用户如何最大限度地获得所有安全信息?CVE就是在这样的环境下应运而生的。
什么是CVE?
CVE的英文全称是“Common Vulnerabilities & Exposures”公共漏洞和暴露。CVE就好像是一个字典表,为广泛认同的信息安全漏洞或者已经暴露出来的弱点给出一个公共的名称。使用一个共同的名字,可以帮助用户在各自独立的各种漏洞数据库中和漏洞评估工具中共享数据,虽然这些工具很难整合在一起。这样就使得CVE成为了安全信息共享的“关键字”。如果在一个漏洞报告中指明的一个漏洞,如果有CVE名称,你就可以快速地在任何其它CVE兼容的数据库中找到相应修补的信息,解决安全问题。
CVE的特点:
- 为每个漏洞和暴露确定了唯一的名称
- 给每个漏洞和暴露一个标准化的描述
- 不是一个数据库,而是一个字典
- 任何完全迥异的漏洞库都可以用同一个语言表述
- 由于语言统一,可以使得安全事件报告更好地被理解,实现更好的协同工作
- 可以成为评价相应工具和数据库的基准
- 非常容易从互联网查询和下载,http://www.cve.mitre.org
- 通过“CVE编辑部”体现业界的认可
CVE开始建立是在1999年9月,起初只有321个条目。在2000年10月16日,CVE达到了一个重要的里程碑――超过1000个正式条目。截至目前(2000年12月30日),CVE已经达到了1077个条目,另外还有1047个候选条目(版本20001013)。目前已经有超过28个漏洞库和工具声明为CVE兼容。
CVE条目举例
Land是一个非常著名的拒绝服务攻击的例子。该攻击的主要原理就是构造一个伪造源地址等于目的地址的IP数据包。当存在相应漏洞的主机收到这样的攻击包,会由于不断的自我响应造成系统资源的过渡消耗和崩溃。
在许多种漏洞数据库中都有相应的条目,但是说法各不相同,有Land, Teardrop_land, land.c, Impossible IP packet, Land Loopback Attack等等多种命名方法,用户无所适从。如下图:

如果有了CVE这个公共的命名标准,所有的漏洞库都会对应到CVE字典。如下图:

在CVE字典中会出现一个共同认可的名称和描述:
CVE 版本: 20001013
名称 CVE-1999-0016
描述 Land IP拒绝服务
参考引用:
CERT: CA-97.28.Teardrop_Land
FreeBSD: FreeBSD-SA-98:01
HP: HPSBUX9801-076
CISCO: http://www.cisco.com/warp/public/770/land-pub.shtml
ISS-XF: cisco-land
ISS-XF: land
ISS-XF: 95-verv-tcp
ISS-XF: land-patch
ISS-XF: ver-tcpip-sys
条目创建时间:19990929
什么是漏洞?什么是暴露?
Vulnerability(漏洞,脆弱性)这个词汇可以有狭义和广义多种解释。比如说:finger服务,可能为入侵者提供很多有用的资料,但是该服务本身有时是业务必须的,而且不能说该服务本身有安全问题。1999年8月,CVE的编辑部投票表决通过,为了表达得更精确,给出了一个新的概念――Exposure(暴露)。
在所有合理的安全策略中都被认为是有安全问题的称之为“漏洞”。漏洞可能导致攻击者以其他用户身份运行,突破访问限制,转攻另一个实体,或者导致拒绝服务攻击等。漏洞的例子,比如:
 phf (以用户”nobody”的身份远程执行命令)
 rpc.ttdbserverd (以”root”身份远程执行命令)
 缺省口令
 可能引起蓝屏死机的拒绝服务攻击
 smurf (淹没一个子网的拒绝服务攻击)
对那些在一些安全策略中认为有问题,在另一些安全策略中可以被接受的情况,称之为“暴露”。暴露可能仅仅让攻击者获得一些边缘性的信息,隐藏一些行为;可能仅仅是为攻击者提供一些尝试攻击的可能性;可能仅仅是一些可以忍受的行为,只有在一些安全策略下才认为是严重问题。暴露的例子,比如:
 运行类似finger的服务(用于获取信息或者广告的服务)
 从企业级的角度看,没有很好地设置Windows NT的审计策略
 运行可能成为公共攻击点的服务(比如:HTTP、FTP或SMTP)
 运行可能遭到强力攻击的应用服务(比如:可能遭到字典攻击,口令长度太小等)
什么叫CVE兼容
“CVE兼容”意味着一个工具、网站、数据库或者其它安全产品使用CVE名称,并且允许与其它使用CVE命名方式的产品交叉引用。不同的工具提供不同的引用方式:
 CVE查询――用户可以通过CVE名称在产品中搜索相关的信息
 CVE输出――在产品提供的信息中,包括相关的CVE名称
 CVE映射――CVE的条目和产品中的信息完全对应
目前宣布兼容CVE的厂家和机构有28个,这些都是在IDnA领域中大牌。下面是一些典型机构的兼容情况:
机构声明 产品兼容情况
ISS公司 CVE命名标准对于信息安全界和用户来说一个重大的飞跃。作为一个安全管理软件和服务的技术先锋,ISS非常荣幸地参与这个标准的推进,为每个组织的信息资产提供有效的保护。
――Christopher Klaus, 创始人兼CTO 全线的扫描器产品、入侵检测产品RealSecure和X-Force知识库都全面支持CVE查询和输出
Axent公司 AXENT非常乐意与MITRE合作推进漏洞名称的标准化工作,增加安全工具间的协同工作能力。这个联盟会促进电子商务的安全性。我们将会在我们的IDnA产品中结合CVE命名计划。
――Craig Ozancin, SWAT小组安全分析员 只有ESM和NetRecon支持CVE查询,SWAT和NetProwler等产品还不支持。
Cisco公司 Cisco认为CVE对漏洞科学界的合作非常重要。这个工具可以使我们的安全研究和产品开发小组专注在为客户增值。Cisco会在产品中融合进这个字典。
――Andrew Balinsky, Cisco安全百科全书项目经理 全线IDnA产品现在虽然不兼容,但是都有兼容计划
CERT组织 我们将开始直接提出CVE条目,并且将已经公布的建议增加CVE注释。
――Bill Fithen, 1999年9月29日记者招待会 CERT建议库全面支持CVE查询和输出
NIST
国家标准和技术协会 ICAT计划中的对各种公开数据库的漏洞信息索引工作离开CVE是不可能的。
――Peter Mell, 计算机安全部 ICAT Metabase将包含CVE搜索引擎和统计生成器,全面支持CVE查询和输出

CVE的组织和机制
CVE这个标准的管理组织和形成机制可以说是国际先进技术标准的代表。
CVE的编辑部组成
CVE的编辑部(Editorial Board)成员包括了各种各样的有关信息安全的组织,包括:商业安全工具厂商,学术界,研究机构,政府机构还有一些卓越的安全专家。通过开放和合作式的讨论,编辑部决定哪些漏洞和暴露要包含进CVE,并且确定每个条目的公共名称和描述。一个独立的非盈利组织MITRE负责召集编辑部,协调讨论,在整个过程提供指导,保证CVE能够服务于公众的要求。编辑部会议和讨论的内容会保存在网站中。如果需要,还会邀请其他相关信息安全专家加入到编辑部的工作中。
在编辑部中,我们能够找到许多熟悉的名字:
- CERIAS美国普渡大学计算机系
- Kelly Cooper国际知名信息安全专家
- ISS这样的著名安全工具厂商,还有NFR, Axent, PGP, Symantic等等
- Cisco, IBM, Sun, 微软等
- 美国和加拿大的CERT
- NTBugtraq, Security Focus这样的安全门户
- Ernst & Young这样的著名咨询机构
- NIST这样的标准化和测试机构
这样的编辑部可以说是一个超强的阵容,同时也决定了这个标准的权威地位。

CVE命名过程
命名过程从发现一个潜在的安全漏洞和暴露开始;首先赋予一个CVE候选号码;接着,编辑部会讨论该候选条目能否成为一个CVE条目;如果候选条目被投票通过,该条目会加进CVE,并且公布在CVE网站上。所有的候选条目都可以在网站上查到,只不过CVE和候选条目是分开的。整个CVE的命名过程如下
 发现――发现一个潜在的漏洞和暴露
 公开――通过邮件列表、新闻组、安全建议等形式公开,并提交给CVE的权威候选编号机构CNA(目前由MITRE负责)
 编号――CNA首先确认该漏洞和暴露是否包含在已有的CVE或候选条目中,如果不重复就可以赋予一个候选编号,编号形式CAN-yyyy-nnnn
 提案――编辑可以向编辑部提出某个漏洞/暴露,编辑部成员会讨论该条目并表决。表决结果可能是接收、拒绝、彻底改动、微小调整、没有意见、继续审查等。编辑部成员的表决和意见会记录在CVE网站上。
 修改――如果投票表决,候选条目需要修改,则修改后再提交。
 中间决策――编辑可以认定一个条目是否已经完成讨论,提请最终决策。
 最终决策――如果认定一个条目没有再多的修改,就提请最终决策。如果候选条目被接受就会通知所有成员;如果被拒绝则会说明原因。
 正式发布――当一个候选条目被接受为CVE条目,该条目会发布在网站上。
 再评估――CVE条目可能根据技术的变化,需要重新评估。再评估过程需要经过同样过程。
 撤销――有些情况经过讨论和投票表决,有些CVE条目可能会被撤销,或合并到其它条目。

CVE对我们的帮助和启示
用户选择产品
用户和网络安全管理员可以通过采用“CVE兼容”的产品,或者要求你的安全产品厂商达到CVE兼容的水平,以保证企业级安全应用的需求。在选择相应的产品时候,用户完全可以用CVE作为评判工具的标准。



CVE:从CVE列表开始


CVE子表:根据具体情况,选择合适的CVE条目


评估:将那些CVE兼容的工具/数据库和
你前面选择的CVE子表进行直接比较



CVE名称 工具A 工具B DB 1 DB 2 黑客站点
CVE-0000-0001 √ √ √
CVE-0000-0002 √
CVE-0000-0003 √ √ √ √
CVE-0000-0004 √ √ √

用户实施风险评估
在风险评估中最重要也是最困难的两个环节就是风险的量化,以及找到风险项后如何寻找控制措施。CVE给了我们非常好的指导去进行风险评估中的技术评估。用户完全可以参考CVE字典和相应的数据库建立自己企业的风险评估指标体系,而且所有的这些风险项都可以通过CVE索引迅速地找到相应的修补控制措施。
厂商开发产品
安全工具厂商和漏洞库管理者通过符合CVE标准,为客户提供CVE兼容的工具和数据库,以便达到更好的风险控制覆盖范围,实现更容易的协同工作能力,提高客户整个企业的安全能力。
如何制订有实效的信息安全标准
CVE给了我们一个非常好的典范。
CVE不是研究室闭门造车的产物,而是行业需求、客户需求驱动的产物,是众多权威机构和大厂商直接支持的共同规范。
由于CVE实行这种开放式的研究和提交方式,投票表决式的决策机制,保证了CVE能够最大限度地容纳最先进、最新的安全内容,投票结果又可以反映技术界和业界的综合意向,各方面完全不需要为标准的执行担忧。
CVE这种开放的标准制定机制,以及行业内厂商间的这种有序竞争和合作,才是我国信息安全企业和标准制定单位最需要借鉴的。

=========================
文章类型:转载 提交:Achieve 核查:NetDemon