Fuzz:Fuzz测试方法介绍

文章目录

  • 参考
  • 通俗定义
  • 组成结构
    • 1. 原始数据定义模块:
    • 2. 数据变异模块
    • 3. 测试逻辑
    • 4. 错误监测与日志模块
  • 测试流程
    • 准备好随机或者半随机方式生成的数据
    • 将准备好的数据导入被测试的系统
    • 用程序打开文件观察被测试系统的状态
    • 根据状态判断是否存在漏洞

参考

FUZZ测试方法介绍
软件安全测试(fuzz)之大家一起学1: fuzz platform架构

通俗定义

Generally speaking fuzz is a brute force method which used to break software
使用大量的测试用例进行测试,尽可能多地找出问题

组成结构

1. 原始数据定义模块:

一般都需要测试人员自己完成,比如定义原始数据包格式或者文件格式等

2. 数据变异模块

用来在原始数据定义的基础上,衍生出成千上万的测试用例,如畸形文件或者畸形数据包等

3. 测试逻辑

用于运行目标程序,发送测试用例,关闭目标程序。如果测试协议的话,发送测试用例有可能需要模拟若干次用于握手的数据包;测试GUI程序的文件格式的话,说不定还要模拟鼠标点击等。

4. 错误监测与日志模块

在测试过程中,监测一切相关进程的各种exception、crash等信息,并在错误发生时保存现场,记录对应的case,栈信息,寄存器信息等重要状态,以备后面的分析之用。

测试流程

准备好随机或者半随机方式生成的数据

将准备好的数据导入被测试的系统

用程序打开文件观察被测试系统的状态

根据状态判断是否存在漏洞

你可能感兴趣的:(Fuzz)