Panne CrowdStrike : comment une simple mise à jour a-t-elle entrainé une telle pagaille ?
« C’est le stagiaire qui… »
L’incident survenu chez CrowdStrike a entrainé un plantage d’un très grand nombre d’ordinateurs Windows. Comment en est-on arrivés là ? Il s’agit très probablement de la convergence de plusieurs facteurs techniques, que nous allons exposer.
Le 19 juillet à 17h59
7 min
Sécurité
Sécurité
Dans notre article, nous relations comment une mise à jour du logiciel Falcon Sensor de CrowdStrike avait provoqué une épidémie d’écrans bleus à travers le monde. La panne engendrée a touché de nombreux aéroports et autres structures.
Comment le déploiement d’une telle mise à jour a-t-elle été possible ? Pourquoi la mise à jour d’un produit de sécurité peut-elle aboutir à un plantage complet du système ?
Une question de privilèges
Sous Windows, comme sur n’importe quel autre système d’exploitation, il existe des niveaux de privilèges, basés sur un système d’anneaux concentriques (les fameux rings). Le ring 0 constitue l’espace noyau (ou kernel). Les privilèges y sont maximaux, de même que les performances. Dans son infrastructure, Microsoft a simplifié les autres niveaux depuis longtemps et n’en laisse aujourd’hui qu’un autre : le ring 3, l’espace utilisateur.
Dans les vieilles versions de Windows, de nombreux pilotes étaient en espace noyau. Aujourd’hui, le paysage a changé. L’évolution du framework de développement des pilotes a repoussé un nombre croissant de catégories vers le ring 3. Sous les actuels Windows 10 et 11, les pilotes en espace noyau sont beaucoup plus rares. Le cas le plus connu est le pilote graphique, pour des questions de performances.
L’autre exception est pour les logiciels de sécurité. On parle ici des antivirus et plus généralement des suites de sécurité. Ce type de produit surveille un certain nombre de processus. Pour le faire, ils utilisent le plus souvent un pilote en espace noyau, lui octroyant les privilèges nécessaires à une telle surveillance.
Mais puisqu’un grand pouvoir implique de grandes responsabilités, le plantage d’un pilote en espace noyau peut avoir des conséquences bien plus importantes que, disons, le pilote de votre souris USB. Vous avez déjà peut-être rencontré un clignotement soudain de l’écran sous Windows, le système vous avertissant qu’une panne du pilote graphique a été détectée. Le message indique que le pilote a été relancé. Parfois, le système n’y parvient pas et un écran bleu se produit.
Comme l’explique l’ingénieur Aurélien Chalot chez Orange Cyberdéfense, le fonctionnement est le même pour les EDR (Endpoint Detection and Response), auxquelles appartiennent les suites de sécurité. La proximité du pilote avec le noyau lui octroie privilèges et performances. Mais, en cas de plantage, c’est le noyau lui-même qui risque de partir avec l’eau du bain.
Un simple fichier de définition
Falcon Sensor de CrowdStrike possède bien un pilote en espace noyau, csagent.sys. C’est un agent responsable du cœur des fonctionnalités de surveillance. Il est alimenté très régulièrement par des fichiers de définition. Ceux-ci permettent de mettre à jour les capacités de détection des malwares de l’agent en lui donnant les moyens de les repérer par leur empreinte.
Falcon Sensor, comme toutes les autres solutions de sécurité, reçoit donc plusieurs types de mises à jour. Certaines concernent l’agent, d’autres, beaucoup plus fréquentes, les définitions. Or, c’est un fichier de définition qui a provoqué la vaste panne. Comment est-ce possible ?
Selon l’expert en cybersécurité Kevin Beaumont, qui a récupéré des fichiers incriminés, tout vient d’un problème de formatage. Le fichier de définition, lorsqu’il est interprété par le pilote, entraine un plantage de ce dernier qui, à son tour, entraine le noyau Windows avec lui. Les machines sous Linux et MacOS ne sont pas affectées.
Pour lui, une chose est sûre : « Il s'agira de l'incident "cyber" le plus important de tous les temps en termes d'impact, c’est juste un spoiler, tant la récupération est difficile ».
La question du processus de validation
Plus on en apprend sur les raisons techniques de l’incident, plus la question de la validation s’impose : comment une telle mise à jour a pu passer les tests de qualité (QA) et être validée pour déploiement ?
Car il faut constater l’ampleur de la panne. Au vu du nombre de machines concernées (au strict minimum des dizaines de milliers, partout dans le monde), on peut se demander comment un problème aussi important n’a pas été détecté durant la phase de test. À moins que celle-ci ait été particulièrement légère, voire inexistante.
C’est la question que se pose notamment l’ingénieur Maiko Bossuyt (MaikoB sur X). Il n’est pas le seul, le sujet revient régulièrement sur les réseaux sociaux. CrowdStrike n’a pour le moment rien dit.
Tous les mêmes
— CommitStrip FR (@CommitStrip_fr) January 5, 2017
https://t.co/t5hHPJ6mLK pic.twitter.com/yo4ONRdt9O
Redémarrez 15 fois…
La question de la réparation, en revanche, pose toujours un gros problème. Microsoft, sur sa page de statut pour Azure, indique avoir reçu des retours de clients sur le plantage CrowdStrike qui touchait des machines virtuelles Windows ou Windows Server.
Dans le cas des machines virtuelles, les tâches peuvent être automatisées. Selon des clients, redémarrer les machines plusieurs fois (jusqu’à quinze !) donne de bons résultats.
Selon Maiko Bossuyt, avec qui nous nous sommes entretenus, l’explication est simple : le BSOD n’est pas forcément immédiat. Avec un peu de chance, Windows a le temps de se charger et Falcon Sensor de trouver la dernière mise à jour, qui corrige le tir. S’il parvient à la récupérer et l’installer, la machine est tirée d’affaire. « Ça se joue vraiment à quelques secondes », ajoute-t-il. L’opération est donc loin de réussir dans tous les cas
Malheureusement, les machines virtuelles ne sont pas les seules : les machines physiques (ordinateur et serveurs) sont également concernées. D’après les retours obtenus par Next, les PC Windows où le système est installé nativement sont aussi impactés.
… ou déplacez-vous (y compris en datacenter)
La réparation prend beaucoup plus de temps, car il faut intervenir physiquement sur chaque ordinateur et se déplacer dans les datacenters pour les serveurs Windows sans accès IPMI (ou autre). Dans le cadre d’organisations possédant des milliers de machines, l’opération risque de virer au cauchemar. Si BitLocker est actif, il faut en plus avoir la clé de restauration de chaque machine sous la main.
Enfin, précisons que ce n’est pas la première fois que le pilote de Falcon Sensor entraine des problèmes, même si aucun de cette ampleur. Sous Windows, on trouve des cas de plantage similaires en décembre dernier. En avril, on relevait des kernel panics sur Linux.
Panne CrowdStrike : comment une simple mise à jour a-t-elle entrainé une telle pagaille ?
-
Une question de privilèges
-
Un simple fichier de définition
-
La question du processus de validation
-
Redémarrez 15 fois…
-
… ou déplacez-vous (y compris en datacenter)
Commentaires (46)
Vous devez être abonné pour pouvoir commenter.
Déjà abonné ? Se connecter
Abonnez-vousLe 19/07/2024 à 18h07
Crowdstrike est au début d'un sacré bordel...
Le 22/07/2024 à 14h48
Le 19/07/2024 à 18h17
Modifié le 19/07/2024 à 19h19
edit: après avoir vu plus de messages, il semble que c'est plutôt aléatoire en fait (mais le coup du "full zéro" est très drôle quand même)
Modifié le 19/07/2024 à 19h00
Le 19/07/2024 à 18h39
Le 19/07/2024 à 20h22
Le 19/07/2024 à 19h12
Le 19/07/2024 à 19h16
Le 19/07/2024 à 19h18
Le 19/07/2024 à 20h50
Salut à toi, voyageur temporel
Le 20/07/2024 à 17h48
Le 22/07/2024 à 17h10
4 smileys pour mon message / 20 pour cette réponse.
Il y a eu 5x plus de personnes qui n'ont pas compris la teneur de mon message (le prompt étant pourtant suffisamment révélateur) que de personnes d'une infinie intelligence ayant discerné toute la subtilité de mon prompt.
Le 21/07/2024 à 01h03
Le 22/07/2024 à 17h11
Le 19/07/2024 à 19h19
Comme dit notre expert en cybersécurité, a trop vouloir durcir les protections on finit par mettre en péril la triade "Confidentialité, Intégrité et Disponibilité". C'est un équilibre subtil.
Ca va p-e inciter Ms a fournir un vrai "failsafe mode" sur windows, avec FS Read-Only pour le système et A/B.
Soyons fous.
Le 21/07/2024 à 23h18
cf red hat qui a eu un problème similaire en juin https://access.redhat.com/solutions/7068083 - un patch côté kernel a corrigé le vérificateur eBPF pour ça.
Le 24/07/2024 à 06h59
Ce n'est pas "plus safe" que Windows: Windows vérifie des signatures - Linux vérifie au kernel et Windows externalise, c'est tout.
Modifié le 24/07/2024 à 20h27
cf https://www.brendangregg.com/blog/2024-07-22/no-more-blue-fridays.html
Modifié le 24/07/2024 à 07h03
Ceci dit, avec le boot from VHD, c'est possible depuis Windows Vista: un Windows, un VHD, un disque de différence - et on peut charger plusieurs environnements, revenir à la config d'origine (le VHD), distribuer nue second VHD avec les dernières updates ... Hyper pratique sur des postes "invités"
Ceci dit, en général le mode récup de Windows se débrouille pas mal, mais dans ce cas précis, il ne détecte pas un problème de boot ou un pilote qui fait planter trop souvent, c'est bizarre.
Le 19/07/2024 à 19h39
Ne devraient être en ring 0 que les opérations qui requièrent absolument un ring 0, tout le reste des tâches devraient s'effectuer en ring 3. La base quoi ....
Le 19/07/2024 à 22h30
Le code noyau, c'est comme l'embarqué, pas le droit à l'erreur donc il faut tout blinder
Le 20/07/2024 à 07h54
Du mal à comprendre comment ça peut passer.
Le 25/07/2024 à 08h53
Le 19/07/2024 à 20h21
Le 19/07/2024 à 20h49
Une possibilité c’est que le processus QA soit plus léger avec les définitions qu’avec le code de l’agent, et qu’il y ai une faille dans la CD qui produit une défaillance après l’étape de contrôle qualité. Typiquement, la QA teste très peux les bugs issuent de la CD en tant que tel et donc une altération de fin de process pourrait passer sous les radars.
Le 19/07/2024 à 21h36
Le 19/07/2024 à 21h51
Il n'empêche que les cahiers des charges ne sont pas toujours très fournis ou à coté de la plaque.
Mais bon, toujours facile a dire après coup hein ?
Le 19/07/2024 à 23h31
Est-ce vraiment bon de se fournir en solution de sécurité chez des acteurs uniquement B2B ?
Cela aurait pu arriver à un Avast, et consort.
Y'a de la méditation à faire de ce coté là.
Le 20/07/2024 à 16h05
Le 20/07/2024 à 16h24
C'était début des années 2000, je jouais à Silent Hill premier du nom genre à 2h du mat. Suspens à son paroxisme (c'était la première fois que j'y jouais ^^). J'étais dans l'école, le son à fond pour épier le moindre bruit.
Quand soudain...
VOTRE BASE DE DONNEES VIRALE A BIEN ETE MISE A JOUR
Le 20/07/2024 à 08h08
Vu le tarif du produit, ils ont quelques explications à donner sur le comment ils en sont arrivés là et ce qu’ils vont faire pour blinder le process (qui aurait déjà du l’être mais ils ont pris du carton et ça ne l’a pas fait).
Le 20/07/2024 à 09h13
Là les RSSI feront moins les gourous quand même
Le 20/07/2024 à 11h46
Sachant que la plupart des auditeurs ne sont pas techniques, donc ils voient EDR sur tout le parc ils sont content...
Le 20/07/2024 à 19h43
Le 20/07/2024 à 11h59
Pour les entreprises qui consomment du Cloud, donc payé à l'usage, un EDR qui scanne des dossiers en permanence c'est autant d'actes de lecture sur des disques managés. Et la facture peut grimper trèèèèèès vite dans le cas de stockage objet.
Le 20/07/2024 à 19h41
Le 20/07/2024 à 10h22
Le 22/07/2024 à 14h42
Modifié le 20/07/2024 à 10h33
Certaines fonctions avaient une parenthèse "(" dans le début de la fonction de maths de pré-affiché… Si on avait le malheur de finir l’expression avec un ], là c’était blocage complet et hard/factory reset (soit en une seconde seulement des heures évaporées à rentrer à la main toutes les formules de maths/physiques de 2 années de cours).
J’avais montré le bug à un camarade de classe sur sa HP, ben il n’avait pas aimé, mais alors vraiment pas du tout… le factory reset...
.
Le 20/07/2024 à 13h21
Wikipedia
des millions d'appareils touchés, pendant des heures.
le PDG avait carrément fait des excuses publiques sur youtube à l'époque.
pas mieux que bitdefender en l'année d'avant..
Le 20/07/2024 à 16h33
Pour ma part, cela me rappelle l'histoire de Bitdefender qui prend tous les fichiers système pour un logiciel malveillant et les met en quarantaine. C'était il y a des lustres, et à l'époque cela concernait que les systèmes 64 bits (qui n'étaient pas encore majoritaires).
McAfee a eu aussi le coup il me semble.
Le 21/07/2024 à 17h15
On a eu de la chance au taf que la màj a été retardée par le firewall moisi de l'époque.
Modifié le 22/07/2024 à 14h39
Le 22/07/2024 à 15h59
Modifié le 22/07/2024 à 16h00