IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)

Vous êtes nouveau sur Developpez.com ? Créez votre compte ou connectez-vous afin de pouvoir participer !

Vous devez avoir un compte Developpez.com et être connecté pour pouvoir participer aux discussions.

Vous n'avez pas encore de compte Developpez.com ? Créez-en un en quelques instants, c'est entièrement gratuit !

Si vous disposez déjà d'un compte et qu'il est bien activé, connectez-vous à l'aide du formulaire ci-dessous.

Identifiez-vous
Identifiant
Mot de passe
Mot de passe oublié ?
Créer un compte

L'inscription est gratuite et ne vous prendra que quelques instants !

Je m'inscris !

CrowdStrike a publié son analyse des causes racines de la panne mondiale de Microsoft, il s'agirait d'une erreur que les étudiants en programmation de première année apprennent à éviter

Le , par Anthony

21PARTAGES

6  0 
CrowdStrike a publié son analyse des causes racines (RCA) de la mise à jour logicielle défectueuse qui a entraîné une panne mondiale, potentiellement la plus importante de l'histoire, en juillet. Selon les experts, CrowdStrike doit se sentir "très embarrassé" après avoir publié son analyse car il s'agit d'une erreur que les étudiants en programmation de première année apprennent à éviter.

Le 19 juillet 2024, une panne informatique mondiale a touché des entreprises, des aéroports et des médias à travers le monde. Microsoft a confirmé qu'elle était consciente de ces problèmes, mais de nombreux experts en cybersécurité ont indiqué que la source potentielle du problème était l'entreprise de cybersécurité CrowdStrike, qui fournit une surveillance et une protection contre les cyberattaques à de nombreuses entreprises de premier plan. Les écrans bleus de la mort ont perturbé le fonctionnement normal des machines Windows, affichant le message : “Recovery: It looks like Windows didn’t load correctly.”

Le 19 juillet, jour de l'écran bleu de la mort (BSOD), environ 8,5 millions de systèmes Windows dans le monde se sont retrouvés en panne à la suite d'une mise à jour du capteur Falcon de CrowdStrike qui s'est mal déroulée. L'entreprise américaine de cybersécurité a publié un rapport préliminaire quelques jours après l'incident. Aujourd'hui, une analyse plus approfondie de 12 pages confirme l'origine du problème : un seul capteur non détecté.


L'accès privilégié de Falcon

CrowdStrike propose des produits de sécurité contre les ransomwares, les malwares et l'internet presque exclusivement aux entreprises et aux grandes organisations. La panne généralisée a été liée à son logiciel de détection Falcon, qui est installé pour détecter les menaces et aider à les bloquer.

Sigi Goode, professeur de systèmes d'information à l'Australian National University, a déclaré que Falcon disposait d'un accès très privilégié. Il se situe au niveau de ce que l'on appelle le noyau de Windows.

« Il est aussi proche que possible du moteur qui alimente le système d'exploitation », a déclaré le professeur Goode. « Le mode kernel observe en permanence ce que vous faites et écoute les requêtes des applications que vous utilisez, et les traite de manière transparente. »

Il a décrit le mode kernel comme la police de la circulation à côté de laquelle Falcon est assis, en disant : « Je n'aime pas l'aspect de ce véhicule, nous devrions y jeter un coup d'œil ».

Le capteur 21 coupable

CrowdStrike met constamment Falcon à jour. Le 19 juillet, l'entreprise a envoyé une mise à jour Rapid Response Content à certains hôtes Windows.

Dans le RCA, CrowdStrike a parlé d'un « incident du canal 291 », au cours duquel une nouvelle capacité a été introduite dans les capteurs de Falcon.

Les capteurs sont comme « une voie d'accès aux preuves », qui indique le type d'activité suspecte à rechercher, a déclaré le professeur Goode. « Falcon examine une série de capteurs - une série d'indicateurs - pour voir si quelque chose ne va pas. »

Lorsque des mises à jour sont envoyées, il modifie l'emplacement ou le nombre de capteurs pour vérifier s'il y a une attaque potentielle.

Dans le cas présent, Falcon s'attendait à ce que la mise à jour comporte 20 champs de saisie, mais elle en comportait 21. Selon CrowdStrike, c'est cette "discordance de comptage" qui a provoqué la panne générale. « L'interpréteur de contenu ne s'attendait qu'à 20 valeurs », indique le rapport RCA. « Par conséquent, la tentative d'accès à la 21e valeur a produit une lecture de la mémoire hors limites au-delà de la fin du tableau de données d'entrée et a entraîné un plantage du système. »

