web-dev-qa-db-fra.com

Les déploiements échelonnés des correctifs de sécurité sont-ils mauvais?

De nombreux appareils Android, y compris la gamme Google Nexus, reçoivent désormais des correctifs de sécurité mensuels via les mises à jour OTA, accompagnés des Bulletins de sécurité Android . Cependant, ces mises à jour sont souvent publiées dans ce que l'on appelle des "déploiements échelonnés", où la mise à jour est disponible pour davantage d'appareils (du même modèle) au fil du temps, au lieu de devenir instantanément accessibles à tous les utilisateurs.

Je comprends que pour les mises à jour des fonctionnalités, les déploiements progressifs permettent de corriger les erreurs ou les bugs avant que tous les utilisateurs reçoivent le nouveau logiciel. Cependant, pour les correctifs de sécurité, une version échelonnée ne faciliterait-elle pas beaucoup la tâche des pirates informatiques utilisant les vulnérabilités désormais publiques contre les utilisateurs dont les appareils n'ont pas encore reçu l'OTA, même si un correctif pour leur modèle d'appareil est déjà disponible?

Par exemple, j'ai un téléphone Google Nexus qui est censé être parmi les premiers à recevoir toutes les mises à jour Android. La dernière mise à jour de sécurité Android Android a été rendue publique le Le 4 mai 2016, ainsi que son code source; il s'agit déjà du 16 mai 2016, et mon appareil Nexus me dit toujours que mon "système est à jour", même lorsque je clique sur le bouton "Rechercher les mises à jour". Bien sûr, je peux télécharger manuellement les dernières images du firmware et les flasher manuellement; mais les mises à jour de sécurité ne devraient-elles pas être mises à la disposition de tous les appareils du même modèle le plus rapidement possible une fois qu'elles sont devenues publiques?

Edit: Merci pour les réponses très réfléchies. Bien que cette question soit destinée à être largement applicable à différents appareils, ma préoccupation spécifique est le "déploiement échelonné" intentionnel sur des appareils identiques du même modèle, une fois qu'un correctif a déjà été développé pour ce modèle spécifique. Par exemple, la mise à jour de sécurité de mai 2016 a été publiée pour le Google Nexus 6P au début du mois, mais depuis le 16 mai, tous les appareils Nexus 6P n'ont pas reçu la mise à jour OTA. Google publie chaque mois des correctifs de sécurité pour les appareils Nexus, et chaque mois certains appareils les reçoivent quelques semaines plus tard que d'autres appareils du même modèle.

63
tonytan

Excellente question.

Oui, votre compréhension est correcte, ainsi que votre justification.

Échelonner les déploiements de nouvelles fonctionnalités est souvent logique.

Il est rarement judicieux d'étaler les déploiements des correctifs de sécurité. Comme vous l'avez souligné, cela donne encore plus de possibilités d'exploiter les vulnérabilités. Peut-être plus important encore, les correctifs peuvent être rapidement rétroconçus pour développer des exploits de manière rapide.

Microsoft publie souvent leurs correctifs le deuxième mardi du mois (et parfois le quatrième mardi). Cela a été communément appelé " Patch Tuesday ". Il y a une raison pour laquelle nous appelons le lendemain "Exploit mercredi".

Il est regrettable qu'une partie importante de l'écosystème Android Android n'ait pas appris de ce phénomène.

Mises à jour:
Plusieurs personnes bien informées ont souligné l'impact potentiel sur l'infrastructure Internet, y compris les craintes de surcharger Internet tout entier. Le volume du trafic Internet est monumental; les correctifs de sécurité, même extrêmement volumineux, sont de minuscules gouttes dans le seau. Microsoft publie de gros correctifs pour des centaines de millions d'utilisateurs le même jour chaque mois, et ils n'ont pas encore "écrasé Internet". Netflix, YouTube et Twitch diffusent des vidéos à des millions de personnes chaque jour, et même avec leur trafic combiné, ils n'ont pas encore "écrasé Internet".

D'autre part, les correctifs Android Android sont principalement (mais pas exclusivement) fournis aux utilisateurs sans fil. Il existe des solutions à tous les problèmes de - potentiel:

  1. Fournissez aux utilisateurs le choix du moment où télécharger les correctifs. Cela offre de nombreux avantages:
    • Ne perturbe pas le flux de travail de l'utilisateur
    • Crée un trafic stupéfiant en raison de l'interaction humaine et de la variabilité des décisions
    • Permet à l'utilisateur d'attendre qu'il soit connecté à un système à bande passante plus élevée (peut-être au travail, à l'université, à la maison en WiFi)
    • Permet à l'utilisateur, à ses risques et périls, d'attendre et de voir si d'autres signalent des problèmes avec les correctifs
  2. Lorsque vous distribuez des correctifs dans des régions spécifiques connues pour avoir une infrastructure limitée qui pourrait être affectée, échelonnez les correctifs sur le nombre minimal de jours pour éviter de surcharger l'infrastructure.

