Sicherheitsanalyse Containervirtualisierung am Beispiel von Docker

Master-Studiengang Information Security

Dipl.-Ing. Simon Peer, BSc (Jg. 2014/2016)

Betreuer: Dipl.-Ing. Dipl.-Ing. Christoph Lang-Muhr, BSc

Ausgangslage

Virtualisierung auf Betriebssystemebene ist ein Verfahren, um auf einem physikalischen System auf effiziente Art und Weise mehrere isolierte, virtuelle Umgebungen bereitzustellen. Diese Umgebungen, die üblicherweise als Container bezeichnet werden, teilen sich das Betriebssystem mit dem Host-System. Verglichen mit virtuellen Maschinen benötigen Container weniger Zeit zum Starten und verursachen weniger Overhead. Dadurch ist eine höhere Packungsdichte möglich, das heißt, es können mehr Container auf einem Server betrieben werden. Allerdings werden Container als weniger sicher als virtuelle Maschinen erachtet.

Es handelt sich bei Virtualisierung auf Betriebssystemebene um keine neue Technologie. Dieses Verfahren wurde bereits vor mehr als zehn Jahren entwickelt und umgesetzt. Jedoch sind Container erst in den letzten Jahren auf breites Interesse gestoßen und haben große Popularität erlangt. Besonders die Vorstellung von Docker vor drei Jahren hat dazu beigetragen, Container in den Mittelpunkt zu rücken. Docker ermöglicht es, Anwendungen und ihre jeweiligen Abhängigkeiten in Containern zu verpacken, die dann auf jedem geeigneten System installiert und ausgeführt werden können.

Ziel

Das Ziel dieser Diplomarbeit ist es, das von Docker gebotene Maß an Sicherheit zu analysieren. Zu diesem Zweck werden zunächst Docker sowie dessen Architektur und die zugrundeliegenden Funktionen des Linux Kernels erläutert. In der Analyse wird auf zwei Fragen eingegangen: einerseits wird der Grad der Isolierung zwischen Containern untersucht, andererseits werden weitere sicherheitsrelevante Aspekte im Zusammenhang mit der Verwendung von Docker behandelt.

Ergebnis

Die im Rahmen dieser Arbeit durchgeführte Analyse hat ergeben, dass Docker-Container relativ sicher sind, sofern bestimmte Eckpunkte beachtet werden. Während der Analyse wurden einige Schwachstellen identifiziert und entsprechende Gegenmaßnahmen aufgezeigt. Des Weiteren wurden zusätzliche Sicherheitsfunktionen des Linux Kernels vorgestellt, die dazu beitragen können, das Schutzniveau zu erhöhen.

Zurzeit ist Docker die beliebteste Lösung für Containervirtualisierung in Linux. Es existieren aber auch verschiedene andere Projekte. Aus diesem Grund wurde zudem ein Überblick über aktuelle und zukünftige Alternativen sowie Bemühungen zur Standardisierung gegeben. Abschließend ist darauf hinzuweisen, dass Docker kontinuierlich weiterentwickelt wird und laufend neue Sicherheitsfunktionen integriert werden.