Bug CrowdStrike, comment un patch défectueux a paralysé une partie du monde ?
Vendredi dernier, un incident majeur a secoué le monde de l'informatique. Une mise à jour défectueuse, publiée par la société de cybersécurité CrowdStrike, a provoqué des "écrans bleu de la mort" (BSOD, Blue Screen Of Death) sur plusieurs millions d'appareils sous Windows, entrainant de nombreuses perturbations dans plusieurs secteurs critiques.
Analyse de l'incident
Une mise à jour défectueuse
Le problème a commencé avec une mise à jour du logiciel Falcon de CrowdStrike. Un fichier défectueux, inclus dans cette mise à jour, a conduit à erreur critique au démarrage des appareils Windows. Cette mise à jour, lancée à 6h09 (heure de Paris, 4h09 UTC).
Cette mise à jour a été téléchargée par 8,5 millions d'appareils Windows dans le monde, selon une estimation réalisée par Microsoft.
While software updates may occasionally cause disturbances, significant incidents like the CrowdStrike event are infrequent. We currently estimate that CrowdStrike’s update affected 8.5 million Windows devices, or less than one percent of all Windows machines. While the percentage was small, the broad economic and societal impacts reflect the use of CrowdStrike by enterprises that run many critical services.
Patch correctif par CrowdStrike
CrowdStrike a publié, à 7h27 (heure de Paris, 5h27 UTC), un patch correctif. Cette réaction rapide (moins de 90 minutes) n'a malheureusement pas empêché un impact majeur sur les systèmes informatiques mondiaux.
La société à fourni des instructions détaillées pour que les utilisateurs de leur solution puissent réparer leurs systèmes, mais ce process s'est avéré compliqué, notamment pour les appareils avec le chiffrement BitLocker (solution de chiffrement des disques de Microsoft) d'activé.
De plus, une intervention physique était nécessaire pour de nombreux postes, incluant un redémarrage manuel en mode sans échec, ce qui a prolongé significativement le temps de résolution pour chaque machine affectée.
Impact et répercussions
L'impact de cet incident a été global. Celui-ci a touché des services critiques comme des centres d'appels d'urgence, les compagnies aériennes et des banques.
Services de Secours :
- Centres d'Appels d'Urgence (911/112) : Les systèmes de nombreux centres d'appels d'urgence ont été perturbés, affectant la capacité à répondre rapidement aux appels d'urgence.
- Hôpitaux : Des systèmes critiques de gestion des patients et de soins ont été touchés, entraînant des retards dans les services médicaux et des complications dans la gestion des dossiers des patients.
Transports :
- Compagnies Aériennes : Des milliers de vols ont été annulés ou retardés à travers le monde, affectant notamment United, Delta, et American Airlines aux États-Unis, ainsi que plusieurs aéroports majeurs en Europe.
- Systèmes de Check-in : Les systèmes automatisés de check-in dans les aéroports ont été mis hors service, nécessitant un traitement manuel et provoquant des files d'attente et des retards considérables.
Banques et Institutions Financières :
- Transactions Financières : Les systèmes de gestion des transactions ont été perturbés, retardant les opérations bancaires et les transactions financières cruciales.
- Services en Ligne : Les plateformes de services bancaires en ligne ont rencontré des interruptions, affectant l'accès des clients à leurs comptes et la réalisation des opérations financières.
Autres Secteurs :
- Télécommunications : Les réseaux de télécommunications ont subi des interruptions, affectant les services de téléphonie et d'internet.
- Éducation : Les systèmes d'apprentissage en ligne et les plateformes éducatives ont été perturbés, affectant les étudiants et les enseignants.
- Commerce de Détail : Les systèmes de point de vente et les plateformes de commerce électronique ont rencontré des problèmes, affectant les ventes et les transactions en ligne.
Ces perturbations ont entrainé des pertes financières estimées à de 5,4 milliards de dollars pour les plus grandes entreprises américaines.
État des lieux après 1 semaine
George Kurtz, CEO de CrowdStrike, a publié hier (jeudi 25 juillet) un billet indiquant que 97% des sondes impactées par cette mise à jour défectueuse sont de retour en ligne.
I want to share that over 97% of Windows sensors are back online as of July 25.
Déjà-vu ? Le cas McAfee en 2010 sous Windows XP
En avril 2010, une mise à jour de la base de données virale de McAfee avait provoqué un incident majeur affectant les systèmes Windows XP.
Contexte de l'Incident
McAfee, une entreprise spécialisée dans les logiciels de sécurité, avait publié une mise à jour de sa base de données des virus (DAT 5958) qui contenait une signature défectueuse. Cette signature avait incorrectement identifié un fichier système critique de Windows XP, "svchost.exe", comme étant un logiciel malveillant.
Effets de la Mise à Jour Défectueuse
- Inactivation de svchost.exe : La suppression ou la mise en quarantaine de "svchost.exe" avait causé des problèmes graves sur les systèmes Windows XP. "Svchost.exe" était essentiel pour le fonctionnement de plusieurs services Windows, et son absence avait conduit à des plantages et à l'incapacité de démarrer correctement les systèmes affectés.
- Impact Global : Des milliers d'ordinateurs à travers le monde, notamment dans des entreprises, des hôpitaux, et des administrations publiques, avaient été affectés. Les utilisateurs avaient été confrontés à des redémarrages en boucle, des pertes de réseau, et une incapacité à exécuter des tâches de base.
Réponse de McAfee
- Retrait de la Mise à Jour : McAfee avait rapidement retiré la mise à jour défectueuse et publié une nouvelle version corrigée de la base de données des virus.
- Instructions de Réparation : McAfee avait fourni des instructions détaillées pour réparer les systèmes affectés, incluant des étapes pour restaurer "svchost.exe" et corriger les erreurs induites par la mise à jour défectueuse.
Microsoft remet la cause sur l'UE
Microsoft a attribué la responsabilité de cette panne majeure à un accord conclu avec l'Union européenne en 2009.
Cet accord oblige Microsoft à donner aux développeurs de logiciels de sécurité externes le même niveau d'accès aux systèmes d'exploitation Windows que celui que Microsoft utilise pour ses propres produits.
Microsoft affirme que cette obligation de transparence a limité sa capacité à sécuriser son système d'exploitation de manière plus stricte, contrairement à Apple, qui opère dans un écosystème fermé et impose des mesures de sécurité plus rigoureuses pour les applications disponibles sur son App Store.
Selon un porte-parole de Microsoft, cet accord avec la Commission européenne, destiné à promouvoir la concurrence et l'équité, a indirectement permis à des mises à jour défectueuses comme celle de CrowdStrike de causer des perturbations majeures. Microsoft a souligné que, bien qu'ils ne puissent pas restreindre l'accès au noyau de leur système d'exploitation, cela souligne l'importance de mettre en place des contrôles de qualité rigoureux pour les mises à jour logicielles
Pour les plus curieux, l'accord entre Microsoft et le Parlement Européen est disponible au format Word sur le site de Microsoft.
BSOD par CrowdStrike, d'un point de vue technique
CrowdStrike Falcon est conçu pour protéger les systèmes informatiques contre les attaques de logiciels malveillants, les menaces persistantes avancées (APT), et autres formes d'intrusions.
L'objectif est de fournir une protection en temps réel tout en étant capable de détecter, prévenir et répondre rapidement aux incidents de sécurité. CrowdStrike utilise une approche basée sur le cloud pour permettre une surveillance et une protection continue des terminaux (endpoints) des clients.
Fonctionnement du capteur "Falcon"
Le capteur Falcon de CrowdStrike est un composant essentiel de la plateforme Falcon. Il s'agit d'un agent léger qui est installé sur chaque terminal. Voici son fonctionnement :
- Surveillance Continue : Le capteur Falcon surveille en permanence les activités sur le terminal où il est installé. Il collecte des données sur les processus en cours, les connexions réseau, les actions des utilisateurs et les interactions avec les fichiers.
- Analyse en Temps Réel : Les données collectées sont transmises au cloud de CrowdStrike, où elles sont analysées en temps réel. Cette analyse utilise des techniques comme l'apprentissage automatique et l'intelligence artificielle pour détecter les comportements suspects ou anormaux qui pourraient indiquer une menace.
- Détection et Réponse : Lorsqu'une activité suspecte est détectée, le capteur peut prendre des mesures immédiates pour neutraliser la menace. Cela peut inclure la mise en quarantaine d'un fichier suspect, la limitation des actions d'un processus ou la notification des administrateurs pour une enquête plus approfondie.
- Visibilité et Reporting : L'équipe SSI dispose d'un accès à un tableau de bord centralisé où ils peuvent voir toutes les alertes et les événements de sécurité en temps réel. Le capteur Falcon fournit également des rapports détaillés sur les incidents de sécurité, aidant les équipes à comprendre l'ampleur et la nature des menaces rencontrées.
Mises à jour de l'application par CrowdStrike
L'application de CrowdStrike utilise deux types de mise à jour distinctes.
Sensor Content :
Ce contenu inclut des modèles d'intelligence artificielle (IA) et de machine learning conçus pour améliorer les capacités de détection des menaces. Il est codé pour fournir des fonctionnalités réutilisables à long terme pour les analystes SOC. Chaque mise à jour de Sensor Content suit un processus rigoureux de contrôle qualité, incluant des tests automatisés et manuels, avant d'être déployée. Ce processus commence par des tests unitaires, des tests d'intégration, des tests de performance et des tests de stress. Ensuite, une version progressive est déployée, initialement testée en interne chez CrowdStrike, puis par des utilisateurs précoces, avant d'être largement disponible.
Rapid Response Content :
Rapid Response Content est conçu pour réagir rapidement aux nouvelles menaces émergentes. Contrairement au Sensor Content, cette mise à jour ne modifie pas le code du capteur mais ajuste dynamiquement les comportements du capteur à l'aide de "Template Instances". Ces instances de modèle configurent le capteur pour observer, détecter ou prévenir des comportements spécifiques en fonction des menaces actuelles. Le processus de mise à jour de Rapid Response Content comprend la création et la validation des configurations via le Content Configuration System. Ce contenu est ensuite interprété par le capteur pour activer des actions de détection ou de prévention.
L'incident du 19 juillet 2024 a été causé par une mise à jour de Rapid Response Content contenant une erreur non détectée. Cette mise à jour a introduit un fichier de configuration défectueux qui n'a pas été correctement géré par le système d'interprétation du capteur, entraînant des plantages (BSOD) sur les systèmes Windows. Le processus de test et de validation, bien qu'étendu, n'a pas identifié ce problème spécifique avant le déploiement.
Kernel level :
Le noyau de Windows (kernel) est la couche centrale du système d'exploitation, responsable de la gestion des ressources matérielles et de l'exécution des processus. Les composants fonctionnant au niveau du noyau ont un accès direct au matériel et peuvent effectuer des opérations critiques, ce qui rend leur bon fonctionnement essentiel pour la stabilité du système.
Séquence de Boot de Windows :
- Initialisation du BIOS/UEFI :Le BIOS (ou UEFI) initialise le matériel du système et exécute des tests matériels (POST).Il localise et charge le bootloader à partir du disque dur.
- Bootloader :Le bootloader (comme Windows Boot Manager) charge le kernel de Windows (
ntoskrnl.exe
).Il initialise les bases du système d'exploitation et prépare le transfert de contrôle au kernel. - Chargement du Kernel :Le kernel commence à s'exécuter et initialise les composants essentiels du système.Il charge les pilotes critiques nécessaires pour le fonctionnement de base du matériel.
- Initialisation des Pilotes :Les pilotes de périphériques sont chargés, y compris ceux installés par des logiciels de sécurité comme le capteur Falcon de CrowdStrike.Les pilotes en mode noyau ont un accès privilégié aux ressources matérielles et peuvent influencer directement la stabilité du système.
Problème avec le Capteur Falcon :
- Interaction avec le Kernel: Le capteur Falcon de CrowdStrike fonctionne en mode Kernel pour surveiller et intercepter les comportements malveillants à un niveau profond du système. Cela permet une détection plus efficace des menaces, mais introduit également des risques en cas de problème avec les mises à jour de contenu.
- Problématique : Lors de l'incident, une mise à jour défectueuse de Rapid Response Content a configuré incorrectement le capteur, entraînant des erreurs critiques lors du chargement des pilotes en mode Kernel. Ces erreurs ont provoqué des BSOD, car le Kernel n'a pas pu gérer les anomalies introduites par la mise à jour.
- Chargement des Pilotes et BSOD : Pendant la séquence de boot, le Kernel charge les pilotes nécessaires. Si un pilote critique (comme celui modifié par la mise à jour de CrowdStrike) échoue à se charger correctement ou introduit des comportements non gérés, le système peut planter. Dans ce cas, l'erreur a provoqué des défaillances systémiques, résultant en des BSOD.
- Résolution : Pour corriger le problème, les utilisateurs ont dû démarrer en mode sans échec, supprimer le fichier de pilote défectueux, puis redémarrer normalement pour permettre au capteur de télécharger et d'installer la version corrigée.