Android 4.2.2 中对安全性的改进

  • Anand Narayanaswamy
  • 方盛

2013 年 3 月 1 日

话题:安全Android语言 & 开发

Android 4.2 Jelly Bean 最近发布了更新,通过加入附加特性来增强应用程序的安全性。它其中的一个特性可以让用户在安装程序之前对应用程序进行验证,从而防止将有害的应用程序安装到移动设备上。并且它可以在发现应用程序损坏的情况下终止安装过程。

当你设备里的应用程序试图向一个会产生额外费用的收费服务短号码发送短信时,Android 系统会发出提示,由你来选择是否允许该应用程序发送短信或者终止发送过程。

最新的版本允许用户自定义配置 VPN,从而使设备只有在 VPN 创建以后才可以访问网络。此外,SSL 核心库的实现也提供了对证书绑定的支持,权限也被以分组的形式进行组织管理。它还针对用户选择的权限提供了详细的信息。

在 Android 4.2.2 中,目标 API 级别为 17的应用程序会将每个 ContentProvider 的 export 属性默认设置为 false,从而可以最终减小应用程序的默认攻击面。此次的更新还可以减小针对 root 权限升级来带来的潜在攻击面,因为 installd 守护进程不会再以 root 用户的方式运行。

此外,初始化脚本还会遵守 O_NOFOLLOW 语法规则从而预防符号链接相关的攻击。它还实现了 FORTIFY_SOURCE,它可以被系统函数库和应用程序调用,从而预防内存泄漏。

Android 4.2.2 进行了相关修改,以便利用OpenSSL来完成SecureRandomCipher.RSA) 的实现。该版本还为使用 OpenSSL 1.0.1 的TLSv1.1和 TLSv1.2 增加了 SSLSocket 的支持,而且还减小了应用程序的默认攻击面。它还包含了WebKitlibpng、OpenSSL 和LibXML开源库的安全补丁。

“推荐的做法是在程序第一次启动的时候生成一个真正随机的 AES key 并将它存储在内部存储空间中。”Android 开发者关系团队的 Fred chung 说道。

Android 4.2.2 引入了 USB 安全调试方面的内容,当启用安全调试的时候,只有被用户认证过的主机才可以通过 Android SDK 自带的ADB 工具经由 USB 连接来访问设备的内部构件

查看英文原文:Security Enhancements in Android 4.2.2


感谢侯伯薇对本文的审校。

安全Android语言 & 开发