Bereits im vergangenen Jahr hatte ich meine Masterthesis mit dem Titel „Sicherer Betrieb existierender Applikationen im Unternehmensumfeld mit Open Source-Werkzeugen“ erstellt. Diese Abschlussarbeit komplettierte mein Informatik-Studium an der Hochschule Bremen. Mich beschäftigten dabei besonders die Unterschiede sowie Vor- und Nachteile der Server-Virtualisierung in Bezug auf die Sicherheit gegenüber der bis dahin noch weniger erprobten Betriebssystem-Virtualisierung.

Ich kann mir vorstellen, dass diese Thematik auch für den einen oder anderen von Ihnen interessant ist und habe Ihnen deshalb meine wichtigsten Erkenntnisse aus dieser Arbeit zusammengefasst:

Ausgangspunkt: Betrieb fremder Applikationen

dfki-schriftDie Erarbeitung des Themas entstand unabhängig und parallel zum Forschungsprojekt „Safer Apps“ mit dem Deutschen Forschungszentrum für Künstliche Intelligenz GmbH (DFKI). Das Ziel des noch bis 2017 laufenden Forschungsprojektes ist es, erforderliche Berechtigungen von fremden Applikationen verständlich zu präsentieren. IT-Verantwortliche sollen so entscheiden können, ob der Betrieb einer Fremdapplikation mit unternehmensweiten Sicherheitsrichtlinien vereinbar ist.

Der Schwerpunkt meiner Masterthesis war wiederum die sichere Ausführung und Überwachung von bereits bestehenden Applikationen im Unternehmensumfeld. Die zentrale Fragestellung war, welche Möglichkeiten bestehen, Open Source Applikationen zu virtualisieren und wie dabei die Sicherheit im Unternehmensumfeld gewährleistet wird. Kernkomponenten der Untersuchung waren der aktuelle Stand der Virtualisierung verbunden mit der Sicherheit unter Linux.

Virtualisierungsverfahren mit dem Linux-Kernel

Im Hinblick auf die Virtualisierung unterscheiden wir grundsätzlich zwei verschiedene Verfahren:

Server-Virtualisierung

Bei der Server-Virtualisierung wird ein komplettes Gast-Betriebssystem mit geteilten, virtuellen Ressourcen bereitgestellt. In einer Zwischenschicht verwaltet der Hypervisor die benötigten Ressourcen, um diesen reale Hardware zuzuordnen. Der virtuelle Betrieb von Servern liefert so auch die Basis des Cloud Computings zur Bereitstellung von Rechenkapazitäten als Dienstleistung.

Betriebssystem-Virtualisierung

Im Vergleich dazu verzichtet die Betriebssystem-Virtualisierung auf diese Zwischenschicht und stellt laufende Prozesse voneinander getrennt auf demselben System bereit. Mithilfe bestehender Funktionalität des Linux-Kernels werden Prozesse isoliert und in ihren Zugriffsberechtigungen beschränkt. Die kürzere Verarbeitungskette liefert Geschwindigkeitsvorteile, birgt aber auch Risiken. So kann der Kernel zum Beispiel nicht zwischen verschiedenen root-Benutzern von Gast und Wirt unterscheiden.

Statt Server auf Basis der Installations-CD des Herstellers auszuführen, wird bei der Betriebssystem-Virtualisierung lediglich die Applikation gebündelt mit den benötigten Abhängigkeiten bereitgestellt. Bei der Ausführung fremder Applikationen ist hierbei die Gewährleistung der Sicherheit sehr wichtig, da derselbe Kernel gemeinsam genutzt wird.

Risikobewertung mittels Bedrohungsanalyse nach BSI

Zur Bewertung des Risikos der Server-Virtualisierung im Vergleich zur Betriebssystem-Virtualisierung ist eine Bedrohungsanalyse hilfreich. Die von mir verwendete Methode der Bedrohungsanalyse ist an die vom Bundesamt für Sicherheit in der Informationstechnik (BSI) veröffentlichte IT-Grundschutz Vorgehensweise angelehnt.

