78 minutes ont suffit
![Une illustration d'aigle du FBI emportant clavier et souris](http://next.ink/wp-content/uploads/2024/05/FBI1.webp)
Impossible de passer à côté : hier, des pannes en cascades se sont produites un peu partout dans le monde (aéroports, bourses, hôpitaux et d’innombrables sociétés). Des ordinateurs sous Windows affichaient des écrans bleus de la mort, les fameux BSOD. La faute à une mise à jour de CrowdStrike, une société spécialisée dans la cybersécurité pour les entreprises. L’ANSSI a d’ailleurs publié un bulletin d’alerte.
- Panne et paralysie mondiale : une mise à jour CrowdStrike provoque des bugs en cascade
- Panne CrowdStrike : comment une simple mise à jour a-t-elle entrainé une telle pagaille ?
78 minutes en ligne, des heures pour réparer les dégâts
De son côté, CrowdStrike vient de mettre en ligne un billet de blog avec des détails techniques sur le fiasco d’hier.
On commence par un résumé des éléments que l’on connait déjà : « Le 19 juillet 2024 à 04h09 UTC [6h09 heure de Paris, ndlr], dans le cadre des opérations courantes, CrowdStrike a publié une mise à jour de la configuration des capteurs pour les systèmes Windows. Cette mise à jour de configuration a déclenché une « erreur logique » entraînant un crash du système et un écran bleu (BSOD) sur les systèmes concernés ».
La mise à jour fautive a été corrigée à 07h27 heure de Paris (05h27 UTC). Elle est donc restée en ligne 78 minutes seulement. Un délai largement suffisant pour causer de gros dégâts à travers le monde. CrowdStrike le répète une nouvelle fois : « Ce problème n’est pas la conséquence ou lié à une cyberattaque ».
Attention, les escrocs sont de sortie
Si le souci a rapidement été réglé du côté de CrowdStrike, c’est une autre paire de manches chez les clients. Il faut parfois accéder physiquement aux machines (y compris des serveurs dans des datacenters) pour corriger le souci. « De nombreuses entreprises sont toujours aux prises avec les conséquences des perturbations », a indiqué ce midi le Bureau fédéral de la sécurité des technologies de l’information (BSI) allemand.
Et, au-delà des problèmes liés à l’indisponibilité des machines, le BSI met en garde contre « les cybercriminels qui exploitent les incidents pour diverses formes de phishing, d’escroquerie ou de faux sites Web ».
Le cas de CrowdStrike ne déroge pas à la règle et l’entreprise met d’ailleurs en garde. Elle « recommande aux organisations de s’assurer qu’elles communiquent avec les représentants de CrowdStrike par le biais des canaux officiels et de respecter les conseils techniques fournis par les équipes d’assistance de CrowdStrike ». Ici, elle met aussi en garde contre de faux sites.
![](http://next.ink/wp-content/uploads/2024/07/image-64.png 1021w ,//next.ink/wp-content/uploads/2024/07/image-64-300x240.png 300w ,//next.ink/wp-content/uploads/2024/07/image-64-768x615.png 768w ,//next.ink/wp-content/uploads/2024/07/image-64-510x408.png 510w)
Channel Files et le fameux C-00000291*.sys…
Pour revenir au cœur du problème, les fichiers dont il est question sont appelés « Channel Files », CrowdStrike propose un lien pour en savoir davantage… mais il nécessite un compte pour y accéder. C’était déjà le cas hier matin au début de la panne : les informations étaient pendant un temps réservées aux clients de l’entreprise. On a vu mieux sur la transparence, surtout dans un billet de blog public.
Quoi qu’il en soit, ces mises à jour « font partie du fonctionnement normal de Falcon Sensor et se produisent plusieurs fois par jour […] Ce n’est pas un nouveau processus », explique l’entreprise comme pour essayer de rassurer ses utilisateurs.
Ces Channel Files se trouvent dans le répertoire C:\Windows\System32\drivers\CrowdStrike\ et leur nom commence par « C- ». Nous le savons déjà, le fautif est un fichier sous la forme C-00000291*.sys. Il faut d’ailleurs le supprimer pour éviter les écrans bleus en série… à condition d’y arriver. Ce n’est pas toujours simple. Suivant les cas, il faut avoir accès à un compte local d’administration et/ou la clé de récupération Bitlocker.
… qui « ne sont pas des pilotes du noyau »
Les choses se compliquent un peu dans la suite des explications : « Bien que les Channel Files se terminent par l’extension SYS, ce ne sont pas des pilotes du noyau ». La fin de la citation est sous-lignée dans le billet de blog de l’entreprise.
« Channel File 291 contrôle la manière dont Falcon évalue l’exécution des canaux nommés [Named pipes en anglais dans le texte, ndlr] sur les systèmes Windows. Les canaux nommés sont utilisés pour la communication classique, interprocessus ou intersystèmes dans Windows ». Même son de cloche chez Microsoft, qui précise qu’ils offrent « plus de fonctionnalités que les canaux anonymes ».
Sur cette autre page, Microsoft ajoute que ces fameux « canaux nommés sont souvent utilisés par les attaquants afin […] de communiquer avec un implant malveillant. Il peut s’agir d’une activité légitime ou du signe que l’hôte est compromis ». Il est donc important pour les solutions de cybersécurité de les surveiller afin de détecter au plus tôt des risques.
CrowdStrike corrige son fichier
La mise à jour de 6h09 permettait justement de « cibler de nouveaux canaux nommés observés et utilisés par les frameworks C2 courants dans les cyberattaques ». Quelques précisions sur les « frameworks C2 » du billet de blog. Le C2 signifie Command and Control (avec deux C, vous l’avez ?) et framework renvoie vers une solution complète pour les pirates, avec serveur, client et agent. Bref, une « simple » (en apparence) mise à jour des signaux pour détecter au plus vite une potentielle attaque.
Au lieu de faire correctement son travail, la mise à jour « a déclenché une « erreur logique » qui a entraîné un crash du système d’exploitation ». CrowdStrike a « corrigé l' »erreur logique » en mettant à jour le contenu du Channel File 291 », mais l’entreprise ne donne aucune précision sur ce qu’elle appelle « erreur logique » et ses causes. Ses conséquences sont par contre bien connues.
Quoi qu’il en soit, l’entreprise affirme que sa solution Falcon continue de surveiller et de protéger contre les détournements de canaux nommés par des attaquants.
Inquiétude et rumeurs
L‘explication a quand même de quoi surprendre, comme l’explique Neil Madden sur Mastodon : « euh, c’est un peu inquiétant que leur réponse soit « nous avons corrigé le fichier de configuration », et non « nous avons corrigé le bug qui permet aux fichiers de configuration de faire tomber la moitié du monde ». On se demande, en effet, comment des modifications dans un fichier de configuration (qui semblerait ensuite récupéré par le pilote) peut arriver à une telle catastrophe, sans être bloqué par le programme Falcon.
CrowdStrike en profite pour tordre le cou à une rumeur qui se répandait sur les réseaux sociaux : « Ceci n’est pas lié aux octets nuls contenus dans le Channel Files 291 ou dans tout autre Channel Files ». Et un rappel pour finir : Linux et macOS « n’utilisent pas Channel File 291 » et ne sont donc pas concernés par le « bug » du jour.
Reste que CrowdStrike ne s’explique pas sur un point crucial : comment une telle mise à jour a pu être déployée auprès de ses clients et comment un fichier de configuration peut entrainer une telle cacophonie. Vu la rapidité et l’étendue des dégâts, des tests auraient dû permettre de s’en apercevoir très rapidement.
L‘entreprise se contente d’expliquer qu’elle « comprend comment ce problème s’est produit », mais sans donner plus de détails. Elle promet de revenir avec de plus amples informations sur « les causes profondes au fur et à mesure que l’enquête progresse » dès que possible.
Pointeur NULL, le retour ?
Sur les réseaux sociaux, la cause profonde pointerait pour certains vers un problème de… pointeur, comme l’indiquait Evis Drenova sur X hier en fin de journée. Zach Vorhies y va aussi de son explication dans un thread détaillé : « l’ordinateur a essayé de lire l’adresse mémoire 0x9c », mais elle est « non valide ». La conséquence est immédiate : la « mort » pour le programme qui tente d’y accéder. Lorsqu’il a des droits très importants, comme c’est le cas de Falcon Sensor, cela provoque le plantage complet du système, avec un écran bleu.
À la question « pourquoi l’adresse mémoire 0x9c essaie-t-elle d’être lue ? Eh bien parce que… erreur du programmeur », affirme le développeur qui se présente comme un expert en C++. Cela relance une nouvelle fois la question de la phase de test avant le déploiement et de l‘audit – au moins interne – du programme.