Lors de la conférence des développeurs Google I/O 2019, Google a annoncé le projet Mainline, un effort visant à accélérer les mises à jour de sécurité via des modules dans Android Q.
La fragmentation des versions d’Android est l’un des plus grands défis que Google doit résoudre. Alors que les smartphones Google Pixel comptent parmi les smartphones les plus sécurisés du marché grâce aux efforts incroyables de Pixel et Ingénieurs AOSP, de nombreux autres smartphones sont vulnérables aux exploits en raison de l'exécution de versions de système d'exploitation obsolètes ou de correctifs de sécurité obsolètes. les niveaux. Le dernier rapport de Gartner montre qu'Android 9 Pie est un système d'exploitation incroyablement sécurisé, mais seulement environ 10 % de tous les smartphones sont en sortie.
Google s'attaque à la fragmentation des versions avec des initiatives telles que
Projet triple, une réarchitecture majeure d'Android entraînant une séparation entre les composants du framework Android OS et les composants HAL du fournisseur, noyau Linux étendu LTS, mises à jour obligatoires des correctifs de sécurité pendant 2 ans, et Android Entreprise recommandé. Lors de Google I/O 2019, la société a annoncé sa dernière initiative visant à accélérer les mises à jour de sécurité: Project Mainline pour Android Q.Project Mainline: mise à jour des modules du système Android Q via Google Play
Au cours des derniers mois, nous avons suivi quelque chose appelé "SOMMET" dans l'AOSP. APEX, ou Android Poney EXpress, est un nouveau type de package similaire à un APK. Cependant, au lieu d'héberger une application Android, APEX héberge une bibliothèque native ou de classe, code précompilé qui peut être appelé par les applications Android, les couches d'abstraction matérielle (HAL) et Android Exécution (ART). Comme l'APK, les packages APEX peuvent être servis aux utilisateurs via les méthodes d'installation de packages traditionnelles sous Android: le Google Play Store/gestionnaire de packages ou ADB.
Les modules APEX peuvent être utilisés beaucoup plus tôt dans le processus de démarrage que les modules basés sur APK, et ils sont également soutenus par dm-verity et Android Verified Boot pour une sécurité accrue. Le montage des images de charge utile dans le package APEX nécessite le pilote de boucle du noyau Linux, les appareils nécessitent donc la version 4.9+ du noyau Linux. La gestion des packages APEX nécessite le nouveau démon APEX, introduit avec Android Q. Bien qu'il soit possible pour les appareils mis à niveau vers Android Q avec le noyau Linux 4.4 de prendre en charge APEX (comme le Google Pixel 3), les OEM doivent fusionner des correctifs supplémentaires pour que cela fonctionne. Pour la plupart, seuls les appareils lancés avec Android Q prendront en charge Project Mainline.
Les distributions GNU/Linux sont depuis longtemps capables de mettre à jour les composants du système indépendamment des mises à jour complètes du système, mais Android a toujours nécessité une mise à jour du système pour les mettre à jour. Google a choisi de ne pas distribuer ces packages à l'aide de systèmes de gestion de packages Linux traditionnels tels que dpkg et rpm, car ils ne protègent pas les packages après l'installation à l'aide de dm-verity.
Étant donné que les fabricants d'appareils mettent beaucoup de temps à déployer les mises à jour, de nombreux appareils peuvent avoir des composants système obsolètes pendant des jours, des semaines, voire des mois. En distribuant ces composants sous forme de packages APEX, Google peut éviter la longue attente des OEM pour déployer une mise à jour du système.
Google n'exerce cependant pas un contrôle total sur tous les composants du système. La société a travaillé avec ses partenaires OEM pour sélectionner un ensemble d'applications système (comme les APK) et de composants système (comme APEX). packages) à modulariser afin d'améliorer la sécurité, la confidentialité et la cohérence pour tous les utilisateurs disposant d'appareils qui se lancent avec Android Q. Bien que Google n'ait pas révélé exactement comment ils ont créé l'ensemble initial de composants du système, ils ont nous a fourni la liste des composants système sur les appareils lancés avec Android Q qui pourront être mis à jour par Google:
- Sécurité: Codecs multimédias, composants Media Framework, résolveur DNS, Conscrypt
- Confidentialité: Interface utilisateur des documents, contrôleur d'autorisations, ExtServices
- Cohérence: Données de fuseau horaire, ANGLE (opt-in des développeurs), métadonnées du module, composants réseau, connexion au portail captif, configuration des autorisations réseau
Les mises à jour immédiates de Conscrypt, de la bibliothèque de sécurité Java et des composants multimédias, qui « représentent près de 40 % des vulnérabilités récemment corrigées », rendront les appareils Android plus sûrs. Les mises à jour du contrôleur d'autorisation amélioreront la confidentialité. La normalisation des données de fuseau horaire sera utile pour que les appareils Android du monde entier soient sur la même longueur d'onde chaque fois qu'un pays décide de modifier son fuseau horaire. De plus, les développeurs de jeux bénéficieront de la standardisation des ANGLE.
Google débute avec ces composants système mais pourrait en ajouter d'autres dans les futures versions d'Android. Parmi ces 13 composants, Conscrypt, les données Timezone, les Media Codecs et les Media Framework Components seront fournis sous forme de packages APEX. Les 9 autres composants sont des APK système. Bien qu'APEX et les APK soient livrables via Google Play, la mise à jour d'un package APEX nécessitera un redémarrage. Google n'a pas encore partagé le flux de l'interface utilisateur sur la façon dont cela se produira, mais une fois que les appareils commenceront à être lancés avec Android Q, nous apprendrons probablement plus d'informations sur les packages Project Mainline et APEX.