Zwei Schadensszenarien standen in der Masterthesis im Mittelpunkt der Untersuchung. Zum einen die übermäßige Ressourcenbeanspruchung und zum anderen der Ausbruch aus einer isolierten Umgebung. Anhand dieser Szenarien in einer Risikoanalyse sind die möglichen Auswirkungen auf die Sicherheit bewertbar. Anschließend können dann Gegenmaßnahmen zur Absicherung gewählt werden.

Mittel für verschärfte Sicherheit und Überwachung

Standardmäßig kann der Linux-Kernel Prozesszugriffe auf Dateien anhand von Benutzer- oder Gruppenrechten lediglich auf den Ebenen Lesen, Schreiben und Ausführen unterscheiden. Jedoch ist dieser Mechanismus für Sicherheitserweiterungen durch die im Linux-Kernel vorhandene Schnittstelle Linux Security Modules (LSM) erweiterbar. Da diese Schnittstelle auf Kernel-Ebene angesiedelt ist, arbeitet diese bei Aktivierung auf einem Wirt-System unabhängig von dem verwendeten Virtualisierungsverfahren.

Für die prototypische Realisierung wurde zur Erhöhung der Sicherheit Security-Enhanced Linux (SELinux) als LSM-Sicherheitserweiterung des Linux-Kernels eingesetzt. Mithilfe der so zusätzlich bereitgestellten Mandatory Access Control kann der Linux-Kernel des Wirt-Systems unerwünschte, privilegierte Aufrufe des root-Benutzers erkennen und zwischen Gast- und Wirt-System unterscheiden. Zur Protokollierung und Erkennung von Sicherheitsverletzungen wurde ein Security Information und Event Management (SIEM)-System eingesetzt.

Für den Prototypen sind beide Virtualisierungsverfahren parallel eingesetzt worden. Über UVMM stellt KVM (Kernel-based Virtual Machine) die Server-Virtualisierung bereit und für die Betriebssystem-Virtualisierung wurde Docker verwendet. Für SELinux ist das Regelwerk der Docker-Policy von Fedora nach Debian portiert und angepasst worden. Und als SIEM-System ist OSSIM (The Open Source SIEM) zur Erzeugung von Alarm-Benachrichtigungen aus Protokoll-Dateien verwendet worden.

Fazit und Lösungsvorschlag

Während die Server-Virtualisierung KVM zur Vollvirtualisierung oder Emulation kompletter Hardware auf eine langjährige Reifung seit der Veröffentlichung 2006 zurückblickt, befindet sich die Betriebssystem-Virtualisierung Docker zur Kapselung von Prozessen oder gleichartigen Betriebssystemen noch in der Entwicklung. Die Stärken von KVM liegen in der freien Wahl des virtualisierten Betriebssystems und der klaren und sicheren Abtrennung.

Die Verwendung von Docker bietet sich an, wenn lediglich bestimmte Applikationen und benötigte Abhängigkeiten abgekoppelt betrieben werden sollen. Der dabei vom Gast- und Wirt-System gemeinsam genutzte Linux-Kernel erfordert eine zusätzliche Absicherung auf Kernel-Ebene. Als Lösung bietet sich hierbei die Nutzung von SELinux über die vorhandene Linux Security Modules (LSM)-Schnittstelle des Kernels an sowie OSSIM, um gleichzeitig Protokoll-Dateien zu bewerten und entstandene Sicherheitsverletzungen per Alarm-Benachrichtigung anzuzeigen.

Diese Konstellation erlaubt einem Unternehmen, existierende Applikationen in virtualisierten Containern abgetrennt und sicher mithilfe von Open Source-Werkzeugen zu betreiben.

Nähere Einzelheiten zu meiner Untersuchung und den Erkenntnissen, die ich daraus gezogen habe, entnehmen Sie gerne meiner Masterarbeit.

UCS Core Edition jetzt kostenfrei einsetzen!

Zum Downloadbereich

Andreas Peichert entwickelt und programmiert Software seit 2000. Bei Univention ist er seit 2013 tätig und arbeitet als Consultant und Softwareentwickler im Professional Services Team, wo er sich als Ausbilder auch um die Auszubildenden kümmert.

Was ist Ihre Meinung? Hinterlassen Sie einen Kommentar!

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.