En ce qui concerne spécifiquement les mises à jour de sécurité de Google Nexus 6P ne sont pas publiées rapidement, c'est simplement un mauvais choix de Google qui n'est pas dans le meilleur intérêt de leurs clients. Comparés au volume massif de trafic Internet, ces correctifs sont minuscules.

En plus de cela, cet appareil est relativement rare dans l'écosystème Android. Cela soutient en outre l'affirmation selon laquelle la publication des correctifs pour tous les clients à la fois ne nuirait à aucun fournisseur d'accès Internet.

Même la gamme de produits entière Google Nexus ne comprend qu'une infime partie du monde Android. En tant que gamme de produits, cependant, il pourrait y avoir un petit impact sur l'infrastructure Dans certaines régions, la méthodologie suivante, combinée aux recommandations décrites ci-dessus, minimisera l'impact de l'infrastructure tout en maximisant la distribution des correctifs:

  1. Diffusez immédiatement les correctifs d'exploitation zero-day
  2. Publier des mises à jour planifiées à des jours différents chaque mois, un jour différent pour chaque produit
  3. Si un produit a une part de marché importante qui pourrait raisonnablement avoir un impact sur l'infrastructure dans une région, échelonnez le déploiement sur le nombre minimal de jours requis pour éviter la surcharge de l'infrastructure dans cette région uniquement

Enfin, selon vos déclarations, cela fait plus de deux semaines que Google a initialement publié ces correctifs pour le Google Nexus 6P. C'est plus que suffisamment de temps pour savoir si leurs correctifs causent des ravages. Je n'ai trouvé aucune documentation de Google reconnaissant ou s'excusant pour un mauvais groupe de correctifs, ni aucune preuve anecdotique de problèmes graves.

On pourrait faire valoir que l'échelonnement des correctifs sur quelques jours pourrait être raisonnable afin de détecter les correctifs défectueux et de réduire la charge de trafic. Mais laisser les clients sans correctifs pendant des semaines est déraisonnable, inutile et n'est pas une politique efficace du point de vue de la sécurité des informations.

En conclusion, sur la base des déclarations ci-dessus et de votre déclaration selon laquelle Google n'a pas déployé les correctifs de sécurité sur votre appareil, ma conclusion est que Google, en ne fournissant pas de correctifs de sécurité à tous les clients Google Nexus 6P concernés, prend une mauvaise décision et fait du tort à leurs clients.

56
RockPaperLizard

Cependant, pour les correctifs de sécurité, une version échelonnée ne permettrait-elle pas beaucoup plus facilement aux pirates informatiques d'utiliser les vulnérabilités désormais publiques contre les utilisateurs dont les appareils n'ont pas encore reçu l'OTA, même si un correctif pour leur modèle d'appareil est déjà disponible?

Plus facile que quoi?, Est la question importante. Oui, ce sera plus facile pour le pirate informatique pendant quelques jours pendant la mise à jour de la mise à jour. Mais ce sera beaucoup plus difficile pour le pirate informatique si alors la mise à jour n'a pas été envoyée du tout.

Une version échelonnée maintient le réseau en mouvement, les serveurs en cours d'exécution et les 1 et 0 circulant pendant que tout le monde reçoit sa mise à jour. Si chaque Android sur le marché essayait de se mettre à jour en une seule fois, vous vous retrouveriez avec une énorme quantité de trafic atteignant une minuscule ressource.

L'autre option ne fait une mise à jour que lorsque les gens la "scannent". C'est horrible aussi.

Ainsi, alors que l'approche échelonnée n'est pas la meilleure absolue, elle est la meilleure disponible en ce qui concerne les ressources.

Gardez à l'esprit que pour profiter de cette fenêtre, vous devrez trouver un périphérique entre le moment où le patch a été publié et le moment où (le périphérique) a obtenu sa mise à jour.

Rappelez-vous également que Android est Open Source. Il est beaucoup plus rentable d'écrire des exploits qui sont toujours viables, que ceux que vous connaissez seront dans la prochaine version (car vous pouvez voir le code).

Donc, en été:

  • Les correctifs ne sont pas un secret avant le démarrage de la poussée de sécurité.
  • C'est mieux que pas de mises à jour du tout
  • C'est mieux que de planter le réseau mobile ou le serveur de mise à jour.
  • La fenêtre d'opportunité est telle que très peu de personnes devraient être affectées, qui ne sont pas déjà une cible active.
4
coteyr

Je ne dirais pas que je suis un expert en la matière, donc mon argument n'est peut-être pas valable.

