© best_vector/Shutterstock.com
Windows Developer
Ist Docker womöglich ein Sicherheitsrisiko?

Wie sicher ist Docker?

Eine Webanwendung in einen Docker-Container zu verpacken, hat viele Vorteile. Aber ist das auch sicher? Vielleicht sogar sicherer als bei einer Ausführung direkt auf dem Server? Oder nicht vielleicht doch gefährlicher? Immerhin ist da ja mit Docker eine zusätzliche Komponente im Spiel, mit eigenen Schwachstellen und möglichen Problemen.

Carsten Eilers


Gab es nicht bereits Berichte über mit Schadsoftware infizierte Container? Und Vorträge zu Docker auf den Sicherheitskonferenzen? Beides gab es, und diese Berichte und Vorträge sind auch der Grund für diesen Artikel. Aber bevor ich dazu komme, möchte ich erst eine grundlegende Frage klären: Wie sieht es eigentlich mit der Sicherheit von Docker-Containern im Vergleich zu Sandboxes, virtuellen Maschinen und direkt auf dem Server ausgeführten Programmen aus? Das lässt sich nur beantworten, wenn man zugleich die Ziele der möglichen Angreifer betrachtet. Hier beschränkt auf Webanwendungen, um das Ganze nicht unnötig zu verkomplizieren. Fangen wir mit der Sicherheit von Docker im Vergleich zu anderen Technologien an.

Am sichersten, aber nicht perfekt: die Sandbox

Am sichersten ist die Ausführung möglicherweise bösartigen Codes in einer besonders abgeschotteten Sandbox. Zwei gute Beispiele dafür sind Edge bzw. sein Vorgänger IE und der Adobe Reader, die beide die Folgen eines möglichen Angriffs reduzieren, indem sie die gefährdeten Prozesse in eine Sandbox sperren. Trotzdem gibt es immer wieder Schadsoftware, die, ausgehend von einer Schwachstelle im Browser oder Adobe Reader, das gesamte System kompromittiert.

Die Sandbox erhöht lediglich den Aufwand für den Angreifer. Ohne Sandbox benötigt er zwei Schwachstellen: eine in Browser oder Adobe Reader, um überhaupt Code einzuschleusen, und eine zweite, über die der eingeschleuste Code dann aus der Sandbox ausbricht und sich Systemrechte verschafft. Mit etwas Glück ist das aber so aufwendig, dass der Angreifer aufgibt und sich ein anderes Ziel sucht. Allerdings ist den Cyberkriminellen der Ausbruch aus der Sandbox in der Vergangenheit des Öfteren gelungen. Ironischerweise zum Teil über Schwachstellen, die direkt den Ausbruch aus der Sandbox erlaubten, ohne dass zuvor der Browser oder Reader kompromittiert werden musste. Es ist auch möglich, ganze Programme oder sogar das Betriebssystem in einer Sandbox auszuführen, wobei es sich dabei im Fall von Betriebssystemen schon um speziell gehärtete virtuelle Maschinen handelt.

Keine Schutzmaßnahme im eigentlichen Sinn: virtuelle Maschinen

Virtuelle Maschinen trennen zwar das darin ausgeführte System vom Hostsystem, im Allgemeinen aber nicht, um die Sicherheit zu erhöhen, sondern um mehrere Systeme parallel und unabhängig voneinander auf der gleichen Hardware ausführen zu können. Dass die virtuelle Maschine den Angreifer an der Ausweitung seiner Rechte hindert, ist nur ein ange...

Windows Developer
Ist Docker womöglich ein Sicherheitsrisiko?

Wie sicher ist Docker?

Eine Webanwendung in einen Docker-Container zu verpacken, hat viele Vorteile. Aber ist das auch sicher? Vielleicht sogar sicherer als bei einer Ausführung direkt auf dem Server? Oder nicht vielleicht doch gefährlicher? Immerhin ist da ja mit Docker eine zusätzliche Komponente im Spiel, mit eigenen Schwachstellen und möglichen Problemen.

Carsten Eilers


Gab es nicht bereits Berichte über mit Schadsoftware infizierte Container? Und Vorträge zu Docker auf den Sicherheitskonferenzen? Beides gab es, und diese Berichte und Vorträge sind auch der Grund für diesen Artikel. Aber bevor ich dazu komme, möchte ich erst eine grundlegende Frage klären: Wie sieht es eigentlich mit der Sicherheit von Docker-Containern im Vergleich zu Sandboxes, virtuellen Maschinen und direkt auf dem Server ausgeführten Programmen aus? Das lässt sich nur beantworten, wenn man zugleich die Ziele der möglichen Angreifer betrachtet. Hier beschränkt auf Webanwendungen, um das Ganze nicht unnötig zu verkomplizieren. Fangen wir mit der Sicherheit von Docker im Vergleich zu anderen Technologien an.

Am sichersten, aber nicht perfekt: die Sandbox

Am sichersten ist die Ausführung möglicherweise bösartigen Codes in einer besonders abgeschotteten Sandbox. Zwei gute Beispiele dafür sind Edge bzw. sein Vorgänger IE und der Adobe Reader, die beide die Folgen eines möglichen Angriffs reduzieren, indem sie die gefährdeten Prozesse in eine Sandbox sperren. Trotzdem gibt es immer wieder Schadsoftware, die, ausgehend von einer Schwachstelle im Browser oder Adobe Reader, das gesamte System kompromittiert.

Die Sandbox erhöht lediglich den Aufwand für den Angreifer. Ohne Sandbox benötigt er zwei Schwachstellen: eine in Browser oder Adobe Reader, um überhaupt Code einzuschleusen, und eine zweite, über die der eingeschleuste Code dann aus der Sandbox ausbricht und sich Systemrechte verschafft. Mit etwas Glück ist das aber so aufwendig, dass der Angreifer aufgibt und sich ein anderes Ziel sucht. Allerdings ist den Cyberkriminellen der Ausbruch aus der Sandbox in der Vergangenheit des Öfteren gelungen. Ironischerweise zum Teil über Schwachstellen, die direkt den Ausbruch aus der Sandbox erlaubten, ohne dass zuvor der Browser oder Reader kompromittiert werden musste. Es ist auch möglich, ganze Programme oder sogar das Betriebssystem in einer Sandbox auszuführen, wobei es sich dabei im Fall von Betriebssystemen schon um speziell gehärtete virtuelle Maschinen handelt.

Keine Schutzmaßnahme im eigentlichen Sinn: virtuelle Maschinen

Virtuelle Maschinen trennen zwar das darin ausgeführte System vom Hostsystem, im Allgemeinen aber nicht, um die Sicherheit zu erhöhen, sondern um mehrere Systeme parallel und unabhängig voneinander auf der gleichen Hardware ausführen zu können. Dass die virtuelle Maschine den Angreifer an der Ausweitung seiner Rechte hindert, ist nur ein ange...

Neugierig geworden?


    
Loading...

Angebote für Teams

Für Firmen haben wir individuelle Teamlizenzen. Wir erstellen Ihnen gerne ein passendes Angebot.

Das Library-Modell:
IP-Zugang

Das Company-Modell:
Domain-Zugang