Android应用安全开发指南
1. 安卓应用安全现状
早期安卓系统(如Cupcake和Donut时代)的应用审核检查较少。如今,开发者上传应用需要提供信用卡信息,自Gingerbread版本起,Google Bouncer会自动检查APK是否存在恶意软件或特洛伊木马,安全性有了显著提升。不过,仍有研究指出Google的注册流程可能存在漏洞。随着更多用户升级到Ice Cream Sandwich和Jelly Bean系统,安卓系统的安全性在不断增强,写作时已有40%的安卓设备运行4.x版本系统。
然而,大众普遍认为安卓系统的安全性不如iOS系统。为改变这一印象,开发者需要确保APK尽可能安全。
2. 安全编码实践原则
APK应遵循最小权限原则,仅获取真正需要的权限,避免授予无用但可能带来安全漏洞的权限。对于消费者,有多种工具可检查权限;但对于开发者或管理者,相关工具则非常有限。
APK发布到Google Play后,手机可能被root,APK容易被逆向工程,获取用户名、密码等登录信息。因此,确保用户数据不以明文形式存储至关重要。同时,开发者还需了解所使用的第三方库,确保其不会做不该做的事,例如AdMob会请求获取位置信息用于收集营销数据。
3. 行业标准安全列表
3.1 PCI移动支付安全指南
- 数据存储安全 :确保移动设备内处理和存储的账户数据安全,避免敏感信息以明文形式存储在SQLite或SD卡文件中。若必须存储加密密钥,需保证其安全,即使手机被root也无法访问。
- 数据传输