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 !

Panne Microsoft/CrowdStrike : à l'avenir, l'adoption de l'environnement d'exécution sécurisé du noyau eBPF évitera-t-elle les pannes à cause de mauvaises mises à jour logicielles ?

Le , par Anthony

41PARTAGES

8  0 
Dans un article récent, des experts d'Intel, d'Isovalent et de Google expliquent comment l'eBPF, un environnement d'exécution sécurisé du noyau, pourrait empêcher de futures pannes mondiales comme celle qui a touché les utilisateurs de Microsoft et de CrowdStrike. Les auteurs affirment que les contrôles de sécurité et les capacités de sandboxing de l'eBPF l'immunisent contre les pannes du noyau causées par de mauvaises mises à jour logicielles. L'adoption croissante de l'eBPF dans les systèmes Linux et Windows promet de révolutionner la sécurité et la stabilité des ordinateurs dans divers secteurs.

Le 19 juillet 2024, une panne informatique mondiale de Microsoft 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.

L'eBPF est une technologie qui permet d'exécuter des programmes dans un contexte privilégié tel que le noyau du système d'exploitation. Il succède au mécanisme de filtrage Berkeley Packet Filter (BPF, le « e » signifiant à l'origine « étendu ») dans Linux et est également utilisé dans les parties du noyau Linux qui ne concernent pas les réseaux. L'eBPF est utilisé pour étendre de manière sûre et efficace les capacités du noyau au moment de l'exécution sans nécessiter de modifications du code source du noyau ou de chargement de modules du noyau. La sécurité est assurée par un vérificateur intégré au noyau qui effectue une analyse statique du code et rejette les programmes qui se plantent, se bloquent ou interfèrent négativement avec le noyau.


À l'avenir, les ordinateurs ne tomberont pas en panne à cause de mauvaises mises à jour logicielles, même celles qui concernent le code du noyau. À l'avenir, ces mises à jour pousseront le code eBPF.

Le vendredi 19 juillet a fourni un exemple sans précédent des dangers inhérents à la programmation du noyau, et a été qualifié de plus grande panne de l'histoire des technologies de l'information. Les ordinateurs Windows du monde entier ont connu des écrans bleus de la mort et des boucles de démarrage, provoquant des pannes dans les hôpitaux, les compagnies aériennes, les banques, les épiceries, les diffuseurs de médias et bien d'autres encore. Cette situation a été provoquée par une mise à jour de configuration effectuée par une société de sécurité pour son produit largement utilisé, qui incluait un pilote de noyau sur les systèmes Windows. La mise à jour a amené le pilote du noyau à essayer de lire une mémoire non valide, un type d'erreur qui fait planter le noyau.

Pour les systèmes Linux, l'entreprise à l'origine de cette panne était déjà en train d'adopter eBPF, qui est immunisé contre de telles pannes. Une fois que la prise en charge de l'eBPF par Microsoft pour Windows sera prête pour la production, les logiciels de sécurité Windows pourront également être portés sur l'eBPF. Ces agents de sécurité seront alors sûrs et incapables de provoquer une panne du noyau Windows.

