注册 | 登录读书好,好读书,读好书!
读书网-DuShu.com
当前位置: 首页出版图书科学技术计算机/网络信息安全软件安全

软件安全

软件安全

定 价:¥139.80

作 者: 邹德清 李珍 羌卫中 付才 文明 金海
出版社: 人民邮电出版社
丛编项:
标 签: 暂缺

购买这本书可以去


ISBN: 9787115625748 出版时间: 2023-12-01 包装: 平装-胶订
开本: 16开 页数: 字数:  

内容简介

  软件是支撑计算机、网络和数据的基础,软件安全是信息安全保障的关键。本书通过对现有方法的总结、技术对比和实例分析,从理论到实践、从传统到前沿,全面深入地阐述软件安全中的软件漏洞与攻击利用、软件脆弱性分析与软件漏洞挖掘及软件防护技术,分别从基本概念、各种传统与前沿的软件防护方法的原理、典型应用、未来发展趋势等方面进行详细介绍。本书既可以作为软件安全相关专业研究生的软件安全系列课程教材,也可以作为相关科研人员或计算机技术人员的参考书。

作者简介

暂缺《软件安全》作者简介

图书目录

第 一篇 软件漏洞与攻击利用 
第 1章 软件安全概述 3 
1.1 软件安全的定义及内涵 3 
1.1.1 软件安全的定义 3 
1.1.2 用信息安全的属性来理解软件安全 4 
1.2 软件安全问题 4 
1.2.1 引起软件安全问题的原因 4 
1.2.2 软件安全问题带来的影响 6 
1.2.3 软件安全面临的挑战 7 
1.3 软件安全发展历程 8 
1.3.1 黑客起源 8 
1.3.2 万维网兴起 8 
1.3.3 软件安全开发生命周期的提出 9 
1.3.4 在云中扩展安全开发 9 
1.4 软件安全学科的主要内容 10 
1.4.1 软件安全与系统安全、网络安全之间的关系 10 
1.4.2 软件安全的主流技术 11 
1.5 确保软件安全的工程化方法 12 
1.6 小结 13 
参考文献 14 
第 2章 主流的软件漏洞类型及典型攻击方法 15 
2.1 空间错误类内存漏洞及攻击方法 15 
2.1.1 堆缓冲区溢出漏洞 15 
2.1.2 栈缓冲区溢出 17 
2.1.3 格式化字符串漏洞攻击 18 
2.2 时间错误类内存漏洞及攻击方法 19 
2.2.1 Double-Free漏洞攻击 19 
2.2.2 Use-After-Free攻击 20 
2.3 条件竞争漏洞及攻击方法 21 
2.3.1 TOCTOU攻击 21 
2.3.2 Double-Fetch攻击 22 
2.4 代码注入型攻击 24 
2.5 代码重用型攻击 25 
2.5.1 Return-to-libc(Ret2libc)攻击 25 
2.5.2 ROP攻击 28 
2.5.3 JOP攻击 31 
2.6 控制流劫持攻击 32 
2.7 数据流劫持攻击 32 
2.8 内存泄露攻击 33 
2.9 小结 34 
参考文献 34 
第3章 漏洞利用技术 36 
3.1 漏洞利用技术简介 36 
3.1.1 Exploit、Payload与Shellcode 36 
3.1.2 漏洞的可利用性 37 
3.1.3 漏洞利用的影响 38 
3.2 人工漏洞利用 39 
3.2.1 概述 39 
3.2.2 触发漏洞路径 39 
3.2.3 构造利用链 41 
3.2.4 绕过安全机制 43 
3.2.5 实例:CVE-2018-5767栈溢出漏洞 44 
3.2.6 实例:CVE-2011-0065 UAF漏洞 45 
3.3 自动化漏洞利用 47 
3.3.1 基于二进制补丁比较的自动化漏洞利用 47 
3.3.2 面向控制流的自动化漏洞利用 47 
3.3.3 面向数据流的自动化漏洞利用 48 
3.4 小结 49 
参考文献 49 
第二篇 软件脆弱性分析与软件漏洞挖掘 
第4章 软件安全形式化验证 53 
4.1 软件安全形式化验证技术介绍 53 
4.1.1 什么是形式化验证 53 
4.1.2 定理证明方法简介 54 
4.1.3 模型检验方法简介 54 
4.2 软件安全形式化验证面临的挑战 55 
4.2.1 定理证明方法面临的挑战 55 
4.2.2 模型检验方法的算法挑战 55 
4.2.3 模型检验的建模挑战 56 
4.3 软件安全形式化验证的主流技术 57 
4.3.1 Kripke结构 57 
4.3.2 定理证明工具简介 59 
4.3.3 模型检验的关键技术 60 
4.3.4 模型检验的主流验证工具 63 
4.4 典型应用 67 
4.4.1 问题描述与建模 67 
4.4.2 使用NuSMV工具解决农夫过河问题 68 
4.4.3 使用SPIN工具解决农夫过河问题 70 
4.5 未来的发展趋势 72 
4.5.1 未来的发展方向 72 
4.5.2 新时代的挑战 72 
4.6 小结 73 
参考文献 73 
第5章 符号执行技术 74 
5.1 符号执行的定义 74 
5.2 静态符号执行 75 
5.2.1 静态符号执行的原理 75 
5.2.2 静态符号执行的局限性 76 
5.3 动态符号执行 76 
5.3.1 混合测试 77 
5.3.2 执行生成测试 79 
5.3.3 选择性符号执行 80 
5.4 典型应用 80 
5.4.1 结合模糊测试进行漏洞检测 80 
5.4.2 代码覆盖率测试 81 
5.4.3 反混淆 82 
5.5 未来发展趋势 82 
5.6 小结 84 
参考文献 84 
第6章 污点分析技术 85 
6.1 污点分析技术的定义 85 
6.2 静态污点分析技术 86 
6.2.1 静态数据流分析的图的可达性查询算法 86 
6.2.2 典型静态污点分析系统及应用 88 
6.3 动态污点分析技术 89 
6.3.1 动态污点分析技术的关键问题 90 
6.3.2 应用层动态污点分析技术 93 
6.3.3 典型应用层动态污点分析系统 97 
6.3.4 虚拟机层全系统动态污点分析技术 102 
6.3.5 典型全系统动态污点分析系统及应用 102 
6.4 典型应用 104 
6.4.1 自动化网络协议格式逆向分析技术 104 
6.4.2 程序恶意行为检测 105 
6.4.3 智能手机上的敏感信息跟踪与分析 106 
6.4.4 漏洞检测 106 
6.5 未来发展趋势 107 
6.6 小结 108 
参考文献 108 
第7章 软件漏洞挖掘 110 
7.1 基于规则的软件漏洞挖掘 110 
7.1.1 基本概念 110 
7.1.2 数据流分析 111 
7.1.3 基于符号执行的漏洞挖掘 121 
7.2 克隆漏洞挖掘 125 
7.2.1 基本概念 125 
7.2.2 克隆漏洞挖掘的流程 130 
7.2.3 挑战与未来发展趋势 134 
7.3 智能漏洞挖掘 136 
7.3.1 基本概念 136 
7.3.2 智能漏洞挖掘流程 137 
7.3.3 数据表征 138 
7.3.4 模型学习 140 
7.3.5 未来发展趋势 143 
7.4 基于模糊测试的漏洞挖掘 144 
7.4.1 基本概念 144 
7.4.2 基于变异的模糊测试 144 
7.4.3 基于生成的模糊测试 144 
7.4.4 未来发展趋势 145 
7.5 典型应用 145 
7.5.1 VulDeePecker概述 145 
7.5.2 VulDeePecker总体架构 146 
7.6 未来发展趋势 147 
7.7 小结 147 
参考文献 148 
第三篇 软件防护技术 
第8章 代码安全与代码完整性保护 151 
8.1 代码安全面临的主要挑战 151 
8.2 代码的安全编程 152 
8.2.1 系统安全架构设计 152 
8.2.2 输入数据可信性验证 152 
8.2.3 缓冲区溢出防范 153 
8.2.4 程序错误与异常处理 154 
8.3 代码完整性保护 155 
8.3.1 软件水印技术 155 
8.3.2 代码混淆技术 155 
8.3.3 代码隐藏 159 
8.3.4 数据执行保护 159 
8.4 典型应用 159 
8.4.1 安全编码标准 159 
8.4.2 代码保护工具 160 
8.5 未来发展趋势 161 
8.6 小结 161 
参考文献 161 
第9章 控制流完整性保护 163 
9.1 控制流劫持 163 
9.1.1 程序的控制流转移 163 
9.1.2 控制流劫持攻击 164 
9.2 控制流完整性保护 165 
9.2.1 控制流完整性的定义 165 
9.2.2 控制流完整性保护过程 166 
9.3 控制流完整性保护方案介绍 167 
9.3.1 粗粒度的CFI保护 168 
9.3.2 细粒度的CFI保护 175 
9.3.3 硬件辅助的CFI保护 179 
9.4 典型应用 185 
9.5 未来发展趋势 186 
9.6 小结 186 
参考文献 187 
第 10章 数据流与数据流完整性保护 188 
10.1 数据流定义 188 
10.2 数据流分析方法及分类 188 
10.2.1 程序控制流图 188 
10.2.2 程序数据流图 189 
10.2.3 数据流分析方法 190 
10.3 典型数据流分析方法 193 
10.3.1 定义可达分析 194 
10.3.2 存活变量分析 196 
10.3.3 典型数据流分析方法总结 199 
10.4 数据流分析方法的典型应用场景 200 
10.4.1 漏洞挖掘 200 
10.4.2 软件测试 202 
10.4.3 代码表示 203 
10.5 数据流完整性保护 204 
10.5.1 数据流完整性概念 204 
10.5.2 数据流完整性保护实例 204 
10.5.3 数据完整性保护的发展与挑战 206 
10.6 典型应用 209 
10.6.1 面向操作系统内核的数据流完整性保护 209 
10.6.2 面向实时系统的数据流完整性保护 210 
10.7 未来发展趋势 210 
10.8 小结 211 
参考文献 211 
第 11章 软件随机化保护技术 213 
11.1 ASLR介绍 213 
11.1.1 回顾:虚拟地址空间布局 213 
11.1.2 ASLR 215 
11.1.3 PIC和PIE技术 218 
11.1.4 实例:Windows操作系统上的ASLR机制 219 
11.2 ASLR的分类和实例 223 
11.2.1 时间维度 223 
11.2.2 粒度维度 226 
11.2.3 方法维度 228 
11.3 拓展:ASLR其他相关研究 231 
11.3.1 内核ASLR 231 
11.3.2 Retouching 232 
11.4 指令集随机化相关研究 233 
11.4.1 指令集直接加解密 233 
11.4.2 ASIST 234 
11.4.3 Polyglot 236 
11.5 典型应用 238 
11.6 未来发展趋势 239 
11.7 小结 239 
参考文献 240

本目录推荐