安卓应用安全编码实践全解析
1. 安卓应用安全现状
在早期的Cupcake和Donut时代,应用上传几乎没有什么审核机制。但如今,开发者上传应用时需要提供信用卡信息。从Gingerbread版本左右开始,Google Bouncer会自动检查APK中是否存在恶意软件或特洛伊木马,这使得应用安全性有了显著提升。不过,Jon Oberheide的论文指出他能够创建虚假开发者账户并绕过Google Bouncer的检查,这让我们对Google的注册流程有效性产生了担忧。
随着越来越多的用户升级到Ice Cream Sandwich和Jelly Bean系统,安卓应用的安全性也在不断提高。在撰写本文时,40%访问Google Play的安卓设备运行的是4.x版本。然而,尽管大多数安全漏洞正在逐渐成为过去式,但安卓系统在大众认知中仍然被认为不如iOS系统安全。
2. 安全编码的重要性
作为开发者,确保APK尽可能安全是改变这种看法的关键。APK应遵循最小权限原则,即只获取真正需要的权限,避免授予那些从未使用但可能导致安全漏洞的额外权限。
一旦APK发布到Google Play,手机可能会被root,APK也很容易被逆向工程,从而泄露用户名、密码等登录信息。因此,确保用户数据不以明文形式存储至关重要。同时,开发者还需要对所使用的第三方库进行审查,确保它们不会执行不应有的操作。
3. 行业标准安全列表
在制定自己的安全编码列表之前,我们先来看看一些行业标准的安全列表。
- PCI列表 :2012年9月,PCI安全标准委员会发布了移动支付安全指南1.0版本。该指