| 作者 |
| 何能强 阚志刚 马宏谋 |
| 丛书名 |
| 图灵原创 |
| 出版社 |
| 人民邮电出版社 |
| ISBN |
| 9787115535313 |
| 简要 |
| 简介 |
| 内容简介书籍计算机书籍 《Android应用安全测试与防护》全面介绍了 Android 应用安全测试与防护技术,主要内容包括安全基础、测试工具、安全测试和安全防护四个部分。*部分简要介绍了 Android 应用的安全基础,包括 Android 应用的生成和运行过程、Android 系统的安全模型;第二部分详细介绍了静态分析、动态分析、抓包分析、挂钩框架等常用的安全测试基本工具;第三部分重点介绍了 Android 应用安全测试内容,包括 Android 应用涉及的信息资产和安全测试框架,分别从程序代码、服务交互、本地数据、网络传输和鉴权认证 5 个方面介绍 App 的安全要求和测试方法;第四部分全面介绍了 Android 应用的安全防护技术,重点阐述静态防护和动态防护等应用安全加固涉及的多种技术原理。 本书侧重从实际应用的角度来讲解如何运用安全技术开展应用安全测试与防护工作,适合有一定 Android 开发经验或安全基础的开发者、安全测试工程师、对 Android 应用安全测试感兴趣的业务人员、在校大学生等参考和阅读。 |
| 目录 |
| 第 1 章 Android App 的安全基础 1 1.1 Android App 的生成 1 1.2 Android App 的运行 4 1.3 Android 系统的安全模型 7 1.3.1 Android 用户管理 7 1.3.2 Android 系统沙箱 9 1.4 小结 10 第 2 章 安全测试工具 12 2.1 静态分析工具 13 2.1.1 Apktool 13 2.1.2 baksmali 15 2.1.3 smali 15 2.1.4 dex2jar JD-GUI 15 2.1.5 JEB 17 2.2 动态分析工具 19 2.2.1 DDMS 19 2.2.2 gdb 22 2.2.3 IDA Pro 25 2.2.4 Drozer 28 2.3 抓包分析工具 30 2.3.1 组网环境 30 2.3.2 Fiddler 33 2.3.3 Wireshark 38 2.4 挂钩框架 39 2.4.1 Xposed 框架 40 2.4.2 Frida 43 2.4.3 inject 46 2.5 小结 47 第3 章 安全测试基础 48 3.1 信息资产 49 3.2 安全测试框架 51 3.3 小结 54 第4 章 程序代码安全测试 55 4.1 安全测试要求 56 4.1.1 运行环境 56 4.1.2 防反编译 58 4.1.3 防篡改 60 4.1.4 防调试 61 4.1.5 防注入 63 4.2 安全测试方法 64 4.2.1 运行环境 64 4.2.2 防反编译 68 4.2.3 防篡改 72 4.2.4 防调试 74 4.2.5 防注入 84 4.3 小结 84 第5 章 服务交互安全测试 85 5.1 安全测试要求 85 5.1.1 进程间交互 85 5.1.2 屏幕交互 86 5.1.3 WebView 交互 87 5.1.4 接口端口交互 88 5.2 安全测试方法 90 5.2.1 进程间交互 90 5.2.2 屏幕交互 91 5.2.3 WebView 交互 96 5.2.4 接口端口交互 100 5.3 小结 103 第6 章 本地数据安全测试 104 6.1 安全测试要求 106 6.1.1 数据创建 106 6.1.2 数据存储 107 6.1.3 数据处理 108 6.1.4 数据共享 109 6.1.5 数据备份 109 6.1.6 数据销毁 110 6.2 安全测试方法 110 6.2.1 数据创建 110 6.2.2 数据存储 119 6.2.3 数据处理 124 6.2.4 数据共享 126 6.2.5 数据备份 128 6.2.6 数据销毁 129 6.3 小结 131 第7 章 网络传输安全测试 132 7.1 安全测试要求 133 7.1.1 安全传输层 134 7.1.2 数据加密 136 7.1.3 中间人攻击 137 7.2 安全测试方法 138 7.2.1 安全传输层 138 7.2.2 数据加密 140 7.2.3 中间人攻击 142 7.3 小结 146 第8 章 鉴权认证安全测试 147 8.1 安全测试要求 150 8.1.1 注册过程 151 8.1.2 登录过程 152 8.1.3 会话过程 153 8.1.4 登出过程 157 8.1.5 注销过程 158 8.2 安全测试方法 158 8.2.1 注册过程 159 8.2.2 登录过程 163 8.2.3 会话过程 171 8.2.4 登出过程 173 8.2.5 注销过程 174 8.3 小结 175 第9 章 安全防护基础 176 9.1 App 加固技术简介 179 9.2 第 一代加固技术 181 9.3 第二代加固技术 183 9.4 第三代加固技术 184 9.5 第四代加固技术 185 9.6 小结 186 第 10 章 静态防护技术 188 10.1 源代码保护 188 10.1.1 控制流平坦化 189 10.1.2 不透明谓词 192 10.1.3 字符串加密 193 10.2 dex 文件加固 194 10.2.1 dex 文件整体加壳 195 10.2.2 程序方法抽取加固 197 10.2.3 VMP 加固 198 10.2.4 字符串加密 201 10.3 资源文件加固 204 10.4 so 文件加固 205 10.5 小结 209 第 11 章 动态防护技术 210 11.1 防调试 210 11.2 防日志输出 212 11.3 安全软键盘 214 11.4 防界面劫持 215 11.5 防篡改 216 11.6 防截屏/录屏 218 11.7 模拟器检测 218 11.8 应用多开检测 219 11.9 ROOT 环境检测 221 11.10 挂钩框架检测 222 11.11 小结 223 第 12 章 应用脱壳基础与实践 224 12.1 脱壳基础 225 12.1.1 加壳的基本思路 225 12.1.2 dex 文件格式解析 226 12.1.3 dex 文件加载原理 230 12.1.4 so 文件加载过程 253 12.1.5 脱壳思路 260 12.2 脱壳实践 261 12.2.1 环境搭建 261 12.2.2 编写脱壳代码 264 12.2.3 脱壳 266 12.3 结束语 268 附录A 安全测试项索引 269 附录B Dalvik 所有的操作码 275 附录C 安全测试工具参考 280 |