像奥利奥一样的双重安全措施,尽在 Android Oreo

由 Android 安全团队的 Gian G Spicuzza 发表

Android Oreo 中包含很多安全性提升的更新。几个月以来,我们讨论了如何增强 Android 平台及应用的安全性: 从提供更安全的获取应用渠道,移除不安全的网络协议,提供更多用户控制符加固内核使 Android 更易于更新,直到加倍 Android 安全奖励奖励项目的支出。如今 Oreo 终于正式和大家见面了,让我们回顾下这其中的改进。

扩大硬件安全支持

Android 早已支持开机验证模式(Verified Boot),旨在防止设备软件被篡改的情况下启动。在 Android Oreo 中,我们随着 Project Treble 一同运行的验证开机模式(Verified Boot),称之为 Android 验证开机模式2.0(Android Verified Boot 2.0)(AVB)。AVB 有一些使得更新更加容易、安全的功能,例如通用的分区尾部(AVB 中位于文件系统分区尾部的结构)以及回滚保护。回滚保护旨在保护 OS 降级的设备,防止降级到到低版本的系统后被人攻击。为此,设备将通过专用的硬件保存系统版本信息或使用可信执行环境(Trusted Execution Environment, TEE)对数据进行签名。 Pixel 2 和 Pixel 2 XL 自带这种保护,并且我们建议所有设备制造商将这个功能添加到他们的新设备中。

Oreo 还包括新的原始设备制造商锁(OEM Lock)硬件抽象层(HAL)使得设备制造商能够更加灵活的保护设备,无论设备处于锁定、解锁或者可解锁状态。例如,新的 Pixel 设备通过硬件抽象层命令向启动引导程序(bootloader)传递命令。启动引导装载程序会在下次开机分析这些命令并检查安全存储于有重放保护的内存区(Replay Protected Memory Block, RPMB)中对锁更改的信息是否合法。如果你的设备被偷了,这些保护措施旨在保护你的设备被重置,从而保护你的数据安全。新的硬件抽象层(HAL)甚至支持将锁移动到专用的硬件中。

谈到硬件,我们添加了防伪硬件支持,例如在每一个 Piexl 2 和 Piexl 2 XL 设备中内嵌的安全模块。这种物理芯片可以防止很多软硬件攻击,并且还抵抗物理渗透攻击. 安全模块防止推导设备密码及限制解锁尝试的频率,使得很多攻击由于时间限制而失效。

新的 Pixel 设备配有特殊的安全模块,所有搭载Android Oreo 的谷歌移动服务(GMS)的设备也需要实现密钥验证。这提供了一种强验证标识符机制,例如硬件标识符。

我们也为企业管理设备添加了新的功能。当配置文件或者公司管理员远程锁定配置文件时,加密密钥会从内存(RAM)中移除.这有助于保护企业数据的安全。

平台加固及进程隔离

作为 Project Treble 的一部分,为了使设备厂商可以更简单、低成本地更新,我们对 Android 的框架也进行了重构。将平台和供应商代码分离的目的也是为了提高安全性,根据最小特权原则,这些硬件抽象层(HALs)运行在自己的沙盒中,只对有权限的驱动设备开放。

追随着Android Nougat 中媒体堆栈加固,我们在Android Oreeo 媒体框架中移除了许多直接访问硬件的模块,从而创造了更好的隔离环境。此外,此外我们启用了所有媒体组件中的控制流完整性(Control Flow Integrity, CFI)保护。这种缺陷可以通过破坏应用的正常控制流,从而利用这种特权执行恶意的活动。 CFI 拥有健全的安全验证机制,不允许随意更改原来编译后二进制文件的控制流程图,也使得这样的攻击难以执行。

除了这些架构改变和CFI以外,Android Oreo 还带来了其他平台安全性相关的提升:

1.Seccomp(Secure computing mode, 安全计算模式)过滤: 一些系统层的调用不再对应用开放,从而减少潜在损害应用途径。

