Hyperlight, ein Open-Source-Projekt von Microsoft, das sich in Apps integrieren lässt, die isolierten oder nicht vertrauenswürdigen Code ausführen

Hyperlight-Logo

Microsoft hat vor Kurzem die Einführung eines neuen Open-Source-Projekts namens „ Hyperlight “ angekündigt . Dabei handelt es sich um einen Hypervisor, der speziell für die Integration in Anwendungen entwickelt wurde, die die Ausführung von isoliertem Code erfordern, sei es aus Sicherheitsgründen oder zur Behandlung nicht vertrauenswürdiger Codefragmente.

Hyperlight versteht sich als gemeinsam genutzte Bibliothek, die es ermöglicht, Funktionen in Mikro-VMs auszuführen, wodurch die Latenz minimiert und eine effiziente Kommunikation mit gehosteten Funktionen ermöglicht wird.

Über Hyperlight

Im Vergleich zu herkömmlichen virtuellen Maschinen zeichnet sich Hyperlight durch seine geringe Beeinträchtigung der Leistung aus, da Hyperlight im Vergleich zur Startzeit einer Standard-VM, die mindestens 120 Millisekunden benötigt, die Erstellung von Mikro-VMs in nur 1 bis 2 Millisekunden ermöglicht und somit eine funktionale Isolation gewährleistet.

Darüber hinaus wird erwähnt, dass Umgebungen wie Wasmtime für WebAssembly zwar noch kürzere Zeiten von 0,03 Millisekunden bieten, Hyperlight jedoch versucht, eine ideale Balance zwischen Isolation und Funktionalität für komplexe Anwendungen zu bieten.

Im Gegensatz zu herkömmlichen Setups verwenden Mikro-VMs in Hyperlight keinen Kernel oder ein vollständiges Betriebssystem . Stattdessen wird die virtuelle Maschine auf ein in sich geschlossenes Programm reduziert , das den Funktionscode, einen minimalen spezialisierten Kernel und die notwendige Laufzeitumgebung enthält und in einem einzigen Speicherbereich mit einer zugewiesenen virtuellen CPU ohne Prozesspartitionierung oder Gerätezuordnung ausgeführt wird.

Hyperlight ermöglicht diese Anpassungen in den unterschiedlichsten Szenarien: für die Integration von Internet of Things (IoT)-Gateway-Funktionen, den Einsatz in der industriellen Automatisierung, leistungsstarke Cloud-Dienste usw.

Der Entwicklungsablauf mit Hyperlight beinhaltet die Verknüpfung des Hauptanwendungscodes mit der Hyperlight-Hostbibliothek , welche die Mikro-VMs verwaltet. Der in diesen Mikro-VMs ausgeführte isolierte Code nutzt die Hyperlight-Gastbibliothek, welche die notwendigen APIs für die externe Interaktion bereitstellt und es ermöglicht, Code vollständig unabhängig vom Host-Betriebssystem auszuführen. Mit dieser Architektur will Hyperlight die Ausführung isolierter Funktionen neu definieren und einen effizienten und sicheren Ansatz für moderne Anwendungen bieten.

Ein zentrales Merkmal von Hyperlight ist die Möglichkeit der bidirektionalen Interaktion zwischen Host-Anwendung und isolierten Funktionen. Anwendungen können so nicht nur Funktionen in isolierten Umgebungen aufrufen, sondern diese Funktionen erhalten auch Zugriff auf bestimmte Elemente des Hosts. Dieser Zugriff ist jedoch streng kontrolliert, um die Sicherheit zu gewährleisten. Standardmäßig kommunizieren isolierte Funktionen nur über eine minimale API mit dem Host, die den Nachrichtenaustausch ermöglicht. Diese Einschränkung gewährleistet eine kontrollierte Umgebung und reduziert die mit funktionaler Isolation verbundenen Sicherheitsrisiken.

Bezüglich seiner langfristigen Pläne erwähnt Microsoft die Absicht, Hyperlight in ein umfassenderes Gemeinschaftsprojekt unter der Leitung der Cloud Native Computing Foundation (CNCF) umzuwandeln . Dieser Schritt zielt darauf ab, eine neutrale und offene Entwicklung zu fördern, frei vom exklusiven Einfluss einzelner Anbieter. Die CNCF, die der Linux Foundation untersteht, ist bereits für einflussreiche Projekte wie Kubernetes, Containerd, Istio und gRPC verantwortlich und beweist damit ihre Kompetenz im Management wichtiger Technologieinitiativen im Cloud-Computing-Ökosystem. Dieser Schritt verspricht, die Reichweite von Hyperlight zu vergrößern und seine Position als unverzichtbares Werkzeug im Bereich cloudnativer Anwendungen zu festigen.

Hinsichtlich der aktuellen Plattformunterstützung ist hervorzuheben, dass die Lösung mehrere Umgebungen unterstützt, um ihre Vielseitigkeit zu gewährleisten. Unter Linux ist sie mit den Hypervisoren KVM und mshv (Microsoft Hypervisor auf Azure Linux) kompatibel, während sie unter Windows WHP (Windows Hypervisor Platform) und WSL2 mit KVM nutzt (macOS ist derzeit ausgeschlossen).

Abschließend sei noch erwähnt, dass das Projekt in Rust entwickelt wurde und unter der Apache-2.0-Lizenz steht , falls Sie mehr erfahren möchten . Details dazu finden Sie unter folgendem Link.


Als bevorzugte Quelle in Google hinzufügen