软件漏洞分析技术:模糊测试
软件漏洞分析技术第9章模糊测试读书笔记。
- 模糊测试
- 基本原理
- 方法实现
- 输入数据关联分析
- 测试用例构建
- 测试异常分析
- 框架
- 实例分析
- 典型工具
- Peach
- Sulley
概念
模糊测试是当前最流行的黑盒测试方法,基本步骤有:
- 向待测程序提供大量特殊构造的数据作为输入
- 监视程序的运行过程中产生的异常并且记录导致异常的输入
- 人工进一步定位漏洞位置
方法实现
了解程序对于数据的结构化要求,有针对性地通过变异或者生成的方式构建测试用例。
对于复杂的数据格式,使用数据块模型进行描述。
常用的测试用例构造算法有:
- 随机
- 强制性测试
- 预先生成测试用例
- 遗传算法
- 错误注入与模糊式启发
测试异常分析
在模糊测试过程中,首先通过分类过滤并获取程序的某些运行时信息(尤其是异常发生时的),对记录下来的信息进行重点分析。
具体的监控方法有:
- 系统调试接口
- 异常即时过滤
- 异常影响分析与漏洞危害判定
典型工具
Peach:代码可以重用,并且能够在使用过程中变得更加智能。
Sulley:该工具的特点有使用简单且极富弹性,日志记录丰富且可以重现测试用例,代码可重用性高,基于路径的分析,追踪、代码覆盖度和度量,错误检测和恢复。
All articles in this blog are licensed under CC BY-NC-SA 4.0 unless stating additionally.