热门排行
简介
构建安全的Android APP向读者展示了如何防御黑客对Android应用的攻击技术,书中讲述了他在数以百计的应用程序中亲自验证的安全技术示例,详细演示了黑客对应用程序攻击的过程,并给出了更安全的解决方案,这包括身份验证、网络、数据库、服务器攻击、数据库、硬件等。同时也给出了每一个技术实现的程序,真实地展示了应用中存在的安全问题,并给出具体的解决方案。通过本书可以学到: 确保应用安全的核心做法; 保护代码、算法和商业秘密不被逆向工程;使用SSL安全地传输信息防止中间人攻击;在SQLite数据库中安全地存储数据;防止攻击Web服务器和服务;确保APK安全地运行在不同的设备和Android版本上。
目录
第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发布的在移动应用开发中非技术性安全问题的
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 SQLCiphe