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源码分析如下: ...
随机推荐
- 洛谷 P3258 [JLOI2014]松鼠的新家(树链剖分)
题目描述松鼠的新家是一棵树,前几天刚刚装修了新家,新家有n个房间,并且有n-1根树枝连接,每个房间都可以相互到达,且俩个房间之间的路线都是唯一的.天哪,他居然真的住在”树“上. 松鼠想邀请小熊维尼前来 ...
- angularjs bind与model配合双向绑定 表达式方法输出
<!doctype html><html lang="en"><head> <meta charset="UTF-8" ...
- [LeetCode] Minimum Window Subsequence 最小窗口序列
Given strings S and T, find the minimum (contiguous) substring W of S, so that T is a subsequence of ...
- MySQL 并行复制从库发生自动重启分析
并行复制从库发生自动重启分析 背景 半同步复制从库在晚上凌晨2点半发生自动重启,另一个异步复制从库在第二天凌晨3点也发生了自动重启. 分析 版本mysql 5.7.16 mysql> show ...
- 跨域访问 - 跨域请求 同源策略概念对跨域请求的影响 及几种解决跨域请求的方法如 jsonp
为什么会设置同源策略 > 适用于浏览器的一种资源访问策略 > 同源策略(Same origin policy)是一种约定,它是浏览器最核 心也最 基本的安全功能,如果缺少了同源策略,则浏览 ...
- python的变量与赋值
1.变量的命名规则 变量其实通过一个标记调用内存中的值,而变量名就是这个标记的名称,但是万一这个标记已经被提前占用或者解释器认为这个标记是不合法的,那么就会报错.下面总结了一下变量的命名规则: 1.不 ...
- [Codeforces]850E - Random Elections
FWT裸题,写了下模板 #include<cstdio> #define ll long long #define r register int #define MN (1<< ...
- bzoj 3745: [Coci2015]Norma
Description Solution 考虑分治: 我们要统计跨越 \(mid\) 的区间的贡献 分最大值和最小值所在位置进行讨论: 设左边枚举到了 \(i\),左边 \([i,mid]\) 的最大 ...
- ●BZOJ 4826 [Hnoi2017]影魔
题链: http://www.lydsy.com/JudgeOnline/problem.php?id=4826 题解: 主席树,单调栈 以前还没做过这种维护信息的题,感觉好奇妙. 每对相邻的两个数所 ...
- 中断API之setup_irq【转】
转自:https://blog.csdn.net/tiantao2012/article/details/78957472 版权声明:本文为博主原创文章,未经博主允许不得转载. https://blo ...