从Android8.0版本的烧写分区变化看安全

先直接上图:

从上图可以看出,一个完整的Android镜像参与方有多方,比如

●system.img 主要包括Android框架。 ●boot.img (内核/ ramdisk)包含Linux内核+ Android补丁。 ●vendor.img 包含SoC特定的代码和配置。 ●odm.img 包含设备特定的代码和配置。 ●oem.img 包含OEM /运营商相关配置和自定义。 ●bootloader 启动内核(供应商专有)。 ●radio 调制解调器(专有)。

在Android 8.0之前,供应商,odm和oem镜像是可选的;其实属于这些映像的文件被放置在boot.img或system.img中,并带有符号链接(如/vendor>/system /vendor)。

Android 8.0使vendor分区成为强制性的。目标是通过在Android平台(在system.img上)和供应商提供的代码之间定义标准接口来模块化Android分区。该标准接口使Android平台得到更新,而不会影响SoC和ODM分区。

例如,应该可以将设备system.img从Android 8.0升级到Android P,而其他镜像(如vendor.img,odm.img等)仍然保留在Android 8.0上。这种模块化可以实现及时的Android平台升级(例如每月安全更新),而无需SoC/ODM合作伙伴更新SoC和设备特定的代码。

Project 8.0中最重要的更新之一是Project Treble。Treble是不仅仅是安全功能 - 它是一系列重要的体系结构变化,对安全性有着巨大的积极影响。

为了让设备运行Android,设备制造商可以定制该设备的软件与设备的硬件。在以前的Android版本中,这些自定义与一般的Android OS框架混合在一起。在Android 8.0中,谷歌与设备制造商和片上系统(SoC)供应商密切合作解决这个问题,从而对Android的底层级系统架构进行了最大的改变。 Treble将供应商实现(由SoC供应商编写的设备特定的较低级别软件)与Android框架分离开来。为了实现这一目标,Android 8.0在Android框架和SoC供应商实施之间包含一个新的供应商界面。新的供应商接口由供应商测试套件(VTS)验证,该套件验证供应商实施的向前兼容性。这种分离使得将设备更新为新版本的Android变得更加容易,因为它使供应商的实现保持不变。从历史上看,更新对于设备制造商而言是具有挑战性的,代价高昂且耗时的,因为它们的定制化。 带有Treble的设备更容易更新,这应该意味着更快的安全补丁和整个Android版本的更新生态系统。更快更轻松的更新并不是Treble唯一的安全优势。Treble的模块化旨在通过提高隔离度来提高安全性和供应商提供的硬件抽象层(HAL)的取消特权。Android的早期版本中,HAL在进程中运行。该进程需要所有进程内HAL所需的所有权限,包括直接访问内核驱动程序。同样,进程中的所有HAL都可以访问与进程剩余部分相同的一组权限,包括其他进程内HAL所需的权限。这导致了过度权限的进程和HAL,它们有权访问他们不应该拥有的权限和硬件。

在Android 8.0中,我们将HAL移入它自己的进程中。孤立的HAL更好地遵守最小特权原则,并提供两个明显的优势:

- 每个HAL都在其自己的沙箱中运行,并且只能访问其控制的硬件驱动程序和执行其工作所需的权限。

- 进程失去对硬件驱动程序和HAL所需的其他权限和访问的能力。

详见《Google安全报告:Android平台安全章节》

原文发布于微信公众号 - 安智客(china_safer)

原文发表时间:2018-04-23

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏IT笔记

微服务化的基石——持续集成

在很多微服务化的文章中,很少会把持续集成放在第一篇,因为大多数的文章都会将如何拆的问题,例如拆的粒度,拆的时机,拆的方式。

62290
来自专栏杨建荣的学习笔记

明天,实现几个还不错的功能点

明天,计划实现几个还不错的功能,算是个自己这段时间的运维里程碑划上一个句号。里程碑是自己制定的,目的是督促自己做事情有一个预期目标,在糟糕的实现中不断迭...

12220
来自专栏张善友的专栏

MongoDB 2.6.2 发布

NoSQL数据库MongoDB推出了全新一代产品MongoDB 2.6.2,该版本全面强化核心服务器,提供全新的自动化工具与重要的企业功能,宣称是MongoDB...

21970
来自专栏数据派THU

【独家】一文读懂非关系型数据库(NoSQL)

本文共11000字,阅读全文约需30分钟。 本文为大家解析非关系型数据库(NoSQL)。[ 在数据派THU后台(非留言区)回复"综述"即可获取资源。] 前言 N...

927100
来自专栏数据之美

网站数据统计分析之二:前端日志采集是与非

在上一篇《网站数据统计分析之一:日志收集原理及其实现》中,咱们详细的介绍了整个日志采集的原理与流程。但是不是这样在真实的业务环境中就万事大吉了呢?事实往往并非如...

60070
来自专栏Spark学习技巧

云HBase小组成功抢救某公司自建HBase集群,挽救30+T数据

14930
来自专栏华章科技

爬虫小工具合集|不会编程也能爬数据

首先教大家一个用Excel爬取数据的方法,这里用的Microsoft Excel 2013版本,下面手把手开始教学~

18220
来自专栏鸿的学习笔记

聊聊分布式系统的时钟问题

诸如此类的问题,还能提出很多,因此需要一个靠谱的时钟来保证分布式系统里事件的处理不会出错。

18210
来自专栏Golang语言社区

棋牌游戏服务器架构: 总体设计

首先要说明的是, 这个棋牌游戏的服务器架构参考了网狐棋牌的架构。网狐棋牌最令人印象深刻的是其稳定性和高网络负载。它的一份压力测试报告上指出:一台双核r的INTE...

82160
来自专栏Golang语言社区

棋牌游戏服务器架构: 总体设计

首先要说明的是, 这个棋牌游戏的服务器架构参考了网狐棋牌的架构。网狐棋牌最令人印象深刻的是其稳定性和高网络负载。它的一份压力测试报告上指出:一台双核r的INTE...

68790

扫码关注云+社区

领取腾讯云代金券