J'ai rapidement lu sur Wikipedia

Sur les appareils mobiles modernes tels que les smartphones, une mise à jour en direct peut se référer simplement à une mise à jour logicielle distribuée via Wi-Fi ou haut débit mobile à l'aide d'une fonction intégrée au système d'exploitation

De cette citation, nous pouvons noter que la mise à jour est distribuée via le WiFi ou le haut débit mobile, qui ne sont pas toujours disponibles en même temps, par exemple. Si j'habite dans un endroit où il n'y a pas de modules WiFi ou si le signal est faible, il est possible que je manque le moment où les mises à jour sont envoyées, puis il sera téléchargé après un certain temps.


Mises à jour effectuées par le gestionnaire intégré

Certains programmes de mise à jour intégrés peuvent avoir des paramètres, qui vous permettent de personnaliser lorsque vous souhaitez vérifier et télécharger les mises à jour OTA. Vos paramètres peuvent être définis pour vérifier les mises à jour lorsque l'appareil est allumé, deux fois par jour, quotidiennement, hebdomadairement, mensuellement ou même manuellement. Si certains appareils ont des paramètres différents, ils peuvent recevoir les mises à jour à différents moments.


Mises à jour effectuées par le producteur

Dans ce cas, les mises à jour sont effectuées par le producteur du firmware, dans ce cas google. Comme déjà mentionné, vous ne pourrez peut-être pas recevoir d'informations qu'une nouvelle mise à jour est disponible, car par exemple batterie morte, aucun signal, etc.
Les mises à jour ont tendance à être effectuées lorsque l'utilisateur n'utilise pas son téléphone, donc cela n'empêche pas l'utilisateur de faire ce qu'il fait en ce moment, donc la mise à jour peut être effectuée la nuit.


Différence matérielle entre deux modèles de téléphone identiques

(REMARQUE: ce point peut ne pas être valide pour certains appareils, y compris le vôtre, car certains appareils peuvent être exactement les mêmes dans la première version et sa version finale)

Parfois, même le même modèle d'appareil peut être un peu différent. Par exemple, au début, la Xbox 360 n'avait pas de sortie HDMI, mais après un certain temps, elle a été ajoutée et cela a probablement nécessité la création d'un autre logiciel. Même si les deux types de xbox sont différents, le nom du modèle est toujours le même. Cela fait que certains appareils avec le même nom de modèle ne sont pas réellement les mêmes à l'intérieur.

Il y a une différence majeure entre par exemple. Windows 10 64 bits et Android. La différence est que la version 64 bits de Windows s'exécutera sur un processeur prenant en charge long mode (Mode 64 bits) et le jeu d'instructions seront les mêmes dans AMD et Intel. Le problème avec Android est que différents appareils peuvent avoir des processeurs différents avec un jeu d'instructions différent, et cela peut même nécessiter un code totalement différent pour les téléphones. Cela fait que les mises à jour pour différents appareils peuvent arriver des moments différents.

Par exemple, cela pourrait être le cas si vous disposiez de peu de cartes WiFi. Disons que vous avez installé le pilote pour l'un d'eux. Il est très probable que d'autres cartes ne fonctionneront pas avec ce pilote, vous devrez donc installer un pilote différent, qui aura certainement un code différent. Maintenant, si le producteur de ces cartes WiFi trouve un bogue dans tous ces pilotes, il est seulement possible de le corriger un par un, ou d'avoir beaucoup de gens travaillant en même temps sur différentes versions. Cependant, même si plusieurs personnes travaillent sur plusieurs fichiers en même temps, l'une peut terminer le correctif plus tôt que l'autre. Dans ce cas, la mise à jour sera publiée plus rapidement que pour l'autre.

Notez que le producteur peut également attendre que chaque version de code soit corrigée puis effectuer une mise à jour sur tous les appareils en même temps, mais la mise à jour des bogues, même sur un seul appareil, diminue le nombre de personnes qui seraient vulnérables à ce bogue.

Notez également que les pilotes dans Windows sont installés par vous, probablement en utilisant .exe installateurs. Dans Android tous ces pilotes sont intégrés, et comme je l'ai mentionné précédemment si vous avez besoin d'une version différente du pilote pour différents téléphones, vous passerez un peu de temps à réparer tous ces pilotes. Je suppose que la façon dont google travaille avec la mise à jour est qu'ils mettent à jour les téléphones le plus rapidement possible après avoir corrigé le problème.


Vous avez également mentionné que même si vous cliquez manuellement sur le bouton "vérifier la mise à jour", votre appareil indique que "le système est à jour". Cela peut être dû à l'indisponibilité du service de mise à jour, qui est vraiment similaire aux mises à jour effectuées par le producteur.

0
vakus