Android版碎片化是Google解决的最大挑战之一。虽然谷歌像素智能手机市场由于像素和AOSP工程师的鼎力相助上最安全的智能手机当中,许多其他智能手机由于运行过时的操作系统版本或过时的安全补丁级别很容易受到攻击。Gartner的最新报告显示,Android 9 Pie是一款非常安全的操作系统,但只有大约10%的智能手机都在发布。

谷歌正在通过诸如Project Treble之类的计划解决版本碎片问题,这是对Android的主要重新架构导致Android OS框架组件与供应商HAL组件分离,扩展Linux内核LTS,强制安全补丁更新 2年以及Android Enterprise推荐。在Google I / O 2019上,该公司宣布了其加速安全更新的最新举措:针对Android Q的项目主线。

项目主线:通过Google Play更新Android Q系统模块

在过去的几个月里,我们在AOSP中追踪了一个名为“ APEX ”的东西。APEX或Android Pony EXpress是一种类似于APK的新包类型。然而,APEX不是容纳Android应用程序,而是本地或类库的预制代码,可以由Android应用程序,硬件抽象层(HAL)和Android运行时(ART)调用的预编译代码。与APK一样,APEX软件包可以通过Android中的传统软件包安装方法提供给用户:Google Play商店/软件包管理器或ADB。

APEX模块在启动过程中可以比基于APK的模块更早地使用,并且它们还受到dm-verity和Android Verified Boot的支持,以提高安全性。将有效负载映像挂载到APEX包中需要Linux内核的循环驱动程序,因此设备需要Linux内核版本4.9+。管理APEX软件包需要Android Q引入的新APEX守护程序。虽然使用Linux内核4.4升级到Android Q的设备可以支持APEX(如Google Pixel 3),但OEM需要合并其他补丁才能使其正常工作。在大多数情况下,只有使用Android Q启动的设备才支持Project Mainline。

GNU / Linux发行版长期以来能够独立于完整系统更新来更新系统组件,但Android始终需要系统更新来更新它们。Google选择不使用传统的Linux软件包管理系统(如dpkg和rpm)分发这些软件包,因为它们不会使用dm-verity来保护软件包安装后的软件包。

由于设备制造商需要很长时间才能推出更新,因此许多设备可能会在数天,数周甚至数月内过时使用系统组件。通过将这些组件分发为APEX软件包,Google可以避免长时间等待OEM推出系统更新。

但是,Google并未对所有系统组件进行全面控制。该公司已与其OEM合作伙伴合作,选择一组系统应用程序(如APK)和系统组件(作为APEX软件包)进行模块化,以便通过Android Q启动的设备为所有用户提高安全性,隐私性和一致性。虽然谷歌尚未详细披露他们如何提出最初的系统组件,但他们已经向我们提供了使用Android Q启动的设备上的系统组件列表,这些设备组件将由Google更新:

安全性:媒体编解码器,媒体框架组件,DNS解析器,Conscrypt

隐私:文档UI,权限控制器,ExtServices

一致性:时区数据,ANGLE(开发人员选择加入),模块元数据,网络组件,强制门户登录,网络权限配置

对Conscrypt,Java安全库和媒体组件的即时更新(“占最近修补的漏洞的近40%”)将使Android设备更安全。对权限控制器的更新将改善隐私。标准化时区数据有助于在/地区决定更改其时区时将Android设备放在同一页面上。此外,游戏开发者将受益于ANGLE的标准化。

Google正在开始使用这些系统组件,但可能会在未来的Android版本中添加更多内容。在这13个组件中,Conscrypt,Timezone数据,媒体编解码器和媒体框架组件将作为APEX软件包提供。其他9个组件是系统APK。虽然APEX和APK都可以通过Google Play传送,但更新APEX包需要重新启动。谷歌目前还没有分享UI流程,但是一旦设备开始使用Android Q启动,我们可能会了解有关Project Mainline和APEX软件包的更多信息。