Weniger ist sicherer: Microkernel-Lösungen von genua (Teil 1)

Weniger ist sicherer: Microkernel-Lösungen von genua (Teil 1)

Moderne IT ist darauf ausgelegt, dass Administratoren praktisch jede denkbare Anforderung erfüllen können. Netzwerkkomponenten sind entsprechend flexibel, frei konfigurierbar und komplex. Diese Komplexität im Sinne von Funktionsvielfalt dient nicht selten als Verkaufsargument und betrifft auch Sicherheitskomponenten wie z. B. Firewalls. Warum im Hochsicherheitsbereich dagegen Minimalismus geboten ist, erfahren Sie hier.

Komplexität vs. Einfachheit

Die Herausforderung: Komplexität birgt Fehlerquellen und auch bei aufwändigen Vorkehrungen unvermeidbare Restrisiken. Es gilt die einfache Regel: Je mehr Code, desto mehr Fehler sind zu erwarten. Einerseits beinhaltet komplexer Code demnach kritische Bugs, die zunächst gefunden und dann gepatcht werden müssen. Andererseits muss eine komplexe Lösung administriert werden und eine fehlerhafte Konfiguration kann nicht ausgeschlossen werden. Fehler passieren also und müssen behoben werden, nachdem sie erkannt wurden.

Eine wachsende Code-Menge und zunehmende Konfigurationsmöglichkeiten lassen die Fehleranfälligkeit einer Lösung ansteigen

Man spricht hier von "Best-Practice-Ansatz". Dieser stößt an seine Grenzen, wenn Fehler schwerwiegende Auswirkungen haben, also beispielsweise bei Netzen, in denen vertrauliche Informationen verarbeitet werden und Sicherheits-Gateways dafür sogen sollen, dass diese nicht nach außen abfließen (z. B. isolierte Forschungsnetze, Geheimschutzbereich usw.). Ein weiteres Beispiel ist das Steuerungssystem eines vernetzten Industrieroboters, das einem Monitoringsystem Sensordaten liefert. Dieses muss vor Manipulation geschützt werden, um die Safety, also die Betriebssicherheit und damit die Unversehrtheit von Arbeitskräften in der Produktion zu gewährleisten.

Fehler können nur dann sicher vermieden werden, indem die Code-Menge einer Lösung in einem geringen und damit jederzeit überprüfbaren Umfang gehalten wird. Gleichzeitig muss die Lösung dem "Security by Design"-Ansatz entsprechen, also eine Fehlbedienung ausschließen.

Bei Hochsicherheitskomponenten ist also Minimalismus geboten: Mit der geringstmöglichen Code-Menge ist genau der für die entsprechende Aufgabe erforderliche Funktionsumfang bereitzustellen. Bei hochsicheren Lösungen für die aufkommende Vernetzung von beispielsweise Energie-, Verkehr- und Logistiksystemen sollten sich Anbieter und Kunden konsequent an den "Keep it simple-Ansatz" halten.

Virtualisierung vs. Separation

Neben Einfachheit ist eine weitere typische Anforderung an Sicherheitssysteme die Separation von Daten oder Funktionen, wie bereits weiter oben erklärt: In einem Netz befinden sich vertrauliche Daten, die nicht in ein anderes abfließen dürfen, oder eine Anwendung – wie beispielsweise ein vernetztes Steuerungssystem – muss vor unauthorisierten Zugriffen geschützt werden.

Heute verbreitete Virtualisierungstechniken ermöglichen es, auf einem einzelnen physikalischen Host mehrere voneinander unabhängige, virtuelle Instanzen zu betreiben. Die Instanzen teilen sich die Rechenleistung einer Hardware und können dann wie mehrere "echte" Computer mit verschiedenen Betriebssystemen und Anwendungen genutzt werden. So lassen sich Ressourcen von Computern je nach Bedarf beliebig aufteilen.

Weil Virtualisierung es erlaubt, mehrere virtuelle Maschinen gleichzeitig zu betreiben, könnte man sich dazu verleiten lassen, eine entsprechende Lösung zu Separationszwecken einzusetzen. Jede virtuelle Maschine würde dann als separierter Bereich verwendet. Es zeigt sich allerdings, dass verfügbare Virtualisierungslösungen auf die parallele Nutzung möglichst vieler virtueller Instanzen, jedoch nicht auf deren sichere Trennung ausgerichtet sind. Aufgrund ihrer umfangreichen Funktionalität basieren sie auf einer umfangreichen Code-Basis und sind daher kaum evaluierbar. Wieder stellt die Komplexität die Vertrauenswürdigkeit in Frage.

Ergebnis hier: Virtualisierung dient der effizienten Teilung von Ressourcen, eignet sich jedoch nicht zur Separation im Sinne einer sicheren Trennung von Daten oder Prozessen.

Die Lösung: L4-Microkernel-basierte Sicherheitslösungen

Wie nehmen wir die Anforderungen Einfachheit und Separation auf? Zur Realisierung einer minimalistischen Lösung greifen wir auf ein bewährtes Konzept der Betriebssysteme zurück: den Microkernel. Die Grundidee ist hierbei, dass der Teil, der mit den höchsten Privilegien im System läuft und die kritischen Operationen durchführt – die so genannte Trusted Computing Base (TCB) – so klein wie möglich gehalten wird.

Stellt etwa bei Linux der gesamte Kernel mit mehreren Millionen Zeilen Code (LOC) die TCB dar, so sind es bei einem Microkernel lediglich wenige zehntausend Zeilen, die wirklich privilegiert laufen. Alle restlichen Teile des Betriebssystems, auch so vermeintlich fundamentale und wichtige wie Treiber für das Dateisystem, sind in eigene, nicht-privilegierte Prozesse ausgelagert. Unsere Entscheidung fiel auf einen an der TU Dresden entwickelten L4-Microkernel. Dieser ermöglicht die Einrichtung strikt getrennter Bereiche (Compartments) auf einer Hardware mit lediglich ca. 38.000 Zeilen Code. Dies geschieht, indem er zum Startzeitpunkt eines Systems vollen Zugriff auf die Hardware hat und – wenn überhaupt – nur exakt definierte Kompetenzen (so genannte Capabilities) zum Zugriff auf bestimmte Hardware-Teile an einzelne Compartments überträgt.

Lesen Sie im zweiten Teil dieses Beitrags, in welchen Produkten von genua der L4-Microkernel zum Einsatz kommt und welche Zukunftsperspektiven sich mit dieser Technologie eröffnen!

 

 Bildquellen: © gustavofrazao - Fotolia.com


Lesen Sie auch

Diskutieren Sie mit

Sie können diesen Artikel sofort ohne Registrierung als Gast-User kommentieren.

Registrieren Sie sich jetzt! Mit einem User Account genießen Sie Vorteile:
Ihr Kommentar wird sofort im genublog veröffentlicht und Sie werden über Reaktionen auf Ihre Kommentare informiert.

Bereits registrierte User gelangen hier zum Login.



Registrieren Sie sich jetzt! Mit einem User Account genießen Sie Vorteile:
Ihr Kommentar wird sofort im genublog veröffentlicht und Sie werden über Reaktionen auf Ihre Kommentare informiert.

Bereits registrierte User gelangen hier zum Login.