L'avenir de l'exécution sécurisée de code : adopter des approches eBPF collaboratives
Dans le domaine de la cybersécurité, nous sommes toujours à la recherche de méthodes robustes et fiables pour exécuter du code. Des outils tels que eBPF (filtre de paquets Berkeley étendu) et des technologies de sandboxing spécialisées sont devenus des solutions clés.
Cependant, deux événements organisés au cours de l'été 2024 mettent en évidence à la fois les forces et les faiblesses de ces outils.
- Juin 2024 : Un bogue dans le vérificateur de code amélioré du filtre de paquets Berkely (eBPF) a permis au pilote Linux d'un important fournisseur d'EDR (Endpoint Detection and Response) 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é développé par ce même fournisseur a entraîné une mise à jour bloquant le noyau et rendant le système impossible à démarrer. Cela a entraîné une panne encore plus dommageable et très médiatisée pour leurs 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 expliquent pourquoi nous devrions préférer une approche unifiée et ouverte pour garantir la sécurité de l'exécution du code.
Équilibrer les mises à jour rapides du code avec la stabilité du système
Dans le paysage actuel des menaces en constante évolution, il est essentiel d'envoyer rapidement des mises à jour aux outils de sécurité afin de stopper les menaces avant qu'elles ne causent des problèmes. Ces mises à jour doivent atteindre tous les systèmes de sécurité en quelques minutes ou quelques heures. Les « capteurs » EDR peuvent être corrigés à distance par votre fournisseur plusieurs fois par jour si les menaces nécessitent un tel volume.
Mais il y a un équilibre :
- L'envoi de mises à jour à des outils de sécurité étroitement intégrés au système d'exploitation peut parfois provoquer des pannes majeures.
- Mais attendre trop longtemps avant de procéder à la mise à jour risque de favoriser la propagation des malwares.
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 d'exécution de code sécurisées : sandboxing avancé ou eBPF
Deux technologies sont apparues pour garantir la sécurité et l'exactitude du code avant son exécution :
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 du code sécurisé et approuvé s'exécute.
Ces machines virtuelles ne ressemblent pas aux systèmes traditionnels basés sur des hyperviseurs qui exécutent des systèmes d'exploitation complets. Ils sont plutôt conçus pour exécuter des programmes en toute sécurité à l'aide d'un ensemble spécifique d'instructions virtuelles (comme le fonctionnement des machines virtuelles Java ou JavaScript, et non VMware).
Le vérificateur est essentiel : il vérifie le code avant son exécution pour s'assurer qu'il est sûr et correct. Cette approche isole 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 similaires à des programmes en langage assembleur. Ils utilisent un petit ensemble d'instructions de base qui peut fonctionner avec la plupart des processeurs. Cette conception simple rend le code efficace et garantit son exécution en toute sécurité dans l'environnement sandbox ou noyau.
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.
eBPF possède un puissant vérificateur intégré qui garantit la sécurité du code. Cela empêche l'exécution de code contenant des instructions dangereuses et offre un moyen plus rationalisé 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 du code
Malgré la mise en place de protections, les événements récents ont mis en évidence des faiblesses des outils de sandboxing et de la technologie eBPF.
Il est vrai que la panne de Linux est due à un bogue dans le vérificateur eBPF qui a provoqué la défaillance du système d'exploitation. Cela montre que même les outils avancés tels que eBPF peuvent rencontrer 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, car cela fait partie d'une solution communautaire.
Lorsque le bogue du vérificateur a été découvert, la communauté a rapidement travaillé ensemble pour le corriger. Cet effort collectif contribue à améliorer l'eBPF pour tous et à réduire le risque que des problèmes similaires se reproduisent.
L'incident Blue Screen of Death (BSOD) dans l'environnement Windows a été causé par des erreurs de mémoire. Ces erreurs provenaient de tailles de tableaux incompatibles dans un outil de sandboxing spécial et son système de vérification. Les efforts déployés pour analyser et atténuer l'incident ont montré à quel point il est important de disposer d'un processus de vérification solide. Cela éviterait que les vulnérabilités ne compromettent la stabilité du système.
Contrairement à eBPF, les systèmes propriétaires de machines virtuelles et de vérificateurs de sandboxing fonctionnent dans des écosystèmes fermés. Bien qu'elles puissent corriger les bogues identifiés, ces améliorations n'aident que les utilisateurs d'un seul fournisseur. Cette méthode de travail cloisonnée ralentit le partage des améliorations en matière de sécurité et augmente les chances que des problèmes similaires se produisent ailleurs.
Vers une approche unifiée : les arguments en faveur de l'eBPF
Ces incidents contrastés montrent l'importance d'utiliser un système ouvert et partagé pour exécuter du code sécurisé.
L'approche collaborative d'eBPF constitue une base solide pour améliorer les outils de sécurité sur différentes plateformes. En utilisant une seule machine virtuelle et un seul vérificateur intégrés au système d'exploitation, les entreprises peuvent éviter de créer plusieurs systèmes de bricolage incohérents et potentiellement peu sûrs.
Un bon exemple de cette idée est le travail en cours pour intégrer eBPF à Windows. En ajoutant eBPF à leur système d'exploitation, les entreprises peuvent créer un environnement sécurisé et standardisé pour exécuter des outils de sécurité de bas niveau. Ce changement rend non seulement le système d'exploitation plus sûr, mais favorise également l'utilisation de l'approche éprouvée d'eBPF dans l'ensemble du secteur.
Les efforts visant à transformer les fondements de la sécurité sur plusieurs systèmes d'exploitation grâce à une intégration sécurisée du noyau montrent le potentiel de cette idée. En utilisant les fonctionnalités d'eBPF, ces projets visent à créer un système plus sûr et plus connecté permettant aux outils de sécurité de fonctionner sur différents systèmes d'exploitation.
Ce que l'eBPF signifie pour l'avenir de la cybersécurité
Les récents problèmes liés aux outils de sécurité montrent à quel point l'adoption de l'eBPF pourrait bénéficier à la cyberindustrie. 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 eBPF, la responsabilité des pannes du système, comme les paniques du noyau, passerait au fournisseur du système d'exploitation. Ils sont mieux équipés pour gérer ces problèmes et assurer la sécurité et la stabilité du système.
Et en s'appuyant sur des fournisseurs de systèmes d'exploitation fiables pour assurer la sécurité d'eBPF, les entreprises peuvent se concentrer sur la fourniture de mises à jour plus rapides et plus fiables à leurs clients. Cette méthode répond à l'objectif de permettre 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 à eBPF peut réduire considérablement les risques de problèmes pendant le fonctionnement du système.
L'avenir de l'exécution sécurisée de code passe par la collaboration
Les incidents récents liés à des problèmes d'exécution de code montrent à quel point il est complexe de maintenir des environnements robustes et fiables.
Les machines virtuelles et les vérificateurs propriétaires de sandboxing peuvent donner aux entreprises plus de contrôle et de personnalisation, mais ils les empêchent également de bénéficier d'améliorations de sécurité plus générales. D'autre part, l'approche ouverte et collaborative d'eBPF crée un système plus solide qui permet une amélioration constante et des avantages de sécurité partagés.
À mesure que le secteur évolue, l'utilisation de modèles tels que l'eBPF qui encourage la collaboration et la normalisation peut contribuer à créer des systèmes plus solides et plus sûrs. Les organisations peuvent tirer de nombreux avantages de l'ajout d'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.
Contactez-nous dès aujourd'hui pour en savoir plus sur la plateforme de segmentation Illumio Zero Trust.