` 一、看威武霸气的封面 作者:Joshua J. Drake (作者), ZachLanier (作者), CollinMulliner (作者), PauOliva Fora (作者), StephenA. Ridley (作者),GeorgWicherski (作者)
二、读读简介,看看适合你吗?
由世界顶尖级黑客打造,是目前最全面的一本Android系统安全手册。书中细致地介绍了Android系统中的漏洞挖掘、分析,并给出了大量利用工具,结合实例从白帽子角度分析了诸多系统问题,是一本难得的安全指南。本书的目标读者为软件安全技术人员,操作系统及应用开发人员。 三、看看目录,了解其主要内容 第1章 纵观Android生态圈1 1.1 了解Android的根源 1
1.1.1 公司历史 1
1.1.2 版本历史 2
1.1.3 审视Android设备家族 3
1.1.4 主体开源 5
1.2 了解Android的利益相关者 6
1.2.1 谷歌 7
1.2.2 硬件厂商 7
1.2.3 移动 通信运营商 9
1.2.4 开发者 9
1.2.5 用户 10
1.3 理解生态圈的复杂性 11
1.3.1 碎片化问题 12
1.3.2 兼容性 13
1.3.3 更新问题 13
1.3.4 安全性与开放性 15
1.3.5 公开披露 16
1.4 小结 17
第2章 Android的安全设计与架构 18
2.1 理解Android系统架构 18
2.2 理解安全边界和安全策略执行 19
2.2.1 Android沙箱 19
2.2.2 Android权限 22
2.3 深入理解各个层次 25
2.3.1 Android应用层 25
2.3.2 Android框架层 28
2.3.3 DalvikVM29
2.3.4 用户空间原生代码层 30
2.3.5 内核 36
2.4 复杂的安全性,复杂的漏洞利用 41
2.5 小结 42
第3章 root Android设备 43
3.1 理解分区布局 43
3.2 理解引导过程 45
3.3 引导加载程序的锁定与解锁 47
3.4 对未加锁引导加载程序的设备进行root 50
3.5 对锁定引导加载程序的设备进行root 52
3.5.1 在已启动系统中获取root
权限 52
3.5.2 NAND锁、临时性root与永久性root 53
3.5.3 对软root进行持久化 55
3.6 历史上的一些已知攻击 56
第4章 应用安全性评估 64
4.1 普遍性安全问题 64
4.1.1 应用权限问题 64
4.1.2 敏感数据的不安全传输 66
4.1.3 不安全的数据存储 67
4.1.4 通过日志的信息泄露 68
4.1.5 不安全的IPC端点 69
4.2 案例分析:移动安全应用 71
4.2.1 初步剖析 71
4.2.2 静态分析 72
4.2.3 动态分析 87
4.2.4 攻击 95
4.3 案例分析:SIP客户端 97
4.3.4 注入 102
4.4 小结104
第5章 理解Android的攻击面 105
5.1 攻击基础术语105
5.1.1 攻击向量106
5.1.2 攻击面106
5.2 对攻击面进行分类 107
5.2.1 攻击面属性108
5.2.2 分类决策108
5.3 远程攻击面108
5.3.1 网络概念109
5.3.2 网络协议栈112
5.3.3 暴露的网络服务 113
5.3.4 移动技术 114
5.3.5 客户端攻击面115
5.3.6 谷歌的基础设施 119
5.4 物理相邻123
5.4.1 无线通信123
5.4.2 其他技术127
5.5 本地攻击面128
5.5.1 探索文件系统128
5.5.2 找到其他的本地攻击面 129
5.6 物理攻击面133
5.6.1 拆解设备133
5.6.2 USB134
5.6.3 其他物理攻击面 137
5.7 第三方修改137
5.8 小结137
第6章 使用模糊测试来挖掘漏洞 139
6.1 模糊测试的背景 139
6.1.1 选定目标140
6.1.2 构造畸形输入140
6.1.3 处理输入141
6.1.4 监控结果142
6.2 Android上的模糊测试 142
6.3 对BroadcastReceiver进行模糊测试 143
6.3.1 选定目标143
6.3.2 生成输入144
6.3.3 传递输入145
6.3.4 监控测试145
6.4 对Android上的Chrome进行模糊测试 147
6.4.1 选择一种技术作为目标 148
6.4.2 生成输入149
6.4.3 处理输入 151
6.4.4 监控测试152
6.5 对USB攻击面进行模糊测试 155
6.5.1 对USB进行模糊测试的挑战 155
6.5.2 选定目标模式155
6.5.3 生成输入156
6.5.4 处理输入158
6.5.5 监控测试158
6.6 小结159
第7章 调试与分析安全漏洞 161
7.1 获取所有信息161
7.2 选择一套工具链 162
7.3 调试崩溃Dump163
7.3.1 系统日志163
7.3.2 Tombstone164
7.4 远程调试165
7.5 调试Dalvik代码 166
7.5.1 调试示例应用167
7.5.2 显示框架层源代码 168
7.5.3 调试现有代码170
7.6 调试原生代码173
7.6.1 使用NDK进行调试 174
7.6.2 使用Eclipse进行调试 177
7.6.3 使用AOSP进行调试 179
7.6.4 提升自动化程度 183
7.6.5 使用符号进行调试 184
7.6.6 调试非AOSP设备 189
7.7 调试混合代码190
7.8 其他调试技术191
7.8.1 调试语句191
7.8.2 在设备上进行调试 191
7.8.3 动态二进制注入 192
7.9 漏洞分析193
7.9.1 明确问题根源193
7.9.2 判断漏洞可利用性 205
7.10 小结205
第8章 用户态软件的漏洞利用 206
8.1 内存破坏漏洞基础 206
8.1.1 栈缓冲区溢出206
8.1.2 堆的漏洞利用209
8.2 公开的漏洞利用 215
8.3.1 理解漏洞 222
8.3.2 控制堆 224
8.4 小结 227
第9章 ROP漏洞利用技术 228
9.1 历史和动机 228
9.2 ARM架构下的ROP基础 230
9.2.1 ARM子函数调用 231
9.2.2 将gadget组成ROP链 232
9.2.3 识别潜在的gadget 234
9.3 案例分析:Android 4.0.1链接器 235
9.3.1 迁移栈指针 236
9.3.2 在新映射内存中执行任意代码 237
9.4 小结 240
第10章 攻击内核 242
10.1 Android的Linux内核 242
10.2 内核提取 242
10.2.1 从出厂固件中提取内核 243
10.2.2 从设备中提取内核 245
10.2.3 从启动镜像中提取内核 246
10.2.4 解压内核 247
10.3 运行自定义内核代码 247
10.3.1 获取源代码 247
10.3.2 搭建编译环境 250
10.3.3 配置内核 251
10.3.4 使用自定义内核模块 252
10.3.5 编译自定义内核 254
10.3.6 制作引导镜像 257
10.3.7 引导自定义内核 258
10.4 调试内核 262
10.4.1 获取内核崩溃报告 263
10.4.2 理解Oops信息 264
10.4.3 使用KGDB进行Live调试 267
10.5 内核漏洞利用 271
10.5.1 典型Android内核 271
10.5.2 获取地址 273
10.5.3 案例分析 274
10.6 小结 283
第11章 攻击RIL无线接口层 284
11.1 RIL简介 284
11.1.1 RIL架构 285
11.1.2 智能 手机架构 285
11.1.3 Android电话栈 286
11.1.4 对电话栈的定制 287
11.1.5 RIL守护程序 287
11.1.6 用于vendor-ril的API289
11.2 短信服务 290
11.2.1 SMS消息的收发[1] 五、喜欢吗?还在等什么?抓紧下载奥! 360网盘:http://yunpan.cn/cHxbTZUdNhfGF 访问密码 5685
`
|