第1章 Android安全问题 1
1.1 为什么要探讨Android 1
1.1.1 反编译APK文件 4
1.1.2 ART 6
1.2 Android安全性指南 7
1.2.1 PCI移动支付受理安全指南 7
1.2.2 Google Security 8
1.2.3 HIPAA Secure 10
1.2.4 OWASP移动风险Top 10 13
1.2.5 Forrester Research发布的在移动应用开发中非技术性安全问题的
Top 10 15
1.3 提升设备的安全 16
1.4 小结 17
第2章 保护你的代码 19
2.1 分析class.dex文件 19
2.2 混淆的最佳实践 23
2.2.1 未混淆过的代码 25
2.2.2 ProGuard 27
2.2.3 DexGuard 32
2.2.4 晦涩带来的安全性 38
2.2.5 测试 39
2.3 Smali 40
2.3.1 Helloworld 40
2.3.2 移除应用商店检查 45
2.4 在NDK中隐藏业务规则 51
2.5 小结 51
第3章 安全验证 53
3.1 安全登录 53
3.2 用户验证以及账户校验的最佳实践 56
3.2.1 第一步 57
3.2.2 第二步 59
3.2.3 第三步 61
3.2.4 第四步 65
3.3 使用LVL给应用授权 68
3.4 OAuth 82
3.4.1 使用Facebook的OAuth 83
3.4.2 网页和移动端Session管理 87
3.4.3 易受攻击 89
3.5 用户行为 90
3.6 小结 91
第4章 网络通信 93
4.1 HTTP(S)连接 94
4.2 对称性密钥 99
4.3 非对称性密钥 102
4.4 无效的SSL 107
4.4.1 中间人攻击示例 108
4.4.2 Root你的手机 110
4.4.3 Charles Proxy测试 111
4.5 小结 115
第5章 Android数据库 117
5.1 Android数据库安全问题 117
5.2 SQLite 118
5.2.1 使用adb备份数据库 119
5.2.2 阻止备份 122
5.3 SQLCipher 124
5.4 隐藏密钥 127
5.4.1 每一次都请求数据库的密钥 128
5.4.2 在Shared Preferences中隐藏密钥 129
5.4.3 在代码中隐藏密钥 131
5.4.4 在NDK中隐藏密钥 132
5.4.5 使用Web Service保护密钥 135
5.5 SQL注入 136
5.6 小结 137
第6章 Web服务器攻击剖析 139
6.1 Web Service 140
6.1.1 OWASP Web Service笔记 141
6.1.2 重放攻击 143
6.2 跨平台应用 144
6.3 WebView攻击剖析 149
6.3.1 SQL注入 151
6.3.2 XSS跨站脚本 153
6.4 云端攻击剖析 154
6.4.1 OWASP Web Top 10风险 154
6.4.2 OWASP Cloud Top 10风险 156
6.4.3 HIPAA Web服务器规范 159
6.5 小结 159
第7章 第三方库整合 161
7.1 转移风险 162
7.2 权限 163
7.3 安装第三方应用 164
7.3.1 安装Crittercism 164
7.3.2 安装Crashlytics 167
7.4 信任第三方库但需验证 170
7.4.1 反编译SDK进行检查 171
7.4.2 使用中间人攻击进行检查 173
7.5 小结 175
第8章 设备安全 177
8.1 擦除设备数据 178
8.2 设备碎片化问题 178
8.2.1 adb备份 179
8.2.2 日志 179
8.3 设备加密 183
8.4 SEAndroid 184
8.5 FIPS 140-2 185
8.6 移动设备管理 187
8.7 小结 188
第9章 展望未来 189
9.1 更复杂的攻击手段 189
9.2 物联网 197
9.2.1 Android可穿戴设备 197
9.2.2 Ford Sync AppID 197
9.3 按规范审视代码 198
9.4 工具 199
9.5 OWASP移动风险Top 10 202
9.6 Lint 202
9.7 小结 203
^ 收 起