Panne CrowdStrike : comment une simple mise à jour a-t-elle entrainé une telle pagaille ?

« C’est le stagiaire qui… »

Panne CrowdStrike : comment une simple mise à jour a-t-elle entrainé une telle pagaille ?

Photo de Igor Omilaev sur Unsplash

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 2024 à 17h59

Commentaires (46)

votre avatar
Notre serveur d'identification est tombé, ben heureusement qu'on a le Support sur une plateforme cloud pour répondre aux clients. Par contre faire quoi que soit avec les outils internes c'était mort tout ce matin.

Crowdstrike est au début d'un sacré bordel...
votre avatar
J'ai déjà vu le cas où le support lui même était bloqué dehors à cause d'un serveur d'authentification tombé en panne en dehors des horaires de travail.
votre avatar
Sur des applications critiques les fichiers de définition passent sans contrôle à priori ?
votre avatar
Ce qui est encore plus drôle, c'est que le fichier impacté est juste... une suite de zéros: 42k d'octets nuls.

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)
votre avatar
Dans 4 ans, nous saurons si ce n'est pas un ingénieur de CrowdStrike payé par Wagner pour pousser un fichier foireux et fait à la vas-vite à la MEP.
votre avatar
free/net/openBSD, grands oubliés de ce nouveau jour ferié..
votre avatar
Bsoday !
votre avatar
ça n'a jamais été drôle CommitStrip, c'est du niveau des BD blagues de blondes. Vivement le strip de Flock qu'on se marre !
votre avatar
T'as vu ton pseudo et tu critiques commit strip :-D
votre avatar
roh, basse attaque, j'ai trouvé ce pseudo en utilisant ChatGPT4 avec le prompt "crée moi un pseudo super rigolo qui fasse consensus et politiquement correct".
votre avatar
j'ai trouvé ce pseudo en utilisant ChatGPT4
"est avec nous depuis le 6 décembre 2004"

