模糊测试 模糊测试(Fuzzing) 是一种黑盒测试技术,它将大量的畸形数据输入到目标程序中,通过监测程序的异常来发现被测程序中可能存在的安全漏洞。模糊测试的思想相对较简单直观,易于实现自动化,并且运用其发掘软件安全漏洞,从漏洞发现到重现和定位漏洞比较容易,不存在漏洞误报,目前正广泛应用于对文件格式、网络协议、Web 程序、环境变量和COM 对象等的安全测试中。已有的大量实践结果都表明,模糊测试技术是一种发掘安全漏洞的有效方法。

模糊测试概念的提出可以追溯到1989 年,当时威斯康星大学的Barton Miller 教授在他的高级操作系统课中开发和使用了一个原始的模糊测试工具,用来测试UNIX 应用程序的健壮性(Miller et al, 1990) 。测试的重点并不是评价系统的安全性,而是验证程序全部代码的质量和可靠性。Miller 小组所采用的模糊测试方法是一种纯黑盒的完全暴力方式,即简单地向自标应用程序输入随机字符串,同时监测目标程序的运行,如果目标程序发生异常或崩溃,则认为测试失败,否则就认为通过测试。