打印本文 关闭窗口 | |
安全专家常用的漏洞分析方法 | |
作者:陈鹏 文章来源:eNet 点击数 更新时间:2009/9/11 23:34:53 文章录入:陈鹏 责任编辑:陈鹏 | |
|
|
扎实的漏洞利用技术是进行漏洞分析的基础,否则很可能将不可利用的bug判断成漏洞,或者将可以允许远程控制的高危漏洞误判成D.O.S型的中级漏洞。 一般情况下,漏洞发现者需要向安全专家提供一段能够重现漏洞的代码,这段代码被称作POC(Proof of Concept)。 POC可以是很多种形式,只要能够触发漏洞就行。例如,它可能是一个能够引起程序崩溃的畸形文件,也可能是一个Metasploit的exploit模块。根据POC的不同,漏洞分析的难度也会有所不同——按照MSF标准公布出来的exploit显然要比几个二进制形式的数据包容易分析得多。 在拿到POC之后,安全专家需要部署实验环境,重现攻击过程,并进行分析调试,以确定到底是哪个函数、哪一行代码出的问题,并指导开发人员制作补丁。 安全专家常用的分析方法包括: (1)动态调试:使用OllyDbg等调试工具,跟踪软件,从栈中一层层地回溯出发生溢出的漏洞函数。 (2)静态分析:使用IDA等逆向工具,获得程序的“全局观”和高质量的反汇编代码,辅助动态调试。 (3)指令追踪技术:我们可以先正常运行程序,记录下所有执行过的指令序列;然后触发漏洞,记录下攻击状况下程序执行过的指令序列;最后比较这两轮执行过的指令,重点逆向两次执行中表现不同的代码区,并动态调试和跟踪这部分代码,从而迅速定位漏洞函数。 除了安全专家需要分析漏洞之外,黑客也经常需要分析漏洞。比如当微软公布安全补丁之后,全世界的用户不可能全都立刻patch,因此,在补丁公布后一周左右的时间内,其所修复的漏洞在一定范围内仍然是可利用的。 安全补丁一旦公布,其中的漏洞信息也就相当于随之一同公布了。黑客可以通过比较分析Patch前后的PE文件而得到漏洞的位置,经验丰富的黑客甚至可以在补丁发布当天就写出exploit。 鉴于这种攻击的价值,补丁比较也是漏洞分析方法中重要的一种,不同的是,这种分析方法多被攻击者采用。 |
|
打印本文 关闭窗口 |