《软件安全》PDF下载

  • 购买积分:12 如何计算积分?
  • 作  者:彭国军,傅建明,梁玉编著;张焕国审校
  • 出 版 社:武汉:武汉大学出版社
  • 出版年份:2015
  • ISBN:9787307164963
  • 页数:318 页
图书介绍:软件是信息系统的核心基础,软件安全无疑是信息安全保障的关键。本书介绍了软件安全领域的部分基础知识,重点对软件安全威胁的三类主要来源(软件漏洞、恶意软件及软件破解)及其技术机理进行了详细的剖析,同时针对这些攻击威胁,介绍了目前典型的各类安全防护技术与手段。

第一部分 软件安全基础知识 3

第1章 软件安全概述 3

1.1 信息与信息安全 3

1.1.1 信息的定义 3

1.1.2 信息的属性 3

1.1.3 信息安全 4

1.2 什么是软件安全 5

1.3 软件安全威胁及其来源 5

1.3.1 软件缺陷与漏洞 5

1.3.2 恶意软件 6

1.3.3 软件破解 8

1.4 如何加强软件安全防护? 8

本章小结 12

习题 12

第2章 软件安全基础 13

2.1 计算机磁盘的管理 13

2.1.1 硬盘结构简介 13

2.1.2 主引导扇区(Boot Sector)结构简介 15

2.1.3 文件系统 16

2.2 80X86处理器的工作模式 20

2.2.1 实模式 21

2.2.2 保护模式 21

2.2.3 虚拟8086模式 21

2.3 Windows内存结构与管理 22

2.3.1 DOS内存布局 22

2.3.2 Windows的内存布局 22

2.3.3 虚拟地址转译 24

2.3.4 内存分配与管理函数 25

2.4 计算机的引导过程 28

2.4.1 认识计算机启动过程 28

2.4.2 主引导记录的工作原理 29

2.5 PE文件格式 34

2.5.1 什么是PE文件格式 34

2.5.2 PE文件格式与Win32病毒的关系 34

2.5.3 PE文件格式分析 35

本章小结 47

习题 47

第二部分 软件漏洞利用与防护 51

第3章 软件缺陷与漏洞机理概述 51

3.1 安全事件与软件漏洞 51

3.1.1 典型安全事件 51

3.1.2 软件漏洞 52

3.2 漏洞分类及其标准 53

3.2.1 漏洞分类 53

3.2.2 CVE标准 54

3.2.3 CNVD 54

3.2.4 CNNVD 54

3.3 软件漏洞利用对系统的威胁 54

3.3.1 非法获取访问权限 55

3.3.2 权限提升 55

3.3.3 拒绝服务 55

3.3.4 恶意软件植入 55

3.3.5 数据丢失或泄漏 56

3.4 软件漏洞产生的原因 56

3.4.1 技术因素 56

3.4.2 非技术因素 58

3.5 软件漏洞利用方式 60

3.5.1 本地攻击模式 60

3.5.2 远程主动攻击模式 60

3.5.3 远程被动攻击模式 61

3.6 典型的软件漏洞 61

3.6.1 缓冲区溢出 61

3.6.2 注入类漏洞 62

3.6.3 权限类漏洞 63

本章小结 64

习题 64

第4章 典型软件漏洞机理分析 65

4.1 缓冲区溢出漏洞 65

4.1.1 缓冲区与内存分布 66

4.1.2 栈溢出 67

4.1.3 堆溢出 73

4.1.4 格式化串漏洞 80

4.2 Web应用程序漏洞 82

4.2.1 Web应用安全概述 82

4.2.2 SQL注入漏洞 83

4.2.3 跨站脚本(XSS) 87

4.2.4 跨站请求伪造(CSRF) 90

4.2.5 其他Web漏洞 91

本章小结 93

习题 93

第5章 软件漏洞的利用和发现 95

5.1 漏洞利用与Exploit 95

5.1.1 漏洞利用简介 95

5.1.2 Exploit结构 96

5.1.3 漏洞利用的具体技术 96

5.2 Shellcode开发 97

5.2.1 Shellcode的编写语言 98

5.2.2 地址重定位技术 98

5.2.3 API函数自搜索技术 98

5.2.4 Shellcode编码问题 102

5.2.5 Shellcode典型功能 102

5.2.6 改进Shellcode技术——Ret2Lib和ROP 103

5.3 软件漏洞利用平台及框架 106

5.3.1 Metasploit Framework 106

5.3.2 Immunity CANVAS 107

5.4 软件漏洞挖掘技术及工具 107

5.4.1 基于源代码的静态分析 108

5.4.2 静态分析工具 109

5.4.3 动态分析 110

5.4.4 Fuzzing测试 111

5.4.5 面向二进制程序的逆向分析 112

5.4.6 基于补丁比对的逆向分析 113

本章小结 113

习题 113

第6章 Windows系统安全机制及漏洞防护技术 116

6.1 数据执行保护——DEP 116

6.1.1 DEP保护机制 116

6.1.2 对抗DEP 117

6.2 栈溢出检查——GS 120

6.2.1 /GS保护机制的原理的实现 120

6.2.2 GS的不足 122

6.3 地址空间分布随机化——ASLR 124

6.3.1 ASLR保护机制的原理和实现 124

6.3.2 ASLR的缺陷和绕过方法 126

