Souba SOUBA

L'antivirus qui a tout éteint

Le 19 juillet 2024, une mise à jour de contenu met environ 8,5 millions de machines Windows en écran bleu. Pas une attaque : un champ lu en trop, dans un pilote qui tourne au cœur du noyau.

55s · 14 août 2026 · 3 min de lecture

L'antivirus qui a tout éteint

En bref

L'agent Falcon de CrowdStrike s'exécute en mode noyau. Une mise à jour de contenu a demandé la lecture d'un vingt et unième champ que le code n'a jamais fourni : lecture mémoire hors limites, et Windows arrête la machine — par conception. Les correctifs étant impossibles à distance sur un système qui ne démarre plus, la remise en route s'est faite machine par machine.

Pourquoi un antivirus peut tuer la machine entière

Un logiciel de sécurité doit voir ce que les autres programmes font. Pour cela, l'agent Falcon s'installe comme pilote en mode noyau, sous le nom CSAgent.sys — un pilote de filtre de système de fichiers, qui reçoit des notifications sur les opérations en cours. C'est ce qui lui donne sa puissance : à ce niveau, rien ne lui échappe. C'est aussi ce qui le rend dangereux. Le système d'exploitation isole les applications les unes des autres, mais il n'isole pas le noyau de lui-même. Quand un composant en mode noyau accède à une adresse mémoire qui ne lui appartient pas, Windows n'a aucune façon sûre de continuer : il arrête la machine et affiche un écran bleu. Ce comportement n'est pas un défaut, c'est le contrat.

Une application plante

  • Le système la termine
  • Les autres programmes continuent
  • Tu la relances

Un pilote noyau plante

  • Aucune isolation possible
  • Windows arrête tout
  • Écran bleu, redémarrage

→ Le même bug ne coûte pas du tout la même chose selon l'étage où il se produit.

La cause racine, d'après CrowdStrike

L'analyse publiée par CrowdStrike le 6 août 2024 décrit une conjonction de trois défauts. Un nouveau type de modèle, dédié à l'analyse des communications entre processus, déclarait 21 champs d'entrée, alors que le code qui appelait l'interpréteur n'en fournissait que 20. Ce décalage est resté invisible pendant des mois : les règles déployées entre mars et avril 2024 utilisaient un caractère générique sur le 21ᵉ champ, ce qui n'en déclenchait jamais la lecture. La règle diffusée le 19 juillet est la première à poser une condition réelle sur ce 21ᵉ champ. L'interpréteur est allé le chercher, au-delà de la fin du tableau.

text
Tableau d'entrees fourni par le code : [0] [1] ... [19]      -> 20 champs
Modele de regles                     : [0] [1] ... [19] [20] -> 21 champs

Lecture demandee : index 20 (le 21e)  ->  hors limites  ->  arret du noyau
Une lecture d'un champ au-delà du tableau suffit, en mode noyau, à arrêter la machine.

8,5millions

d'appareils Windows touchés, soit moins de 1 % du parc

source : Microsoft

Le vrai piège : on ne répare pas à distance

C'est la partie qui a transformé un incident en crise de plusieurs jours. Toute la gestion de parc moderne repose sur une hypothèse implicite : la machine démarre, donc on peut lui envoyer quelque chose. Ici, les systèmes touchés entraient en boucle de redémarrage ou en mode de récupération. Aucun correctif ne pouvait leur parvenir. La remise en service s'est faite à l'unité : démarrer en mode sans échec, supprimer un fichier, redémarrer. Avec, pour beaucoup d'organisations, la contrainte supplémentaire de disposer des clés de chiffrement de disque pour accéder au système.

Ce que CrowdStrike a changé

  • Ajout d'une vérification des bornes à l'exécution dans l'interpréteur de contenu.
  • Correction du nombre de champs fournis par le type de modèle.
  • Validateur modifié pour n'autoriser qu'un caractère générique sur le 21ᵉ champ.
  • Déploiement progressif des règles, par vagues, au lieu d'une diffusion simultanée.
  • Contrôle donné aux clients sur le moment et le périmètre de réception des mises à jour de contenu.

À retenir

  • L'agent Falcon tourne en mode noyau (CSAgent.sys) : à cet étage, une erreur mémoire arrête toute la machine, par conception de Windows.
  • Le modèle de règles déclarait 21 champs d'entrée, le code n'en fournissait que 20 ; la règle du 19 juillet 2024 est la première à lire réellement le 21ᵉ.
  • Résultat : lecture mémoire hors limites, puis écran bleu — sans qu'aucune attaque ne soit en cause, et sans possibilité d'exploitation par un tiers.
  • Environ 8,5 millions d'appareils touchés selon Microsoft, soit moins de 1 % du parc Windows.
  • Aucun correctif à distance possible sur une machine qui ne démarre plus : réparation manuelle, machine par machine.
  • Correctifs apportés : vérification des bornes, correction du nombre de champs, et surtout déploiement par vagues.

Sources · la preuve

  1. [01] External Technical Root Cause Analysis — Channel File 291 CrowdStrike · crowdstrike.com Analyse officielle du 6 août 2024 : décalage 21/20, lecture hors limites, analyse du vidage mémoire.
  2. [02] Executive Summary — Root Cause Analysis, Channel File 291 CrowdStrike · crowdstrike.com Résumé exécutif et calendrier des correctifs ; défaut non exploitable par un attaquant.
  3. [03] CrowdStrike details errors that led to mass IT outage TechTarget · techtarget.com Décomposition de la conjonction de défauts et rôle du pilote noyau Windows.
  4. [04] CrowdStrike Reveals Root Cause of Global System Outages The Hacker News · thehackernews.com Caractère générique sur le 21ᵉ champ entre mars et avril 2024, et mesures correctives.
crowdstrikenoyauécran bleucsagentpanne mondiale

Aussi dans Shorts