CVE公共漏洞和暴露的学习
1 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就是在这样的环境下应运而生的。
注释:1000与5000这样的数字在这里没有什么意义,因为漏洞描述不一样,含义不一样。
2 什么是CVE
CVE的英文全称是Common Vulnerabilities & Exposures(公共漏洞和暴露)。CVE就好像是一个字典表,为广泛认同的信息安全漏洞或者已经暴露出来的弱点给出一个公共的名称。使用一个共同的名字,可以帮助用户在各自独立的各种漏洞数据库中和漏洞评估工具中共享数据,虽然这些工具很难整合在一起。这样就使得CVE成为了安全信息共享的“关键字”。如果在一个漏洞报告中指明的一个漏洞,如果有CVE名称,你就可以快速地在任何其它CVE兼容的数据库中找到相应修补的信息,解决安全问题。
CVE的特点
l -为每个漏洞和暴露确定了唯一的名称
l -给每个漏洞和暴露一个标准化的描述
l -不是一个数据库而是一个字典
l -任何完全迥异的漏洞库都可以用同一个语言表述
l -由于语言统一可以使得安全事件报告更好地被理解实现更好的协同工作
l -可以成为评价相应工具和数据库的基准
l -非常容易从互联网查询和下载http://www.cve.mitre.org
l -通过CVE编辑部体现业界的认可
CVE开始建立是在1999年9月,起初只有321个条目。在2000年10月16日,CVE达到了一个重要的里程碑——超过1000个正式条目。截至目前(2000年12月30日),CVE已经达到了1077个条目,另外还有1047个候选条目(版本20001013)。目前已经有超过28个漏洞库和工具声明为CVE兼容。
注释:到今天2007年8月,cve的条目已经达到了25000多个条目,超过41个漏洞库和工具声明为cve兼容
2.1 CVE条目举例
Land是一个非常著名的拒绝服务攻击的例子。该攻击的主要原理就是构造一个伪造源地址等于目的地址的IP数据包。当存在相应漏洞的主机收到这样的攻击包,会由于不断的自我响应造成系统资源的过渡消耗和崩溃。
在许多种漏洞数据库中都有相应的条目,但是说法各不相同,有Land, Teardrop_land, land.c, Impossible IP packet, Land Loopback Attack等等多种命名方法,用户无所适从。如下图:
如果有了CVE这个公共的命名标准,所有的漏洞库都会对应到CVE字典。如下图:
在CVE字典中会出现一个共同认可的名称和描述:
2.2 什么是漏洞什么是暴露
Vulnerability(漏洞,脆弱性)这个词汇可以有狭义和广义多种解释。比如说:finger服务,可能为入侵者提供很多有用的资料,但是该服务本身有时是业务必须的,而且不能说该服务本身有安全问题。1999年8月,CVE的编辑部投票表决通过,为了表达得更精确,给出了一个新的概念 ——Exposure(暴露)。
在所有合理的安全策略中都被认为是有安全问题的称之为“漏洞”。漏洞可能导致攻击者以其他用户身份运行,突破访问限制,转攻另一个实体,或者导致拒绝服务攻击等。漏洞的例子,比如:
l phf(以用户”nobody”的身份远程执行命令)
l rpc.ttdbserverd(以”root”身份远程执行命令)
l 缺省口令
l 可能引起蓝屏死机的拒绝服务攻击
l smurf(淹没一个子网的拒绝服务攻击)
对那些在一些安全策略中认为有问题,在另一些安全策略中可以被接受的情况,称之为“暴露”。暴露可能仅仅让攻击者获得一些边缘性的信息,隐藏一些行为;可能仅仅是为攻击者提供一些尝试攻击的可能性;可能仅仅是一些可以忍受的行为,只有在一些安全策略下才认为是严重问题。暴露的例子,比如:
l 运行类似finger的服务用于获取信息或者广告的服务
l 从企业级的角度看没有很好地设置Windows NT的审计策略
l 运行可能成为公共攻击点的服务比如HTTP FTP或SMTP
l 运行可能遭到强力攻击的应用服务比如可能遭到字典攻击口令长度太小等
2.3什么叫CVE兼容
“CVE兼容”意味着一个工具、网站、数据库或者其它安全产品使用CVE名称,并且允许与其它使用CVE命名方式的产品交叉引用。不同的工具提供不同的引用方式:
l CVE查询 用户可以通过CVE名称在产品中搜索相关的信息
l CVE输出 在产品提供的信息中包括相关的CVE名称
l CVE映射 CVE的条目和产品中的信息完全对应
目前(2000年)宣布兼容CVE的厂家和机构有28个,这些都是在IDnA领域中大牌。下面是一些典型机构的兼容情况:
注释:到今天2007年8月,cve的条目已经达到了25000多个条目,超过41个漏洞库和工具声明为cve兼容
3 CVE的组织和机制
CVE这个标准的管理组织和形成机制可以说是国际先进技术标准的代表
3.1 CVE的编辑部组成
CVE的编辑部(Editorial Board)成员包括了各种各样的有关信息安全的组织,包括:商业安全工具厂商,学术界,研究机构,政府机构还有一些卓越的安全专家。通过开放和合作式的讨论,编辑部决定哪些漏洞和暴露要包含进CVE,并且确定每个条目的公共名称和描述。一个独立的非盈利组织MITRE负责召集编辑部,协调讨论,在整个过程提供指导,保证CVE能够服务于公众的要求。编辑部会议和讨论的内容会保存在网站中。如果需要,还会邀请其他相关信息安全专家加入到编辑部的工作中。在编辑部中,我们能够找到许多熟悉的名字:
l -CERIAS美国普渡大学计算机系
l -Kelly Cooper国际知名信息安全专家
l -ISS这样的著名安全工具厂商还有NFR,Axent,PGP,Symantic等等-Cisco,IBM,Sun,微软等
l -美国和加拿大的CERT
l -NTBugtraq,Security Focus这样的安全门户
l -Ernst&Young这样的著名咨询机构
l -NIST这样的标准化和测试机构
这样的编辑部可以说是一个超强的阵容同时也决定了这个标准的权威地位
3.2 CVE命名过程
命名过程从发现一个潜在的安全漏洞和暴露开始;首先赋予一个CVE候选号码;接着,编辑部会讨论该候选条目能否成为一个CVE条目;如果候选条目被投票通过,该条目会加进CVE,并且公布在CVE网站上。所有的候选条目都可以在网站上查到,只不过CVE和候选条目是分开的。整个CVE的命名过程如下:
l 发现 发现一个潜在的漏洞和暴露
l 公开 通过邮件列表新闻组安全建议等形式公开并提交给CVE的权威候选编号机构CNA目前由MITRE负责
l 编号 CNA首先确认该漏洞和暴露是否包含在已有的CVE或候选条目中,如果不重复就可以赋予一个候选编号编号形式CAN-yyyy-nnnn
l 提案 编辑可以向编辑部提出某个漏洞/暴露,编辑部成员会讨论该条目并表决表决,结果可能是,接收,拒绝,彻底改动,微小调整,没有意见,继续审查等,编辑部成员的表决和意见会记录在CVE网站上
l 修改 如果投票表决候选条目需要修改则修改后再提交
l 中间决策 编辑可以认定一个条目是否已经完成讨论提请最终决策
l 最终决策 如果认定一个条目没有再多的修改就提请最终决策如果候选条目被接受就会通知所有成员如果被拒绝则会说明原因
l 正式发布 当一个候选条目被接受为CVE条目该条目会发布在网站上
l 再评估 CVE条目可能根据技术的变化需要重新评估再评估过程需要经过同样过程
l 撤销 有些情况经过讨论和投票表决有些CVE条目可能会被撤销或合并到其它条目
4 CVE对我们的帮助和启示
4.1 用户选择产品
用户和网络安全管理员可以通过采用“CVE兼容”的产品,或者要求你的安全产品厂商达到CVE兼容的水平,以保证企业级安全应用的需求。在选择相应的产品时候,用户完全可以用CVE作为评判工具的标准。
4.2 用户实施风险评估
在风险评估中最重要也是最困难的两个环节就是风险的量化,以及找到风险项后如何寻找控制措施。CVE给了我们非常好的指导去进行风险评估中的技术评估。用户完全可以参考CVE字典和相应的数据库建立自己企业的风险评估指标体系,而且所有的这些风险项都可以通过CVE索引迅速地找到相应的修补控制措施。
4.3厂商开发产品
安全工具厂商和漏洞库管理者通过符合CVE标准为客户提供CVE兼容的工具和数据
库以便达到更好的风险控制覆盖范围,实现更容易的协同工作能力提高客户整个企业的
安全能力
4.4如何制订有实效的信息安全标准
CVE给了我们一个非常好的典范。 CVE不是研究室闭门造车的产物,而是行业需求、客户需求驱动的产物,是众多权威机构和大厂商直接支持的共同规范。
由于CVE实行这种开放式的研究和提交方式,投票表决式的决策机制,保证了CVE能够最大限度地容纳最先进、最新的安全内容,投票结果又可以反映技术界和业界的综合意向,各方面完全不需要为标准的执行担忧。
CVE这种开放的标准制定机制,以及行业内厂商间的这种有序竞争和合作,才是我国信息安全企业和标准制定单位最需要借鉴的
注释:
个人总结:CVE为漏洞和暴露提供了统一的命名标准。目前,我国国内有一些产品(启明星辰等)在向这个标准靠拢,但是还有两个问题:
1、cve网上的漏洞库中有许多可能完全没有被安全厂家考虑。
2、由于国内安全厂家安全知识的匮乏,cve漏洞库中有很多漏洞对于安全厂家可能不知道是什么内容,也有可能由于英文的漏洞表述导致的不理解。强烈呼吁国内有关组织和部门在网上挂载和维护全中文的漏洞数据库,并给出cve编号,便于国内安全厂家和研究人员学习。