L'avenir de l'exécution sécurisée du code : Adopter les approches collaboratives de l'eBPF
Dans le domaine de la cybersécurité, nous sommes toujours à la recherche de moyens robustes et fiables d'exécuter du code. Des outils tels que l'eBPF (extended Berkeley Packet Filter) et des technologies spécialisées de sandboxing sont devenus des solutions clés.
Cependant, deux événements survenus au cours de l'été 2024 mettent en évidence les forces et les faiblesses de ces outils.
- Juin 2024 : Un bogue dans le vérificateur de code eBPF (Enhanced Berkely Packet Filter) a permis au pilote Linux d'un important fournisseur de systèmes de détection et de réponse aux intrusions (EDR) de planter le noyau Linux, provoquant une panne majeure chez ses clients Linux.
- Juillet 2024 : Un bogue dans l'environnement d'exécution de code sécurisé de ce même fournisseur a permis à une mise à jour de faire planter le noyau et de rendre le système non amorçable. Cela a conduit à une panne encore plus dommageable et très médiatisée pour les clients Windows.
Ces deux incidents montrent deux manières différentes d'effectuer des mises à jour de bas niveau sur des systèmes actifs, et la raison pour laquelle nous devrions préférer une approche unifiée et ouverte pour assurer la sécurité de l'exécution du code.
Équilibrer les mises à jour rapides du code et la stabilité du système
Dans le paysage actuel des menaces qui évoluent rapidement, il est essentiel d'envoyer rapidement des mises à jour aux outils de sécurité afin d'arrêter les menaces avant qu'elles ne causent des problèmes. Ces mises à jour doivent parvenir à tous les systèmes de sécurité en quelques minutes ou en quelques heures. Les "capteurs" EDR peuvent être patchés à distance par votre fournisseur plusieurs fois par jour si les menaces l'exigent.
Mais il y a un équilibre :
- L'envoi de mises à jour aux outils de sécurité qui sont étroitement intégrés au système d'exploitation peut parfois provoquer des pannes importantes.
- Mais si vous attendez trop longtemps pour effectuer la mise à jour, les logiciels malveillants risquent de se propager.
La solution consiste à trouver un moyen sûr et sécurisé d'atténuer rapidement les vulnérabilités du code et de définir l'interface entre le code du système d'exploitation et les outils de sécurité.
Solutions pour l'exécution sécurisée du code : Sandboxing avancé vs. eBPF
Deux technologies sont apparues pour garantir que le code est sûr et correct avant d'être exécuté :
Technologies de sandboxing spécialisées
Le sandboxing utilise de petites machines virtuelles (VM) ciblées et des vérificateurs pour s'assurer que seul un code sûr et approuvé s'exécute.
Ces machines virtuelles ne sont pas comme les systèmes traditionnels basés sur un hyperviseur qui exécutent des systèmes d'exploitation complets. Elles sont plutôt conçues pour exécuter des programmes en toute sécurité à l'aide d'un ensemble spécifique d'instructions virtuelles (comme les VM Java ou JavaScript, et non VMware).
Le vérificateur est essentiel : il vérifie le code avant de l'exécuter pour s'assurer qu'il est sûr et correct. Cette approche permet d'isoler les actions potentiellement risquées, créant ainsi un espace sécurisé pour l'exécution du code.
Les programmes exécutés dans un bac à sable sont comme des programmes en langage d'assemblage. Ils utilisent un petit ensemble d'instructions de base qui peuvent fonctionner avec la plupart des processeurs. Cette conception simple rend le code efficace et garantit qu'il peut être exécuté en toute sécurité dans l'environnement sandbox ou kernel.
eBPF
Le filtre de paquets Berkeley étendu adopte une approche plus intégrée, en particulier dans les systèmes Linux. Il permet au code de s'exécuter en toute sécurité à l'intérieur du noyau, offrant ainsi une meilleure visibilité et un meilleur contrôle sans compromettre la stabilité du système.
L'eBPF est doté d'un puissant vérificateur intégré qui s'assure que le code est sûr. Cela permet d'éviter l'exécution de code contenant des instructions non sûres et offre une manière plus rationnelle et plus efficace d'exécuter le code.
Les pannes informatiques de juillet 2024 : Ce qu'elles nous ont appris sur l'exécution sécurisée des codes
Même si des protections sont en place, des événements récents ont montré les faiblesses des outils de sandboxing et de la technologie eBPF.
Il est vrai que la panne de Linux s'est produite à cause d'un bogue dans le vérificateur eBPF qui a provoqué la défaillance du système d'exploitation. Cela montre que même des outils avancés comme l'eBPF peuvent présenter des problèmes, d'où l'importance de rester vigilant et de continuer à les améliorer. Mais le résultat de la correction du vérificateur eBPF a des implications différentes pour l'avenir parce qu'il fait partie d'une solution communautaire.
Lorsque le bogue du vérificateur a été découvert, la communauté a rapidement collaboré pour le corriger. Cet effort collectif permet d'améliorer l'eBPF pour tout le monde et de réduire la probabilité que des problèmes similaires se reproduisent.
L'incident de l'écran bleu de la mort (BSOD) dans l'environnement Windows a été causé par des erreurs de mémoire. Ces erreurs provenaient d'une mauvaise correspondance entre la taille des tableaux dans un outil spécial de "sandboxing" et son système de vérification. Les efforts déployés pour analyser et atténuer l'incident ont montré l'importance d'un processus de vérification solide. Cela permettrait d'éviter que des vulnérabilités ne compromettent la stabilité du système.
Contrairement à l'eBPF, les VM de sandboxing et les systèmes de vérification propriétaires fonctionnent dans des écosystèmes fermés. Bien qu'ils puissent corriger les bogues identifiés, ces améliorations n'aident que les utilisateurs d'un seul fournisseur. Ce mode de travail cloisonné ralentit le partage des améliorations en matière de sécurité et augmente les risques que des problèmes similaires se produisent ailleurs.
Vers une approche unifiée : Le cas de l'eBPF
Ces incidents contrastés montrent l'importance de l'utilisation d'un système ouvert et partagé pour l'exécution d'un code sécurisé.
L'approche collaborative de l'eBPF crée une base solide pour l'amélioration des outils de sécurité sur différentes plateformes. En utilisant une seule VM et un seul vérificateur intégré au système d'exploitation, les entreprises peuvent éviter de créer de multiples systèmes de bricolage incohérents et potentiellement peu sûrs.
Un bon exemple de cette idée est le travail effectué pour amener l'eBPF sous Windows. En ajoutant l'eBPF à leur système d'exploitation, les organisations peuvent créer un environnement sécurisé et normalisé pour exécuter des outils de sécurité de bas niveau. Ce changement ne rend pas seulement le système d'exploitation plus sûr, il encourage également l'utilisation de l'approche éprouvée de l'eBPF dans l'ensemble de l'industrie.
Les efforts visant à transformer les fondements de la sécurité dans plusieurs systèmes d'exploitation grâce à l'intégration d'un noyau sûr montrent le potentiel de cette idée. En utilisant les fonctionnalités de l'eBPF, ces projets visent à construire un système plus sûr et plus connecté pour que les outils de sécurité fonctionnent sur différents systèmes d'exploitation.
Ce que l'eBPF signifie pour l'avenir de la cybersécurité
Les récents problèmes rencontrés par les outils de sécurité montrent comment l'adoption de l'eBPF pourrait être bénéfique à l'industrie cybernétique. Grâce à son modèle ouvert et collaboratif, les organisations pourraient envisager les avantages potentiels de l'intégration de l'eBPF dans leurs solutions.
En utilisant l'eBPF, la responsabilité des pannes de système, comme les paniques du noyau, serait transférée au fournisseur du système d'exploitation. Ils sont mieux équipés pour gérer ces problèmes et maintenir la sécurité et la stabilité du système.
En s'appuyant sur des fournisseurs de systèmes d'exploitation de confiance pour assurer la sécurité de l'eBPF, les entreprises peuvent se concentrer sur la fourniture de mises à jour plus rapides et plus fiables à leurs clients. Cette méthode permet de réaliser des améliorations rapides sans sacrifier la sécurité.
Bien qu'il soit toujours important de procéder à des tests minutieux avant de lancer les mises à jour, l'utilisation des fonctions de sécurité intégrées de l'eBPF permet de réduire considérablement les risques de problèmes pendant le fonctionnement du système.
La collaboration est l'avenir de l'exécution sécurisée du code
Les incidents récents résultant de problèmes d'exécution de code montrent la complexité du maintien d'environnements robustes et fiables.
Les VM de sandboxing et les vérificateurs propriétaires peuvent donner aux entreprises plus de contrôle et de personnalisation, mais ils les coupent également des améliorations plus larges en matière de sécurité. D'autre part, l'approche ouverte et collaborative de l'eBPF crée un système plus solide qui permet une amélioration constante et des avantages partagés en matière de sécurité.
À mesure que le secteur évolue, l'utilisation de modèles tels que l'eBPF, qui encouragent la collaboration et la normalisation, peut contribuer à créer des systèmes plus solides et plus sûrs. Les organisations peuvent tirer un grand profit de l'ajout de l'eBPF à leurs outils, en utilisant les connaissances partagées de la communauté pour améliorer la sécurité.
Grâce à cet esprit de collaboration, l'avenir de la cybersécurité s'annonce plus prometteur et plus sûr pour tous.
Prenez contact avec nous dès aujourd'hui pour en savoir plus sur la plateforme de segmentation zéro confiance d'Illumio.