iX 1/2019
S. 62
Review
Container-Alternative
Aufmacherbild

Solo5: Virtualisierung mit Unikernels verschlanken

Kernige Vielfalt

Unter dem Leitsatz „Nicht mehr als nötig“ fristen hochspezialisierte Betriebssystemkernels eher ein Nischendasein. Mit seinem Projekt Solo5 will IBM das ändern.

Den Ansatz hochgradig spezialisierter Betriebssysteme beziehungsweise deren Kernel gibt es schon seit circa 30 Jahren. Meist laufen sie unter der Bezeichnung Unikernel oder auch „Library Operating System“. Der große Durchbruch blieb jedoch aus. Nun kommt Schützenhilfe aus dem Container-Lager mit tatkräftiger Unterstützung der IBM-Forschungslabors: das Projekt Solo5.

Wie viel Betriebssystem braucht das Land?

Ein heutiges Betriebssystem verfügt über viele Komponenten. Sogar die Basis – der Kernel – ist recht groß, um möglichst viele Funktionen und Schnittstellen zu bieten. Dies ist zwar bequem, birgt aber auch Nachteile. Neben dem Mehraufwand für die Wartung und dem unnötigen Hardwareverbrauch kommt aus IT-Sicherheitssicht immer wieder die große Angriffsfläche zur Sprache. Die offensichtliche Lösung: eine Reduktion der Komponenten einschließlich des Kernels selbst.

Tatsächlich ist diese Idee schon über 20 Jahre alt und typischerweise in zwei Ausprägungen umgesetzt. Nummer eins sind die sogenannten Unikernels – abgespeckte, vereinfachte und oft Linux-artige Betriebssystemkerne, die meist nur in virtuellen Umgebungen laufen. Nummer zwei sind die Library Operating Systems. Hier baut man seinen Kernel quasi aus einer Art Baukasten für den speziellen Anwendungsfall zusammen. iX hat sich bereits 2016 damit beschäftigt [1]. Derzeit existieren über zehn aktive Projekte in diesem Umfeld. Eines davon – MirageOS – stand Pate für das hier betrachtete Solo5. Im Folgenden steht der Begriff Unikernel für beide Konzepte.

Prinzipiell gibt es zwei Herausforderungen. Da sind einmal die verschiedenen Virtualisierungstechniken oder Hardwareplattformen. So funktionierte etwa MirageOS lange Zeit nur mit Xen. Die andere Herausforderung ist vielleicht weniger offensichtlich und hat mit IT-Sicherheit zu tun. Dort stellt sich die Frage, ob das Unikernel-Konzept zu kurz gedacht ist. Schließlich betrifft es nur eine Komponente im Stack. Ungeklärt ist hier, wie es beispielsweise mit der Virtualisierungsschicht aussieht. Solo5 hat die Ambition, beide Herausforderungen zu meistern – und das so benutzerfreundlich wie möglich.

Aufmerksame Leser haben vielleicht schon in der Container-Welt vom Projekt Solo5 gehört; das Stichwort lautet Nabla-Container. Hier dient Solo5 zur besseren Absicherung des Hostbetriebssystems. Etwaige Angriffe aus dem Inneren des Containers landen beim Unikernel und nicht beim Kernel des darunterliegenden Hosts. Dabei ist der zusätzliche Kern nur ein Aspekt des Gesamtbildes. Der zweite ist Bestandteil dieses Artikels – doch dazu später mehr. Zunächst erst mal zurück zu den Anfängen von Solo5.