一、目录简介
前言
第一部分 准备篇
第1章 Android基础
1.1 Android系统架构/2
1.1.1 Linux内核层/3
1.1.2 硬件抽象层/4
1.1.3 系统运行库层/5
1.1.4 应用程序框架层/7
1.1.5 应用层/7
1.2 应用程序组件/8
1.3 Android系统启动/10
1.3.1 Linux系统启动/10
1.3.2 Android应用系统启动/15
1.4 Android系统升级/17
1.4.1 Android数据线升级/17
1.4.2 AndroidSD卡升级/17
1.4.3 Android在线升级/18
1.5 本章小结/18
第2章 Android安全模型
2.1 Linux安全模型/20
2.1.1 用户与权限/21
2.1.2 进程与内存空间/24
2.2 Android安全机制/26
2.2.1 进程沙箱/26
2.2.2 应用权限/28
2.2.3 进程通信/29
2.2.4 内存管理/32
2.2.5 Android系统分区及加载/35
2.2.6 应用程序签名/36
2.3 Android开发工具提供的安全性机制/37
2.4 本章小结/38
第二部分 原理篇
第3章 Android安全机制源代码分析/40
3.1 文件系统权限的代码实现/41
3.2 进程通信机制的代码实现/44
3.2.1 匿名共享内存/44
3.2.2 Binder机制/50
3.3 Android应用程序安全机制/56
3.3.1 Android应用程序权限机制的源代码分析/56
3.3.2 应用程序签名机制实现的源代码分析/62
3.4 本章小结/65
第4章 Android安全性分析
4.1 Android系统安全分析/66
4.1.1 Linux内核/66
4.1.2 系统库/67
4.1.3 Dalvik虚拟机/67
4.2 Android应用安全分析/68
4.2.1 应用程序权限/68
4.2.2 应用程序安装/69
4.2.3 网络浏览器/70
4.2.4 数据库与SQL注入/70
4.2.5 软件更新/71
4.3 硬件安全分析/72
4.4 恶意软件/72
4.4.1 Linux恶意软件/73
4.4.2 Android恶意软件/74
4.5 安全风险与漏洞/75
4.5.1 已知安全风险/75
4.5.2 潜在安全漏洞/76
4.6 本章小结/76
第5章 Android实用安全分析工具
5.1 实用分析方法/78
5.1.1 Linux系统信息分析/79
5.1.2 Android应用信息分析/86
5.2 实用分析工具/92
5.2.1 Android系统调试工具/92
5.2.2 dumpsys工具/103
5.2.3 应用程序分析工具/104
5.3 专业分析工具与技术/107
5.3.1 常用逻辑分析工具与技术/107
5.3.2 常用物理分析工具与技术/108
5.4 本章小结/110
第三部分 实践篇
第6章 SEAndroid—增强Android安全性
6.1 内核安全风险与增强策略/114
6.2 SEAndroid概述/114
6.3 SEAndroid编译与安装/115
6.3.1 源代码获取/115
6.3.2 源代码结构/116
6.3.3 源代码编译和安装/118
6.4 SEAndroid安全策略概述/124
6.4.1 seapp_contexts文件/125
6.4.2 property_contexts文件/125
6.4.3 mac_permissions.xml文件/126
6.5 SEAndroid兼容性测试工具/127
6.6 SEAndroid的权限限制策略/127
6.6.1 强制限制的权限模型/128
6.6.2 安装时MAC/128
6.6.3 权限取消/128
6.6.4 权限标签传播/129
6.6.5 SEAndroid的其他类与权限策略/129
6.7 本章小结/129
第7章 Android加密文件系统
7.1 加密文件系统概述/130
7.2 加密算法介绍/131
7.2.1 AES加密算法/131
7.2.2 加密模式/131
7.3 加密文件系统源代码分析/133
7.3.1 Linux内核的dm—crypt/134
7.3.2 Android的vold/138
7.3.3 工作流程分析/145
7.4 加密文件系统配置/148
7.4.1 块设备选取与配置/148
7.4.2 init.rc配置/149
7.5 本章小结/150
第8章 Android应用安全实用解决方案
8.1 安全风险控制策略/151
8.2 应用权限控制/154
8.2.1 权限控制策略/154
8.2.2 权限定义和运用/156
8.3 应用程序签名/159
8.3.1 数字签名基础知识/160
8.3.2 数字签名算法/160
8.3.3 数字签名使用方式/163
8.3.4 应用程序签名的实现/164
8.4 静态代码分析/166
8.5 防火墙/168
8.6 数据存储加密/170
8.7 应用程序组件开发的安全要点/172
8.7.1 私有组件与公有组件/172
8.7.2 Activity安全/173
8.7.3 Service安全/174
8.7.4 ContentProvider安全/175
8.7.5 BroadcastReceiver安全/180
8.7.6 Intent安全/182
8.7.7 Binder安全/184
8.8 本章小结/185
第9章 Android的无线通信安全
9.1 无线移动通信的安全威胁与防范/186
9.1.1 语音通信的空口加密与明文传输/187
9.1.2 短信与彩信的存储转发机制/188
9.1.3 传统的搭线窃听与合法监控/189
9.1.4 端到端的通信安全机制/189
9.2 Android的无线移动电话系统/190
9.2.1 无线移动电话系统的结构/190
9.2.2 无线移动电话系统的RIL层实现/190
9.2.3 无线移动电话系统的应用层框架/193
9.3 加密短信和彩信收发/196
9.3.1 普通短信与彩信的收发流程/196
9.3.2 短信与彩信的数字加密处理/208
9.3.3 加密短信与彩信的传输处理/210
9.3.4 加密短信与彩信的存储与调阅/210
9.4 加密实时语音通信/214
9.4.1 AT命令与电话建立流程/214
9.4.2 Android音频系统的电话部分/216
9.4.3 电话状态下音频通道的设置/217
9.4.4 电话音频加密处理/218
9.5 本章小结/222