教你安全专家常用的漏洞分析方法

2009-05-10 10:30
网络与信息 2009年8期
关键词:分析方法补丁代码

漏洞分析是指在代码中迅速定位漏洞。弄清攻击原理,准确地估计潜在的漏洞利用方式和风险等级的过程。

扎实的漏洞利用技术是进行漏洞分析的基础,否则很可能将不可利用的bug判断成漏洞,或者将可以允许远程控制的高危漏洞误判成D.O.S型的中级漏洞。

一般情况下,漏洞发现者需要向安全专家提供一段能够重现漏洞的代码。这段代码被称为POC(Proof of Concept)。

POC可以是很多种形式,只要能够触发漏洞就行。例如,它可能是一个能够引起程序崩溃的畸形文件。也可能是一个Metasploit的exploit模块。根据POC的不同,漏洞分析的难度也会有所不同——按照MSF标准公布出来的exploit显然要比几个二进制形式的数据包容易分析得多。

在拿到POC之后。安全专家需耍部署实验环境,重现攻击过程,并进行分析调试,以确定到底是哪个函数、哪一行代码出的问题。并指导开发人员制作补丁。

安全专家常用的分析方法包括:

(1)动态调试:使用OllyDbg等调试工具,跟踪软件,从栈中一层层地回溯出发生溢出的漏洞函数。

(2)静态分析:使用IDA等逆向工具。获得程序的“全局观”和高质量的反汇编代码,辅助动态调试。

(3)指令追踪技术:我们可以先正常运行程序,记录下所有执行过的指令序列;然后触发漏洞。记录下攻击状况下程序执行过的指令序列;最后比较这两轮执行过的指令,重点逆向两次执行中表现不同的代码区,并动态调试和跟踪这部分代码。从而迅速定位漏洞函数。

除了安全专家需要分析漏洞之外。黑客也经常需要分析漏洞。比如当微软公布安全补丁之后,全世界的用户不可能全都立刻patch,因此,在补丁公布后一周左右的时间内,其所修复的漏洞在一定范围内仍然是可利用的。

安全补丁一旦公布,其中的漏洞信息也就相当于随之一同公布了。黑客可以通过比较分析Patch前后的PE文件而得到漏洞的位置,经验丰富的黑客甚至可以在补丁发布当天就写出exploit。

鉴于这种攻击的价值,补丁比较也是漏洞分析方法中重要的一种,不同的是,这种分析方法多被攻击者采用。

猜你喜欢
分析方法补丁代码
补丁
人生的补丁
高层建筑沉降监测数据处理中多元回归分析方法的应用研究
高层建筑沉降监测数据处理中多元回归分析方法的应用研究
高分辨质谱在氯化石蜡分析方法中的应用
例谈一种追及问题的错解和常用分析方法
高效为上补丁下载安装不走寻常路
神秘的代码
一周机构净增(减)仓股前20名
重要股东二级市场增、减持明细