Logo fr.androidermagazine.com
Logo fr.androidermagazine.com

De google à votre téléphone: la vie d'une mise à jour de sécurité Android

Table des matières:

Anonim

Au début de chaque mois, Google publie le bulletin de sécurité mensuel Android et commence à envoyer des mises à jour pour les téléphones Pixel. Il est bon que la société soit transparente sur ce qui se passe et sur la façon dont les choses sont corrigées, même si vous n'êtes pas le genre de personne qui aime lire le code source.

Avant que les correctifs ne soient rendus publics, ces correctifs impliquent beaucoup de travail et encore plus de travail avant que d’autres téléphones ne soient livrés - même s’ils le sont. Examinons comment la saucisse est fabriquée et essayons de mieux comprendre pourquoi le calendrier des correctifs de sécurité est un peu flou.

D'abord, vous corrigez Android

Android est une bête compliquée. Plus de 5 millions de lignes de code ont été créées pour aider les entreprises qui fabriquent des produits mobiles à fonctionner avec une plate-forme d’application complète comprenant un accès à Google Play et à d’autres services. Ce n'est pas quelque chose qui peut être utilisé tel quel; ces sociétés passent beaucoup de temps à essayer de personnaliser Android afin de le fusionner avec les autres logiciels qu’elles utilisent éventuellement pour créer un système d’exploitation homogène.

Google a quelques règles sur la manière de procéder si une entreprise souhaite inclure ses services, mais les fabricants ont une longue idée sur la manière dont le produit final est construit.

Ce code est l'endroit où un correctif de sécurité prend vie. Quelqu'un, qu'il s'agisse d'un chercheur en sécurité ou d'un simple Joe, trouve une faille dans un téléphone qui pourrait être utilisée pour réduire la couche de sécurité du périphérique. Si cette faille n’est pas un produit créé par un OEM, l’équipe Android est chargée de déterminer ce qui se passe, pourquoi, et comment le réparer de la manière la moins perturbante possible.

Si une faille de sécurité est détectée et qu’elle fait partie du code de base Android, Google doit la réparer, puis l’envoyer à tous les autres.

Souvent, la faille n'est pas quelque chose que Google peut réparer. Comme nous, Google n’a pas accès au micrologiciel des entreprises qui fabriquent du matériel comme Qualcomm ou LG. Si la faille doit être corrigée au niveau matériel, il est probable que la société fournissant certains des composants utilisés devra d'abord apporter des modifications. Si tel est le cas, ces modifications sont transmises à Google afin qu'il puisse voir ce qui doit être fait pour les intégrer dans le code d'Android.

Ces changements prennent du temps, surtout si un fournisseur de matériel est impliqué. Il y a des correctifs et des tests et davantage de correctifs et de tests pour chaque faille traitée dans un correctif. Une fois que Google est convaincu qu’il dispose d’un correctif valide pour remédier à une faille de sécurité, chaque entreprise qui fabrique des téléphones Android dispose d’un accès anticipé (au moins 30 jours avant la publication du correctif par Google) afin de se mettre au travail.

Phase deux

C'est là que la majeure partie du travail est effectuée. Google peut écrire et maintenir Android lui-même, mais la majorité des appareils qui l'utilisent ne sont pas fabriqués par Google. Ceux qui sont - téléphones Pixel - sont également inclus ici. Le matériel Google est un client d’Android de la même manière que Samsung ou Motorola.

Les Samsung et les LG du secteur de la téléphonie mobile, qui apportent de nombreuses modifications à Android, ont beaucoup de travail à faire lorsqu'il est temps de fusionner un correctif.

Toutes ces entreprises se mettent au travail dès qu’elles ont reçu le nouveau code de Google. La première partie, et peut-être la plus importante, consiste à déterminer quelle partie du correctif n'est pas nécessaire. Et il y a beaucoup de choses dans chaque patch qu'une entreprise peut librement ignorer.

Par exemple, si NVIDIA devait apporter des modifications repoussées dans Android, aucun téléphone Samsung n'aurait besoin de cette partie du correctif. Un exemple plus extrême serait les changements apportés par BlackBerry ou Samsung qui résolvent déjà le problème d’une manière différente. Identifier ce qui est nécessaire ou non peut être fastidieux, en particulier lorsqu'une entreprise apporte des modifications importantes à certaines parties du système d'exploitation. Google a enquêté sur des accusations selon lesquelles les OEM envoyaient des correctifs de sécurité qui ne traitaient pas de certains problèmes, et c'est ce qu'ils ont trouvé.

Toutes les parties d'un correctif ne sont pas nécessaires sur tous les téléphones.

Une fois que cela est fait, le reste du correctif doit être fusionné dans le code Android personnalisé du fournisseur, puis construit et testé. La partie "construit et testé" peut devenir un gros problème si le correctif ne peut pas simplement être appliqué car il touche des fichiers que le code personnalisé utilise ou dépend. Nous voyons beaucoup cela aussi. Chaque fois que des correctifs sont apportés à Bluetooth ou au Wi-Fi, qu’il s’agisse du matériel ou du logiciel sous-jacent, le code modifié par un grand OEM qui en fait un système d’exploitation plus sophistiqué qu’Android "standard" est utilisé. Un OEM peut toucher à de nombreuses parties d'Android.

Une fois que les ingénieurs de Samsung ou d'un autre fournisseur ont obtenu un système d'exploitation qui démarre et fonctionne correctement, il doit être testé. Et testé un peu plus. Les tests peuvent inclure l'intervention d'ingénieurs réseau de divers opérateurs, ainsi que la réinstallation de Google et / ou du fabricant de tout composant dans le mix. Cela doit être vrai. Un correctif envoyé à des milliers et des milliers de téléphones pourrait potentiellement paralyser le réseau d'un opérateur, surcharger le plafond de données de chaque utilisateur ou même empêcher le téléphone de fonctionner. Tout ce genre de chose est inacceptable et doit être trouvé avant de quitter le bâtiment.

