软件漏洞分析技术
目 录内容简介
第1部分 漏洞分析基础
第1章 软件中的漏洞
1.1 漏洞概述
1.1.1 漏洞定义
1.1.2 漏洞特点
1.2 漏洞分类与分级
1.2.1 漏洞分类
1.2.2 漏洞分级
1.3 漏洞的影响
1.3.1 漏洞无处不在
查看完整
第1章 软件中的漏洞
1.1 漏洞概述
1.1.1 漏洞定义
1.1.2 漏洞特点
1.2 漏洞分类与分级
1.2.1 漏洞分类
1.2.2 漏洞分级
1.3 漏洞的影响
1.3.1 漏洞无处不在
查看完整
目 录内容简介
《软件漏洞分析技术》通过对概念的规范、方法的归纳、实例的分析和技术的对比,从白盒到黑盒、从静态到动态、从理论到实践、从传统到新兴,全面深入地阐述了软件漏洞分析技术的各方面内容,是国内部系统性介绍漏洞分析技术的著作。
《软件漏洞分析技术》共分5部分17章。其中,第1部分介绍软件漏洞的基本概念、影响和发展历程,并提出漏洞分析技术的总体框架;第2部分~第4部分从源代码漏洞分析、二进制漏洞分析、软件架构与运行系统漏洞分析三个维度对软件漏洞分析技术进行了深入阐述;第5部分为前沿技术及未来展望,对移动智能终端、云计算、物联网和工控系统等新兴领域中的漏洞分析技术及挑战进行了总结,探讨了漏洞分析未来发展方向。
《软件漏洞分析技术》共分5部分17章。其中,第1部分介绍软件漏洞的基本概念、影响和发展历程,并提出漏洞分析技术的总体框架;第2部分~第4部分从源代码漏洞分析、二进制漏洞分析、软件架构与运行系统漏洞分析三个维度对软件漏洞分析技术进行了深入阐述;第5部分为前沿技术及未来展望,对移动智能终端、云计算、物联网和工控系统等新兴领域中的漏洞分析技术及挑战进行了总结,探讨了漏洞分析未来发展方向。
目 录内容简介
第1部分 漏洞分析基础
第1章 软件中的漏洞
1.1 漏洞概述
1.1.1 漏洞定义
1.1.2 漏洞特点
1.2 漏洞分类与分级
1.2.1 漏洞分类
1.2.2 漏洞分级
1.3 漏洞的影响
1.3.1 漏洞无处不在
1.3.2 漏洞分析保障信息安全
参考文献
第2章 漏洞分析发展历程
2.1 软件漏洞分析
2.1.1 广义漏洞分析
2.1.2 狭义漏洞分析
2.2 原始萌芽阶段
2.2.1 通信安全
2.2.2 分析萌芽
2.2.3 信息加密
2.3 初步发展阶段
2.3.1 计算机安全
2.3.2 单一化漏洞挖掘
2.3.3 操作系统防护
2.4 高速发展阶段
2.4.1 互联网安全
2.4.2 多样化漏洞分析
2.4.3 信息系统防护
2.5 综合治理阶段
2.5.1 网际安全
2.5.2 系统化漏洞管控
2.5.3 防御体系建设
参考文献
第3章 漏洞分析技术概述
3.1 漏洞分析技术体系
3.2 软件架构安全分析
3.2.1 形式化架构分析技术
3.2.2 工程化架构分析技术
3.2.3 分析技术对比
3.3 源代码漏洞分析
3.3.1 基于中间表示的分析技术
3.3.2 基于逻辑推理的分析技术
3.3.3 分析技术对比
3.4 二进制漏洞分析
3.4.1 静态漏洞分析技术
3.4.2 动态漏洞分析技术
3.4.3 动静结合的漏洞分析技术
3.4.4 分析技术对比
3.5 运行系统漏洞分析
3.5.1 信息收集
3.5.2 漏洞检测
3.5.3 漏洞确认
3.5.4 分析技术对比
参考文献
第2部分 源代码漏洞分析
第4章 数据流分析
4.1 基本原理
4.1.1 基本概念
4.1.2 检测程序漏洞
4.1.3 辅助支持技术
4.2 方法实现
4.2.1 使用数据流分析检测程序漏洞
4.2.2 数据流分析作为辅助技术
4.3 实例分析
4.3.1 使用数据流分析检测程序漏洞
4.3.2 数据流分析作为辅助技术
4.4 典型工具
4.4.1 Fortify SCA
4.4.2 Coverity Prevent
4.4.3 FindBugs
参考文献
第5章 污点分析
5.1 基本原理
5.1.1 基本概念
5.1.2 使用污点分析技术挖掘程序漏洞
5.2 方法实现
5.2.1 基于数据流的污点分析
5.2.2 基于依赖关系的污点分析
5.3 实例分析
5.4 典型工具
5.4.1 Pixy
5.4.2 TAJ
参考文献
第6章 符号执行
6.1 基本原理
6.1.1 基本概念
6.1.2 检测程序漏洞
6.1.3 构造测试用例
6.1.4 与其他漏洞分析技术结合
6.2 方法实现
6.2.1 使用符号执行检测程序漏洞
6.2.2 使用符号执行构造测试用例
6.3 实例分析
6.3.1 检测程序漏洞
6.3.2 构造测试用例
6.4 典型工具
6.4.1 Clang
6.4.2 KLEE
参考文献
第7章 模型检测
7.1 基本原理
7.1.1 基本概念
7.1.2 技术框架
7.1.3 方法特点
7.2 方法实现
7.2.1 程序建模
7.2.2 安全缺陷属性描述
7.2.3 程序漏洞检查
7.3 实例分析
7.3.1 线性时序逻辑检查
7.3.2 分布式软件的漏洞检测
7.4 典型工具
7.4.1 SLAM
7.4.2 MOPS
参考文献
第8章 定理证明
8.1 基本原理
8.1.1 基本概念
8.1.2 技术框架
8.1.3 方法特点
8.2 方法实现
8.2.1 程序转换
8.2.2 属性描述
8.2.3 定理证明
8.3 实例分析
8.3.1 整数溢出漏洞分析
8.3.2 TLS协议逻辑漏洞分析
8.3.3 输入验证类漏洞分析
8.4 典型工具
8.4.1 Saturn
8.4.2 ESC/Java
参考文献
第3部分 二进制漏洞分析
第9章 模糊测试
9.1 基本原理
9.1.1 基本概念
9.1.2 基本过程
9.2 方法实现
9.2.1 输入数据的关联分析
9.2.2 测试用例集的构建方法
9.2.3 测试异常分析
9.2.4 模糊测试框架
9.3 实例分析
9.3.1 文件模糊测试
9.3.2 网络协议模糊测试
9.3.3 ActiveX控件模糊测试
9.4 典型工具
9.4.1 Peach
9.4.2 Sulley
参考文献
第10章 动态污点分析
10.1 基本原理
10.1.1 基本概念
10.1.2 动态污点分析原理
10.1.3 方法特点
10.2 方法实现
10.2.1 污点数据标记
10.2.2 污点动态跟踪
10.2.3 污点误用检查
10.3 实例分析
10.4 典型工具
10.4.1 TaintCheck
10.4.2 Argos
10.4.3 TaintDroid
参考文献
第11章 基于模式的漏洞分析
11.1 基本原理
11.1.1 基本概念
11.1.2 二进制文件结构
11.2 方法实现
11.2.1 反汇编分析
11.2.2 逆向中间表示
11.2.3 漏洞模式建模
11.2.4 漏洞模式检测
11.3 实例分析
11.3.1 缓冲区溢出类漏洞实例(不安全函数调用)
11.3.2 缓冲区溢出类漏洞实例(循环写内存)
11.3.3 整数溢出类漏洞实例
11.3.4 内存地址对象破坏性调用类漏洞实例
11.4 典型工具
11.4.1 BinNavi
11.4.2 BAP
参考文献
第12章 基于二进制代码比对的漏洞分析
12.1 基本原理
12.1.1 研究现状
12.1.2 基本原理
12.2 方法实现
12.2.1 基于文本的二进制代码比对
12.2.2 基于图同构的二进制比对
12.2.3 基于结构化的二进制比对
12.2.4 软件补丁的二进制比对技术
12.3 实例分析
12.3.1 漏洞信息搜集
12.3.2 搭建调试环境
12.3.3 补丁比对
12.3.4 静态分析
12.3.5 动态调试
12.4 典型工具
12.4.1 Bindiff
12.4.2 Eye Binary Diffing Suite
参考文献
第13章 智能灰盒测试
13.1 基本原理
13.1.1 基本概念
13.1.2 智能灰盒测试的过程
13.2 方法实现
13.2.1 动态符号执行
13.2.2 路径控制与定向遍历
13.2.3 路径约束求解
13.2.4 漏洞触发数据生成
13.3 实例分析
13.3.1 关键路径提取
13.3.2 中间符号设置
13.3.3 污点分析
13.3.4 执行Trace获取
13.3.5 路径控制与定向遍历
13.3.6 约束求解
13.3.7 结论
13.4 典型工具
13.4.1 Dart
13.4.2 Smart fuzzing
13.4.3 BitBlaze
参考文献
第4部分 架构安全和运行系统漏洞分析
第14章 软件架构安全分析
14.1 基本原理
14.1.1 软件架构定义
14.1.2 架构安全概述
14.1.3 架构安全分析过程
14.2 方法实现
14.2.1 形式化分析技术
14.2.2 工程化分析技术
14.3 实例分析
14.3.1 形式化分析实例——UMLsec
14.3.2 工程化分析实例——基于Web应用程序的威胁建模
14.4 典型工具
14.4.1 威胁建模工具
14.4.2 软件架构分析工具
参考文献
第15章 运行系统漏洞分析
15.1 基本原理
15.1.1 基本概念
15.1.2 运行系统漏洞分析
15.2 方法实现
15.2.1 信息收集
15.2.2 配置管理漏洞检测
15.2.3 通信协议漏洞检测
15.2.4 授权认证漏洞检测
15.2.5 数据验证漏洞检测
15.2.6 数据安全性漏洞检测
15.3 实例分析
15.3.1 信息收集
15.3.2 漏洞检测过程
15.4 典型工具
15.4.1 Nmap
15.4.2 Nessus
15.4.3 微软基线安全分析器
15.4.4 WVS
参考文献
第5部分 前沿技术及未来展望
第16章 漏洞分析领域新挑战
16.1 移动智能终端漏洞分析
16.1.1 领域背景
16.1.2 漏洞分析技术
16.1.3 应对措施
16.2 云计算平台漏洞分析
16.2.1 领域背景
16.2.2 漏洞分析技术
16.2.3 应对措施
16.3 物联网漏洞分析
16.3.1 领域背景
16.3.2 漏洞分析技术
16.3.3 应对措施
16.4 工控系统漏洞分析
16.4.1 领域背景
16.4.2 漏洞分析技术
16.4.3 应对措施
16.5 其他新兴领域的漏洞分析
16.5.1 智能家居的漏洞分析
16.5.2 智能交通的漏洞分析
16.5.3 可穿戴设备的漏洞分析
参考文献
第17章 漏洞分析技术展望
17.1 理论突破
17.1.1 软件模型构建
17.1.2 漏洞模式提取
17.1.3 技术极限求解
17.2 技术发展
17.2.1 精确度判定
17.2.2 分析性能的提高
17.2.3 智能化提升
17.3 工程实现
17.3.1 大规模软件的漏洞分析
17.3.2 新型平台上的漏洞分析
17.3.3 通用平台级漏洞分析软件开发
参考文献
附录A 国内外重要漏洞库介绍
A.1 漏洞库
A.2 行业级漏洞库
A.3 民间级漏洞库
参考文献
附录B 国内外重要安全标准介绍
B.1 总体情况
B.2 基础类标准
B.2.1 国内标准
B.2.2 国际标准
B.3 防范类标准
B.3.1 国内标准
B.3.2 国际标准
B.4 管理类标准
B.4.1 国内标准
B.4.2 国际标准
B.5 应用类标准
B.5.1 国际标准
^ 收 起
第1章 软件中的漏洞
1.1 漏洞概述
1.1.1 漏洞定义
1.1.2 漏洞特点
1.2 漏洞分类与分级
1.2.1 漏洞分类
1.2.2 漏洞分级
1.3 漏洞的影响
1.3.1 漏洞无处不在
1.3.2 漏洞分析保障信息安全
参考文献
第2章 漏洞分析发展历程
2.1 软件漏洞分析
2.1.1 广义漏洞分析
2.1.2 狭义漏洞分析
2.2 原始萌芽阶段
2.2.1 通信安全
2.2.2 分析萌芽
2.2.3 信息加密
2.3 初步发展阶段
2.3.1 计算机安全
2.3.2 单一化漏洞挖掘
2.3.3 操作系统防护
2.4 高速发展阶段
2.4.1 互联网安全
2.4.2 多样化漏洞分析
2.4.3 信息系统防护
2.5 综合治理阶段
2.5.1 网际安全
2.5.2 系统化漏洞管控
2.5.3 防御体系建设
参考文献
第3章 漏洞分析技术概述
3.1 漏洞分析技术体系
3.2 软件架构安全分析
3.2.1 形式化架构分析技术
3.2.2 工程化架构分析技术
3.2.3 分析技术对比
3.3 源代码漏洞分析
3.3.1 基于中间表示的分析技术
3.3.2 基于逻辑推理的分析技术
3.3.3 分析技术对比
3.4 二进制漏洞分析
3.4.1 静态漏洞分析技术
3.4.2 动态漏洞分析技术
3.4.3 动静结合的漏洞分析技术
3.4.4 分析技术对比
3.5 运行系统漏洞分析
3.5.1 信息收集
3.5.2 漏洞检测
3.5.3 漏洞确认
3.5.4 分析技术对比
参考文献
第2部分 源代码漏洞分析
第4章 数据流分析
4.1 基本原理
4.1.1 基本概念
4.1.2 检测程序漏洞
4.1.3 辅助支持技术
4.2 方法实现
4.2.1 使用数据流分析检测程序漏洞
4.2.2 数据流分析作为辅助技术
4.3 实例分析
4.3.1 使用数据流分析检测程序漏洞
4.3.2 数据流分析作为辅助技术
4.4 典型工具
4.4.1 Fortify SCA
4.4.2 Coverity Prevent
4.4.3 FindBugs
参考文献
第5章 污点分析
5.1 基本原理
5.1.1 基本概念
5.1.2 使用污点分析技术挖掘程序漏洞
5.2 方法实现
5.2.1 基于数据流的污点分析
5.2.2 基于依赖关系的污点分析
5.3 实例分析
5.4 典型工具
5.4.1 Pixy
5.4.2 TAJ
参考文献
第6章 符号执行
6.1 基本原理
6.1.1 基本概念
6.1.2 检测程序漏洞
6.1.3 构造测试用例
6.1.4 与其他漏洞分析技术结合
6.2 方法实现
6.2.1 使用符号执行检测程序漏洞
6.2.2 使用符号执行构造测试用例
6.3 实例分析
6.3.1 检测程序漏洞
6.3.2 构造测试用例
6.4 典型工具
6.4.1 Clang
6.4.2 KLEE
参考文献
第7章 模型检测
7.1 基本原理
7.1.1 基本概念
7.1.2 技术框架
7.1.3 方法特点
7.2 方法实现
7.2.1 程序建模
7.2.2 安全缺陷属性描述
7.2.3 程序漏洞检查
7.3 实例分析
7.3.1 线性时序逻辑检查
7.3.2 分布式软件的漏洞检测
7.4 典型工具
7.4.1 SLAM
7.4.2 MOPS
参考文献
第8章 定理证明
8.1 基本原理
8.1.1 基本概念
8.1.2 技术框架
8.1.3 方法特点
8.2 方法实现
8.2.1 程序转换
8.2.2 属性描述
8.2.3 定理证明
8.3 实例分析
8.3.1 整数溢出漏洞分析
8.3.2 TLS协议逻辑漏洞分析
8.3.3 输入验证类漏洞分析
8.4 典型工具
8.4.1 Saturn
8.4.2 ESC/Java
参考文献
第3部分 二进制漏洞分析
第9章 模糊测试
9.1 基本原理
9.1.1 基本概念
9.1.2 基本过程
9.2 方法实现
9.2.1 输入数据的关联分析
9.2.2 测试用例集的构建方法
9.2.3 测试异常分析
9.2.4 模糊测试框架
9.3 实例分析
9.3.1 文件模糊测试
9.3.2 网络协议模糊测试
9.3.3 ActiveX控件模糊测试
9.4 典型工具
9.4.1 Peach
9.4.2 Sulley
参考文献
第10章 动态污点分析
10.1 基本原理
10.1.1 基本概念
10.1.2 动态污点分析原理
10.1.3 方法特点
10.2 方法实现
10.2.1 污点数据标记
10.2.2 污点动态跟踪
10.2.3 污点误用检查
10.3 实例分析
10.4 典型工具
10.4.1 TaintCheck
10.4.2 Argos
10.4.3 TaintDroid
参考文献
第11章 基于模式的漏洞分析
11.1 基本原理
11.1.1 基本概念
11.1.2 二进制文件结构
11.2 方法实现
11.2.1 反汇编分析
11.2.2 逆向中间表示
11.2.3 漏洞模式建模
11.2.4 漏洞模式检测
11.3 实例分析
11.3.1 缓冲区溢出类漏洞实例(不安全函数调用)
11.3.2 缓冲区溢出类漏洞实例(循环写内存)
11.3.3 整数溢出类漏洞实例
11.3.4 内存地址对象破坏性调用类漏洞实例
11.4 典型工具
11.4.1 BinNavi
11.4.2 BAP
参考文献
第12章 基于二进制代码比对的漏洞分析
12.1 基本原理
12.1.1 研究现状
12.1.2 基本原理
12.2 方法实现
12.2.1 基于文本的二进制代码比对
12.2.2 基于图同构的二进制比对
12.2.3 基于结构化的二进制比对
12.2.4 软件补丁的二进制比对技术
12.3 实例分析
12.3.1 漏洞信息搜集
12.3.2 搭建调试环境
12.3.3 补丁比对
12.3.4 静态分析
12.3.5 动态调试
12.4 典型工具
12.4.1 Bindiff
12.4.2 Eye Binary Diffing Suite
参考文献
第13章 智能灰盒测试
13.1 基本原理
13.1.1 基本概念
13.1.2 智能灰盒测试的过程
13.2 方法实现
13.2.1 动态符号执行
13.2.2 路径控制与定向遍历
13.2.3 路径约束求解
13.2.4 漏洞触发数据生成
13.3 实例分析
13.3.1 关键路径提取
13.3.2 中间符号设置
13.3.3 污点分析
13.3.4 执行Trace获取
13.3.5 路径控制与定向遍历
13.3.6 约束求解
13.3.7 结论
13.4 典型工具
13.4.1 Dart
13.4.2 Smart fuzzing
13.4.3 BitBlaze
参考文献
第4部分 架构安全和运行系统漏洞分析
第14章 软件架构安全分析
14.1 基本原理
14.1.1 软件架构定义
14.1.2 架构安全概述
14.1.3 架构安全分析过程
14.2 方法实现
14.2.1 形式化分析技术
14.2.2 工程化分析技术
14.3 实例分析
14.3.1 形式化分析实例——UMLsec
14.3.2 工程化分析实例——基于Web应用程序的威胁建模
14.4 典型工具
14.4.1 威胁建模工具
14.4.2 软件架构分析工具
参考文献
第15章 运行系统漏洞分析
15.1 基本原理
15.1.1 基本概念
15.1.2 运行系统漏洞分析
15.2 方法实现
15.2.1 信息收集
15.2.2 配置管理漏洞检测
15.2.3 通信协议漏洞检测
15.2.4 授权认证漏洞检测
15.2.5 数据验证漏洞检测
15.2.6 数据安全性漏洞检测
15.3 实例分析
15.3.1 信息收集
15.3.2 漏洞检测过程
15.4 典型工具
15.4.1 Nmap
15.4.2 Nessus
15.4.3 微软基线安全分析器
15.4.4 WVS
参考文献
第5部分 前沿技术及未来展望
第16章 漏洞分析领域新挑战
16.1 移动智能终端漏洞分析
16.1.1 领域背景
16.1.2 漏洞分析技术
16.1.3 应对措施
16.2 云计算平台漏洞分析
16.2.1 领域背景
16.2.2 漏洞分析技术
16.2.3 应对措施
16.3 物联网漏洞分析
16.3.1 领域背景
16.3.2 漏洞分析技术
16.3.3 应对措施
16.4 工控系统漏洞分析
16.4.1 领域背景
16.4.2 漏洞分析技术
16.4.3 应对措施
16.5 其他新兴领域的漏洞分析
16.5.1 智能家居的漏洞分析
16.5.2 智能交通的漏洞分析
16.5.3 可穿戴设备的漏洞分析
参考文献
第17章 漏洞分析技术展望
17.1 理论突破
17.1.1 软件模型构建
17.1.2 漏洞模式提取
17.1.3 技术极限求解
17.2 技术发展
17.2.1 精确度判定
17.2.2 分析性能的提高
17.2.3 智能化提升
17.3 工程实现
17.3.1 大规模软件的漏洞分析
17.3.2 新型平台上的漏洞分析
17.3.3 通用平台级漏洞分析软件开发
参考文献
附录A 国内外重要漏洞库介绍
A.1 漏洞库
A.2 行业级漏洞库
A.3 民间级漏洞库
参考文献
附录B 国内外重要安全标准介绍
B.1 总体情况
B.2 基础类标准
B.2.1 国内标准
B.2.2 国际标准
B.3 防范类标准
B.3.1 国内标准
B.3.2 国际标准
B.4 管理类标准
B.4.1 国内标准
B.4.2 国际标准
B.5 应用类标准
B.5.1 国际标准
^ 收 起
目 录内容简介
《软件漏洞分析技术》通过对概念的规范、方法的归纳、实例的分析和技术的对比,从白盒到黑盒、从静态到动态、从理论到实践、从传统到新兴,全面深入地阐述了软件漏洞分析技术的各方面内容,是国内部系统性介绍漏洞分析技术的著作。
《软件漏洞分析技术》共分5部分17章。其中,第1部分介绍软件漏洞的基本概念、影响和发展历程,并提出漏洞分析技术的总体框架;第2部分~第4部分从源代码漏洞分析、二进制漏洞分析、软件架构与运行系统漏洞分析三个维度对软件漏洞分析技术进行了深入阐述;第5部分为前沿技术及未来展望,对移动智能终端、云计算、物联网和工控系统等新兴领域中的漏洞分析技术及挑战进行了总结,探讨了漏洞分析未来发展方向。
《软件漏洞分析技术》共分5部分17章。其中,第1部分介绍软件漏洞的基本概念、影响和发展历程,并提出漏洞分析技术的总体框架;第2部分~第4部分从源代码漏洞分析、二进制漏洞分析、软件架构与运行系统漏洞分析三个维度对软件漏洞分析技术进行了深入阐述;第5部分为前沿技术及未来展望,对移动智能终端、云计算、物联网和工控系统等新兴领域中的漏洞分析技术及挑战进行了总结,探讨了漏洞分析未来发展方向。
比价列表