Un champ supplémentaire a planté 8,5 millions de PC. 78 minutes.
19 juillet 2024, 04:09 UTC : CrowdStrike envoie le fichier de canal 291 – une mise à jour de contenu de réponse rapide – à chaque capteur Windows Falcon en ligne.
19 juillet 2024, 04:09 UTC : CrowdStrike envoie le fichier de canal 291 – une mise à jour de contenu de réponse rapide – à chaque capteur Windows Falcon en ligne. Le modèle qu'il alimente a été déclaré avec 21 champs d'entrée en février ; le code qui fournit les entrées construit un tableau de 20. Pendant quatre mois, rien ne lit le champ 21, car chaque règle le laisse comme un caractère générique. Cette mise à jour y place un véritable motif. Le validateur de contenu côté cloud compte 21 par rapport à la déclaration et le passe ; l'interpréteur de contenu du capteur, sans vérification des limites, lit l'emplacement 21 en mode noyau et Windows provoque des erreurs de page : PAGE_FAULT_IN_NONPAGED_AREA, csagent.sys. Le pilote se charge tôt au démarrage intentionnellement, lit le même fichier, plante à nouveau — boucle de démarrage. Reverti à 05:27 UTC, 78 minutes plus tard, mais 8,5 millions de machines (selon Microsoft, moins de 1 % de Windows) ont déjà le fichier, et la solution est un humain à chaque clavier : Mode sans échec, supprimer C-00000291*.sys, clé de récupération BitLocker. Les compagnies aériennes, les hôpitaux, les banques et les centres d'appels d'urgence s'arrêtent ; Delta annule environ 7 000 vols et réclame au moins 500 millions de dollars à CrowdStrike et Microsoft ; Parametrix estime la facture pour le Fortune 500 à près de 5,4 milliards de dollars. Post-mortem de l'analyse des causes profondes de CrowdStrike, de l'examen préliminaire post-incident, du blog de Microsoft, du formulaire 8-K de Delta et du témoignage de la Chambre. Git blame : 65 CrowdStrike / 25 la conception en mode noyau / 10 le vendredi. Verdict sur la correction : SHIP IT, de justesse.
Lire l'édition écrite (anglais) ↗
Ce que couvre cette vidéo
- 28 février – 24 avril 2024 : le capteur 7.11 livre le type de modèle IPC (21 champs déclarés, 20 fournis) ; le test de stress passe le 5 mars ; quatre instances fonctionnent car le champ 21 est un caractère générique
- 19 juillet, 04:09 UTC : deux nouvelles instances de modèle ; l'erreur logique du validateur de contenu laisse passer celle qui n'est pas un caractère générique ; lecture hors limites dans le noyau ; 05:27 UTC revertie
- 19-29 juillet : remédiation manuelle (mode sans échec, suppression du fichier, clé BitLocker) ; ~97 % des capteurs de retour le 24 juillet, ~99 % le 29 juillet
- 25 juillet – 19 août : vérification des limites à l'exécution, validation du nombre de champs à la compilation, vérifications du validateur, anneaux de déploiement et canaris, contrôle client sur le contenu de réponse rapide, deux examens indépendants ; RCA complète avec dump de crash le 6 août
Transcription traduite
Traduit de la narration originale en anglais. L'audio et les sous-titres disponibles sont gérés par YouTube.
0:00 Une mise à jour de sécurité transporte vingt et un champs dans un pilote conçu pour vingt, et huit millions et demi de machines Windows affichent un écran bleu avant le petit-déjeuner. 19 juillet 2024, 04:09 UTC. CrowdStrike envoie le fichier de canal 291 à chaque capteur Falcon. Soixante-dix-huit minutes plus tard, ils le retirent ; d'ici là, les compagnies aériennes, les hôpitaux et les banques regardent le même rectangle bleu. Le premier message du PDG dit qu'il ne s'agit pas d'une cyberattaque, c'est vrai, et ce n'est pas le propos. Comment cela se passe, pourquoi c'est possible, et qui est à blâmer.
0:27 Ceci est The Daily Diff, post-mortem. 28 février. Le capteur 7.11 livre un nouveau détecteur pour les tuyaux nommés. Il déclare vingt et un champs d'entrée ; le code qui l'alimente construit un tableau de vingt. Personne ne le remarque : pendant quatre mois, chaque règle laisse le champ vingt et un comme un caractère générique, et personne ne lit un caractère générique. Un test de stress passe, quatre règles sont livrées, tout va bien. 19 juillet, 04:09. Deux nouvelles règles ; l'une place un véritable motif dans le champ vingt et un.
0:51 Le validateur cloud compte vingt et un par rapport à la déclaration et dit que tout va bien. Chaque hôte Windows en ligne le télécharge immédiatement, car il n'y a pas d'anneau de canari. Le capteur lit l'emplacement vingt et un, qui n'est pas sa mémoire, et le noyau fait ce que les noyaux font. 05:27, reverti. Trop tard pour quiconque a redémarré : le pilote se charge tôt au démarrage, lit le même fichier et plante à nouveau. Boucle de démarrage. Pourquoi est-ce possible ? Les règles sont une configuration poussée depuis le cloud, donc pas de code qui saute la
1:16 pipeline de code. L'interpréteur n'a pas de vérification des limites ; il fait confiance au validateur, et le validateur fait confiance à la déclaration. Et tout cela s'exécute en mode noyau, où un mauvais pointeur n'est pas une exception mais une erreur de page que Windows dit ne pas pouvoir être protégée par try-except. Patrick Wardle le lit à partir d'un dump de crash cet après-midi-là : index zéro x quatorze, emplacement vingt et un. La solution est manuelle. Mode sans échec, supprimer C-00000291, redémarrer. Avec BitLocker, tapez d'abord une clé de récupération de quarante-huit chiffres
1:43 qui se trouve sur un serveur qui est aussi bleu. git blame. CrowdStrike, soixante-cinq pour cent : le RCA énumère six constats, et le constat six est une phrase complète : Les instances de modèle devraient avoir un déploiement progressif. La conception en mode noyau, vingt-cinq : CrowdStrike dit que Windows ne peut pas encore héberger la sécurité en dehors du noyau, Microsoft dit que ce n'est pas un incident Microsoft, et l'erreur de page s'en moque.
2:05 Le vendredi, dix. Le message de commit dit qu'il ne s'agit pas de code. Rayon de blast : huit millions et demi d'appareils, moins d'un pour cent de Windows. Delta annule sept mille vols et poursuit pour cinq cents millions, Microsoft inclus. Les assureurs estiment la facture du Fortune 500 à près de cinq milliards. Hacker News : quarante-cinq cents points. L'ironie : une mise à jour censée détecter de nouvelles techniques d'attaque en a livré une. Verdict, post-mortem : SHIP IT, de justesse.
2:27 Vérification des limites en six jours, anneaux progressifs, contrôle client sur les mises à jour de contenu, deux examens externes. De justesse, car tout cela était déjà une pratique standard. Lundi : tout ce que votre agent tire du cloud passe par un anneau de canari. La configuration est du code dès que quelque chose l'analyse là où il ne peut pas échouer. Envoyez-moi l'incident dont vous n'êtes toujours pas autorisé à parler, dans les commentaires, ou sur the daily diff dot dev. Et c'est la diff pour aujourd'hui.
2:48 Je suis Niko d'Axrisi. Fusionner de manière responsable.
Sources
- CrowdStrike, Root Cause Analysis — Channel File 291 (Aug 6, 2024, 12 pp.)www.crowdstrike.com
- CrowdStrike, Executive Summary of the RCA (Aug 6, 2024)www.crowdstrike.com
- CrowdStrike, Preliminary Post Incident Review (Jul 24, 2024)www.crowdstrike.com
- CrowdStrike, Remediation and Guidance Hub — Channel File 291 (the workaround steps)www.crowdstrike.com
- CrowdStrike, tech alert of Jul 19, 2024 (archived: Safe Mode → delete C-00000291*.sys → BitLocker key)web.archive.org
- Microsoft, David Weston, "Helping our customers through the CrowdStrike outage" (Jul 20, 2024; the 8.5 million figure)blogs.microsoft.com
- Delta Air Lines, Form 8-K (Aug 8, 2024; ~7,000 cancellations, at least $500 million)www.sec.gov
- Adam Meyers (CrowdStrike SVP), written testimony, House Homeland Security Subcommittee (Sep 24, 2024)homeland.house.gov
- George Kurtz on X, Jul 19, 2024, 09:45 UTCx.com
- Patrick Wardle on X, Jul 19, 2024 (the crash-dump index 0x14)x.com
- Hacker News, Jul 19, 2024 — "CrowdStrike Update: Windows Bluescreen and Boot Loops" (4,489 points)news.ycombinator.com
- The Guardian, Jul 24, 2024 — "CrowdStrike global outage to cost US Fortune 500 companies $5.4bn" (Parametrix estimate)www.theguardian.com
- Hacker News, Jul 21, 2024 — "Initial details about why CrowdStrike's CSAgent.sys crashed" (519 points)news.ycombinator.com
- Wikipedia — 2024 CrowdStrike-related IT outagesen.wikipedia.org



