书籍详情
软件安全分析与应用
作者:苏璞睿,应凌云,杨轶 著
出版社:清华大学出版社
出版时间:2017-10-01
ISBN:9787302472070
定价:¥59.00
购买这本书可以去
内容简介
本书作者根据其多年的软件安全研究成果,对软件安全分析方法进行了梳理和总结。全书由易到难、由浅入深地全面介绍了二进制程序分析所需的基础知识和基础分析工具,程序切片、符号执行、模糊测试、污点分析等软件分析基础方法,以及相关分析方法在恶意代码分析、软件漏洞挖掘分析、网络协议逆向分析、移动智能终端应用软件安全分析等方面的应用。本书不仅介绍了相关方法和原理,还分析了当前国际上相关的主流工具和系统,可供读者学习和参考;同时,在安全分析应用方面,也结合了大量的真实案例,有助于读者进一步深刻理解相关方法与技术的原理和价值。 本书不仅可作为网络空间安全专业本科生、研究生相关课程的教材,也可供对软件安全感兴趣的广大学者以及从事软件漏洞和恶意代码分析工作的专业人员参考。
作者简介
暂缺《软件安全分析与应用》作者简介
目录
目录
第1章绪论/1
1.1引言1
1.2典型安全问题3
1.2.1恶意软件3
1.2.2软件漏洞9
1.2.3软件后门11
1.3软件安全性分析的目标12
1.4主要方法与技术13
1.4.1反汇编与反编译14
1.4.2程序调试15
1.4.3程序切片17
1.4.4污点传播分析18
1.4.5符号执行19
1.4.6模糊测试20
1.5主要分析应用21
1.5.1恶意软件分析21
1.5.2网络协议逆向分析21
1.5.3软件漏洞分析与利用22
1.6本书的组织结构23
1.6.1内容范围23
1.6.2本书的组织23
1.7其他说明24
参考文献24
第2章基础知识/25
2.1处理器硬件架构基础25
2.1.1CPU结构介绍25
2.1.2保护模式28
2.1.3特权级29
2.1.4中断处理与异常处理30
〖1〗软件安全分析与应用目录[3]〖3〗2.1.5调试支持32
2.1.6虚拟化支持34
2.2反汇编及对抗技术35
2.2.1汇编语言35
2.2.2反汇编39
2.2.3代码混淆40
2.2.4反调试42
2.3Windows操作系统基础44
2.3.1PE文件结构44
2.3.2进程管理51
2.3.3线程管理52
2.3.4内存管理54
2.3.5对象与句柄管理57
2.3.6文件系统59
2.4小结59
参考文献60
第3章软件安全分析基础工具/61
3.1静态分析工具61
3.1.1IDA Pro61
3.1.2Udis8665
3.1.3Capstone67
3.1.4PEiD69
3.1.5010Editor70
3.2动态分析工具75
3.2.1Process Monitor75
3.2.2Wireshark78
3.2.3OllyDbg80
3.2.4WinDbg82
3.2.5Pin88
3.3虚拟化辅助分析平台89
3.3.1VMWare Workstation89
3.3.2VirtualBox93
3.3.3QEMU94
3.3.4Xen97
3.4小结97
参考文献98
第4章程序切片/99
4.1概述99
4.2程序切片初探100
4.2.1切片相关基础知识101
4.2.2切片的基本原理109
4.3静态程序切片111
4.3.1基于数据流方程的切片方法111
4.3.2基于图可达性算法的切片方法115
4.4动态程序切片116
4.4.1基于程序依赖图的动态切片方法117
4.4.2基于动态依赖图的动态切片方法120
4.5小结124
参考文献125
第5章符号执行/126
5.1符号执行基本模型126
5.1.1基本思想126
5.1.2程序语言定义127
5.1.3符号执行中的程序语义127
5.1.4符号执行树129
5.1.5约束求解130
5.1.6符号执行实例133
5.2动态符号执行技术136
5.2.1基本思想136
5.2.2动态符号执行实例137
5.2.3动态符号执行工具SAGE142
5.2.4动态符号执行技术中的关键问题150
5.3并行符号执行技术160
5.3.1基本思想160
5.3.2并行系统SCORE161
5.3.3并行系统Cloud9164
5.3.4并行系统SAGEN169
5.4选择符号执行技术174
5.4.1基本思想174
5.4.2选择符号执行实例175
5.4.3关键问题及解决方案177
5.5符号执行应用实例179
5.5.1KLEE179
5.5.2应用实例180
参考文献181
第6章模糊测试/183
6.1概述183
6.2基本原理与组成184
6.2.1基本原理184
6.2.2系统组成186
6.2.3工作模式188
6.3基础方法与技术190
6.3.1数据生成方法190
6.3.2环境控制技术194
6.3.3状态监控技术198
6.4模糊测试优化方法200
6.4.1灰盒模糊测试200
6.4.2白盒模糊测试201
6.4.3基于反馈的模糊测试202
6.5分布式模糊测试203
6.5.1分布式控制结构204
6.5.2分布式模糊测试策略206
6.5.3动态适应机制207
6.6典型工具与案例207
6.6.1Peach208
6.6.2Sulley211
参考文献213
第7章污点传播分析/214
7.1概述214
7.1.1发展简史214
7.1.2应用领域215
7.2基本原理217
7.3主要方法218
7.3.1污点源识别219
7.3.2污点内存映射220
7.3.3污点动态跟踪222
7.3.4传播规则设计225
7.3.5污点误用检测228
7.4典型系统实现229
7.4.1TaintCheck系统229
7.4.2TEMU系统231
7.4.3AOTA系统233
7.5典型实例分析235
7.5.1分析环境搭建235
7.5.2污点传播过程236
7.5.3污点回溯分析237
7.6总结239
参考文献239
第8章恶意代码检测与分析/241
8.1恶意代码分析基础241
8.1.1恶意代码分类241
8.1.2恶意代码分析的目的243
8.1.3典型分析流程244
8.1.4软件漏洞利用及分析245
8.2静态分析247
8.2.1杀毒软件扫描247
8.2.2文件类型确定247
8.2.3文件哈希计算248
8.2.4字符串信息提取251
8.2.5文件元数据提取252
8.2.6混淆代码识别254
8.2.7代码反汇编257
8.3动态分析259
8.3.1动态分析环境构建259
8.3.2动态行为分析262
8.3.3动态调试分析268
8.3.4反虚拟化分析对抗272
8.3.5反自动化分析对抗276
8.4实际案例分析278
8.5小结288
参考文献289
第9章软件漏洞挖掘与分析/290
9.1软件漏洞基础知识290
9.1.1概述290
9.1.2软件漏洞典型类型292
9.1.3软件漏洞利用基础知识297
9.1.4软件漏洞防护机制基础知识300
9.2软件漏洞机理分析301
9.2.1软件漏洞脆弱点分析302
9.2.2软件漏洞路径分析305
9.2.3软件漏洞内存布局分析309
9.2.4软件漏洞分析实例310
9.3软件漏洞利用312
9.3.1漏洞攻击链构造312
9.3.2漏洞攻击路径触发314
9.3.3保护机制绕过316
9.4小结317
参考文献318
第10章网络协议逆向分析/319
10.1网络协议逆向概述319
10.2协议消息格式逆向320
10.2.1字段划分322
10.2.2字段间关系的识别331
10.2.3字段功能语义恢复336
10.3协议状态机恢复341
10.3.1协议消息类型识别341
10.3.2状态机推断和化简344
10.4小结350
参考文献351
第11章移动智能终端应用软件安全性分析/352
11.1Android系统安全框架介绍352
11.1.1权限机制352
11.1.2沙箱隔离355
11.2Android软件典型安全问题355
11.2.1隐私窃取355
11.2.2应用重打包356
11.2.3组件安全问题356
11.3静态分析361
11.3.1权限分析361
11.3.2组件分析362
11.3.3代码分析366
11.3.4重打包应用检测381
11.4动态分析388
11.4.1数据流分析389
11.4.2数据流分析典型工具390
11.4.3动态行为分析392
11.4.4动态行为分析典型工具394
11.5实际案例分析401
11.5.1应用软件实现安全性分析401
11.5.2恶意应用分析404
11.6小结412
参考文献413
第1章绪论/1
1.1引言1
1.2典型安全问题3
1.2.1恶意软件3
1.2.2软件漏洞9
1.2.3软件后门11
1.3软件安全性分析的目标12
1.4主要方法与技术13
1.4.1反汇编与反编译14
1.4.2程序调试15
1.4.3程序切片17
1.4.4污点传播分析18
1.4.5符号执行19
1.4.6模糊测试20
1.5主要分析应用21
1.5.1恶意软件分析21
1.5.2网络协议逆向分析21
1.5.3软件漏洞分析与利用22
1.6本书的组织结构23
1.6.1内容范围23
1.6.2本书的组织23
1.7其他说明24
参考文献24
第2章基础知识/25
2.1处理器硬件架构基础25
2.1.1CPU结构介绍25
2.1.2保护模式28
2.1.3特权级29
2.1.4中断处理与异常处理30
〖1〗软件安全分析与应用目录[3]〖3〗2.1.5调试支持32
2.1.6虚拟化支持34
2.2反汇编及对抗技术35
2.2.1汇编语言35
2.2.2反汇编39
2.2.3代码混淆40
2.2.4反调试42
2.3Windows操作系统基础44
2.3.1PE文件结构44
2.3.2进程管理51
2.3.3线程管理52
2.3.4内存管理54
2.3.5对象与句柄管理57
2.3.6文件系统59
2.4小结59
参考文献60
第3章软件安全分析基础工具/61
3.1静态分析工具61
3.1.1IDA Pro61
3.1.2Udis8665
3.1.3Capstone67
3.1.4PEiD69
3.1.5010Editor70
3.2动态分析工具75
3.2.1Process Monitor75
3.2.2Wireshark78
3.2.3OllyDbg80
3.2.4WinDbg82
3.2.5Pin88
3.3虚拟化辅助分析平台89
3.3.1VMWare Workstation89
3.3.2VirtualBox93
3.3.3QEMU94
3.3.4Xen97
3.4小结97
参考文献98
第4章程序切片/99
4.1概述99
4.2程序切片初探100
4.2.1切片相关基础知识101
4.2.2切片的基本原理109
4.3静态程序切片111
4.3.1基于数据流方程的切片方法111
4.3.2基于图可达性算法的切片方法115
4.4动态程序切片116
4.4.1基于程序依赖图的动态切片方法117
4.4.2基于动态依赖图的动态切片方法120
4.5小结124
参考文献125
第5章符号执行/126
5.1符号执行基本模型126
5.1.1基本思想126
5.1.2程序语言定义127
5.1.3符号执行中的程序语义127
5.1.4符号执行树129
5.1.5约束求解130
5.1.6符号执行实例133
5.2动态符号执行技术136
5.2.1基本思想136
5.2.2动态符号执行实例137
5.2.3动态符号执行工具SAGE142
5.2.4动态符号执行技术中的关键问题150
5.3并行符号执行技术160
5.3.1基本思想160
5.3.2并行系统SCORE161
5.3.3并行系统Cloud9164
5.3.4并行系统SAGEN169
5.4选择符号执行技术174
5.4.1基本思想174
5.4.2选择符号执行实例175
5.4.3关键问题及解决方案177
5.5符号执行应用实例179
5.5.1KLEE179
5.5.2应用实例180
参考文献181
第6章模糊测试/183
6.1概述183
6.2基本原理与组成184
6.2.1基本原理184
6.2.2系统组成186
6.2.3工作模式188
6.3基础方法与技术190
6.3.1数据生成方法190
6.3.2环境控制技术194
6.3.3状态监控技术198
6.4模糊测试优化方法200
6.4.1灰盒模糊测试200
6.4.2白盒模糊测试201
6.4.3基于反馈的模糊测试202
6.5分布式模糊测试203
6.5.1分布式控制结构204
6.5.2分布式模糊测试策略206
6.5.3动态适应机制207
6.6典型工具与案例207
6.6.1Peach208
6.6.2Sulley211
参考文献213
第7章污点传播分析/214
7.1概述214
7.1.1发展简史214
7.1.2应用领域215
7.2基本原理217
7.3主要方法218
7.3.1污点源识别219
7.3.2污点内存映射220
7.3.3污点动态跟踪222
7.3.4传播规则设计225
7.3.5污点误用检测228
7.4典型系统实现229
7.4.1TaintCheck系统229
7.4.2TEMU系统231
7.4.3AOTA系统233
7.5典型实例分析235
7.5.1分析环境搭建235
7.5.2污点传播过程236
7.5.3污点回溯分析237
7.6总结239
参考文献239
第8章恶意代码检测与分析/241
8.1恶意代码分析基础241
8.1.1恶意代码分类241
8.1.2恶意代码分析的目的243
8.1.3典型分析流程244
8.1.4软件漏洞利用及分析245
8.2静态分析247
8.2.1杀毒软件扫描247
8.2.2文件类型确定247
8.2.3文件哈希计算248
8.2.4字符串信息提取251
8.2.5文件元数据提取252
8.2.6混淆代码识别254
8.2.7代码反汇编257
8.3动态分析259
8.3.1动态分析环境构建259
8.3.2动态行为分析262
8.3.3动态调试分析268
8.3.4反虚拟化分析对抗272
8.3.5反自动化分析对抗276
8.4实际案例分析278
8.5小结288
参考文献289
第9章软件漏洞挖掘与分析/290
9.1软件漏洞基础知识290
9.1.1概述290
9.1.2软件漏洞典型类型292
9.1.3软件漏洞利用基础知识297
9.1.4软件漏洞防护机制基础知识300
9.2软件漏洞机理分析301
9.2.1软件漏洞脆弱点分析302
9.2.2软件漏洞路径分析305
9.2.3软件漏洞内存布局分析309
9.2.4软件漏洞分析实例310
9.3软件漏洞利用312
9.3.1漏洞攻击链构造312
9.3.2漏洞攻击路径触发314
9.3.3保护机制绕过316
9.4小结317
参考文献318
第10章网络协议逆向分析/319
10.1网络协议逆向概述319
10.2协议消息格式逆向320
10.2.1字段划分322
10.2.2字段间关系的识别331
10.2.3字段功能语义恢复336
10.3协议状态机恢复341
10.3.1协议消息类型识别341
10.3.2状态机推断和化简344
10.4小结350
参考文献351
第11章移动智能终端应用软件安全性分析/352
11.1Android系统安全框架介绍352
11.1.1权限机制352
11.1.2沙箱隔离355
11.2Android软件典型安全问题355
11.2.1隐私窃取355
11.2.2应用重打包356
11.2.3组件安全问题356
11.3静态分析361
11.3.1权限分析361
11.3.2组件分析362
11.3.3代码分析366
11.3.4重打包应用检测381
11.4动态分析388
11.4.1数据流分析389
11.4.2数据流分析典型工具390
11.4.3动态行为分析392
11.4.4动态行为分析典型工具394
11.5实际案例分析401
11.5.1应用软件实现安全性分析401
11.5.2恶意应用分析404
11.6小结412
参考文献413
猜您喜欢