Dans la nuit du 18 au 19 juillet, une mise à jour visant les systèmes d’exploitation Microsoft Windows en entreprise a provoqué une panne majeure qui a chamboulé l’état du monde numérique partout sur la planète.
La fautive se nomme CrowdStrike, une firme américaine spécialisée dans les solutions de cybersécurité pour entreprises et partenaire d’affaires de Microsoft. Notez que les utilisateurs de macOS et Linux ne sont pas concernés par ce problème.
Quelle-est la nature de la panne ?
Cette mise à jour concernait un des produits phares de CrowdStrike, nommé Falcon Sensor, qui utilise l’intelligence artificielle pour déjouer les cyberattaques. Or voilà, cette rustine empêchait les ordinateurs de démarrer correctement, car elle vient s’installer directement au niveau du noyau (kernel) du système d’exploitation Windows.
Le noyau du système d’exploitation est son cœur, sa partie fondamentale qui gère les ressources matérielles et logicielles de l’ordinateur.
Lors du démarrage, le noyau de Windows ne pouvant se charger correctement, celui se terminait invariablement par une panique du noyau (kernel panic) déclenchant ainsi le célèbre « écran bleu de la mort » (blue screen of death) tant connu des plus anciens utilisateurs de Windows.
L’entreprise a émis un communiqué officiel sur son site que vous retrouverez ici (en anglais).
Qui est touché par la panne ?
Ce sont principalement des entreprises qui ont été touchées, banques et secteur financier, services de transport de toute sorte, services médicaux et hospitaliers, hôtels, etc. Il faut savoir qu’il existe une version de Windows pour entreprise qui n’est généralement pas accessible aux particuliers que nous sommes.
Les utilisateurs à domicile ne devraient pas être affectés par cette panne. Toutefois, certains services que nous utilisons l’ont été, tels que Microsoft 365, Microsoft Azure et certains services d’Amazon et médias sociaux comme Instagram et eBay.
Que faire lorsqu’un poste de travail Windows est touché ?
L’entreprise CrowdStrike recommande les actions suivantes :
- Démarrez Windows en mode sans échec ou dans l’environnement de récupération Windows.
- Accédez au répertoire C:\Windows\System32\drivers\CrowdStrike.
- Localisez le fichier correspondant à « C-00000291*.sys » et supprimez-le.
- Démarrez la machine normalement.
Des leçons à tirer de cet événement ?
Il faut le reconnaître, ce problème mondial nous a servi une belle leçon d’humilité. Elle nous a permis de constater à quel point la concentration du numérique aux mains de quelques fournisseurs peut nous rendre dangereusement vulnérables en tant que société surtout lorsqu’il s’agit du domaine de la santé.
Étant donné l’ampleur des dommages causés, je suis certain que les ingénieurs de ses solutions sont de retour à la planche à dessin afin d’en tirer les leçons qui s’imposent de s’assurer que ce type de panne ne se produise plus jamais et qu’aucun cybercriminel ne tire avantage d’une telle faiblesse dans un futur proche.
Daniel Vinet
J’adore ce vidéo de David Plummer, ingénieur Microsoft à la retraite ! Merci Jean-Victor. Il aborde un niveau technique que j’ai pu très bien apprécier.
David Plummer, un canadien américain né en 1968, qui est un programmeur et entrepreneur hautement qualifié.
D’abord un petit résumé incomplet de ma part pour fin de vulgarisation. Il s’agit d’un DLL d’exécution dans le KERNEL qui n’a rien à voir avec un DEVICE essentiel. Un DLL général de CrowdStrike avec minimum de code qui pointe vers un fichier appelé Channel File. Par surcroît pour la mise à jour, il s’agit d’un fichier erroné de mise à jour contenant des zéros qui ne pouvait être découvert par le code de vérification du Kernel de Microsoft. Donc un DLL initial qui conservait la signature officielle Microsoft même si ce DLL pointe vers un nouveau fichier qui ne fait aucun sens. Enfin, CrowdStrike n’avait pas prévu une sortie dite élégante en cas de problème d’où le plantage Windows.
Le retour à la normale fut une correction à la mise à jour par CrowdStrike, mais il y a plus ! Pour les entreprises, il fallait avant tout rebooter en mode protégé (avec nombre minimal de DLL) chaque machine individuellement pour ensuite effacer dans un répertoire précis un fichier .SYS spécifique que l’on nomme Channel File. Ceci augmenta la durée de la panne dans les entreprises.
Et il ajoute en plus des commentaires très pertinents.
Parmi ces commentaires, il fait allusion directe à l’incompétence et à l’insouciance des développeurs programmeurs de CrowdStrike ! Il mentionne la rigueur et dédication des équipes Microsoft de son époque ! Il explique le projet passé avorté de Microsoft d’intégrer un plus grand contrôle technique dans son code. Mais ceci fut alors refusé par les autorités règlementaires de l’Union Européenne sous prétexte de ne pas accorder à Microsoft un contrôle indu. Ceci en autre afin d’assurer une chance d’accès égale aux petits comme aux grands intervenants tiers.
Comme je disais dans mon autre interaction, SORRY !
Voici une opinion intéressante à propos de la panne, de la part d’un ingénieur de Microsoft à la retraite. -> https://youtu.be/ZHrayP-Y71Q?si=I7W4iiUO8wPjHkHh
La première partie de sa contribution est tout aussi intéressante, mais plus technique. -> https://www.youtube.com/watch?v=wAzEJxOo1ts
Apparemment, cette présentation est bonne, puisqu’elle est citée par EE Journal -> https://www.eejournal.com/article/the-day-the-earth-stood-still-2024-edition-crowdstrike-anti-malware-software-update-crashed-the-world/
Bravo Daniel, bon sujet traité. Les nombreuses rétroactions en sont la preuve ! Voici la mienne !
90 % des appareils d’affaires variés sont reliés à Microsoft et son produit phare Windows comparativement à 10 % pour les produits et divers OS d’Apple.
Apple a un système d’exploitation avec un cœur de programmation logicielle plus hermétiquement protégé contre le plantage causé par des logiciels de tiers. Microsoft focus plus sur un cœur logiciel protégé mais est plus ouvert aux divers manufacturiers de matériel et de logiciels de tiers.
Notamment, les incidents d’exceptions en mémoire sont moins contrôlés, c’est évident. L’évolution graduelle de la programmation de Windows par Microsoft en langage Rust pour prendre la relève de C et C++ n’en est qu’à ses débuts, prendra du temps et ne règlera pas tout !
Résultat dans le monde des entreprises d’affaires : Microsoft a énormément plus d’offres de d’applications et de logiciels de tiers et ceci à des prix plus bas. Apple a énormément plus d’offres matériel sous sa marque de la pomme mais un nombre significativement plus faible d’applications.
Un producteur logiciel est très encadré techniquement par Apple. Microsoft a un encadrement plus mou étant donné l’extrême grand nombre de manufacturiers et de producteurs de logiciels.
Une mise à jour majeure d’une application a énormément plus de probabilités de faire planter Windows qu’un OS d’Apple. Ceci est le risque Microsoft pour pouvoir ramasser 90% du marché entreprise.
Lors de la mise à jour du logiciel CrowdStrike Falcon Sensor, un incident d’exception de mémoire aurait fait planter à la fois l’application et surtout Windows d’entreprises !
CrowdStrike est une relativement jeune compagnie fondée en 2011 comparativement à Microsoft, Apple et Google. Une croissance rapide par acquisition depuis 2018, dans le domaine de cybercriminalité, lui a assuré une part importante dans le marché de la sécurité des applications en ligne dans de grandes entreprises nationales et internationales. Et maintenant l’inattention, l’insouciance ou l’incompétence des ressources fait tomber un château de cartes humain !
Toutes les grandes œuvres sont fragiles. Je note les beaux châteaux de cartes, les Twins Towers de New York, les virus incontrôlés du genre COVID-19, le réseau cellulaire canadien de Rogers en 2022. Et que dire de la panne nationale de téléphonie mobile AT&T qui a duré plus de 12 heures en février a bloqué plus de 92 millions d’appels vocaux et empêché plus de 25 000 tentatives de joindre le 911 !
Tout ce bla bla d’explications est la meilleure prédiction qu’on verra d’autres cas plus ou moins pires ! SORRY comme on dit en anglais !
Ma seule crainte personnelle est de me réveiller un beau matin avec tous mes comptes bancaires à zéro !
Le monde veut l’omniprésence en ligne, l’accessibilité universelle et le résultat instantané. Comme le dit le dicton : plus on est grand, plus on tombe de haut !
Pas rassurant du tout, n’est-ce pas ? Désolé !
Au bout du compte, c’est un problème de gestion de mémoire qui a provoqué la panne: « The Windows crash was caused by an out-of-bounds memory read that triggered an exception. CrowdStrike said its content interpreter component is designed to “gracefully handle exceptions from potentially problematic content”, but this exception was not gracefully handled. » -> https://www.securityweek.com/crowdstrike-explains-why-bad-update-was-not-properly-tested/
Southwest Airlines n’a pas eu de problème avec la mise à jour parce qu’elle utilise Windows 3.1, qui a 32 ans! -> https://www.yahoo.com/tech/windows-version-1992-saving-southwest-171922788.html
Quelle chance avons nous de bénéficier de vos connaissances,…Et le bénévolat est extraordinaire en soi MMMerci à vous tous !
Microsoft a publié une rustine et des instructions pour corriger le problème -> https://support.microsoft.com/fr-fr/topic/kb5042421-crowdstrike-issue-impacting-windows-endpoints-causing-an-0x50-or-0x7e-error-message-on-a-blue-screen-b1c700e0-7317-4e95-aeee-5d67dd35b92f
Au cas où votre ordinateur serait affecté par cette panne, CrowdStrike a publié une page d’instructions pour remédier à la situation -> https://www.crowdstrike.com/falcon-content-update-remediation-and-guidance-hub/
C’est sans doute plus fiable que ces suggestions qui sont apparues sur Twitter, puis mystérieusement disparues.
J’aime ta conclusion, d’une grande lucidité d’esprit: le danger de plus en plus grand de confier nos vies entre les mains de quelques mégas entreprises qui s’apparent de plus en plus le monopole des services.
Même constat pour la diminution de la variété des commerces: de moins en moins de bannière d’épicerie, etc.
Lorsque AMAZON aura réussi à tuer tous les commerces nationaux, croyez-moi que ce sera la fin du prix modique de leurs produits. Et là, nous n’aurons plus le choix d’aller voir ailleurs.
Le commissaire à la justice de l’Union européenne parle dans cette entrevue de conséquences de la concentration dans l’industrie informatique -> https://www.youtube.com/watch?v=NROwT-1AVwc
L’origine de l’erreur semble difficile à cerner -> https://x.com/taviso/status/1814762302337654829
En passant, Linux Torvalds, le concepteur de Linux, préfère C à C++, et de loin.
ChromeOS n’était pas affecté non plus. Incidemment, ce système d’exploitation a fait l’objet de plusieurs mises à jour récemment. J’avais pensé attendre le prochain « Patch Tuesday » de Microsoft pour faire démarrer mon ordinateur Windows (10 Professionnel), mais je viens de le faire démarrer (peu avant 22:00 le samedi 20 juillet) et il a été mis à jour sans problème. Je ne l’avais pas fait démarrer depuis l’annonce de la panne. Apparemment, certains programmeurs ont fait du temps supplémentaire…
Merci pour votre commentaire, M. Côté, j’apprécie.
Le langage C est encore beaucoup utilisé pour la programmation de fonctions systèmes et de pilote. Linus Torvald avait annoncé en décembre 2022 qu’il intégrait le langage Rust avec lequel ce genre de débordement mémoire est pratiquement impossible parce qu’il est vérifié par le compilateur. Microsoft a annoncé également intégrer Rust à son noyau en avril 2023. À ce moment, ils avaient déjà 56 000 lignes de faites, ce qui est peu, mais un bon début.
En passant, ChomeOS est bâti sur une base Linux, il n’est pas non plus affecté. Et comme mentionné dans mon article, les particuliers ne semblent pas concernés par cette panne qui provient d’un fournisseur, CrowdStrike, qui développe des solution de cybersécurité pour entreprises.
Merci pour cette capsule historique concernant le langage Rust. L’utilisation de Rust semble régler un problème majeur d’utilisation du langage C: la gestion de la mémoire qui est laissée au programmeur. Il suffit de faire attention, mais l’erreur est humaine. Là où cela devient compliqué de travailler avec C, j’imagine, c’est pour la gestion de la concurrence, ce que l’utilisation de Rust permet de faire beaucoup plus facilement. Mais si on veut ne pas être obligé de tout réécrire dans un nouveau langage le code écrit en langage C existant, il me semble qu’il peut être intéressant d’utiliser un langage qui est compatible avec C, comme le langage Zig.
(C’est grâce à la réponse de Gemini à la question suivante que je suis devenu si savant tout d’un coup -> « Quelles sont les alternatives à Rust comme remplacement pour le langage C dans la programmation des systèmes d’exploitation? »)
Merci de cette précision concernant CrowdStrike. Je craignais que cette panne ait une incidence sur les mises à jour du logiciel de sécurité intégré à Windows 10 Professionnel.
Merci Daniel,
Vos connaissances et votre façon de les transmettre sont admirables.
Merci Mme Drouin pour votre commentaire, j’apprécie beaucoup.
Merci Daniel pour tes explications qui vont plus loin que celles diffusées à la télé.
Merci Céline, j’apprécie ton commentaire. J’ai été un peu plus loin, mais je me suis limité, ne voulant pas perdre nos membres en détails techniques.
Merci beaucoup, Daniel, claire et précis comme explication et plus rassurant pour nos nombreux membres du CIMB!
Soyons toujours prudents cependant dans le futur…
Marius
des Joyeux Dépanneurs du CIMB
Merci de ton commentaire, Marius, j’apprécie toujours.
Excellente explication de la panne
De plus on apprend plein de terme comme rustine et kernel
Merci M. Daniel.
Les membres du club sont privilégiés d’avoir des gens connaissants et généreux comme vous qui partagent leur savoir.
Merci Mme Jocelyne, votre commentaire me réjouit. Le partage de connaissances est ma principale motivation d’être bénévole au club. Merci encore.
Merci bien Daniel, maintenant on comprend beaucoup mieux ce qui est arrivé dans la nuit du 18 au 19 juillet, merci.
Merci Réjean, j’apprécie beaucoup.