Falcon étant étroitement intégré au cœur de Windows, sa défaillance a entraîné l'arrêt de l'ensemble du système et la survenue d'une panne de système (BSOD).

Le professeur Goode a déclaré que l'une des façons les plus courantes de compromettre un système consistait à inonder la mémoire. Il s'agit essentiellement de dire à l'ordinateur de chercher quelque chose "hors limites".

« Il cherchait quelque chose qui n'existait pas », a-t-il déclaré. « Mais Falcon devait chercher à ce 21e emplacement, parce que c'est ce que lui demandait le nouveau template qu'on lui avait donné ».

Les principales conclusions du rapport d'analyse des causes racines de CrowdStrike sont présentées ci-dessous :
Ce rapport développe les informations précédemment partagées dans notre analyse préliminaire de l'après-incident, en approfondissant les conclusions, les mesures d'atténuation, les détails techniques et l'analyse des causes racines de l'incident. Le 29 juillet à 17 heures, en comparant les semaines, ~99 % des capteurs Windows sont en ligne par rapport à la période précédant la mise à jour du contenu. Nous observons généralement une variation de ~1 % d'une semaine à l'autre dans les connexions des capteurs.

Tout au long de cette RCA, nous avons utilisé une terminologie généralisée pour décrire la plateforme CrowdStrike Falcon afin d'améliorer la lisibilité. La terminologie utilisée dans d'autres documents peut être plus spécifique et technique.

Ce qui s'est passé

Le capteur Falcon de CrowdStrike offre de puissants modèles d'IA et d'apprentissage automatique au niveau du capteur afin de protéger les systèmes des clients en identifiant les dernières menaces avancées et en y remédiant. Ces modèles sont maintenus à jour et renforcés par les enseignements tirés de la dernière télémétrie des menaces provenant du capteur et de l'intelligence humaine de Falcon Adversary OverWatch, Falcon Complete et des ingénieurs de CrowdStrike chargés de la détection des menaces. Ce riche ensemble de télémétrie de sécurité commence par des données filtrées et agrégées sur chaque capteur dans un magasin de graphes local.

Chaque capteur met en corrélation le contexte de son magasin de graphes local avec l'activité du système live pour obtenir des comportements et des indicateurs d'attaque (IOA) dans le cadre d'un processus d'affinement continu. Ce processus d'affinage comprend un Sensor Detection Engine qui combine le Sensor Content intégré avec le Rapid Response Content fourni par le cloud. Le Rapid Response Content est utilisé pour recueillir des données télémétriques, identifier les indicateurs de comportement de l'adversaire et renforcer les nouvelles détections et préventions sur le capteur sans qu'il soit nécessaire de modifier le code du capteur. Le Rapid Response Content est une heuristique comportementale, séparée et distincte des capacités sur capteur de prévention par IA et de détection de CrowdStrike.

Le Rapid Response Content est fourni par le biais de fichiers de canaux et interprété par le Content Interpreter du capteur, à l'aide d'un moteur basé sur des expressions régulières (regex). Chaque fichier de canal du Rapid Response Content est associé à un Template Type spécifique intégré dans la version d'un capteur. Le Template Type fournit au Content Interpreter des données d'activité et un contexte graphique à mettre en relation avec le Rapid Response Content.

Avec la sortie de la version 7.11 du capteur en février 2024, CrowdStrike a introduit un nouveau Template Type pour permettre la visibilité et la détection de nouvelles techniques d'attaque qui abusent des pipelines nommés et d'autres mécanismes de communication interprocessus (" IPC ") de Windows. Comme indiqué dans le PIR, le nouveau Template Type IPC a été développé et testé conformément à nos processus standard de développement du Sensor Content et a été intégré au capteur pour préparer son utilisation sur le terrain. Les Template Instances IPC sont livrées en tant que Rapid Response Content aux capteurs par l'intermédiaire d'un Channel File correspondant, numéroté 291.

Le nouveau Template Type IPC définissait 21 champs de paramètres d'entrée, mais le code d'intégration qui invoquait le Content Interpreter avec les Template Instances du Channel File 291 ne fournissait que 20 valeurs d'entrée à comparer. Cette inadéquation du nombre de paramètres a échappé à plusieurs niveaux de validation et de test de construction, car elle n'a pas été découverte au cours du processus de test de validation du capteur, des tests de stress du Template Type (à l'aide d'une Template Instance de test) ou des premiers déploiements réussis des Template Instances IPC sur le terrain. Cela s'explique en partie par l'utilisation de critères de correspondance à base de caractères génériques pour la 21e entrée pendant les tests et dans les premières Template Instances IPC.