Salut à toi, voyageur temporel
votre avatar
ou il a juste changé son pseudo (et oui, on peut :p)
votre avatar
Data Analyse :
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.
votre avatar
Oui, hâte d'avoir un Nième dessin de gros patron chauve tréméchan avec des billets qui sortent des poches et bien sûr des banquiers aux nez et doigts crochus
votre avatar
lo po compris (ou j'espère pas). C'est une accusation très discrète d'antisémitisme ?
votre avatar
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.
Ah... Le driver en mode noyau, vs le driver en mode utilisateur, vs les API/Hook du système.

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.
votre avatar
Le hook noyau / eBPF est sensé être sûr (code exécuté dans une sandbox, et passé par un vérificateur), et d'ailleurs crowdstrike sur linux semble fonctionner ainsi. Donc a priori, plus safe que sous windows... sauf que même comme ça, ils parviennent à déclencher un kernel panic :ooo: (en théorie ça devrait pas)
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.
votre avatar
Parce que la partie montée peut être vérifiée/signée et tout c qu'on veut, les fichiers de paramétrage ne le sont pas.
Ce n'est pas "plus safe" que Windows: Windows vérifie des signatures - Linux vérifie au kernel et Windows externalise, c'est tout.
votre avatar
Non non, je maintiens, en théorie un programme eBPF ne peut pas kernel panic. Là, il l'a fait à cause d'un bug (désormais fixé) dans le vérificateur. [Edit: en réalité c'est le vérificateur qui a crashé à cause du programme, le programme lui-même n'ayant même pas été exécuté, si je suis bien] . Le programme eBPF peut éventuellement crasher, être buggé, etc. mais ça ne devrait pas affecter le noyau, ou du moins pas jusqu'au crash.

cf https://www.brendangregg.com/blog/2024-07-22/no-more-blue-fridays.html
The worst thing an eBPF program can do is to merely consume more resources than is desirable, such as CPU cycles and memory. eBPF cannot prevent developers writing poor code -- wasteful code -- but it will prevent serious issues that cause a system to crash.
votre avatar
Ca c'est vrai. Il est passé où le mode wimboot qui nous permettait de booter directement sur l'image ISO, en dur dans le disque, tout en chargeant "dynamiquement" les modifs passées dans le FS, un peu comme un fichier de modifs?
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.
votre avatar
Pourquoi la tâche de parsing du fichier de définition se fait-elle en mode noyau ?
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 ....
votre avatar
Pourquoi la tâche de parsing n'est pas capable de gérer correctement des données pourries ? C'est juste la moindre des choses de ne faire aucune confiance aux contenus des fichiers, particulièrement en mode noyau.
Le code noyau, c'est comme l'embarqué, pas le droit à l'erreur donc il faut tout blinder
votre avatar
Clairement.
Du mal à comprendre comment ça peut passer.
votre avatar
On va dire qu'on est sur de la sécu. Que ne pas avoir la conf correspond peut-être à une brèche. Sur ce sujet je leur laisse le bénéfice du doute.
votre avatar
Merci de détailler un peu ce qu'il s'est passé de manière claire et précise, car on lit vraiment pas mal de bêtises sur les sites grand public :/
votre avatar
J’avoue également avoir du mal à comprendre comment ça à passé la QA, et s’il y n’y en a pas comment c’est possible pour une si grosse boîte de se permettre de prendre autant de risque.

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.
votre avatar
L’agent devrait être capable d’ignorer des fichiers mal fichus. C’est une source classique de vulnérabilités et un éditeur dans le domaine le sait forcément. On peut par exemple faire du fuzzing pour tester ça (en envoyant des données qui ressemblent à n’importe quoi).
votre avatar
C'est sur que disposer d'un labo offline qui dispose de sans des version système pris en charge, même lors des début de VirtualBox on pouvais le faire avec des CD gravés...

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 ?
votre avatar
La grande question est :
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à.
votre avatar
Cela aurait pu arriver à un Avast
La nana d'Avast a trop fait faire d'arrêts cardiaques aux gentils geeks qui avaient laissé leurs HP à donf :D
votre avatar
Je me souviendrais toujours d'une fois où j'ai littéralement failli me pisser dessus à cause de ça.

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
votre avatar
Moins d’un mois après https://www.thestack.technology/crowdstrike-bug-maxes-out-100-of-cpu-requires-windows-reboots/ (Ça a coûté combien de MW cette petite blague ?)
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).
votre avatar
Je n'ai jamais compris pourquoi sur une ferme de serveurs en réseaux fermés (incluant ports locaux), un AV ou pire un EDR était nécessaire. Or, j'ai des cas où des RSSI l'imposent sans expliquer comment et pourquoi c'est nécessaire, sachant qu'il y a un impact plus ou moins grand sur les perfs avec un agent qui passe son temps à tout scanner y compris les logs applicatifs qu'il ne sait pas interpréter. Ca ressemble parfois à du gros BS..
Là les RSSI feront moins les gourous quand même
votre avatar
Tu as la réponse: le RSSI l'impose, et pourquoi ? Car les normes l'imposent... (27001) il n'y a aucune réflexion derrière, même l'analyse de risque qui peut dire "on tolère pas d'AV sur serveurs car isolés, surface attaque réduite, etc..." Ben ça passe pas, il faut un AV partout...(voire EDR donc).
Sachant que la plupart des auditeurs ne sont pas techniques, donc ils voient EDR sur tout le parc ils sont content...
votre avatar
Je sais surtout que la norme est une façon d'imposer des produits. Quant aux auditeurs, je vais dire poliment que c'est une blague. Je leur reconnais néanmoins une très grande expertise dans les prez Powerpoint. Ile ne savent rien mais présentent ça joliment. :D
votre avatar
Et l'impact n'est pas que performance technique. Il est aussi financier quand un EDR est mal configuré.

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.
votre avatar
Surtout qu'il y a souvent des SLA/SLOs a tenir aussi en terme de performances avec des impacts financiers à la clef..
votre avatar
Heureusement qu’on est chez Palo Alto dans ma Cogip
votre avatar
On l'a, c'est très mauvais. Des logiciels qu'on compile nous même sont pris pour des virus.
votre avatar
En parlant de truc mal formaté, rien de neuf ici… Je me rappelle fin des années 90, sur une HP 48G (calculatrice scientifique qui coûtait environ 200€ @ 2024-inflation, utilisée surtout en prépa), remplie de fonctions mathématiques.

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...
:mdr2:
.
votre avatar
tout le monde se souvient : en 2011, blackberry avait subi une lourde panne aussi :
en.wikipedia.org 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..
votre avatar
Merci Next pour le suivi de cette histoire.

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.
votre avatar
En effet, McAfee a eu le même problême, fichier système reconnu comme une menace et paf, ça fait des chocapics...

On a eu de la chance au taf que la màj a été retardée par le firewall moisi de l'époque.
votre avatar
Et surtout pourquoi a-t-on mis un antivirus sur de simples terminaux où l'utilisateur ne peut rien faire d'autre que d'exécuter le programme prévu ou même parfois ne peut rien faire d'autre que lire ?
votre avatar
Ce n'est pas un antivirus.
votre avatar
un antivirus ou un EDR ne servent pas forcément QUE à se protéger du user (l'interface chaise clavier ;)), ça peut aussi servir à se protéger d'une attaque visant le terminal depuis le réseau (genre un virus réussi à accéder au terminal (via une faille quelquonque) et tente de s'exécuter pour compromettre le terminal...

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)

Fermer