简要介绍一下已经有的一些模糊测试框架。
1、antiparser
antiparser框架以python语言编写,是一个专门帮助模糊测试器创建随机数据的API。该工具可以跨平台,仅仅要求有python解释器就行。
你可以在这个网站得到该框架的源码和一些文档:http://antiparser.sourceforge.net/
说明:
该框架很简单,且缺少一些自动化功能,文档较少。总的来说,他不适合做一些复杂的工作。
2、Dfuz
该框架是Diego Bauche用C开发的,经常更新。该框架已经发现了很多漏洞。Dfuz是开源的,可以下载。但是该框架的源代码采用了一种严格的开原许可,未得到作者的允许不可以使用复制该框架的源代码。
网站:http://www.genexx.org/dfuz/
说明:
该框架学习曲线比较平坦,开发效率比较高,Dfuz要求开发者完全使用框架的脚本语言来进行编程,没法利用成熟的语言发挥更大的威力。不过总的来说还是可以的。
3、SPIKE
最广泛使用最知名的一个框架。使用C语言编写,提供了一系列允许快速和高效的开发网络协议模糊测试器的API。在SPIKE中,数据结构被分解表示成块,也叫SPIKE,这个块同时包含二进制数据和块大小。
说明:
SPIKE只有零星的文档,一些还是废弃的,但是我们可以找到很多工作样例。SPIKE缺乏对windows的支持。最大的贡献就是基于块的模糊测试方法。很多其他的模糊测试框架也采用了这样的方法。
4、Peach
python编写的,是一个开源的框架。
Peach体系结构允许研究者聚焦于一个个的特定的协议的子组件,然后组合起来创建完整的模糊测试器。这种方法可能不如基于块的开发速度,但是对代码的复用的支持比其他模糊测试工具好。
说明:
Peach处于活跃开发中,但是文档少,学习起来比较困难。
5、通用目的模糊测试器(GPF)
GPF可以产生无数个测试,无数个变异。(其他的根据规则不会是无数个),该框架主要的有点是可以用很低的成本建立并运行一个模糊测试器,通过GPF的多种模式对外提供功能。
6、Autodafe
这个框架可以简单的描述成下一带的SPIKE,该框架能够对网络协议和文件格式进行模糊测试。他最吸引人的就是调试组件。
网址:http://www.autodafe.sourceforge.net
以上只是一部分,简要介绍,来源于《模糊测试》一书。