什么是模糊测试?

发表于:2012-10-19来源:futurehandw作者:吴颖敏点击数: 标签:模糊测试
什么是模糊测试?如何询问一位有成就的安全领域的研究者如何发现漏洞,很可能会有一大堆的答案,为什么?因为安全测试的方法太多,每种方法都有其优缺点。在全局来看有三种主要的方法来发现安全漏洞:白盒测试,黑盒测试和灰盒测试。

  如何询问一位有成就的安全领域的研究者如何发现漏洞,很可能会有一大堆的答案,为什么?因为安全测试的方法太多,每种方法都有其优缺点。在全局来看有三种主要的方法来发现安全漏洞:白盒测试,黑盒测试和灰盒测试。

  这些方法在普通测试中也非常的常见,那什么是模糊测试呢?模糊测试是一种通过提供非预期的输入并监视异常结果来发现bug的方法,一般的模糊测试都是一个 自动或半自动的过程。现流行的模糊器都比较的少,一般区别在于测试用例的产生过程上,分为基于变异的模糊器,基于生成的模糊器。

  即一般的模糊器基于数据的样本进行处理变异或者建立数据模型进行用例的生成。

  一般模糊测试方法分为:

  随机方法:

  最最最简单的模糊器就是random模糊器,通过随机产生数据的方法对软件进行测试,这是最低效的方法。

  协议变异人工测试:

  这种方法主要依赖于测试者的经验,对协议的理解,破坏性测试用例的设计十分关键。

  变异或强制性测试:

  强制性是指模糊器从有效的协议或数据格式样本开始,不断的打乱数据包或者文件中的每一个字节、字、双字或者字符串,这也是比较低效的测试,CPU主要浪费在数据生成上了。

  自动协议生成测试:

  这是某种意义上的高级强制性测试,主要是将部分有效数据参数化生成测试数据,进行自动化发包及分析,这类模糊器有SPIKEHE和SPIKEfile。

  之前介绍了想关模糊测试的一些方法,下面介绍模糊器。

  本地模糊器:

  主要是对服务器本身安全的一种考虑,主要有命令行模糊器,环境变量模糊器,文件格式模糊器等等……

  远程模糊器:

  远程模糊器是以监听一个网络接口的软件为测试目标的,可能是现行最重要的测试目标。

  主要有网络协议模糊器,WEB应用模糊器,WEB浏览器模糊器等等,之后Jason会重点介绍此类浏览器。

  内存模糊器:

  这主要是对存储式软件测试的一种模糊器,主要针对内存算法,内存使用率等因素的测试工具

今天就简单的介绍到这里,之后会深入介绍远程模糊器,敬请期待

原文转自:http://www.ltesting.net