在今年的Google I / O上,我们看到了宣布Android O将为名为Project Treble的平台带来新的变化。在首次解释时,Google谈到了如何分隔供应商界面,以使芯片制造商(如高通)不必在每次发布新版Android时都为市场上的芯片重写代码。这里的目标是使从事此工作的公司的更新过程更快,更便宜。

尽管更快地将这些更新更新到设备上有一些固有的安全性好处,但Project Treble不仅能使我们的设备更加安全,而且还具有超越性。由于Project Treble正在从Android框架中删除供应商实现,因此恶意代码攻击和利用供应商界面将变得更加困难。
Google通过首先描述HAL(硬件抽象层)的工作方式来解释此更改。这提供了与设备无关的代码与手机内部具有的设备专用硬件之间的接口。对于没有Project Treble的情况,在进程中运行HAL意味着需要访问每个进程HAL所需的所有权限。这还包括直接访问内核驱动程序,以及其他进程内HAL所需的权限。
因此,我们所拥有的意味着我们拥有过度特权的进程和HAL,这些进程和HAL最终可以访问它们不应该访问的权限和硬件。当我们使用Project Treble分离这些东西时,我们会将HAL转移到他们自己的流程中(如本文的特色图片所示)。这通常会导致客户端进程和HAL之间的IPC开销增加,但是对绑定程序驱动程序进行了一些改进,从而通过提高每个事务的性能使所有这些操作变得切实可行。

