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 !

« Avec un logiciel d'une telle importance, la panne de CrowdStrike 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

Le , par Stéphane le calme

50PARTAGES

8  0 
Une mise à jour défectueuse du logiciel Falcon de CrowdStrike a provoqué une panne mondiale touchant plus de 8,5 millions d’utilisateurs de Microsoft. Cet incident a mis en lumière des problèmes fondamentaux dans la gestion de la qualité et la communication entre les équipes de développement et d’exploitation. Pour un développeur, avec un logiciel d'une telle criticité, un tel problème ne devrait pas être possible; la technologie permettant de le garantir existant déjà depuis des décennies.

Le 19 juillet 2024, une panne informatique mondiale a touché des entreprises, des aéroports et des médias à travers le monde. Environ 8,5 millions de systèmes Windows dans le monde se sont retrouvés en panne à la suite d'une mise à jour défectueuse de Falcon Sensor de CrowdStrike.

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 du 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. »

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 ».

En clair, selon le RCA, l'essentiel de ce qui s'est passé est un index hors limites, ce qui est un cas spécial de dépassement de mémoire tampon et considéré comme un comportement non défini en C++, le langage qui semble avoir été utilisé pour développer le système de Crowdstrike. Il s'agirait d'une erreur que les étudiants en programmation de première année apprennent à éviter.


Une situation qui n'aurait pas dû arriver, selon un développeur

Eduardo Bellani y va de son argumentation.

Selon lui, pour un logiciel d'une telle criticité, un tel problème ne devrait pas être possible. La technologie permettant de le garantir existe déjà depuis des décennies, comme le montre cette citation :

« ... nous pouvons continuer à ajouter des contrats au code jusqu'à ce que chaque sous-programme ait une spécification entièrement fonctionnelle. Nous entendons par là que chaque sous-programme possède une postcondition qui spécifie la valeur de chacune de ses sorties et une précondition nécessaire pour contraindre l'espace d'entrée. D'autres invariants de type peuvent également être ajoutés en plus de ceux déjà présents au niveau Gold. Une fois que l'implémentation a été complétée par rapport à cette spécification complète et que toutes les VCs générées par l'analyseur ont été prouvées, nous avons atteint le niveau Platine de l'assurance SPARK.

« En raison de l'effort supplémentaire qu'implique le développement de la spécification et de la preuve à ce niveau, le niveau Platine ne sera approprié que pour les applications les plus critiques. Cependant, il vaut la peine d'envisager une réduction des tests unitaires pour la vérification fonctionnelle si la preuve de niveau Platine a été atteinte, puisque nous savons que le programme retournera le résultat correct pour toutes les entrées, et pas seulement pour celles que nous avons pu tester. (Chapman et al. 2024) »

En outre, toutes les mesures techniques d'atténuation proposées se résument à boucher les trous. Mais la sécurité ne peut être obtenue de cette manière, elle doit être intégrée dans la conception, les outils et les langages utilisés dès le début d'une telle entreprise.

Annexe 1 : L'impact

Une panne informatique majeure a touché les services et les infrastructures du monde entier, notamment les secteurs de l'aviation, de la banque, des soins de santé et des services financiers.

La panne de CrowdStrike n'a pas seulement retardé les vols et rendu plus difficile la commande d'un café. Elle a également touché les cabinets médicaux et les hôpitaux, les services d'urgence 911, les systèmes d'enregistrement et de cartes-clés des hôtels, ainsi que les ordinateurs professionnels qui étaient en ligne et saisissaient les mises à jour au moment où la mise à jour défectueuse a été envoyée. En plus de fournir des correctifs pour les PC clients et les machines virtuelles hébergées dans son cloud Azure, Microsoft déclare travailler avec Google Cloud Platform, Amazon Web Services et « d'autres fournisseurs de nuages et parties prenantes » pour fournir des correctifs aux machines virtuelles Windows fonctionnant dans les clouds de ses concurrents.

Si les mises à jour de logiciels peuvent occasionnellement provoquer des perturbations, les incidents importants tels que l'événement CrowdStrike sont peu fréquents. Nous estimons actuellement que la mise à jour de CrowdStrike a affecté 8,5 millions d'appareils Windows, soit moins d'un pour cent de toutes les machines Windows. Bien que le pourcentage soit faible, les impacts économiques et sociétaux importants reflètent l'utilisation de CrowdStrike par des entreprises qui gèrent de nombreux services critiques.

Conclusion

CrowdStrike a rapidement déployé un correctif pour résoudre le problème, mais l’incident aurait pu être évité. Plusieurs experts qualifient cette erreur « d'embarrassante », car elle aurait pu être évitée avec des pratiques de programmation de base. Pour une entreprise de cybersécurité, c’est un rappel important : même les meilleures peuvent commettre des erreurs. La panne mondiale causée par un simple capteur non détecté souligne l’importance de la vigilance et de la rigueur dans le développement logiciel.

Source : Eduardo Bellani

Et vous ?

