Sortie
TL;DR
: Microsoft a publié LiteBox, un système d’exploitation de bibliothèque Rust open source qui restreint l’accès des applications aux ressources hôtes. Modèle de sécurité : en réduisant les interfaces exposées, LiteBox vise à réduire la surface d’attaque du noyau et le risque d’élévation de privilèges. Multiplateforme : sous Windows, LiteBox peut exécuter des programmes Linux non modifiés sans nécessiter une machine virtuelle Linux complète. Statut : Microsoft affirme que le projet reste expérimental, avec des API toujours en évolution et pas encore de version stable.
Microsoft a publié la semaine dernière LiteBox, un système d’exploitation de bibliothèque open source qui limite considérablement l’accès des applications aux ressources système afin de réduire les vulnérabilités de sécurité. Le projet basé sur Rust suit un modèle de système d’exploitation de bibliothèque dans lequel les fonctionnalités de base du système d’exploitation sont regroupées sous forme de bibliothèques accompagnant les applications.
Cela fournit une interface à portée étroite adaptée à chaque charge de travail au lieu d’exposer les applications à un large éventail d’appels système et de sous-systèmes du noyau.
LiteBox est indépendant de l’hôte. et conçu pour exécuter du code sur une surface de système d’exploitation minimale et axée sur la sécurité. Il est conçu pour être intégré aux applications, environnements d’exécution ou composants de plate-forme Windows plutôt que d’être installé directement par les utilisateurs finaux.
James Morris, responsable du sous-système de sécurité du noyau Linux et chef de l’équipe Linux Emerging Technologies de Microsoft, a annoncé LiteBox sur social.kernel.org en tant que système d’exploitation de bibliothèque axé sur la sécurité. de Microsoft Research et collaborateurs.
Réduire la surface d’attaque grâce à des interfaces minimales
LiteBox intègre des services d’exploitation clés directement dans les applications plutôt que de s’appuyer sur des interactions externes du noyau via des appels système. Cette architecture traduit les requêtes d’application vers des interfaces externes complètes via une couche de plate-forme minimale, plutôt que d’exposer directement ces interfaces.
Les applications traditionnelles effectuent des appels système qui exposent toutes les fonctionnalités du noyau du système d’exploitation. L’approche de LiteBox limite ce à quoi les acteurs malveillants peuvent accéder s’ils piratent une application. Le système réduit considérablement l’interface avec l’hôte, réduisant ainsi la surface d’attaque par rapport aux conteneurs qui exposent des parties importantes du noyau via des interfaces d’appel système.
Cette conception permet de réduire l’impact des vulnérabilités du noyau et des attaques par élévation de privilèges. Le système peut être intégré en tant que couche d’isolation supplémentaire qui restreint l’accès aux fonctionnalités inutiles du noyau ou de l’API.
“LiteBox est un système d’exploitation de bibliothèque de sandboxing qui réduit considérablement l’interface avec l’hôte, réduisant ainsi la surface d’attaque.”
Multiplateforme Capacités
Au-delà de son architecture de sécurité, LiteBox prend en charge plusieurs plates-formes et interfaces. Sous Windows, il fournit un environnement d’exécution de type Linux sans nécessiter un noyau Linux complet, permettant aux programmes Linux non modifiés de s’exécuter sur des hôtes Windows sans machine virtuelle Linux complète.
La plate-forme minimale générée par LiteBox prend en charge l’exécution d’applications Linux, Windows et FreeBSD. Les interfaces externes compatibles incluent le noyau Linux, les environnements OP-TEE, les environnements d’exécution WebAssembly et la bibliothèque standard Rust.
Selon le référentiel officiel, le système expose une interface « Nord » inspirée de nix/rustix basée sur Rust lorsqu’il est fourni une interface de plate-forme au niveau de son « Sud ». Cela permet une compatibilité flexible entre différents systèmes hôtes.
Cas d’utilisation et état de développement
Ces fonctionnalités multiplateformes permettent plusieurs scénarios pratiques. Les développeurs peuvent l’utiliser pour exécuter des programmes Linux non modifiés dans des environnements Windows, isoler l’exécution d’applications Linux sur des systèmes Linux ou déployer des logiciels sur AMD SEV-SNP pour le cryptage de la mémoire.
Un autre cas d’utilisation implique l’exécution de programmes OP-TEE sous Linux pour des charges de travail d’exécution fiables. Les Discussions techniques sur Hacker News décrit des scénarios impliquant des charges de travail non fiables à l’intérieur de machines virtuelles confidentielles où l’hyperviseur lui-même ne peut pas inspecter la mémoire invitée.
Le projet s’est développé en collaboration avec le projet LVBS, qui fait progresser les méthodes de sauvegarde des composants du noyau Linux grâce aux capacités de l’hyperviseur et à la virtualisation matérielle. LiteBox prend en charge les noyaux Linux imbriqués et les composants LVBS, fonctionnant comme un noyau sécurisé qui protège le noyau du système invité à l’aide de mécanismes de virtualisation matérielle.
Malgré ces capacités, les développeurs doivent noter que LiteBox en est à une phase expérimentale précoce et qu’il n’y a pas encore de version stable. Le projet est toujours en développement actif. La documentation officielle prévient que les API et les interfaces peuvent changer à mesure que la conception évolue.
Le modèle de système d’exploitation de la bibliothèque positionne LiteBox comme un juste milieu entre les machines virtuelles lourdes et les conteneurs à noyau partagé.
Microsoft Research a déjà exploré des concepts similaires avec Drawbridge il y a plus de dix ans, qu’il a ensuite décrit comme « un prototype de recherche d’un nouvelle forme de virtualisation pour le sandboxing des applications.”