Le 19 juillet 2024, deux autres Template Instances IPC ont été déployées. L'une d'entre elles a introduit un critère de correspondance sans caractère générique pour le 21e paramètre d'entrée. Ces nouvelles Template Instances ont donné lieu à une nouvelle version du Channel File 291 qui exigerait désormais que le capteur inspecte le 21e paramètre d'entrée. Jusqu'à ce que ce fichier de canal soit livré aux capteurs, aucune Template Instances IPC dans les versions précédentes du canal n'avait utilisé le champ du 21ème paramètre d'entrée. Le Content Validator a évalué les nouvelles Template Instances, mais a basé son évaluation sur le fait que le Template Type IPC serait fourni avec 21 entrées.

Les capteurs qui ont reçu la nouvelle version du Channel File 291 contenant le contenu problématique ont été exposés à un problème latent de lecture hors limites dans le Content Interpreter. Lors de la prochaine notification IPC du système d'exploitation, les nouvelles Template Instances IPC ont été évaluées, en spécifiant une comparaison avec la 21e valeur d'entrée. Le Content Interpreter ne s'attendait qu'à 20 valeurs. Par conséquent, la tentative d'accès à la 21e valeur a entraîné une lecture hors limites de la mémoire, au-delà de la fin du tableau de données d'entrée, ce qui a provoqué une panne du système.

En résumé, c'est la confluence de ces problèmes qui a entraîné une panne du système : la non-concordance entre les 21 entrées validées par le Content Validator et les 20 entrées fournies au Content Interpreter, le problème latent de lecture hors limites dans le Content Interpreter et l'absence de test spécifique pour les critères de correspondance autres que les caractères génériques dans le 21e champ. Bien que ce scénario avec le Channel File 291 ne puisse plus se reproduire, il informe également des améliorations de processus et des mesures d'atténuation que CrowdStrike est en train de déployer pour garantir une résilience encore plus grande.

Lire la suite
Source : "External Technical Root Cause Analysis — Channel File 291" (CrowdStrike)

Et vous ?

Quel est votre avis sur le sujet ?
Trouvez-vous les conclusions de cette analyse technique de CrowdStrike crédibles ou pertinentes ?

Voir aussi :

CrowdStrike accuse un bogue dans le logiciel de test d'avoir mis hors service 8,5 millions de machines Windows, car il n'a pas validé correctement la mise à jour du contenu qui a été diffusée sur les machines

Microsoft analyse techniquement mais diplomatiquement l'incident CrowdStrike, cependant il s'agit d'une gifle pour CrowdStrike, qui a déjà causé des pannes graves à d'autres systèmes d'exploitation

Une erreur dans cette actualité ? Signalez-nous-la !

Avatar de floyer
Membre confirmé https://www.developpez.com
Le 29/08/2024 à 15:33
N’importe quel OS qui permet des extensions en mode noyau s’expose à ce risque. Les différents OS type UNIX n’y échappent pas. (D’ailleurs une mise à jour de Crowdstrike a provoqué des kernel panic sur Linux).

L’architecture de Windows depuis NT n’a rien à voir avec DOS, contrairement à ce que tu sembles dire.

L’approche qui changera vraiment quelque chose est le micronoyau (Mach, QNX, SeL4…) et encore, si un module est un SPOF (typiquement un système de fichier), un défaut dans ce module compromet le fonctionnement du système. Cette approche pourrait rogner un peu les performances… mais pour des applications critiques, pourquoi pas. (Cela me rappelle l’arrivée d’OS/2 où la presse s’indignait oh là là, on perd 2% de performances par rapport à un OS non sécurisé)

Et le principe de mise à jour automatique est vraiment le cœur du problème. Imaginons Oracle « pousser » une nouvelle pile Java à l’insu des développeur et exploitant… même si elle ne tourne qu’en mode utilisateur, cela peut bloquer beaucoup d’applications potentiellement critiques.
5  0 
Avatar de Mat.M
Expert éminent sénior https://www.developpez.com
Le 15/08/2024 à 18:06
La vision des choses de Mr Sterone, rien à commenter tout est dit:

