模糊测试—强制性安全漏洞发掘
分類: 图书,计算机/网络,软件工程/开发项目管理,
作者: (美)斯顿(Sutton,M)等著;黄陇,于莉莉,李虎译
出 版 社: 机械工业出版社
出版时间: 2009-1-1字数:版次: 1页数: 363印刷时间: 2009/01/01开本: 16开印次: 1纸张: 胶版纸I S B N : 9787111257554包装: 平装编辑推荐
掌握揭露安全性缺陷的最强大技术
模糊测试现在已经发展成为一种最有效的软件安全性测试方法。模糊测试是指将一个随机的数据源作为程序的输入,然后系统地找出这些输入所引起的程序失效。著名的模糊测试专家将告诉你如何抢在别人之前使用模糊测试来揭示软件的弱点。
本书是第一部也是唯一一部自始至终讨论模糊测试的专著,将以往非正式的技巧转变为训练有素的最佳实践,进而将其总结为一种技术。作者首先回顾了模糊测试的工作原理并勾勒出模糊测试相比其他安全性测试方法的关键优势。然后,介绍了在查找网络协议,文件格式及Web应用安全漏洞中的先进的模糊测试,演示了自动模糊工具的用法,并给出多个说明模糊测试强大效力的历史案例。
本书主要内容包括:
为什么模糊测试能够简化测试设计并捕捉利用其他方法捕捉不到的软件缺陷。
模糊测试过程:从识别输入到评估“可利用性”。
理解实施有效模糊测试所要满足的需求。
比较基于变异的和基于生成的模糊器。
在模糊测试中应用并初始化环境变量和自变量。
掌握内存数据的模糊测试技术。
构建定制的模糊测试框架和工具。
实现智能的故障检测。
攻击者早已经开始使用模糊测试技术。当然,你也应该使用。不论你是一位开发者、一位安全工程师还是测试人员或QA专业人员,本书都将教会你如何构建安全的软件系统。
内容简介
本书是讨论模糊测试的专著,主要内容包括:模糊测试的工作原理,模糊测试相比其他安全性测试方法的关键优势,模糊测试在查找网络协议,文件格式及Web应用安全漏洞中的技术现状等。演示了自动模糊工具的用法,并给出多个说明模糊测试强大效力的历史案例。
本书可作为开发者,安全工程师、测试人员以及QA专业人员的参考用书。
作者简介
Michael Sutton是SPI Dynamics公司的安全布道师。他还是Web应用安全组织(WASC)的成员,负责其中的Web应用安全统计项目。
目录
译者序
译者简介
序言
前言
致谢
第一部分 背景
第1章 安全鬻洞发掘方法学
1.1 白盒测试
1.1.1 源代码评审
1.1.2 工具和自动化
1.1.3 优点和缺点
1.2 黑盒测试
1.2.1 人工测试
1.2.2 自动测试或模糊测试
1.2.3 优点和缺点
1.3 灰盒测试
1.3.1 二进制审核
1.3.2 自动化的:进制审核
1.3.3 优点和缺点
1.4 小结
第2章 什么是模糊测试
2.1 模糊测试的定义
2.2 模糊测试的历史
2.3 模糊测试阶段
2.4 模糊测试的局限性和期锶
2.4.1 访问控制缺陷
2.4.2 设计逻辑不良
2.4.3者后门
2.4.4 内存破坏
2.4.5 多阶段安全漏洞
2.5 小结
第3章 模糊测试方法和模糊器类型
3.1 模糊测试方法
3.1.1 预先生成测试用例
3.1.2 随机方法
3.1.3 协议变异人工测试
3.1.4 变异或强制性测试
3.1.5 自动协议生成测试
3.2 模糊器类型
3.2.1 本地模糊器
3.2.2 远程模糊器
3.2.3 内存模糊器
3.2.4 模糊器框架
3.3 小结
第4章 数据表示和分析
4.1 什么是协议
4.2 协议域
4.3 简单文本协议
4.4 二进制协议
4.5 网络协议
4.6 文件格式
4.7 常见的协议元素
4.7.1 名字一值对
4.7.2 块标识符
4.7.3 块长度
4.7.4 经验和
4.8 小结
第5章 有效模糊测试的需求
5.1 可重现性和文档记录
5.2 可重用性
5.3 过程状态和过程深度
5.4 跟踪、代码覆盖和度量
5.5 错误检测
5.6 资源约束
5.7 小结
第二部分 目标和自动化
第6章 自动化溯试和翻试敷据生成
第7章 环境变量和参敦的模糊测试
第8章 环境变量和参数的模糊测试:自动化
第9章 Web应用程序和服务器模糊测试
第10章 Web应用程序和服务器的模糊测试:自动化
第11章 文件格式模糊测试
第12章 文件格式模糊测试:UNIX平台上的自动化测试
第13章 文件格式模糊溯试:Windows平台上的自动化测试
第14章 网络协议模糊测试
第15章 网络协议模糊测试:UNIX平台上的自动化测试
第16章 网络协议模糊测试:Windows 平台上的自动化测试
第17章 Web调览器模糊测试
第18章 Web浏览器的模糊溯试:自动化
第19章 内存敦据的模糊测试
第20章 内存数据的模糊测试:自动化
第三部分 高级模糊测试技术
第21章 模糊测试框架
第22章 自动化协议解析
第23章 模糊器跟踪
第24章 智能故障检测
第四部分 展望
第25章 汲取的教训
第26章 展望
书摘插图
第一部分 背景
第1章 安全鬻洞发掘方法学
如果询问任何一位有成就的安全领域的研究者如何发现漏洞,很可能会得到一大堆答案。为什么?因为可用于安全性测试的方法太多,每种方法都有自己的优点和缺点。没有一种方法是绝对正确的,也没有一种方法能够揭示一个给定目标下所有可能的漏洞。在较高的层次上,有三种主要的方法用来发现安全漏洞:白盒测试、黑盒测试和灰盒测试。这些方法之间的差别是由测试者可得到的资源决定的。白盒测试是一个极端,它需要对所有资源进行充分地访问。这包括访问源代码、设计规约,甚至有可能还要访问程序员本人。黑盒测试是另一个极端,它几乎不需要知道软件的内部细节,很大程度上带有盲目测试的味道。远程Web应用的Pen测试是黑盒测试的一个好例子,它不需要访问程序源码。位于两个极端方法之间的是灰盒测试,它的定义因询问的人不同而不同。就我们的应用目的而言,灰盒测试需要访问编译后得到的二进制代码,或许还要访问一些基本的文档。
本章将考察漏洞发掘的各种不同的高层和低层方法,起点是白盒测试,你以前可能听说过这种方法也被称为玻璃、透明或半透明测试。之后我们再定义黑盒测试和灰盒测试,模糊测试可能就属于后两者。我们将阐述每种方法的利弊,这些方法的利弊将成为本书后面介绍模糊测试时所需要的背景知识。模糊测试只是漏洞发掘的一种方法,了解其他可选的实用方法也是相当重要的。
……