LiteBox – Microsofts als Open Source veröffentlichtes sicherheitsorientiertes Library-OS
(github.com/microsoft)- Ein sicherheitsorientiertes Library-OS, das sowohl Ausführung im Kernel-Modus als auch im User-Modus unterstützt und durch die Minimierung der Host-Schnittstelle eine Sandboxing-Umgebung zur Reduzierung der Angriffsfläche bietet
- In Rust geschrieben und unterstützt Interoperabilität zwischen übergeordneten Schnittstellen im Stil von
nixundrustixsowie verschiedenen zugrunde liegenden Plattformen - Wichtige Anwendungsfälle: Ausführen von Linux-Programmen unter Windows, Sandboxing von Linux-Anwendungen, Ausführung in SEV-SNP- und OP-TEE-Umgebungen, Unterstützung der LVBS-Plattform usw.
- Experimentelle Grundlage für eine OS-Architektur der nächsten Generation mit Fokus auf Sicherheitsisolierung, Virtualisierung und Minimierung von Systemschnittstellen
- Kombiniert sicheren, auf Rust basierenden Systemcode mit einem integrierten Ausführungsmodell für Kernel- und User-Modus und kann damit für Sicherheitsforschung und die Entwicklung von Cloud-Isolierungstechnologien genutzt werden
Überblick über LiteBox
- LiteBox ist ein von Microsoft veröffentlichtes Open-Source-Library-OS mit Sicherheitsfokus, das sowohl Kernel- als auch User-Modus-Ausführung unterstützt
- Das Kernziel ist die Minimierung der Schnittstelle zum Host, um die Angriffsfläche zu verringern
- Dadurch wird eine isolierte Ausführungsumgebung in Form einer Sandbox realisiert
- Das System ist in der Sprache Rust geschrieben und bietet in der oberen Schicht Schnittstellen im Stil von
nix/rustix- In der unteren Schicht können verschiedene Plattformen (die
Platform-Schnittstelle) angebunden werden, was eine flexible Konfiguration ermöglicht
- In der unteren Schicht können verschiedene Plattformen (die
Hauptfunktionen und Anwendungsfälle
- LiteBox ist als Struktur konzipiert, die Interoperabilität zwischen verschiedenen Betriebsumgebungen unterstützt
- Ausführen von Linux-Programmen unter Windows
- Sandboxing von Anwendungen unter Linux
- Unterstützung sicherer Ausführungsumgebungen auf Basis von SEV SNP
- Ausführen von OP-TEE-Programmen unter Linux
- Unterstützung der Ausführung auf der LVBS-Plattform
Aktueller Stand und Lizenz
- Das Projekt wird derzeit aktiv weiterentwickelt und befindet sich noch vor der Veröffentlichung einer stabilen Version
- API und Schnittstellen können sich künftig ändern
- Experimentelle Nutzung ist möglich, in Umgebungen mit Anforderungen an langfristige Stabilität ist jedoch Vorsicht geboten
- MIT-Lizenz
2 Kommentare
Hacker-News-Kommentare
Laut der GitHub-Seite ist LiteBox ein Sandboxing-Library-OS, das die Host-Schnittstelle minimiert, um die Angriffsfläche zu reduzieren
Es wurde so entworfen, dass es eine Rust-artige, auf nix/rustix basierende „North“-Schnittstelle mit verschiedenen „South“-Plattformen verbinden kann
Beispiele sind das Ausführen von Linux-Programmen unter Windows, das Sandboxing von Linux-Apps oder der Betrieb auf SEV SNP, OP-TEE und LVBS
Ich hatte schon länger das Gefühl, dass WSL2 eher ein Provisorium ist, während WSL1 das Konzept der „personality modules“ von Windows NT eigentlich gut umgesetzt hat
Es wirkt wie ein typischer Fall, in dem Microsoft einem bestehenden Konzept einen neuen Namen gibt und es wie Innovation aussehen lässt
Microsofts wichtigstes OS ist in letzter Zeit so fehlerbehaftet, dass es schwerfällt, neuen Projekten des Unternehmens zu vertrauen
Das Team, das daran arbeitet, dürfte mit der modernen Windows-UX überhaupt nichts zu tun haben
Im LiteBox-Repository sind Copilot-bezogene Konfigurationsdateien enthalten
copilot-instructions.md
Hier wird diese Konfiguration nur explizit offengelegt
Ich habe mich gefragt, was ein „Library OS“ ist
Das heißt, OS-Funktionen werden in den Adressraum der Anwendung integriert und externe Schnittstellen werden durch Hardware-Zugriffe oder Hypercalls ersetzt
Unikernel arbeiten auf diese Weise, und auch Wine kann im weiteren Sinne als Library OS gesehen werden
Man kann zum Beispiel eine Linux-App gegen LiteBox linken und sie auf SEV-SNP ausführen oder ein OP-TEE-TA unter Linux betreiben
Der Kernpunkt ist, dass man statt Hunderter POSIX-syscalls nur noch ein paar primitive Operationen einer Zwischenrepräsentation kontrollieren muss
Wenn ich einem Außerirdischen den Unterschied zwischen einem Library OS und einer kernelbasierten App erklären müsste, würde ich ihn als so subtil empfinden, dass er kaum ernsthaft zu erklären ist
Zuerst dachte ich, „Library OS“ bedeute ein Betriebssystem für Bibliotheken
Das Konzept eines Library OS war mir neu, aber nach der Erklärung wirkt es ähnlich wie ein Unikernel
Das Programm läuft ohne Kernel-Mode-Aufrufe direkt auf dem Hypervisor, und LiteBox kann auch als Linux-, Windows- oder BSD-Prozess ausgeführt werden
Unklar ist allerdings, ob es eine eigene ABI oder die ABI des Host-OS verwendet
Den Beschreibungen nach hat es auch ein wenig den Charakter eines „vibe-coded“ Projekts
Es wäre interessant, wenn Microsoft mit LiteBox ermöglichen würde, WFP-Callout-Treiber ohne Signierung zu schreiben
Sie würden zwar weiterhin im Kernel-Modus laufen, könnten aber flexibler sein als die NetworkExtensions von MacOS
Schade ist, dass kein Entwicklungsprozess auf Basis von Designspezifikationen und formaler Verifikation erwähnt wird
Es ist ein interessanter Versuch, aber ohne einen solchen Ansatz besteht das Risiko, dass sich die immer wiederkehrenden Sicherheitslücken unter Windows erneut zeigen
Ich habe den Begriff „Library OS“ zum ersten Mal gehört und frage mich, ob gVisor auch darunter fällt
Es sieht nach einer ähnlichen Struktur aus, aber ich bin mir nicht sicher, ob es wirklich genau in dieselbe Kategorie gehört
Ich habe nach langer Zeit mal wieder ein Projekt gefunden, das interessant aussieht.