Durante la conferencia de desarrolladores Google I/O 2019, Google anunció Project Mainline, un esfuerzo para acelerar las actualizaciones de seguridad a través de módulos en Android Q.
La fragmentación de la versión de Android es uno de los mayores desafíos que debe resolver Google. Si bien los teléfonos inteligentes Google Pixel se encuentran entre los teléfonos inteligentes más seguros del mercado gracias a los increíbles esfuerzos de Pixel y Ingenieros de AOSP, muchos otros teléfonos inteligentes son vulnerables a exploits debido a que ejecutan versiones desactualizadas del sistema operativo o parches de seguridad desactualizados. niveles. El último informe de Gartner muestra que Android 9 Pie es un sistema operativo increíblemente seguro, aún sólo aproximadamente el 10% de todos los teléfonos inteligentes están en el lanzamiento.
Google está abordando la fragmentación de versiones con iniciativas como Proyecto agudos, una importante reestructuración de Android que resultó en una separación entre los componentes del marco del sistema operativo Android y los componentes HAL del proveedor. Kernel Linux extendido LTS, actualizaciones obligatorias de parches de seguridad durante 2 años y Android empresarial recomendado. En Google I/O 2019, la compañía anunció su última iniciativa para acelerar las actualizaciones de seguridad: Project Mainline para Android Q.
Línea principal del proyecto: actualización de los módulos del sistema Android Q a través de Google Play
Durante los últimos meses, hemos rastreado algo llamado "APÉNDICE" en AOSP. ápice, o Android Pony EXpress, es un nuevo tipo de paquete similar a un APK. Sin embargo, en lugar de albergar una aplicación de Android, APEX alberga una biblioteca nativa o de clases, Código precompilado al que pueden invocar aplicaciones de Android, capas de abstracción de hardware (HAL) y Android. Tiempo de ejecución (ARTE). Al igual que el APK, los paquetes APEX se pueden entregar a los usuarios a través de los métodos tradicionales de instalación de paquetes en Android: Google Play Store/administrador de paquetes o ADB.
Los módulos APEX se pueden utilizar mucho antes en el proceso de arranque que los módulos basados en APK, y también están respaldados por dm-verity y Android Verified Boot para mayor seguridad. El montaje de las imágenes de carga útil en el paquete APEX requiere el controlador de bucle del kernel de Linux, por lo que los dispositivos necesitan la versión 4.9+ del kernel de Linux. La gestión de los paquetes APEX requiere el nuevo demonio APEX, introducido con Android Q. Si bien es posible que los dispositivos que se actualizan a Android Q con el kernel de Linux 4.4 sean compatibles con APEX (como Google Pixel 3), los OEM deben fusionar parches adicionales para que funcione. En su mayor parte, solo los dispositivos que se inicien con Android Q admitirán Project Mainline.
Las distribuciones GNU/Linux han podido durante mucho tiempo actualizar los componentes del sistema independientemente de las actualizaciones completas del sistema, pero Android siempre ha requerido una actualización del sistema para actualizarlos. Google decidió no distribuir estos paquetes utilizando los sistemas tradicionales de administración de paquetes de Linux como dpkg y rpm porque no protegen los paquetes después de la instalación usando dm-verity.
Dado que a los fabricantes de dispositivos les lleva mucho tiempo implementar las actualizaciones, muchos dispositivos pueden tener componentes del sistema obsoletos durante días, semanas o incluso meses. Al distribuir estos componentes como paquetes APEX, Google puede evitar la larga espera hasta que los OEM implementen una actualización del sistema.
Sin embargo, Google no ejerce un control total sobre todos los componentes del sistema. La empresa ha trabajado con sus socios OEM para seleccionar un conjunto de aplicaciones del sistema (como APK) y componentes del sistema (como APEX). paquetes) para modularizarse y poder mejorar la seguridad, la privacidad y la coherencia para todos los usuarios con dispositivos que se inician con Android Q. Aunque Google no ha revelado exactamente cómo se les ocurrió el conjunto inicial de componentes del sistema, sí han nos proporcionó la lista de componentes del sistema en dispositivos que se inician con Android Q y que serán actualizables por Google:
- Seguridad: Códecs multimedia, componentes del marco multimedia, resolución de DNS, Conscrypt
- Privacidad: Interfaz de usuario de documentos, controlador de permisos, servicios externos
- Consistencia: datos de zona horaria, ÁNGULO (los desarrolladores optan por participar), metadatos del módulo, componentes de red, inicio de sesión en el portal cautivo, configuración de permisos de red
Las actualizaciones inmediatas de Conscrypt, la biblioteca de seguridad de Java y los componentes multimedia, que "representaron casi el 40% de las vulnerabilidades parcheadas recientemente", harán que los dispositivos Android sean más seguros. Las actualizaciones del Controlador de permisos mejorarán la privacidad. Estandarizar los datos de la zona horaria será útil para mantener los dispositivos Android de todo el mundo en la misma página cada vez que un país decida cambiar su zona horaria. Además, los desarrolladores de juegos se beneficiarán de la estandarización de ÁNGULO.
Google está comenzando con estos componentes del sistema, pero podría agregar más en futuras versiones de Android. De estos 13 componentes, Conscrypt, datos de zona horaria, códecs de medios y componentes de marco de medios se entregarán como paquetes APEX. Los otros 9 componentes son APK del sistema. Si bien tanto APEX como APK se pueden entregar a través de Google Play, la actualización de un paquete APEX será necesario reiniciar. Google aún no ha compartido el flujo de la interfaz de usuario sobre cómo sucederá esto, pero una vez que los dispositivos comiencen a iniciarse con Android Q, probablemente aprenderemos más información sobre los paquetes Project Mainline y APEX.