上个月的Google I/O大会上,谷歌发布了Android N,但是大会的内容实在太多,导致都没有来得及详细介绍新系统的安全特性。现在,我们来看看Android N在安全层面有哪些改进。
Android N中强制严格执行验证启动( Verified Boot )机制 。在先前的Android 6.0棉花糖系统中,如果你修改了启动代码,系统只会发出警告;而到了Android N这代系统中,如果开发者仍然这么做,手机就不会再启动这样的应用了。
强制使用硬件级的密钥库 :熟悉ARM芯片的同学应该知道,为了保证安全性,ARM架构处理器内部很早就出现了一个名叫TrustZone的安全区域——在先前的Android系统中,开发者可以选择将密钥存储在TrustZone中。但是从Android N开始,加密密钥将只能储存在TrustZone中。
抛弃弱加密的Cryto Provider 。 这在我们先前的文章中已经比较详尽地解释过 ( 点击这里 ) 。这实际上也是针对数据加密的重要举措。
支持文件级别的加密。 之前Android系统提供全盘加密选项,但这会影响系统性能,很多用户都不愿意进行加密、解密、验证垃圾文件的繁琐操作。 Android N则支持用户按需进行加密,只加密那些需要加密的文件。 不过,针对这种文件级别的加密,Bitdefender高级威胁研究员Liviu Arsene却认为:
这项特性的缺点就是,这套文件系统的部分区域(比如交换分区)会把未加密的文件副本保留下来,攻击者能轻易读取这些文件。
在这种情况下,的确还是全盘加密更安全些,虽然的确要牺牲一定的系统性能。
更新Network API,开发者可指定哪些URL使用明文形式的HTTP连接,哪些使用HTTPS连接 。去年的棉花糖系统中,如果第三方SDK没有使用加密特性,开发者可以选择自动屏蔽这类SDK。而今年的Android N加入了一套过滤系统,这套系统支持让开发者指定哪些URL可使用明文形式的HTTP连接、又有哪些则需要使用HTTPS连接。
除此之外,升级后的Network API还统一了所有设备上的证书认证机构(CA)存储,以后所有用户安装的证书默认都不再是“可信”的了。
Mediaserver组件得到了加固 ——Mediaserver顾名思义就是媒体服务器,音频、视频、摄像头与之都有关。而加固过后,Mediaserver将会切分成更小的、沙盒封装的组件。
既然谈到沙盒了,顺带一提:在Android N系统中,谷歌是从Linux内核移植的“seccomp”沙盒机制——这东西原本并不包含在Android系统采用的Linux内核分支中。
指纹验证机制得到了改进 ,开发者将有更多权限更细致地进行控制。新系统还引入了支持开发者检查设备健康度的函数,借此可检查核心操作系统代码是否被篡改。
由于当前Android系统恶意程序越来越猖獗,谷歌也的确有意进行管控。所以这次 谷歌限制了对Device Admin API的访问 ——对用户密码修改进行限制,这对勒索软件而言应该是个悲剧。应用无法再通过编程的方式更改现有密码,所有设备管理应用也都可以卸载。这样一来,要删除带管理员权限的恶意程序都会更方便。
而针对银行木马,谷歌打算 针对 SYSTEM_ALERT_WINDOW做出改动 ,这样可以有效限制应用在其他应用或系统对话框上随意使用overlay覆盖层。
这些对于限制勒索软件和银行木马的行动都是很有意义的。Android系统越来越注重安全方面的改进,这与现如今移动操作系统日益严峻的安全问题是分不开的。手机作为现如今人们日常生活的重要组成部分,其安全性早已不可忽视。
*参考来源: softpedia ,FB小编Sphinx编译,转载请注明来自Freebuf黑客与极客(FreeBuf.COM)