3  0 
Avatar de PomFritz
Membre confirmé https://www.developpez.com
Le 16/08/2024 à 21:42
Face à l'incompétence généralisée, ça panique chez les gratte-papier, zéro mise en perspective et Microsoft se frotte les mains. On dirait une communication du service marketing, pas d'experts.
3  0 
Avatar de OrthodoxWindows
Membre expert https://www.developpez.com
Le 25/08/2024 à 15:19
CrowdStrike découvre qu'il vaut mieux tester une mise à jour avant de la déployer, surtout sur un logiciel qui se place à un stade critique de l'OS, sur un ordi utilisé pour un usage critique.
CrowdStrike découvre qu'en cas de problème grave, la seul confiance avec le client ne fonctionne plus.
Désormais CrowdStrike découvre qu'il existe un système concurrentiel, où chaque concurrent attend qu'un concurrent fasse une connerie.

Bientôt CrowdStrike découvrira qu'il est une entreprise spécialisé dans le domaine de la cybersécurité, dans un contexte d'économie capitaliste libérale.

Ah moins que CrowdStrike se foute tout simplement de la g**** du monde.
3  0 
Avatar de chris_FR
Membre régulier https://www.developpez.com
Le 08/08/2024 à 19:17
Citation Envoyé par 23JFK Voir le message
Sauf que CrowdStrike a également fait planter des système Linux et MacOs de par le passé, la différence tient uniquement en l'hégémonie du système Windows sur le monde.
Pourrais tu fournir la source de ton information s'il te plaît ?
2  0 
Avatar de floyer
Membre confirmé https://www.developpez.com
Le 17/08/2024 à 11:10
Il y a beaucoup d’applications qui ont besoin d’un accès privilégié : pilotes (périphérique réels ou virtuel), antivirus, chiffrement de disque, firewall, probablement des éléments des machines virtuelles (virtual box).

Mais le problème concerne ici les mises à jour non testées. Mettre en place une sorte de sas où des machines représentatives essuient les plâtres des mises à jour, puis déploiement progressif aurait évité les problèmes. Alors bien sûr, il faut s’écarter du principe « installez le logiciel et on s’occupe de tout »
2  0 
Avatar de 23JFK
Membre expert https://www.developpez.com
Le 07/08/2024 à 19:41
Sauf que CrowdStrike a également fait planter des système Linux et MacOs de par le passé, la différence tient uniquement en l'hégémonie du système Windows sur le monde.
1  0 
Avatar de foetus
Expert éminent sénior https://www.developpez.com
Le 08/08/2024 à 19:34
Citation Envoyé par chris_FR Voir le message
Pourrais tu fournir la source de ton information s'il te plaît ?
Bug#1069642: linux-image-6.1.0-20-amd64: kernel panic after 2024-04-20

Jacob Rhoads Mon, 22 Apr 2024 17:51:29 -0700

Seeing this same issue. In my case, it ended up being caused by Crowdstrike
Falcon Sensor combined with this specific kernel. Reverting the kernel or
upgrading Falcon (via Falcon upgrade policy) works around this issue, for
now.

I think I see that 6.1.87 has attempted to fix some BHI implementation
issues that were originally introduced in 6.1.85. Perhaps certain kernel
modules aren't ready for this syscall hardening?
1  0 
Avatar de 23JFK
Membre expert https://www.developpez.com
Le 08/08/2024 à 19:57
Citation Envoyé par chris_FR Voir le message
Pourrais tu fournir la source de ton information s'il te plaît ?
https://forums.developer.apple.com/forums/thread/729410

Il me semble par ailleurs que cette info traîne quelque part dans ce thread.

Sinon, gogol pourrait faire le taff.
1  0 
Avatar de AaâÂäÄàAaâÂäÄàAaâÂäÄ
Membre expérimenté https://www.developpez.com
Le 08/08/2024 à 20:00
« Avec un logiciel d'une telle importance, la panne de [le logiciel maison] n'aurait pas dû se produire » : un développeur note que la technologie permettant d'éviter ce type d'erreur existe depuis des décennies
C'est drôle, qui n'a jamais entendu ça au travail
Et entre nous, personne n'est infaillible et je ne connais aucun admin qui n'ait fait aucunes grosses bourdes au cours de sa carrière.
Même avec tous les processus contraignant du monde pour la mise en prod et sa préparation, il y aura toujours une faille possible.
D'ailleurs, la plupart du temps, c'est sans grande conséquence mais pas cette dois-ci chez Crowdstrike.
1  0