也谈安全漏洞和漏洞数据库
来源:计算机安全 更新时间:2012-04-13

作者:汪列军
安全业界著名的基于防护(Protection)、检测(Detection)、响应(Reaction)的PDR模型构造了一个持续改进企业安全状况的闭环策略,我们看到所有防护检测响应操作的对象是各种安全威胁,而安全漏洞衍生出了绝大部分威胁,因此有没有决心和能力建设自己的漏洞数据库是厂商的核心竞争力所在。

漏洞数据库的基本功能

简单来说,漏洞数据库的基本功能主要有以下几个方面:
(1)帮助用户确认自身应用环境中可能存在的安全漏洞,提供基本的漏洞信息查询。
每当用户在自己的环境中引入新的应用并享受所带来的便利和功能时,同时引入了应用本身已知或未知的安全漏洞,这就为攻击者提供了新的入侵渠道。通过查询一个信息完备的漏洞数据库,用户可以方便地了解到自己所涉及应用的已知的安全漏洞和相应的解决方案,从而在攻击发生之前堵住漏洞挫败可能的攻击,在攻击发生之后了解攻击者的入侵途径获取证据。
(2)针对客户的网络环境和应用布置情况为客户提供及时的安全预警。
安全厂商可以基于自己持续更新的漏洞数据库和客户反馈的应用布置情况,在用户涉及到的应用出现新漏洞时,可以及时通知用户采取修补措施,第一时间先于攻击者实施攻击堵截,截断其获取非法访问的途径。基于对漏洞的深入理解,绿盟科技已经成功地预警了利用严重漏洞进行传播的“冲击波”和“震荡波”蠕虫的出现,为客户在蠕虫爆发前及时修补了漏洞,避免了损失。
(3)为安全厂商基于安全漏洞发现和攻击防护类自有产品提供技术和数据支持。
当前安全市场上远程安全评估、入侵检测防护类产品占有相当大份额,这些产品的核心就是漏洞的定位和后续防护。对漏洞技术细节的确切了解才是产品取得市场成功的基础,而漏洞库正是为产品提供全部所需的数据。
(4)帮助安全企业从整体上分析安全漏洞的数量、类型、威胁等要素及其发展趋势,指导新产品的开发和新解决方案的设计。
安全漏洞的发现和解决有其内在规律,以缓冲区溢出为例:系统平台从早期的Unix平台为主到现在的Windows平台为主;溢出的类型从栈溢出、格式串溢出到堆溢出;攻击方式从针对服务器为主过渡到针对客户端为主。这些漏洞发现和利用方式的改变,清晰地指出了产品和服务设计及实现上的努力方向,没有漏洞数据库的数据支持是不可能的。
(5)为与其他安全研究机构和厂商的合作提供数据支持。
安全厂商可能需要与其他机构和厂商进行技术合作,给合作伙伴提供漏洞信息,应用到他们的产品中,这也是漏洞提供方获取商业回报的一种方式。

如何衡量一个好的漏洞数据库

漏洞数据库的创建和维护是一件需要大量精力的工作,只有坚定的决心和毅力才能做好,一个好的数据库应该在如下几方面有所体现:
(1)漏洞涉及到应用的覆盖面广。
互联网对社会生活的介入方方面面,各种应用多如牛毛且千差万别,好的漏洞数据库应该覆盖尽可能多的应用程序、操作系统和网络设备,使用户能尽可能多地了解攻击者潜在的入侵途径。
(2)漏洞描述信息的准确性高。
用户需要准确的漏洞描述信息,特别是漏洞影响的软件版本信息、漏洞可能造成的威胁情况、是否可远程利用及相应修补方案,解决方案不仅提供补丁的下载地址,最好还能提供暂时不能安装补丁时的临时解决方法及相应的操作指示。
(3)漏洞数据库需要最及时地提供信息。
每个工作日都应该向用户提供最新的漏洞信息,在攻击者之前采取行动,第一时间帮助用户修补安全威胁。
(4)漏洞数据库必须提供完全的信息。
数据库应该提供与漏洞相关的利用方法和攻击代。隐藏漏洞相关的已经公开的攻击方法,无助于为用户提供更多的保护,因为攻击者一般都会密切关注攻击代码,不会因为漏洞库不收录那些信息而不了解,而用户则可能不太关心攻击。不在漏洞信息中包含攻击方法内容,只会带给用户漏洞还没有确切利用方法的错觉,从而降低他们对漏洞进行处理的优先级。