2.加固用户拷贝: 一个最新的 Android安全漏洞掉渣显示:在内核漏洞中,失效的或者无边界检查情况约占 45%。在 Android 内核 3.18 及以上版本中,我们新增了一个边界检查的补丁,使得利用这个漏洞变得更困难,同时还同帮助开发者在他们代码中查找问题并修复问题。

3.Privileged Access Never(PAN)仿真: 同时针对 3.18 以上的内核新增了补丁,这个功能禁止内核直接访问用户空间,同时确保开发者利用加固后的方式开访问用户空间。

4.内核地址空间布局随机化(KASLR):虽然Android已经支持地址空间布局随机化(ASLR)好多年了,我们仍针对 Android 内核 4.4 及以上版本提供了内核地址空间布局随机化(KASLR)补丁减少风险。内核地址空间布局随机化(KASLR)将在每次设备启动加载内核代码时随机分配地址,使得代码复用攻击,尤其是远程攻击更加难以执行。

应用程序安全性及设备标示变更

Android 即时运行应用运行在一个受限制的沙盒中,因此限制了部分权限和功能,例如访问设备内应用列表或者着明文传递数据。虽然是从 Android Oreo 才发布,但是即时运行应用支持在Android Lollipop及以上版本的设备上运行。

为了更安全的处理不可信内容,我们通过将渲染引擎放到另一个进程中并将它运行在一个独立的资源受限的沙盒中来隔离 WebView。此外,WebView 还支持安全浏览,从而保护使用者浏览含有潜在危险的网站。

最后,我们针对设备标识做了重大的改变开放给用户更多的控制权,包括:

1.静态的 Android ID 和 Widevine 将变为基于应用变化的值,这有助于限制设备中无法重置的标识符的使用。

2.依照IETF RFC 7844,现在net.hostname将为空且 DHCP 客户端也将不再发送主机名称(hostname)。

3.对于需要设备标识符的应用,我们新增了一个Build.getSerial() API并且通过权限对其进行保护。

4.我们与安全研究人员一起在各种芯片组固件中的 Wi-Fi 扫描环节中新增一个健全的MAC地址随机化功能.

Android Oreo 带来远不止这些改进,还有更多。一如既往,如果您有关于 Android 的反馈或是改进建议。欢迎发送邮件至 security@android.com。




原文地址:Double Stuffed Security in Android Oreo

原文作者:Gian G Spicuzza

译文出自:掘金翻译计划

本文永久链接:github.com/xitu/gold-m…

译者:一只胖蜗牛

校对者:corresponding,SumiMakito

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 219,928评论 6 509
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 93,748评论 3 396
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 166,282评论 0 357
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 59,065评论 1 295
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 68,101评论 6 395
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,855评论 1 308
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,521评论 3 420
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,414评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,931评论 1 319
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 38,053评论 3 340
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 40,191评论 1 352
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,873评论 5 347
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,529评论 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 32,074评论 0 23
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 33,188评论 1 272
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,491评论 3 375
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 45,173评论 2 357

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 172,213评论 25 707
  • 如果你看完书中的所有例子,你很可能已经做完你的实验和在已经越狱的iPhone上的研究。因为和许多人一样,几乎所有的...
    fishmai0阅读 16,059评论 2 42
  • 今天的早读内容比较简单,只有一个生词,gospel,意为信条。内容虽不难,讲述的道理却让我醍醐灌顶,原来信念有这么...
    然妈Miya阅读 601评论 0 1
  • 第一单元都是新闻体裁,体裁特点梳理清楚,第一单元的文章将会特别好学。 于是,第一节课快下课时,我说第四节上课前,这...
    小鹿says阅读 343评论 0 0
  • 人的心魔无处不在,显现在外面,能够看到知道的,或许还好修正。而深藏在感知之外,潜意识中的那些感受,无处不在掌控着你...
    筱雯说心理阅读 281评论 0 9