6.4 SafeSEH 127

6.4.1 SafeSEH的原理和实现 127

6.4.2 SafeSEH的安全性分析 128

6.5 EMET 129

本章小结 129

习题 130

第7章 构建安全的软件 131

7.1 系统的安全需求 131

7.2 主动的安全开发过程 132

7.2.1 安全教育阶段 133

7.2.2 设计阶段 133

7.2.3 开发阶段 136

7.2.4 测试阶段 136

7.2.5 发行和维护阶段 137

7.3 重要的安全法则 137

7.3.1 软件安全策略 137

7.3.2 安全设计法则 138

7.4 安全的编码技术 140

7.4.1 安全编码 140

7.4.2 安全性测试 142

7.5 适当的访问控制 145

7.5.1 访问控制 145

7.5.2 访问控制策略 146

7.5.3 访问控制的实现 147

7.5.4 授权 147

7.5.5 审计 148

本章小结 148

习题 148

第三部分 恶意代码机理及防护 153

第8章 恶意代码及其分类 153

8.1 恶意代码定义 153

8.2 恶意代码分类 153

8.2.1 计算机病毒 153

8.2.2 网络蠕虫 154

8.2.3 特洛伊木马 155

8.2.4 后门 156

8.2.5 Rootkit 156

8.2.6 流氓软件 157

8.2.7 僵尸程序 157

8.2.8 Exploit 158

8.2.9 其他 158

本章小结 159

习题 159

第9章 恶意代码机理分析 160

9.1 计算机病毒 160

9.1.1 什么是计算机病毒 160

9.1.2 计算机病毒的特点与分类 161

9.1.3 计算机病毒的结构 163

9.1.4 计算机病毒的网络传播方式 166

9.2 计算机病毒机理分析 167

9.2.1 Windows PE病毒 167

9.2.2 脚本病毒 179

9.2.3 宏病毒 184

9.2.4 ELF类病毒 191

9.3 网络蠕虫 196

9.3.1 软件漏洞与网络蠕虫 196

9.3.2 网络蠕虫的结构 199

9.3.3 网络蠕虫攻击的关键技术 201

9.3.4 网络蠕虫的检测与防治 203

9.4 木马 205

9.4.1 什么是木马? 205

9.4.2 木马的通信方式与溯源 206

9.4.3 木马的主要功能剖析 210

9.4.4 木马实例——灰鸽子 215

9.4.5 木马与后门的异同 220

9.5 Rootkit 220

9.5.1 什么是Rootkit? 220

9.5.2 Rootkit核心技术分析 221

9.5.3 Rootkit检测原理及工具 236

9.6 手机恶意软件 237

9.6.1 手机恶意软件概述 237

9.6.2 手机操作系统简介 238

9.6.3 手机恶意软件的种类 240

9.6.4 手机恶意软件主要功能技术机理 243

9.6.5 手机恶意软件的防御 247

本章小结 247

习题 247

第10章 病毒检测技术及检测对抗技术 249

10.1 病毒检测技术 249

10.1.1 特征值检测技术 249

10.1.2 校验和检测技术 250

10.1.3 虚拟机检测技术 252

10.1.4 启发式扫描技术 254

10.1.5 主动防御技术 258

10.1.6 云查杀技术 260

10.2 恶意软件的自我保护 262

10.2.1 病毒检测技术对抗 262

10.2.2 反病毒软件对抗 267

10.2.3 人工分析对抗 268

本章小结 272

习题 273

第11章 恶意软件样本捕获与分析 275

11.1 恶意软件样本捕获方法 275

11.1.1 蜜罐 275

11.1.2 用户上报 275

11.1.3 云查杀平台上传 276

11.1.4 诱饵邮箱 276

11.1.5 样本交流 276

11.2 恶意软件载体 276

11.3 恶意软件样本分析 277

11.3.1 虚拟机环境准备 278

11.3.2 系统监控 278

11.3.3 文件类型侦测 283

11.3.4 PE文件格式分析 283

11.3.5 静态反汇编 284

11.3.6 动态调试 285

11.3.7 文本及16进制数据分析 286

11.4 恶意软件分析报告 287

本章小结 290

习题 290

第四部分 软件自我保护 295

第12章 软件知识产权保护技术 295

12.1 软件知识产权保护的必要性 295

12.2 用户合法性验证机制 295

12.2.1 序列号验证 295

12.2.2 KeyFile验证 297

12.2.3 网络验证 298

12.2.4 光盘验证技术 298

12.2.5 加密锁验证 298

12.3 软件知识产权保护方式 299

12.3.1 功能限制 299

12.3.2 时间限制 300

12.3.3 警告窗口 301

12.4 软件知识产权保护建议 302

本章小结 303

习题 304

第13章 软件自我保护技术 305

13.1 静态分析对抗技术 305

13.1.1 花指令 305

13.1.2 自修改代码技术实现 308

13.1.3 加密与多态变形技术 308

13.1.4 虚拟机保护技术 309

13.2 动态分析对抗技术 310

13.2.1 检测自身是否处于调试状态 310

13.2.2 检测调试器软件是否存在 312

13.2.3 发现调试器后的处理 313

13.3 软件的自校验技术 314

13.3.1 磁盘文件校验 314

13.3.2 内存映像校验 314

本章小结 315

习题 315

参考文献 316