编辑推荐
模糊测试降低安全测试门槛,提高组织安全性。
内容简介
随着软件安全性问题变得越来越关键,传统的仅由组织内的少数安全专家负责安全的模式正在受到越来越多的挑战。模糊测试是一种能够降低安全性测试门槛的方法,它通过高度自动化的手段让组织的开发和测试团队都能参与到安全性测试中,并能够通过启发式等方法不断积累安全测试的经验,帮助组织建立更有效的面向安全性的开发流程。《模糊测试-用强制方法发现安全漏洞》是一本系统性描述模糊测试的专著,本书介绍了主要操作系统和主流应用类型的模糊测试方法,系统性地描述了方法和工具,并使用实际案例帮助读者建立直观的认知。
章节目录
版权信息
内容简介
译者序
前言
原书序
本书介绍
适合阅读本书的读者
读者应该具有的预备知识(Prerequisites)
如何使用本书
本书中的幽默
关于本书封面
本书的网站:www.fuzzing.org
致谢
全体作者的致谢
Michael的致谢
Adam的致谢
Pedram的致谢
关于作者
Michael Sutton
Adam Greene
Pedram Amini
第一部分 基础知识
第1章 安全漏洞发现方法学
1.1 白盒测试
1.2 黑盒测试
1.3 灰盒测试
1.4 小结
第2章 什么是模糊测试
2.1 模糊测试的定义
2.2 模糊测试的历史
2.3 模糊测试各阶段
2.4 模糊测试的局限性和期望
2.5 小结
第3章 模糊测试方法与模糊测试器类型
3.1 模糊测试方法
3.2 模糊测试器类型
3.3 小结
第4章 数据表示和分析
4.1 什么是协议
4.2 协议中的字段
4.3 简单文本协议(Plain Text Protocols)
4.4 二进制协议
4.5 网络协议
4.6 文件格式
4.7 常用协议元素
4.8 小结
第5章 有效模糊测试的需求
5.1 可重现性与文档
5.2 可重用性
5.3 过程状态和过程深度
5.4 跟踪、代码覆盖和度量
5.5 错误检测
5.6 资源约束
5.7 小结
第二部分 目标与自动化
第6章 自动化与数据生成
6.1 自动化的价值
6.2 有用的工具和库
6.3 编程语言的选择
6.4 数据生成与模糊试探值(Fuzz Heuristics)
6.5 小结
第7章 环境变量与参数模糊测试
7.1 本地模糊测试介绍
7.2 本地模糊测试原则
7.3 寻找测试目标
7.4 本地模糊测试方法
7.5 枚举环境变量
7.6 自动化的环境变量模糊测试
7.7 检测问题
7.8 小结
第8章 自动化的环境变量与参数模糊测试
8.1 iFUZZ本地模糊测试器的功能
8.2 开发iFUZZ工具
8.3 iFUZZ使用的编程语言
8.4 案例研究
8.5 优点与改进
8.6 小结
第9章 Web应用与服务器模糊测试
9.1 什么是Web应用模糊测试
9.2 测试目标
9.3 测试方法
9.4 漏洞
9.5 异常检测
9.6 小结
第10章 Web应用和服务器的自动化模糊测试
10.1 Web应用模糊测试器
10.2 WebFuzz的特性
10.3 必备的背景信息
10.4 开发WebFuzz
10.5 案例研究
10.6 优点与可能的改进
10.7 小结
第11章 文件格式模糊测试
11.1 测试目标
11.2 测试方法
11.3 测试输入
11.4 安全漏洞
11.5 检测错误
11.6 小结
第12章 UNIX平台上的文件格式自动化模糊测试
12.1 notSPIKEfile和SPIKEfile
12.2 开发过程
12.3 有意义的代码片段
12.4 僵尸进程(Zombie Process)
12.5 使用注意事项
12.6 案例研究:RealPlayer RealPix格式字符串漏洞
12.7 开发语言
12.8 小结
第13章 Windows平台上的文件格式自动化模糊测试
13.1 Windows文件格式漏洞
13.2 FileFuzz工具的功能
13.3 必需的背景信息
13.4 开发FileFuzz工具
13.5 案例研究
13.6 优势和提升空间
13.7 小结
第14章 网络协议的模糊测试
14.1 什么是网络协议的模糊测试
14.2 选择目标应用
14.3 测试方法
14.4 错误检测
14.5 小结
第15章 UNIX平台上的自动化网络协议模糊测试
15.1 使用SPIKE进行模糊测试
15.2 SPIKE必要知识
15.3 基于块的协议模型
15.4 其他的SPIKE特性
15.5 编写SPIKE NMAP模糊测试器脚本
15.6 小结
第16章 Windows平台上网络协议的模糊测试
16.1 特性
16.2 必备的背景知识
16.3 开发
16.4 案例研究
16.5 优势与可改进空间
16.6 小结
第17章 Web浏览器的模糊测试
17.1 什么是Web浏览器模糊测试
17.2 目标
17.3 方法
17.4 漏洞
17.5 检测
17.6 小结
第18章 Web浏览器的自动化模糊测试
18.1 组件对象模型背景
18.2 开发模糊测试器
18.3 小结
第19章 内存模糊测试
19.1 为什么需要内存模糊测试?怎么进行?
19.2 必要的背景知识
19.3 究竟什么是内存模糊测试的简要解释
19.4 目标
19.5 内存模糊测试方法之变异循环插入(Mutation Loop Insertion)
19.6 内存模糊测试方法之快照恢复变异(Snapshot restoration mutation)
19.7 测试速度与处理深度
19.8 错误检测
19.9 小结
第20章 自动化内存模糊测试
20.1 内存模糊测试工具特性集
20.2 选择开发语言
20.3 Windows调试API
20.4 整合以上的内容
20.5 PyDbg,一个新朋友
20.6 一个人造的示例
20.7 小结
第三部分 高级模糊测试技术
第21章 模糊测试框架
21.1 什么是模糊测试框架
21.2 现有的模糊测试框架
21.3 定制模糊测试器案例研究:Shockwave Flash
21.4 模糊测试框架Sulley
21.5 小结
第22章 自动化协议分析
22.1 模糊测试的痛处
22.2 启发式技术
22.3 生物信息学
22.4 遗传算法
22.5 小结
第23章 模糊测试器跟踪
23.1 我们跟踪的究竟是什么
23.2 可视化和基础块
23.3 构建一个模糊测试器跟踪器
23.4 分析一个代码覆盖工具
23.5 案例研究
23.6 优势与将来的改进
23.7 小结
第24章 智能错误检测
24.1 原始的错误检测技术
24.2 我们寻找的是什么
24.3 选择模糊测试值的注意事项
24.4 自动化的调试器监视
24.5 首轮异常与末轮异常
24.6 动态二进制插装
24.7 小结
第四部分 展望
第25章 我们学到了什么
25.1 软件开发生命周期
25.2 开发者
25.3 QA研究员
25.4 安全研究者
25.5 小结
第26章 展望
26.1 商业工具
26.2 发现漏洞的混合方法
26.3 集成的测试平台
26.4 小结
附录A 本书引用的小布什语录之详细解读
索引
模糊测试:强制发掘安全漏洞的利器是2013年由电子工业出版社出版,作者 (美) 萨顿 (Sutton M.) 。
得书感谢您对《模糊测试:强制发掘安全漏洞的利器》关注和支持,如本书内容有不良信息或侵权等情形的,请联系本网站。