漏洞挖掘分析技术综述(转)
1 引言
网络安全已成为人们日益关注的重要问题。据CNCERT/CC2007年网络安全工作报告
[1]的统计,近年来漏洞数量呈现明显上升趋势,不仅如此,新漏洞从公布到被利用的时间越来越短,黑客对发布的漏洞信息进行分析研究,往往在极短时间内就能成功利用这些漏洞。除了利用已知漏洞,黑客们也善于挖掘并利用一些尚未公布的漏洞,发起病毒攻击,或出售漏洞资料,满足经济目的。相对于黑客,安全研究者们在漏洞研究方面显得相对被动和滞后。因此,应该加大对漏洞挖掘的研究力度,以便对各类漏洞采取更为主动合理的处理方式。
2 漏洞挖掘概述
漏洞(vulnerability)是指系统中存在的一些功能性或安全性的逻辑缺陷,包括一切导致威胁、损坏计算机系统安全性的所有因素,是计算机系统在硬件、软件、协议的具体实现或系统安全策略上存在的缺陷和不足。由于种种原因,漏洞的存在不可避免,一旦某些较严重的漏洞被攻击者发现,就有可能被其利用,在未授权的情况下访问或破坏计算机系统。先于攻击者发现并及时修补漏洞可有效减少来自网络的威胁。因此主动发掘并分析系统安全漏洞,对网络攻防战具有重要的意义。
漏洞的研究主要分为漏洞挖掘与漏洞分析两部分。漏洞挖掘技术是指对未知漏洞的探索,综合应用各种技术和工具,尽可能地找出软件中的潜在漏洞;漏洞分析技术是指对已发现漏洞的细节进行深入分析,为漏洞利用、补救等处理措施作铺垫。
国内外多个安全组织及个人都从事漏洞的研究。其中比较权威的两个漏洞发布机构是CVE(Common Vulnerabilities and Exposures)和CERT(Computer Emergency Response Team)。此外,国外eEye、LSD等组织也对最新的漏洞进行及时跟踪分析,并给出相应的漏洞解决方案。绿盟科技、启明星辰等单位是国内安全研究组织的代表。其中绿盟科技
[2]是发布自主研究安全漏洞最多的国内安全公司,已经完成对RPC、SMB、IIS等多类漏洞的研究,并取得了不错的成绩。
3 现有漏洞挖掘技术分类
根据分析对象的不同,漏洞挖掘技术可以分为基于源码的漏洞挖掘技术和基于目标代码的漏洞挖掘技术两大类
[3]。
基于源码的漏洞挖掘的