- La panne provoquée par la mise à jour de CrowdStrike du 19 juillet 2024 aurait mis hors service 8,5 millions d’ordinateurs et causé plus de 5,4 milliards de dollars de dommages ; elle pourrait déboucher sur une logique de responsabilité comparable à celle de l’affaire OVH en France
- Dans l’affaire OVH, le tribunal a estimé qu’un fournisseur de sauvegarde devait respecter un niveau raisonnable et les bonnes pratiques, et que des sauvegardes placées au même endroit ou dans des datacenters proches ne relevaient pas d’une exploitation raisonnable
- CrowdStrike étant un logiciel de sécurité exécuté très tôt au niveau du noyau, plus il est déployé sur les équipements d’entreprises et d’industries critiques — banques, voyage, supermarchés, etc. — plus la charge de test et de déploiement progressif est importante
- La mise à jour défectueuse a été déployée simultanément sur des millions d’équipements dans le monde et a provoqué des BSOD ; la récupération nécessitait un accès physique, des droits administrateur, un démarrage en mode sans échec ou en mode de récupération, puis la suppression d’un pilote
- Les clients d’industries réglementées doivent tester, déployer progressivement et tracer les changements ; si CrowdStrike ne l’a pas fait ou l’a refusé, cela pourrait entraîner des manquements de conformité pour ses clients et constituer un motif de résiliation du contrat
La panne CrowdStrike et la structure de responsabilité
- L’incident CrowdStrike est un exemple de mise à jour ayant provoqué une panne informatique à grande échelle
- L’ampleur de la panne est estimée à 8,5 millions d’ordinateurs mis hors service
- Les dommages sont estimés à plus de 5,4 milliards de dollars
- La possibilité d’une indemnisation est comparée à la jurisprudence française de l’affaire OVH
- Les clauses d’exonération de responsabilité des contrats standards ont une portée limitée dans de nombreuses juridictions hors des États-Unis, et il est généralement difficile d’exclure la responsabilité liée à une faute lourde, à un acte pénalement répréhensible ou à une violation de la loi
- Le point central est que la possibilité d’obtenir des dommages et intérêts apparaît lorsque des dommages subis se combinent à une intention ou une négligence
Les défaillances opérationnelles révélées par l’affaire OVH
- OVH est un fournisseur français de datacenters et de cloud, proposant des serveurs physiques, des machines virtuelles et divers services cloud
- Le 10 mars 2021, un incendie s’est déclaré sur le site SGB d’OVH
- Les datacenters SGB1 et SGB2 ont été détruits
- SGB3 et SGB4 ont également été hors service pendant un certain temps
- Plusieurs sites de clients ont été détruits, avec une perte irrécupérable de services et de données ; certains clients ont intenté une action contre OVH et ont obtenu gain de cause
- Le point que le tribunal a jugé important est que la perte de service et la perte des sauvegardes se sont produites simultanément
- Il y a eu une perte complète de service pendant et après l’incident
- Après l’incident, une perte de données irrécupérable subsistait
- OVH fournissait un service de sauvegarde à ses clients, mais les sauvegardes ont elles aussi été entièrement perdues de manière irrécupérable
- Bien qu’il y ait eu plusieurs datacenters, ils se trouvaient en réalité sur le même site ou à proximité les uns des autres, et le tribunal n’a pas considéré cette configuration comme prévisible ou raisonnable
- Le fait que les sauvegardes soient stockées dans le même datacenter ou dans un autre datacenter susceptible de se trouver sur le même site a également été jugé déraisonnable
- OVH a soutenu que les clients auraient dû suivre la bonne pratique consistant à disposer de plusieurs sauvegardes sur des sites distincts, mais le tribunal a estimé qu’en tant que fournisseur de sauvegarde, OVH devait proposer des sauvegardes conformes à un standard raisonnable
- En conséquence, le service de sauvegarde d’OVH n’a pas atteint son objectif et a été considéré comme un service exploité à un niveau non raisonnable
Les caractéristiques techniques de la panne CrowdStrike
- CrowdStrike est un logiciel antivirus ou EDR (Endpoint Detection and Response) installé sur les équipements d’entreprise
- Ce logiciel fonctionne au démarrage de l’ordinateur et s’intègre profondément au système d’exploitation Windows ou Linux, au niveau du noyau
- Il s’exécute aussi tôt que possible, avant les autres composants
- Il peut surveiller ce qui s’exécute et bloquer ou signaler les éléments suspects
- Le 19 juillet 2024, CrowdStrike a déployé une mise à jour logicielle, qui a fait planter les ordinateurs sur lesquels elle était installée
- Des millions d’ordinateurs dans le monde ont reçu simultanément la mise à jour et se sont retrouvés dans un état de fonctionnement anormal
- En raison de son architecture, où il s’exécute en premier avec des privilèges élevés, un bug ou une mauvaise décision de CrowdStrike peut empêcher l’exécution d’autres logiciels, voire du système lui-même
Les enjeux de déploiement, de test et de monitoring
- CrowdStrike est largement déployé sur les équipements de grandes entreprises, notamment dans la banque, le voyage et la grande distribution, et cible principalement des industries critiques et des équipements importants traitant des informations confidentielles
- Comme il s’agit d’une application critique fonctionnant dans des environnements sensibles, le développement et les tests exigent une attention supplémentaire
- Le jour de l’incident, la mise à jour a été déployée d’un coup sur des millions d’équipements importants, alors que la bonne pratique consiste à déployer progressivement les mises à jour logicielles
- La question centrale est de savoir comment une mise à jour défectueuse a pu se propager à des millions d’équipements en quelques minutes, et s’il y a eu des tests ou un déploiement progressif
- Dans les discussions en ligne, des signalements indiquaient que des clients hospitaliers avaient déjà rencontré ce problème auparavant et avaient demandé à CrowdStrike un contrôle sur les mises à jour
- Un client a affirmé que CrowdStrike avait envoyé une note de 50 pages refusant le déploiement progressif
- Si CrowdStrike ne disposait pas d’une fonctionnalité de déploiement progressif ou l’a refusée, cela peut entrer en conflit avec les exigences des industries réglementées auxquelles il vend ses services
- La mise à jour défectueuse a provoqué un BSOD sur les ordinateurs où elle a été déployée, et le fait qu’une mise à jour manifestement cassée n’ait pas été détectée avant le déploiement externe est utilisé comme indice d’absence de tests
- Des signalements indiquent qu’un problème similaire s’était produit quelques semaines plus tôt avec l’agent CrowdStrike pour Linux, ce qui alimente l’argument selon lequel il ne s’agit pas d’un incident isolé
- Après le déploiement de la mauvaise mise à jour, il a fallu près de deux heures à CrowdStrike pour identifier le problème et interrompre la mise à jour
- Les développeurs de logiciels critiques doivent surveiller, après le déploiement, si le logiciel fonctionne comme prévu et s’il ne provoque pas de problèmes
La difficulté de récupération et les dommages pour les clients
- Les ordinateurs touchés ne pouvaient plus démarrer, et les utilisateurs ne pouvaient pas accéder à leur ordinateur pour créer un ticket ou diagnostiquer le problème
- Dans les entreprises touchées, les employés recevaient des ordinateurs non fonctionnels et ne pouvaient pas travailler
- L’une des méthodes de récupération consistait pour les équipes IT à récupérer les ordinateurs puis à les réinstaller entièrement ou à les réimager
- Une autre méthode découverte par la suite consistait, pour un administrateur, à accéder physiquement à l’ordinateur, à le démarrer en mode sans échec ou en mode de récupération, puis à supprimer le fichier du pilote CrowdStrike
- Cette récupération exige à la fois un accès physique et des droits administrateur
- Un mot de passe spécial ou une clé USB contenant le mot de passe peut être nécessaire pour démarrer un ordinateur portable en mode de récupération
- Pour les entreprises touchées, rassembler physiquement tous les ordinateurs portables, postes de travail et serveurs des utilisateurs peut prendre des semaines
- Le nombre d’équipements concernés peut aller de plusieurs milliers à plusieurs centaines de milliers
- Les équipements enfermés ou difficiles d’accès, comme les terminaux d’affichage dans les aéroports, les dispositifs et équipements médicaux dans les hôpitaux ou les panneaux d’ascenseur, peuvent demander encore plus de temps
- Les équipements physiquement inaccessibles ou dont le mot de passe de récupération est inconnu peuvent être impossibles à restaurer
- Comme les ordinateurs de secours étaient eux aussi touchés par le même problème, il était difficile de fournir des machines de remplacement aux utilisateurs affectés
- CrowdStrike était un logiciel de sécurité destiné à maintenir les ordinateurs en fonctionnement et à les protéger contre les menaces, mais il a échoué dans son objectif en mettant hors service les ordinateurs qu’il devait protéger
Industries réglementées et possibilité de résiliation du contrat
- Les clients des industries réglementées, comme la santé, la finance, l’aérospatial ou les transports, doivent tester les changements, les déployer progressivement et en assurer la traçabilité
- CrowdStrike indique détenir plusieurs certifications et se conformer à plusieurs standards, mais ces référentiels exigent des pratiques de développement spécifiques et plusieurs niveaux de tests
- Si CrowdStrike n’a pas appliqué ces procédures et les a activement refusées, cela peut entraîner un manquement de conformité de CrowdStrike lui-même
- L’utilisation de CrowdStrike peut aussi placer ses clients en situation de non-conformité, ce qui peut constituer, pour les clients qui le souhaitent, un motif suffisant de résiliation unilatérale du contrat CrowdStrike
Exemples de comparaison et éléments supplémentaires
-
La méthode de test et de déploiement de BitLocker
- Une discussion sur les méthodes de test et de déploiement par un employé lié à BitLocker sert d’élément supplémentaire
- BitLocker est un outil qui chiffre de manière sécurisée le disque d’un ordinateur
- Il empêche d’autres personnes de lire les données lorsque l’ordinateur est perdu ou volé
- Il s’exécute en premier au démarrage, et sans lui il est impossible de charger les données depuis le disque
- Un bug de BitLocker peut rendre un ordinateur inutilisable et toutes les données illisibles, ce qui est similaire à la perte de données irrécupérable dans l’affaire OVH
- BitLocker passe par plusieurs étapes de tests : son propre ordinateur, sa propre équipe, puis d’autres équipes
-
Affirmation d’expériences antérieures de panne CrowdStrike
- L’expérience antérieure de panne CrowdStrike rapportée par un employé anonyme d’une entreprise sert également d’élément supplémentaire
- Cette entreprise affirme avoir été touchée par un problème CrowdStrike antérieur
- Elle affirme avoir officiellement demandé à CrowdStrike d’autoriser le déploiement progressif, mais que CrowdStrike lui a envoyé une note de 50 pages le refusant catégoriquement
- Si cette affirmation est vraie, cette note pourrait constituer un élément de preuve important contre CrowdStrike
1 commentaires
Avis sur Hacker News
Je travaille en France chez un autre fournisseur de services cloud français, j’ai vécu l’incident OVH en temps réel et j’en ai vu toutes les répercussions.
Si OVH a été tenu responsable, ce n’était pas à cause de l’interruption de service, mais de la perte de données. La perte de données est un préjudice irréversible, permanent et certain ; certaines entreprises ont, de fait, mis la clé sous la porte parce qu’elles n’avaient plus de données pour fonctionner. Le pire, c’est qu’OVH vendait des « sauvegardes hors site » situées littéralement à quelques mètres du datacenter. Une interruption de service est regrettable, mais cela peut arriver, et se règle via le contrat de SLA convenu entre les deux parties. Quelques jours de panne ne font pas fermer une entreprise.
Je doute que CrowdStrike soit tenu à une lourde responsabilité vis-à-vis des entreprises. Si elle devait rembourser tous les dommages, la société devrait fermer. En revanche, le secteur médical est un sujet à part, et je pense qu’on va plutôt aller vers davantage de régulation pour les institutions critiques.
La plus grande panne de l’histoire a été causée par l’échec d’un parseur de configuration, apparemment sans suivre les bonnes pratiques du secteur en matière de configuration/parsing, et il semble très probable que les bonnes pratiques n’aient pas non plus été respectées dans la programmation de modules noyau. Dans ce cas, il est franchement étrange que l’entreprise n’ait pas à déposer le bilan à cause des dommages et intérêts. Cela ne veut pas dire pour autant que le logiciel disparaîtrait ou ne serait plus maintenu ; il existe de nombreux moyens d’éviter cela. Par exemple, Microsoft était de toute façon intéressé par l’acquisition de Falcon.
Logiquement, plus les données étaient importantes, plus elles avaient de chances d’avoir disparu. D’après des exemples informels autour de moi, beaucoup d’utilisateurs avaient BitLocker activé, ce qui signifie aussi beaucoup de pertes de données.
Modification : j’ai vu que, dans de nombreux cas, il était possible de récupérer des disques chiffrés avec BitLocker. Je me demande quelle est l’ampleur réelle des pertes de données.
Ce titre est un peu trompeur. En réalité, il s’agit de l’opinion personnelle, quoique éclairée, de quelqu’un sur un blog, pas d’un énoncé factuel.
Le titre devrait plutôt être du type « Je pense que CrowdStrike sera tenu responsable » ou « CrowdStrike devrait être tenu responsable ».
C’est un bon rappel que les clauses générales d’exonération de responsabilité que l’on voit souvent dans les contrats de licence peuvent ne rien valoir hors de la juridiction américaine si l’on fait des affaires dans d’autres juridictions.
J’imagine qu’un nombre déjà énorme de demandeurs discutent avec des avocats de la manière d’obtenir une indemnisation. Pas seulement en France, mais dans le monde entier.
Je me demande comment ce genre d’affaire s’organise avec autant de juridictions.
Donc beaucoup de tribunaux et d’avocats dans le monde vont être assez occupés par cette affaire pendant un moment.
Je ne suis pas avocat, et encore moins avocat français, mais je ne pense pas que la comparaison avec OVH soit pertinente.
Dans l’affaire OVH, l’ensemble du système de sauvegarde a échoué. Beaucoup de clients se sont retrouvés avec zéro donnée, et selon l’article, « le tribunal a jugé que le service de sauvegarde d’OVH n’était pas exploité à un niveau raisonnable et n’atteignait pas son objectif ».
À l’inverse, CrowdStrike a « simplement » fait planter les noyaux de ses clients pendant environ une heure. Pendant ce temps, ils étaient probablement protégés à 100 % contre les cyberattaques. Le délai nécessaire ensuite pour remettre les systèmes en route tient, de mon point de vue, au fait que les plans de reprise après sinistre des clients n’étaient pas assez bons. On peut évidemment soutenir que le logiciel de CrowdStrike n’était pas « d’un niveau raisonnable », mais l’impact de premier ordre — le crash logiciel — n’est pas du tout comparable, en ampleur, à la perte permanente et littérale de toutes les données dans les flammes comme chez OVH.
Les logiciels plantent tout le temps. Qu’on le veuille ou non, la plupart des industries considèrent les bugs logiciels comme inévitables. Il existe bien sûr des exceptions. La « responsabilité » d’un bug logiciel incombe au fournisseur, mais l’atténuation de ses effets incombe à ceux qui le déploient. La seule raison pour laquelle l’affaire CrowdStrike a fait l’actualité, par rapport aux autres crashs logiciels qui arrivent tous les jours, est que beaucoup de clients de CrowdStrike avaient inséré ce logiciel dans de nombreux chemins critiques.
CrowdStrike a vendu une carte dans un château de cartes, et les clients, collectivement, ont construit une maison avec.
P.-S. : j’espère que cela ne sera pas interprété comme une défense de CrowdStrike. Je pense que leur logiciel est mauvais et développé de manière bâclée. Je pense qu’ils devraient payer le prix de cette négligence, mais je doute que ce soit le cas dans le cadre juridique actuel. Au mieux, les gens pourront voter avec leur portefeuille à l’avenir.
La plupart des ordinateurs affectés par le défaut étaient coincés dans une boucle de redémarrage et ne pouvaient pas télécharger le correctif ; il fallait donc une intervention physique via un démarrage en mode sans échec. Dans la plupart des cas, si j’ai bien compris, un technicien IT devait se rendre sur place et accéder physiquement à l’ordinateur pour le corriger.
Une semaine, soit 168 heures plus tard, il restait encore énormément d’ordinateurs briqués à cause de ce défaut, parce qu’il est terriblement difficile à réparer.
Il faut donc le considérer très différemment d’un crash ordinaire. La récupération est bien plus difficile, et cela a touché beaucoup d’ordinateurs simultanément.
De plus, certaines entreprises ont échoué dans leurs propres procédures de reprise. Mais même avec de bonnes procédures, cela peut constituer une panne majeure, parce que ce n’est pas facilement réversible et que cela affecte simultanément de nombreuses configurations qui sont normalement redondantes pour faire face à beaucoup d’autres types de pannes.
Quelqu’un peut-il expliquer pourquoi les protections fournies par Falcon ne sont pas assurées par le système d’exploitation lui-même ? Je ne suis pas totalement ignorant du sujet, et j’ai sécurisé pas mal de serveurs Linux importants, mais sous Windows la répartition des rôles en matière de sécurité ne me semble pas aussi clairement définie
Par rapport à Red Hat ou Canonical, avec eux j’ai l’impression de lutter contre la sécurité du système pour arriver à faire en sorte que les utilisateurs puissent utiliser mon application, et pourtant cela me paraît être plutôt la bonne direction
https://www.theregister.com/2024/07/22/windows_crowdstrike_k...
Certaines de ces protections ont des équivalents de base dans le système d’exploitation, d’autres non, et la plupart ne sont pas intégrées par défaut à Linux. Par exemple, l’équipe du noyau Linux ne dispose pas d’une base de signatures de logiciels malveillants à laquelle comparer les nouveaux composants logiciels avant que le noyau, le système d’init ou le shell ne les exécutent. Falcon le fait
Autre exemple : Linux, ou l’espace utilisateur Linux standard, n’est pas actuellement intégré par défaut à un système de gestion de parc pour vérifier si l’utilisateur courant est autorisé à exécuter tel logiciel. Il existe plusieurs questions similaires
Enfin, même si le système d’exploitation fournit ces services par défaut — par exemple les éditions Windows Enterprise proposent ces fonctionnalités — il peut être tout à fait rationnel de préférer une solution d’un autre fournisseur. On peut, par exemple, faire davantage confiance à la liste de signatures de malwares de CrowdStrike qu’à celle de Microsoft, ce qui justifie d’acheter CrowdStrike plutôt que d’utiliser Windows Defender
Je ne cherche pas à défendre CrowdStrike ni Windows. Il me semble simplement évident que, sous le grand parapluie de la sécurité, il existe beaucoup de fonctions que l’on ne souhaite pas forcément intégrer au système d’exploitation lui-même, et que même lorsqu’une version intégrée existe, une entreprise peut vouloir s’adresser à un autre fournisseur
Mais il s’est avéré insuffisant pour empêcher plusieurs problèmes bien réels, comme les ransomwares
C’est ce qui a créé un marché pour des solutions tierces plus agressives. Pour suivre les menaces réelles, elles doivent être mises à jour fréquemment et s’exécuter avec un niveau de privilèges élevé. Résultat : ces solutions tierces peuvent provoquer des écrans bleus ou des boucles de démarrage. Dans ces conditions, le mode de déploiement des mises à jour doit être extrêmement bien conçu
Par exemple télécharger un fichier et exécuter son contenu comme du code, ou téléverser ou chiffrer tous les fichiers accessibles
CrowdStrike et Defender traitent ce type de comportements possibles mais suspects
Il est déployé sur de nombreux systèmes, mais le fait que cela représente moins de 1 % des systèmes Windows signifie qu’en valeur absolue cela reste une niche. La plupart des gens ne connaissaient même pas CrowdStrike, et encore moins ses concurrents
L’une des grandes différences entre CrowdStrike et un antivirus, à mon avis, est que le coût est tel qu’on ne s’attend pas à ce qu’un humain intervienne en permanence. Dans les logiciels grand public, ce ne serait pas non plus faisable pour des raisons de vie privée
Même dans cette petite niche, les solutions sont très hétérogènes, n’ont pas beaucoup de sens sur une machine isolée, et peuvent en réalité être conçues pour fonctionner au niveau du réseau
Je savais que ce genre de chose était possible face à des consommateurs, mais je pensais que les contrats B2B étaient considérés comme des contrats entre deux parties sophistiquées, avec très peu de protections législatives au-delà des clauses contractuelles
Ma compréhension du droit est surtout fondée sur le Royaume-Uni, mais lorsque l’événement engageant la responsabilité relève d’un problème général de bonne foi/compétence dans l’exécution du contrat, et non de la santé-sécurité ou d’un autre domaine fortement encadré par la loi, je ne connais pas vraiment de règles qui neutraliseraient les clauses limitatives de responsabilité
Je ne suis donc pas convaincu par l’idée, avancée dans l’article, que ce ne serait pas seulement une question de « système juridique français » et que le même type de décision pourrait être rendu dans d’autres juridictions
Ne pas avoir mis en œuvre délibérément un déploiement progressif me semble relever de la négligence, mais je ne suis pas avocat. Si l’on utilise des canaris, c’est bien pour une raison
Si ce n’est pas le cas, il peut y avoir violation du contrat, et les clauses limitatives de responsabilité peuvent ne plus s’appliquer
Ce n’est pas propre à la France
La plupart, voire tous les pays de l’UE, ont des lois qui limitent les exclusions de responsabilité, quoi qu’on écrive dans le contrat
Je ne connais pas les limites exactes dans chaque pays, mais je suis assez sûr qu’au moins les hôpitaux, les services d’appel d’urgence, etc., pourraient engager des poursuites pour une part non négligeable des dommages directement causés par la panne
Les particuliers qui ont subi un préjudice parce qu’ils n’ont pas été opérés à temps ont aussi de fortes chances de pouvoir demander réparation pour l’intégralité du dommage subi. Cela dit, l’évaluation du préjudice est difficile, et il faudra peut-être procéder indirectement, en poursuivant l’hôpital, puis en laissant celui-ci réclamer des dommages plus importants
Les parties probablement difficiles à faire valoir en justice seront les pertes de coût d’opportunité, les coûts de main-d’œuvre consacrés à la remise en état, etc.
Et dans de nombreux cas qui ne sont ni aussi graves que des pertes humaines, ni aussi indirects que des pertes de coût d’opportunité, la façon dont les juges apprécieront le degré de négligence sera sans doute un facteur majeur. Ici, la « négligence » ne vise pas seulement le changement précis qui a introduit le bug, mais aussi le fait d’avoir rempli ou non son devoir de diligence dans le choix des outils, des approches et des processus métier afin de réduire raisonnablement le risque. Par exemple, la manière de parser la configuration était-elle appropriée, les bonnes pratiques du secteur ont-elles été suivies ? À mon avis, cela ne semble pas être le cas. Ou encore, était-il approprié de marquer ce pilote comme indispensable au démarrage ? Si ce n’était pas le cas, Windows l’aurait automatiquement désactivé puis redémarré
Il est indiqué que « CrowdStrike a déployé une mise à jour logicielle le 19 juillet 2019 », mais l’année semble vouloir dire 2024
À propos du passage « Ce n’est pas un incident isolé. Quelques semaines plus tôt, la même chose s’était produite avec l’agent CrowdStrike sous Linux, mettant des systèmes hors service, et il pourrait y avoir eu d’autres cas auparavant » : existe-t-il un lien vers cet incident ?
“CrowdStrike's Falcon Sensor also linked to Linux kernel panics and crashes”, https://news.ycombinator.com/item?id=41030352