漏洞挖掘技术的概念及分类
利用漏洞进行攻击分为漏洞挖掘、漏洞分析和漏洞利用三个步骤。漏洞挖掘是其他两个步骤的前提和基础,所以对于网络的攻防具有重要的意义。漏洞挖掘,顾名思义就是寻找漏洞,主要是通过综合应用各种技术和工具,尽可能地找出软件中的潜在漏洞,然而这并非一件很容易的事情,在很大程度上依赖于个人经验。根据分析对象的不同,漏洞挖掘技术可以分为基于源码的漏洞挖掘技术和基于目标代码的漏洞挖掘技术。
基于源码的漏洞挖掘的前提是必须能获取源代码,对于一些开源项目,通过分析其公布的源代码,就可能找到存在的漏洞,例如对Linux系统的漏洞挖掘就可采用这种方法。使用源码审核技术,对软件的源代码进行扫描,针对不安全的库存函数使用以及内存操作进行语义上的检查,从而发现安全漏洞,其中的典型有静态分析技术。