eBPF (qui n'est plus un acronyme) est un environnement d'exécution sécurisé du noyau, similaire au moteur d'exécution JavaScript sécurisé intégré dans les navigateurs web. Si vous utilisez Linux, vous disposez probablement déjà d'eBPF sur vos systèmes, que vous le sachiez ou non, car il a été inclus dans le noyau il y a plusieurs années. Les programmes eBPF ne peuvent pas faire planter l'ensemble du système parce qu'ils sont contrôlés par un vérificateur de logiciels et sont effectivement exécutés dans un bac à sable. Si le vérificateur trouve un code dangereux, le programme est rejeté et n'est pas exécuté. Le vérificateur est rigoureux - l'implémentation Linux compte plus de 20 000 lignes de code - et bénéficie de contributions de l'industrie (Meta, Isovalent, Google) et du monde universitaire (Rutgers University, University of Washington). La sécurité qu'elle procure est un avantage clé de l'eBPF, au même titre que la sécurité accrue et l'utilisation réduite des ressources.

Certaines start-ups de sécurité basées sur eBPF (par exemple, Oligo, Uptycs) ont fait leurs propres déclarations sur la récente panne et sur les avantages de la migration vers eBPF. Les grandes entreprises technologiques adoptent également l'eBPF pour la sécurité. Par exemple, Cisco a acquis la start-up Isovalent, spécialisée dans l'eBPF, et a annoncé un nouveau produit de sécurité eBPF : Cisco Hypershield, une structure pour l'application et la surveillance de la sécurité. Google et Meta font déjà confiance à l'eBPF pour détecter et arrêter les mauvais acteurs dans leur flotte, grâce à la vitesse, à la visibilité approfondie et aux garanties de sécurité de l'eBPF. Au-delà de la sécurité, l'eBPF est également utilisé pour la mise en réseau et l'observabilité.

La pire chose qu'un programme eBPF puisse faire est de consommer plus de ressources qu'il n'est souhaitable, comme les cycles de l'unité centrale et la mémoire. eBPF ne peut pas empêcher les développeurs d'écrire du mauvais code - du code gaspillé - mais il empêchera les problèmes graves qui causent un crash du système. Cela dit, en tant que nouvelle technologie, l'eBPF a connu quelques bogues dans son code de gestion, notamment une panique du noyau Linux découverte par la même société de sécurité qui fait l'actualité aujourd'hui. Cela ne signifie pas que l'eBPF n'a rien résolu, remplaçant le bogue d'un fournisseur par le sien. La correction de ces bogues dans eBPF signifie la correction de ces bogues pour tous les fournisseurs d'eBPF, et l'amélioration plus rapide de la sécurité de tous.

Il existe d'autres moyens de réduire les risques lors du déploiement d'un logiciel : les tests canaris, les déploiements échelonnés et l'« ingénierie de la résilience » en général. Ce qui est important dans la méthode eBPF, c'est qu'il s'agit d'une solution logicielle qui sera disponible par défaut dans les noyaux Linux et Windows, et qui a déjà été adoptée pour ce cas d'utilisation.

Si votre entreprise paie pour un logiciel commercial qui comprend des pilotes ou des modules de noyau, vous pouvez faire de l'eBPF une exigence. C'est possible pour Linux aujourd'hui, et pour Windows bientôt. Si certains éditeurs ont déjà adopté l'eBPF de manière proactive, d'autres pourraient avoir besoin d'un peu d'encouragement de la part de leurs clients payants.

Sources : Brendan Gregg d'Intel ; Daniel Borkmann et Joe Stringer d'Isovalent ; KP Singh de Google

Et vous ?

Quel est votre avis sur le sujet ?
Pensez-vous que l'adoption de l'eBPF permettra à l'avenir de prévenir les pannes d'ordinateurs similaires à celle de Microsoft/CrowdStrike ?

Voir aussi :

Une panne chez Microsoft provoquée par une mise à jour logicielle de CrowdStrike a des répercussions mondiales, touchant divers secteurs tels que les compagnies aériennes, les banques, les organismes de santé

Microsoft adopte l'outil révolutionnaire eBPF du noyau Linux et veut l'étendre pour Windows en exploitant les projets open source existants, comme IOVisor uBPF et PREVAIL

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

Avatar de Leruas
Membre éclairé https://www.developpez.com
Le 22/07/2024 à 20:47
Maintenant qu'on connait la raison du bug (et que cela arrive dans 100% des cas avec ce patch), comment cela se fait qu'ils n'aient pas vu ce problème sur leurs machines de test en QA ?
7  0 
Avatar de TotoParis
Membre expérimenté https://www.developpez.com
Le 22/07/2024 à 20:30
Il y a l'explication technique ici : https://macbidouille.com/news/2024/0...0-adresse-0x9c

CrowdStrike: une lecture mémoire via un pointeur visant la page 0 (adresse 0x9c)

Par Philippe - Dimanche 21 juillet, 14:09 - Catégorie : PC

Il y a eu plusieurs hypothèses qui ont été relayées y-compris ici-même et par votre serviteur, dont une erreur dans les règles ou patterns de détection de virus, qui auraient alors mis en quarantaine des fichiers indispensables à Windows.
Cela ne collait pas avec le fix rapide consistant à éliminer un fichier .sys, puisqu'il aurait alors fallu aussi ramener le ou les fichiers en quarantaine dans leurs emplacements d'origine.
Ça aurait du attirer mon attention. Mais les informations reçues étaient contradictoires.
Grâce à Zach Vorhies on a une piste très crédible.
Non un "Null Pointer" (Pointeur nul valant 0) comme il l'indique, pas un "
" (déréférencement mémoire d'un pointeur valant 0), mais une lecture indirecte de la page 0 via un pointeur non-null (à l'adresse 0x9c précisément).
La page 0 est protégée des accès en lecture et en écriture par le Kernel de Window justement pour provoquer une exception lors de ceux-ci car c'est une erreur courante en assembleur, en C et dans tous les langages où le programmeur gère lui-même les pointeurs via son code.
On ne peut pas protéger matériellement uniquement l'adresse 0, c'est donc toute la page qui est protégée.
L'accès à cette page, que ça soit en lecture ou en écriture, déclenche une Exception de type Violation d'Accès, et généralement l'arrêt du programme si en mode utilisateur.
En mode Kernel, comme c'est le cas ici, cette Exception déclenche le crash du Kernel et donc de Windows!
C'est le jeu de données utilisé "Channel 291" du produit Sensor de CrowdStrike, destiné aux versions sous Windows 7.11 et suivant qui a généré une erreur de logique, expliquant que le problème ne se produise pas sous macOS ou Linux.
Les cause-racines sont une non-validation des données lues par le code (un grand classique), d'avoir poussé une MàJ non validée, d'avoir mis des données corrompues dans une MàJ, et de ne pas avoir procédé à des tests corrects.
CrowdStrike va vraiment avoir des réponses à apporter...
5  0 
Avatar de Eric80
Membre éclairé https://www.developpez.com
Le 23/07/2024 à 17:04
Citation Envoyé par fmartini Voir le message
En effet, le réseau intradef (l'intranet standard de l'armée française) est entièrement coupé d'internet.
ce qui est bien plus pertinent que des solutions tjs connectées.

Le gars ds l interview parle bien des systèmes Microsoft imposés dans les différents ministères, dont la défense. Comme il dit, pour des raisons évidentes de souveraineté, l armée se méfie énormément de Windows et fait tout pour éviter que les infos transitent trop vers MS et la NSA...
5  0 
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 Anselme45
Membre extrêmement actif https://www.developpez.com
Le 24/07/2024 à 15:17
Citation Envoyé par weed Voir le message
Il faudrait intérroger longuement les DSI des grands groupes, des institutions publics qui font les choix des OS. Connaitre la vrai raison de l'usage de tel OS plutot qu'un autre. Je reste persuadé qu'il y a du lobby, et donc on ne peut pas partler de lobby.

Après il ne faut pas allé dans l'exagération de dire qu'il est le buggé. Aller dans les extrèmes n'est jamais bon. Il faut avant tout de la diversité, et ne pas avoir de dés pipés sur le marché des OS..
Parler de "lobby"? Mais c'est proprement scandaleux comme affirmation

Par contre les petits week-end prolongés pour Monsieur et madame, tout frais payé, débutant le jeudi jusqu'au lundi suivant, dans un hôtel de luxe, dans un pays chaud pour présenter une nouvelle solution à quelques DSI bien choisis, présentation qui dure 1 heure sur toute la durée du week-end, sans qu'une présence soit exigée... ça oui! Mais franchement parler de "lobby"
4  0 
Avatar de Zefling
Expert confirmé https://www.developpez.com
Le 22/07/2024 à 23:26
Quand je vois comment ça se passe, j'ai l'impression que les clients sont les beta-testeurs maintenant.
Nous, pour réduire au maximum les coûts, on va de plus en plus vers les zéro QA.
Il faut tout faire avec des tests, sauf qu'un développeur ne teste pas la même chose qu'un QA. Et je me rends bien compte avec les temps que c'est 2 domaines biens différents.
4  1 
Avatar de phil995511
Membre éprouvé https://www.developpez.com
Le 23/07/2024 à 14:25
Citation Envoyé par denisys Voir le message
Avec une bonne paire de lunette.
En relisant le titre de l’article.
L’article parle de Linux !!
On ne vous a semble-t-il ni appris la courtoisie, ni le respect des autres ;-(

Part ailleurs il n'y a aucune allusion à Linux dans l'article du 23 juillet 2024 "Les coûts de la panne mondiale provoquée par CrowdStrike pourraient dépasser le milliard de dollars".
3  0 
Avatar de weed
Membre chevronné https://www.developpez.com
Le 24/07/2024 à 0:22
Citation Envoyé par Eric80 Voir le message
ce qui est bien plus pertinent que des solutions tjs connectées.

Le gars ds l interview parle bien des systèmes Microsoft imposés dans les différents ministères, dont la défense. Comme il dit, pour des raisons évidentes de souveraineté, l armée se méfie énormément de Windows et fait tout pour éviter que les infos transitent trop vers MS et la NSA...
Sauf que l'amrée utilisent beaucoup de Microsoft, ils ont eu un gros contrat Microsoft en open bar, cela a fait pas mal scandale.
L'insitution qui a su mettre un stop est la gendarmerie mais en aucun cas l'armée.
3  0 
Avatar de weed
Membre chevronné https://www.developpez.com
Le 24/07/2024 à 0:27
Citation Envoyé par phil995511 Voir le message
En plus de Windows ou Linux il y a aussi Unix et Mac OS me semble-t-il... mettre tous ses oeufs dans le même panier peut en effet être potentiellement risqué mais faire confiance à l'OS le plus buggé et le plus piraté de l'histoire est à mes yeux encore plus risqué...
Il faudrait intérroger longuement les DSI des grands groupes, des institutions publics qui font les choix des OS. Connaitre la vrai raison de l'usage de tel OS plutot qu'un autre. Je reste persuadé qu'il y a du lobby, et donc on ne peut pas partler de lobby.

Après il ne faut pas allé dans l'exagération de dire qu'il est le buggé. Aller dans les extrèmes n'est jamais bon. Il faut avant tout de la diversité, et ne pas avoir de dés pipés sur le marché des OS..
3  0 
Avatar de AaâÂäÄàAaâÂäÄàAaâÂäÄ
Membre expérimenté https://www.developpez.com
Le 24/07/2024 à 19:34
Les procédures de test ne sont pas testées...
Ce qui est assez drôle mais que ne m'aurait pas fait rire vendredi !
3  0