Que pensez-vous de l'argumentation d'Eduardo Bellani ?
Quelle est votre opinion sur la manière dont CrowdStrike a géré cette panne mondiale ? Certains soutiennent que l’entreprise aurait dû être plus proactive dans la détection et la résolution du problème. D’autres estiment que ces incidents sont inévitables et que CrowdStrike a réagi de manière appropriée.
Pensez-vous que les entreprises de cybersécurité devraient être tenues responsables de leurs erreurs ? Certains affirment que la confiance des utilisateurs est en jeu et que les entreprises doivent être plus transparentes. D’autres estiment que les erreurs font partie du processus de développement et que la responsabilité ne devrait pas être exagérée.
Comment pouvons-nous éviter de futures pannes similaires à l’avenir ? Quelles mesures devraient être prises pour renforcer la fiabilité des logiciels de sécurité ? Certains suggèrent des audits plus fréquents, tandis que d’autres mettent l’accent sur la formation et les meilleures pratiques.
Quel rôle joue la dépendance croissante à l’égard des technologies de sécurité tierces dans notre société ? L’incident de CrowdStrike soulève des questions sur notre dépendance à l’égard de ces solutions. Devrions-nous réduire cette dépendance ou investir davantage dans la recherche et le développement de solutions internes ?

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

Avatar de floyer
Membre éclairé 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 éclairé 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 Aiigl59
Membre actif https://www.developpez.com
Le 04/10/2024 à 16:43
"Un cadre supérieur de la société de cybersécurité CrowdStrike s'est excusé devant la Chambre des représentants des États-Unis"
ça nous fait une belle jambe !
2  0 
Avatar de OuftiBoy
Membre éprouvé https://www.developpez.com
Le 29/10/2024 à 21:07


Citation Envoyé par Mathis Lucas Voir le message
David Weston déclare : « la différence de gravité des problèmes entre le mode noyau et le mode utilisateur est que si vous tombez en panne dans le noyau, c'est toute la machine qui tombe en panne. Si une application tombe en panne en mode utilisateur, nous pouvons généralement la récupérer ». Cet état de choses peut amener à privilégier le mode utilisateur et à limiter l'accès au noyau pour protéger les clients de Windows. Mais Microsoft mise sur les SDP :
C'est le ba-ba niveau sécurité. C'est bien des bonnes pratiques, mais ça ne résoud pas le problème de fond. L'accès au noyau doit-être "sécurisé", point. Et le meilleur moyen, c'est d'en interdire l'accès. Au minimum, les sociétés ayant besoin de cet accès doivent travailler en "trés" étroite collaboration avec une équipe de Microsoft. Equipe dont ce serait la spécialité et l'unique but.

Citation Envoyé par Mathis Lucas Voir le message
Les SDP ne sont pas une idée nouvelle. L'USENIX a publié en 2004 un article de l'université d'Utrecht intitulé « A Safe and Policy-Free System for Software Deployment ». La première phrase de ce document est la suivante : « les systèmes existants pour le déploiement de logiciels ne sont ni sûrs ni suffisamment flexibles ». Ce problème des SDP n'a pas encore été résolu, et une telle solution est un aspect important des plans de Microsoft pour limiter les pannes futures.
C'est quand même étonnant de lire ça. Le document a plus de 20 ans... Ils n'avaient donc pas de plans avant cette panne ? C'était "open bar" et chacun faisait ce qu'il voulait dans son coin ? Pour un composant logiciel aussi "critique", il faut que l'éditeur de l'OS "certifie" ce logiciel. S'il n'est pas en mesure de la faire, alors c'est qu'il accepte l'état de fait que leur noyau peut être perturbé par n'importe qui faisant n'importe quoi, involontairement ou pas.

Citation Envoyé par Mathis Lucas Voir le message
Ce point a été discuté lors du sommet de septembre. Dans un billet de blogue sur le sommet, David Weston avait écrit : « cette riche discussion lors du sommet se poursuivra dans le cadre d'un effort de collaboration avec nos partenaires MVI [Microsoft Virus Initiative] afin de créer un ensemble partagé de meilleures pratiques que nous utiliserons en tant qu'écosystème à l'avenir ». Le billet abordait également les difficultés rencontrées par Microsoft et ses partenaires :

« Nous avons discuté des moyens d'éliminer les conflits entre les différentes approches SDP utilisées par nos partenaires et de réunir toutes les parties en un consensus sur les principes du SDP. Nous voulons que tout soit transparent, mais nous voulons aussi que cette norme devienne une exigence pour travailler avec Microsoft », explique David Weston à SecurityWeek. La question est de savoir comment Microsoft fera respecter l'application rigoureuse de ces mesures.
Bien dit, donc Microsoft n'avait non seulement pas de plan, mais est incapable d'en faire respecter un ? Y'a pas une IA pour ça ? C'est dit juste en dessous:

Citation Envoyé par Mathis Lucas Voir le message
Convenir d'un ensemble de pratiques de déploiement sûres et les exiger des partenaires est une chose ; s'assurer que ces partenaires emploient les SDP convenues en est une autre. « L'application technique serait un défi. La transparence et la responsabilité semblent être la meilleure méthode pour l'instant », affirme David Weston. Microsoft dispose toutefois d'un pouvoir. Si un partenaire a ignoré les SDP, Microsoft peut retirer sa signature à tout pilote de noyau.
Et comment savoir si ce "partenaire" a ignoré les SDP ? Une fois une panne découverte ? Parce que compter sur la "transparence et la responsabilité", c'est bien beau, mais ça n'êmpéchera pas une nouvelle catastrophe de se produire.

"Ce serait un défit technique"

Comment un responsable peut-il tenir de telles propos ? Ils ont assez de moyens financiers pour et des équipes en suffisance pour justement régler les "défits techniques". C'est un aveux d'impuissance terrible.

Citation Envoyé par Mathis Lucas Voir le message
« C'est de la même manière que nous travaillons aujourd'hui avec les agences de certification racine. Nous avons une norme, et si vous ne respectez pas cette norme de sécurité, nous pouvons vous retirer, ce qui aurait un impact considérable sur vos activités. En même temps, l'insistance sur la transparence montrerait aux clients que ce fournisseur n'est pas honnête avec eux. Nous pensons que ce niveau d'application est assez efficace », explique David Weston.
C'est bien qu'il le pense, mais des entreprises ont perdu des sommes considérables, et je trouve leur réponse un peu "juste"

Citation Envoyé par Mathis Lucas Voir le message
« En résumé, les SDP sont le meilleur outil dont nous disposons pour mettre fin aux interruptions de service. Le mode noyau, le mode utilisateur - je ne dis pas qu'ils ne sont pas valables, je dis simplement qu'ils représentent une partie beaucoup plus petite du problème. les SDP peuvent aider à prévenir les pannes à l'intérieur et à l'extérieur du noyau », a-t-il ajouté. David Weston n'a pas donné de détails sur les travaux de Microsoft et les fournisseurs de logiciels de sécurité.
Bref, le monsieur dit, c'est "un défit technique", on a ni les moyens, ou ni l'envie, et/ou ni la compétence pour régler cela, alors on compte sur la bonne volonté et les bonnes pratique.

Citation Envoyé par Mathis Lucas Voir le message
Source : David Weston, vice-président de la sécurité des entreprises et des systèmes d'exploitation chez Microsoft
Nous voilà rassuré

Citation Envoyé par Mathis Lucas Voir le message
Et vous ?
Citation Envoyé par Mathis Lucas Voir le message
Quel est votre avis sur le sujet ?
Mon avis est que tout celà n'est pas rassurant du tout.

Citation Envoyé par Mathis Lucas Voir le message
Que pensez-vous de l'avis de Microsoft sur la restriction de l'accès au noyau Windows ?
Apparemment, il y aura restriction après la découverte de "mauvaise pratique", en retirant le certificat. Il faudrait inverser l'ordre des choses, c'est à dire au minimum s'assurer AVANT de permettre la diffusion que les "bonnes pratiques" ont été respectées.

Citation Envoyé par Mathis Lucas Voir le message
Que pensez-vous des « pratiques de déploiement sûres » (SDP) mises en avant par Microsoft ?
Que ça n'empêchera pas d'autres pannes de ce genre.

Citation Envoyé par Mathis Lucas Voir le message
Selon vous, en quoi pourraient constituer « ces pratiques de déploiement sûres » ?
C'est à Microsoft qu'il faudrait poser cette question. Je ne suis pas expert du noyau Windows, mais dire que ce serait un "défit technique", pour une société comme Microsoft me laisse sans voie.

Citation Envoyé par Mathis Lucas Voir le message
Cette approche permettrait-elle de garantir la sécurité du noyau Windows et limiter les pannes à l'avenir ?
J'ai des doutes...

BàV et Peace & Love.
2  0 
Avatar de calvaire
Expert éminent https://www.developpez.com
Le 30/10/2024 à 9:30
ce que je repproche a windows ce sont les outils pour réparer l'os completement inexistant.

déja l'outil pour faire des sauvegarde, c'est écrit windows 7 dessus, ms la abandonné sans proposer d'alternative et pour se dédouaner de toute responsabilité sur les autres versions de l'os a mis "windows 7".

ensuite, pour debugger un écran bleu c'est une catastrophe, sous linux on a des logs erreurs bien explicite, pas des core d'erreurs obscure.

ensuite, les outils de réparations de l'os fournie dans le cd d'install, c'est obscure, ca affiche un message tentative de réparation en cours sans rien savoir de ce qu'il fait
meme chose pour le mode sans echec, dans windows xp en mode sans échec il affichait les fichiers qu'il chargeait au moins.

si l'os pouvait dire quels fichiers ont été ajouté pour chaque programme aussi, un peu comme on a avec apt.

le must serait un mode command line minimal comme sous linux avec un microkernel de secours, ca permettrait de manipuler l'os, de supprimer des drivers ou les programmes qui corrompt l'os.
2  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