Le déploiement

La société qui a fabriqué votre téléphone, Google, et peut-être votre opérateur, travaillent ensemble pour préparer une mise à jour en masse. Si vous avez déjà vu l'URL utilisée pour télécharger un correctif, vous remarquerez qu'il y a «Google» dans l'adresse Web. En effet, le moteur de votre téléphone capable d'extraire et de traiter une mise à jour OTA recherche un correctif dans un endroit très spécifique. Il doit savoir que le correctif est correct à 100% et signé par la signature numérique appropriée. Il vérifiera à nouveau une fois le correctif complètement téléchargé.

Si vous avez acheté votre téléphone chez un opérateur, il aura beaucoup à faire pendant toute la durée de vie d'un patch.

Votre opérateur peut définir des règles pour savoir quand et qui peut télécharger un correctif une fois qu'il est en direct si son nom est affiché sur le téléphone. Des entreprises telles que Samsung ou LG fabriquent des versions personnalisées de leurs modèles les plus populaires pour chaque transporteur, ce qui permet de mieux comprendre la façon dont les choses se passent. Il devrait puisque son nom est sur la boîte. Cela peut être frustrant, mais cela a du sens. Si tout le monde à Pittsburgh (par exemple) qui possède un téléphone Samsung Galaxy S8 tente de récupérer un patch de 800 Mo en même temps, le réseau s'effondrera par endroits. Votre opérateur fera tout ce qui est nécessaire pour maintenir le réseau en vie.

Google place également une sorte de blocage sur les déploiements d'OTA. Un nombre spécifique d'utilisateurs recevront un correctif. Après un certain temps, Google déterminera si ces utilisateurs ont eu une bonne ou une mauvaise expérience. Si tout se passe bien, un plus grand nombre d'utilisateurs obtiendront le correctif dans une seconde vague. Cela se répète plusieurs fois avant que les vannes ne soient ouvertes. Les utilisateurs qui ne souhaitent pas attendre ce test final peuvent télécharger manuellement un correctif via les paramètres de leur appareil.

Lorsque c'est votre tour et que vous donnez à votre téléphone le feu vert pour récupérer ce fichier, il est téléchargé et votre téléphone prend le contrôle.

Dans tes mains

Un patch est téléchargé sur votre téléphone et vérifié comme étant correct. Les anciennes versions d'Android ont un cache dédié, qui est une section de votre stockage qui a été divisée pour permettre, par exemple, de mettre à jour un fichier de mise à jour. les choses qui ne sont que temporairement au téléphone. Les téléphones qui utilisent la fonctionnalité de mise à jour transparente d'Android (qui devrait être la plupart des téléphones fonctionnant sous Android Nougat une fois vendus) "glissent" les fichiers téléchargés dans ce que l'on appelle des emplacements. Dans les deux cas, vous devez disposer de suffisamment d'espace pour extraire le fichier OTA et y travailler.

Les téléphones dotés d'anciennes versions d'Android peuvent avoir une partition de cache dédiée utilisée lors d'une mise à jour. Il doit être 2, 5 fois plus volumineux que le fichier OTA que vous avez téléchargé.

Le logiciel de mise à jour OTA de votre téléphone fait partie d'Android. Un script dans le fichier téléchargé lui indique comment rechercher les fichiers à modifier et il les copie dans le cache de votre appareil ou dans l'emplacement désigné. Il compare ensuite les fichiers d'origine de votre téléphone avec les fichiers téléchargés. Certains peuvent être un simple échange - prenez le fichier X du téléphone et supprimez-le, puis remplacez-le par le fichier X du téléchargement OTA. D'autres ne sont pas le fichier complet et ne contiennent que de petites modifications spécifiques. Le logiciel de mise à jour et d'installation de votre téléphone sait quoi faire ici.

De nombreux fichiers dans Android, en particulier les applications et les bibliothèques de logiciels, sont en réalité beaucoup de fichiers compressés dans une archive spéciale. Vous pouvez prendre un fichier APK et le changer en un fichier.zip et l'ouvrir avec Windows. Parfois, ces archives doivent être ouvertes et des parties d'entre elles doivent être échangées avec les nouvelles versions téléchargées pour le correctif de sécurité. C'est pourquoi vous avez besoin de cet espace de travail dans votre partition de cache - c'est là que ces fichiers sont extraits.

Un grand nombre de fichiers sur votre téléphone sont en réalité des archives contenant de nombreux fichiers, y compris d’autres archives de fichiers. C'est compliqué.

Une fois que chaque fichier de la mise à jour OTA a été traité et que des modifications ont été apportées aux copies des fichiers système, il est temps de les exécuter. Cela se produit lorsque le téléphone vous demande de redémarrer après avoir traité l'OTA que vous avez reçu, car il y a souvent des fichiers qui doivent être corrigés mais sont utilisés pendant le fonctionnement du téléphone. Vous pouvez voir un écran montrant que du travail est en cours lors du redémarrage ou vous pouvez simplement voir le logo Android. Dans les deux cas, les fichiers sont vérifiés, mis en place et vérifiés à nouveau. Les anciens fichiers sont conservés dans la mémoire cache au cas où il y aurait un problème et que vous ne pouvez pas démarrer avec les nouveaux fichiers.

Tout ce qui vous reste à faire est de vous assurer que tout correspond encore à votre goût et que vous avez une date plus récente pour la version du correctif de sécurité dans les paramètres de votre téléphone. Maintenant vous êtes prêt pour la prochaine mise à jour!