Android安全升级的7.0: Nougat
Tamic
http://www.jianshu.com/users/3bbb1ddf4fd5/latest_articles
今年夏天以来,Google做了多种增强的安全性在Android的7.0Nougat:更加注重安全性与他们提出的漏洞奖励计划
,一个开机新的直接引导模式,重新架构的MediaServer和硬化介质叠,被保护的应用程序意外的回归为明文传输,更新了Android处理方法可信证书颁发机构,严格执行开机验证启动纠错和更新Linux内核,以减少攻击面,增加内存保护。
现在,Android7.0已经开始推出,并希望在一个个单一的回顾下这些更新,并增强了一些新的改进。
直接引导和加密
在Android的早期版本中,用户的加密设备将在默认情况下在引导过程中输入自己的PIN /模式/密码,解密他们的存储区域,完成引导。
Android 7.0牛轧糖,更新了底层加密方案,并简化了手机启动过程,以加快重新启动用户的手机。
现在,手机的普通功能,假设喜欢这款手机的某个应用程序,在你设置闹钟之前你必须甚至输入PIN码,所以只有自己设置的闹钟可以唤醒你。
我们把这种功能直接引导引擎下,基于文件的加密后使得用户有更好的体验。
用这种新的加密方案,在系统的存储区域,以及每个用户配置文件的存储区域,都分别进行了加密。
不像以前全局加密,其中所有的数据都被加密为一个单元数据,每个信息为基础的加密使系统正常重新引导到仅使用设备密钥的功能状态。
基本的应用程序可以选择加入重启后在有限的状态下运行,当你输入你的锁屏界面的凭证(密码 指纹 人脸等),这些应用程序得到访问用户数据,以提供完整的功能。
基于文件的加密得到了更好地分离,并通过在更细的粒度对数据进行加密,用来保护设备上个人用户信息和配置文件。每个配置文件使用一个唯一的密钥,只能通过PIN或密码解锁,让您的数据只能由你来解密加密。
加密支持越来越整个Android生态系统更强大,并且与棉花糖开始,要求所有的设备,以便支持加密。许多设备,如Nexus 5X和6P还采用独特的键是只与可信硬件访问,如ARM的TrustZone。
现在用7.0牛轧糖,所有新的Android设备也必须有这样的硬件支持的密钥存储和验证您的锁屏界面的凭证,提供强有力的保障。这样一来,所有的数据只可以在精确的设备上解密,并只能由你解锁。
媒体协议栈和平台硬化
在Android的7.0,Google都做了加固,重新设计了 的MediaServer,Ta是处理不受信任的输入主系统服务之一。
首先,通过引入整数溢来出消除全局漏洞的一分UndefinedBehaviorSanitizer,为了防止一整个类漏洞,其中包括大多数报道libstagefright错误的。一旦检测到整数溢出,就会关闭收到的攻击 这个进程。
其次,模块化媒体堆栈将不同组件集成到单个沙箱和收紧每个沙箱的权限,并包括执行其工作所需的最低权限。有了这个技术限制,在栈上许多地方的限制了用的较少的权限和明显减少暴露的内核攻击面的访问权限。
除了硬化媒体服务器,谷歌添加了保护的机制,包括以下方面:
验证启动:开机验证现在是严格执行,以防止设备受损的引导;
它支持纠错,提高对非恶意数据破坏的可靠性。SELinux的:更新的SELinux配置,提高覆盖面的Seccomp进一步锁定了应用程序沙箱,并减少攻击面。
库加载顺序随机化和提高ASLR:增加随机性使得一些代码重用的攻击不可靠。
内核硬化:通过增加了新的内核额外的内存保护
标志的内核内存部分为只读,限制访问内核到用户空间的地址,并进一步降低现有的攻击面。
APK签名2.0方案:引入了一个提高整个文件签名验证速度,并加强诚信保证。
应用程序安全性改进
Android的7.0是Android的最安全和最简单的版本,应用程序开发者使用。
- 那现在要与其他应用程序数据的应用程序必须明确禁止在通过一个提供其文件[内容提供商(https://developer.android.com/guide/topics/providers/content-providers.html?utm_campaign=android_discussion_security_090616&utm_source=anddev&utm_medium=blog)
,像FileProvider。该应用程序私有目录(通常是/数据/数据/)现在设置为应用定位API等级24+的Linux许可0700。
- 为了更方便的应用程序来控制访问他们的安全网络流量,用户安装的证书颁发机构,并通过设备管理API的安装的那些被默认不再信任为应用定位API级别24+。
此外,所有新的Android设备必须与船同信任的CA存储。
随着网络安全配置,开发人员可以更轻松地通过声明配置文件来配置网络安全策略。这包括阻止明文交通,配置集信任的CA和证书,并建立一个独立的调试配置。
我们还继续完善的应用权限和能力来保护您免受潜在恶意应用。为了提高设备的隐私,Android7.0已经进一步限制和删除访问持久性设备标识符,例如MAC地址。
- 用户界面覆盖可以不再权限对话框的顶部显示。使用某些应用程序这种“点击劫持”技术,以试图获得不当权限。
- 谷歌已经降低了设备管理应用程序的能力,使他们再也不能改变你的锁屏,如果你有一个锁屏设置和设备管理将不再被通知即将通过禁用onDisableRequested() 。
这些都是被一些强制来获得设备的控制策略。
系统更新
最后,谷歌已经取得了明显增强了OTA更新系统使用最新的系统软件和安全补丁,以便将最新的更新很容易的更新到我们的设备上。
7.0缩短了的安装时间,在线上网社交更快,安全更新的OT内存大小更小。
您不必再等待优化应用程式的那一步,因为这是更新过程中最慢的部分之一,因为新的JIT编译器已经被优化,使安装和更新快如闪电。更新的目的是更快的运行与7.0 :Nougat的固件更新到新的Android设备。
就像他们的Chromebook用做更新在后台,而该设备会继续再前台正常运行的应用。这些更新应用到将部署到不同的系统分区,当你重新启动,它会无缝地切换到运行新的系统软件版本,新的分区。
Android安全升级的7.0: Nougat的更多相关文章
- Android Studio 升级到3.0 提示 java.lang.NoClassDefFoundError
Android Studio 升级到3.0 提示 java.lang.NoClassDefFoundError 这个问题折腾了2个小时,最后解决了,Stack Overflow 上也有一次类似的问题, ...
- Android Studio 升级到3.0后出现编译错误\.gradle\caches\transforms-1\files-1.1\*****-release.aar
Android Studio 升级到3.0后出现各种编译问题,其中有一个问题是关于资源找不到的问题,百度了半天,也没有相关的文章 C:\Users.gradle\caches\transforms-1 ...
- 关于Android Studio升级到2.0后和Gradle插件不兼容的问题
今天升级AS到2.0后,用AS在真机上调试,发现报了如下错误: This version of Android Studio is incompatible with the Gradle Plugi ...
- Android build-tools升级到23.0.0_rc1无法解决编译后的问题
背景 作为项目要改变android studio,它采取了.他们主动向我,结果下载了最新的build-tools 23.0.0_rc1,然后,当我再次使用eclipse不了了.git reset了n次 ...
- Android Studio升级到3.0,抛出Aapt2Exception异常
android studiao错误: Android resource linking failedOutput: D:\_ASWorkSpace\phone_new\app\src\main\res ...
- Android 7.0 Nougat牛轧糖 发布啦
Android 7.0 Nougat牛轧糖 发布啦 Android 7.0 Nougat 牛轧糖于本月发布了. 从官方blog里可以了解到这个版本的新特性. Android 7.0 从2016年8月正 ...
- ADT for Eclipse无法升级到23.0的解决方法(确保您的网络能够访问google的地址)
进行以下步骤时,请确保您的网络能够访问google的地址,因为有可能是无法访问google地址导致无法升级,该文不是为了解决这个问题!!! 最近一次的升级,ADT无法从ADT 22.X升级到23.0. ...
- Android数据库升级
随着Android应用版本的迭代,经常遇到数据库表结构发生改变,或者一些指定的表数据需要更新.这也就引出一个问题Android数据库的更新问题. Android数据库升级分类 Android数据库更新 ...
- android 在线升级借助开源中国App源码
android 在线升级借助开源中国App源码 http://www.cnblogs.com/luomingui/p/3949429.html android 在线升级借助开源中国App源码分析如下: ...
随机推荐
- JVMGC机制
GC 是JVM的垃圾回收器.与C/C++不同,java程序员无需考虑太多内存分配的位置,更不用考虑内存释放的机制,java对象内存的申请和释放都有JVM托管.JVM的内存释放机制就是GC. GC的过程 ...
- [LeetCode] Fraction Addition and Subtraction 分数加减法
Given a string representing an expression of fraction addition and subtraction, you need to return t ...
- [LeetCode] Shortest Unsorted Continuous Subarray 最短无序连续子数组
Given an integer array, you need to find one continuous subarray that if you only sort this subarray ...
- Python 装饰器示例
#!/usr/bin/env python # _*_ coding: UTF-8 _*_ # Author:taoke def applePrice(func): def otherfunc(): ...
- [Awson原创]洪水(flood)
Description Awson是某国际学校信竞组的一只菜鸡.今年,该市发生了千年难遇的洪水.被监禁在学校的Awson不甘怠堕,想将自己投入到公益服务事业中去.这天,他偷了H老师的小电驴,偷偷地溜出 ...
- codeforces 842C Ilya And The Tree
Ilya is very fond of graphs, especially trees. During his last trip to the forest Ilya found a very ...
- [BZOJ]1079 着色方案(SCOI2008)
相邻色块不同的着色方案,似乎这道题已经见过3个版本了. Description 有n个木块排成一行,从左到右依次编号为1~n.你有k种颜色的油漆,其中第i种颜色的油漆足够涂ci个木块.所有油漆刚好足够 ...
- hdu 2888 二维RMQ模板题
Check Corners Time Limit: 2000/10000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) T ...
- Angular中 build的时候遇到的错误--There are multiple modules with names that only differ in casing
今天早上遇到一个Angular的编译的时候的错误 具体信息: There are multiple modules with names that only differ in casing.This ...
- JavaBean toString方式
package object; import java.util.Date; public class ReportDataQo implements java.io.Serializable { p ...