第1章 移动风险 1
1.1 移动生态系统 1
1.1.1 规模 1
1.1.2 已知的不安全 2
1.2 移动风险模型 3
1.2.1 物理风险 7
1.2.2 服务风险 8
1.2.3 应用程序风险 9
1.3 我们的议题 14
1.4 小结 15
第2章 移动网络 17
2.1 基础移动网络功能 18
2.1.1 互操作性 18
2.1.2 语音呼叫 21
2.1.3 控制信道 21
2.1.4 语音信箱 24
2.1.5 短信服务 24
2.2 攻击与对策 26
2.3 IP的美好新世界 36
2.4 小结 38
第3章 iOS系统 39
3.1 了解iPhone 40
3.2 iOS到底有多安全 41
3.3 越狱:发泄愤怒 43
3.4 入侵别人的iPhone:再次释放心中的怒火 50
3.5 小结 63
第4章 Android系统 65
4.1 安全模型 67
4.2 应用程序组件 68
4.3 数据存储 68
4.4 近场通信(NFC) 69
4.5 Android的发展 69
4.5.1 Android模拟器 70
4.5.2 Android调试桥(ADB) 71
4.6 获得系统权限(rooting) 71
4.7 反编译和反汇编 73
4.8 截取网络流 76
4.8.1 添加受信任的CA证书 76
4.8.2 配置一个代理服务器 78
4.9 基于Intent的攻击 82
4.10 基于近场通信的攻击 84
4.11 信息泄露 87
4.11.1 通过内部文件的泄露 87
4.11.2 通过外部存储的泄露 88
4.11.3 通过日志的信息泄露 89
4.11.4 不安全的组件造成的信息泄露 91
4.11.5 通常的防止信息泄露的策略 94
4.12 小结 94
第5章 移动恶意软件 96
5.1 Android平台恶意软件 97
5.2 iOS蠕虫 112
5.3 Android与iOS中的恶意软件对比 116
5.4 小结 117
第6章 移动服务和移动网络 118
6.1 通用Web服务安全指南 119
6.2 针对基于XML的Web服务的攻击 120
6.3 通用认证和授权框架 124
6.3.1 OAuth 2 125
6.3.2 SAML 130
6.4 移动Web浏览器和WebView安全 135
6.4.1 利用自定义URI配置 135
6.4.2 利用JavaScript Bridges 140
6.5 小结 150
第7章 移动设备管理 151
7.1 MDM框架 151
7.2 设备调配 152
7.3 绕过MDM 156
7.4 反编译与应用程序调试 163
7.5 越狱检测 166
7.6 远程擦除和锁定 168
7.7 小结 168
第8章 移动开发安全 169
8.1 移动应用威胁建模 169
8.1.1 威胁 171
8.1.2 资产 173
8.1.3 结束和利用威胁模型 174
8.2 安全的移动开发指南 174
8.2.1 准备 175
8.2.2 移动应用安全指南 177
8.2.3 测试及确定 186
8.2.4 进一步阅读 186
8.3 小结 186
第9章 移动支付 188
9.1 发展现状 188
9.2 非接触式智能卡支付 190
9.2.1 安全元件 190
9.2.2 安全元件API 193
9.2.3 移动应用 193
9.3 Google钱包 194
9.4 Square 201
9.5 小结 204
附录A 客户安全检查表 205
附录B 移动应用渗透测试工具包 208