《Android应用程式安全》是一本系统讲解Android 套用开发安全的书籍。它首先介绍了Android 系统的架构 和安全机制,然后详细说明了Android 套用中存在的安全风险,并提出如何实现相应的安全控制以保护用户的私密信息。同时,本书还深入讲解了数据加密、认证技术以及企业级安全等概念。通过本书的介绍,希望读者能够了解如何鉴别哪些是敏感数据、如何使用Android API 保证数据的机密性和完整性、如何构建企业级安全的套用以及如何实现客户/服务端套用之间数据管理与传输的安全性等。 本书适用于Android 套用开发人员、设计人员、测试人员、架构师、项目经理、安全咨 询顾问等,是一本实用的讲解Android 套用安全的教材和使用手册。
基本介绍
- 书名:Android应用程式安全
- 作者:古纳塞克若
- 译者:王文君
- 定价:50.2元
- 出版时间:2013年10月出版
- 开本:16开
内容简介
本书是一本系统讲解Android套用开发安全的书籍。它首先介绍了Android系统的架构和安全机制,然后详细说明了Android套用中存在的安全风险,并提出如何实现相应的安全控制以保护用户的私密信息。同时,本书还深入讲解了数据加密、认证技术以及企业级安全等概念。通过本书的介绍,希望读者能够了解如何鉴别哪些是敏感数据、以及如何使用Android API保证数据的机密性和完整性、如何构建企业级安全的套用以及如何实现客户/服务端套用之间数据管理与传输的安全性等。
本书适用于Android套用开发人员、设计人员、测试人员、架构师、项目经理、安全谘询顾问等,是一本实用的讲解Android套用安全的教材和使用手册。
目录
第1章 Android架构
1.1Android架构的组件 3
1.1.1 核心 4
1.1.2 类库 5
1.1.3Dalvik虚拟机 5
1.1.4 应用程式框架 6
1.1.5 应用程式 8
1.2 这本书是关于什幺的 9
1.3 安全 9
1.3.1 保护用户 10
1.3.2 安全风险 10
1.4Android安全架构 12
1.4.1 特权分离 12
1.4.2 许可权 13
1.4.3 应用程式代码签名 14
1.5 总结 14
第2章 信息:套用的基础
16
2.1 保护你的套用免受攻击 17
2.1.1 间接攻击 17
2.1.2 直接攻击 19
2.2 项目1:“Proxim”和数据存储 19
2.3 信息分类 27
2.3.1 什幺是个人信息 29
2.3.2 什幺是敏感信息 29
2.4 代码分析 29
2.4.1 实施加密 30
2.4.2 加密结果 32
2.5 重构项目1 33
2.6 练习 35
2.7 总结 36
第3章 Android安全架构
37
3.1 重温系统架构 38
3.2 理解许可权架构 40
3.2.1Content Provider 41
3.2.2Intent 46
3.3 许可权检查 47
3.3.1 使用自定义许可权 48
3.3.2 保护级别 49
3.3.3 自定义许可权的示例代码 50
3.4 总结 53
第4章 动手实践(第一部分)
55
4.1Proxim套用 56
4.2 总结 64
第5章 数据存储和密码学 65
5.1 公钥基础设施(PKI) 67
5.2 密码学中用到的术语 70
5.3 手机套用中的密码学 71
5.3.1 对称加密算法 72
5.3.2 密钥生成 73
5.3.3 数据填充 74
5.3.4 分组密码的几种模式 75
5.4Android系统中的数据存储 80
5.4.1 用户数据共享 81
5.4.2 内部存储 84
5.4.3SQLite资料库 87
5.5 加密的数据存储 93
5.6 总结 101
第6章 对话Web套用 103
6.1 搭建环境 105
6.2HTML、Web套用和Web服务 113
6.2.1 Web套用的组成 115
6.2.2Web套用用到的技术 117
6.3 OWASP与Web攻击 124
6.4 认证技术 126
6.4.1 自签名证书 131
6.4.2 中间人攻击 132
6.4.3OAuth 134
6.4.4 加密的挑战/应答 143
6.5 总结 143
第7章 企业级套用开发安全 144
7.1 安全的连线 145
7.2 企业应用程式 147
7.3 手机中间件 147
7.3.1 资料库访问 149
7.3.2 数据表示 155
7.4 总结 162
第8章 动手实践(第二部分)
163
8.1 OAuth 164
8.1.1 获得令牌 165
8.1.2 处理授权 166
8.2 挑战与应答 178
8.3 总结 193
第9章 发布和出售你的套用
194
9.1 开发人员注册 195
9.2 你的套用处在暴露中 197
9.2.1 可供下载的资源 198
9.2.2 逆向工程 202
9.3 应该进行许可验证吗 208
9.4 Android许可验证库 208
9.4.1 下载Google API Add-On 215
9.4.2 複製LVL档案至单独目录217
9.4.3 导入LVL源档案作为一个Library项目 217
9.4.4 在套用中构建和引入LVL 222
9.5 许可策略 229
9.6 有效利用LVL231
9.7 模糊处理 233
9.8 总结 236
第10章 恶意软体和间谍软体
238
10.1 恶意软体的四个阶段240
10.1.1 感染 240
10.1.2 破坏 240
10.1.3 传播 241
10.1.4 泄露 241
10.2 案例学习1:政府批准的恶意软体 241
10.2.1 感染 242
10.2.2 破坏 243
10.2.3 传播 243
10.2.4 泄露 243
10.2.5 检测 244
10.3 案例学习2: 零售恶意软体——FlexiSPY 246
10.4 反取证248
10.5 总结 250
附录AAndroid许可权常量 252
附录B 如何使用Apache Wink创建RESTful Web Services 262
作者简介
Sheran Gunasekera是一名拥有13年信息安全经验的安全研究人员和软体开发者。他是ZenConsult Pte.公司的研发主管,负责个人计算机和移动设备平台的安全研究。Sheran一直积极致力于BlackBerry和移动Java的研究,并且是揭露首个企业认可的恶意套用内部工作原理的白皮书的作者,这些恶意软体被部署在阿联电信运营商签约用户的移动设备上。他曾在中东、欧洲和亚太地区的安全会议上发表演讲,提供有关针对移动设备的恶意软体分析,以及针对Web和移动设备的安全软体开发的培训。他还在其有关安全的部落格上撰写并发表文章
关于技术审阅者
Michael Thomas拥有超过20年的软体开发的经验,其间做过独立开发者、团队负责人、项目经理和工程副总裁。Michael拥有超过10年的移动设备相关的工作经验。他的工作重点是在医疗领域中通过使用移动设备加速患者和医疗服务提供者之间的信息传输。
译者介绍
王文君
王文君现就职于惠普软体上海研发中心,担任多个产品的安全架构师和安全讲师。现为OWASP上海区负责人之一,作为演讲嘉宾参加过2011年OWASP亚洲峰会以及2012年OWASP中国峰会,并且是CWASP认证专家组成员,同时也是2013年出版的《Web套用安全威胁与防治——基于OWASP Top 10与ESAPI》作者之一,拥有CISSP、 PMP、 ITIL等认证。王文君于2002年毕业于上海交通大学,拥有电气工程硕士学位和电气工程/涉外会计双学士学位。
董欢欢
董欢欢毕业于上海复旦大学,拥有计算机信息技术管理学士学位。现就职于惠普软体上海研发中心,担任研发工程师。拥有7年的软体研发经验,在移动开发和设计方面有着丰富的经验。2009年至今,从事Android应用程式设计和开发,对Android有较深刻的理解,开发有AltiGenMaxMobile Communicator、SkyDriveAssistant等Android套用。
前言
译者序
不可否认,手机套用无论是在个人领域还是企业套用领域都变得举足轻重,而其中,Android的份额最大。但是Android套用一直以来都有一个为用户所诟病的问题,就是其安全性,因而构建一款成功的Android套用,安全的重要性不言而喻。所以作为一名开发人员,需要了解Android的安全风险有哪些,如何构建安全控制以规避这些安全隐患,而本书写作的主要目的正是为了说明这些问题。
本书有几大特点。首先,这是一本完全基于Android系统讲述套用安全性的书籍。有关移动套用安全的书籍很多,但是具体讨论Android系统安全性的却很少。其次,本书内容不仅具备理论性,还提出了具体的设计指导,全书以实际的代码介绍来讲解抽象的理论知识,相信对于读者而言,会具有很强的可操作性。
回想过去的几个月,几乎所有的空余时间都在做此书的翻译工作,我们对书中的内容做了严格的考证,并实际运行了书中的实例。比如在作者写作本书时候的Google Play,已纳入了GoogleNow;而Google App Engine相比作者写作之时,地址和界面都已发生了变化,等等,所有的这一切我们都添加了译者注。为了使读者更容易理解和上手,对于第7章“企业级套用开发安全”,我们就补充了原书中没有提及的伺服器端原始码,帮助读者直接参考。