天天看点

细数Android N的安全改进

android加密改进有哪些?

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系统越来越注重安全方面的改进,这与现如今移动操作系统日益严峻的安全问题是分不开的。手机作为现如今人们日常生活的重要组成部分,其安全性早已不可忽视。

本文转自d1net(转载)

继续阅读