Google habla sobre mejoras de seguridad con Project Treble

En Google I / O este año, vimos el anuncio de que Android O traería un nuevo cambio a la plataforma llamada Project Treble. Cuando se explicó por primera vez, Google habló sobre cómo está separando la interfaz del proveedor para que los fabricantes de chips (como Qualcomm) no tengan que volver a escribir su código para los chips en el mercado cada vez que se lanza una nueva versión de Android. El objetivo aquí es hacer que el proceso de actualización sea más rápido y económico para las empresas que trabajan en estas cosas.

Si bien existen algunos beneficios de seguridad inherentes para llevar estas actualizaciones a los dispositivos más rápido, Project Treble va más allá de eso para hacer que nuestros dispositivos también sean más seguros. Dado que Project Treble está eliminando la implementación del proveedor del marco de Android, hará que sea mucho más difícil que un código malicioso ataque y explote la interfaz del proveedor.

Google explica este cambio describiendo primero cómo funciona una HAL (Capa de abstracción de hardware). Esto proporciona una interfaz entre el código independiente del dispositivo y el hardware específico del dispositivo que tenemos dentro de nuestros teléfonos. Con las cosas ahora sin Project Treble, ejecutar HAL en proceso significa que necesita acceso a todos los permisos requeridos por cada HAL en proceso. Y esto también incluye acceso directo a los controladores del kernel, y también los permisos requeridos para otros HAL en proceso también.

Entonces, lo que tenemos significa que tenemos procesos y HAL con privilegios excesivos que terminan teniendo acceso a permisos y hardware que no deberían. Cuando separamos estas cosas con Project Treble, estamos moviendo los HAL a sus propios procesos (como se demuestra en la imagen destacada de este artículo). Esto generalmente resulta en un aumento en la sobrecarga de IPC entre el proceso del cliente y el HAL, pero se han realizado algunas mejoras en el controlador de carpeta que hace que todo esto sea práctico al mejorar el rendimiento de cada transacción.


¡Lea más en el Blog de desarrolladores de Android!