Docker-Container verbreiten sich in IIoT und Edge-Computing zunehmend und können unter anderem isolierte Runtime-Anwendungen beherbergen. Sie fördern somit die OT-Cybersecurity und eignen sich auch für Zero-Trust-Konzepte. Daniel Klier, Senior Product Manager bei secunet, gibt nähere Informationen.
Markt&Technik: Was sind Docker-Container genau?
Daniel Klier: Bei einem Docker-Container handelt es sich um ein isoliertes System, in dem beispielsweise eine Anwendung läuft. Mithilfe von Docker werden einzelne Anwendungen virtualisiert. Man kann deshalb auch von Anwendungs- oder Software-Container sprechen. Ein Docker-Container entspricht der Idee eines Schiffscontainers: Dieser ermöglicht durch Standardisierungen den modernen Handel, indem er auf Schiffen, Zügen oder LKWs transportiert werden kann. Gleiches passiert auch bei Docker-Containern. Nach außen sind sie mit standardisierten Schnittstellen versehen und ermöglichen damit einen breiten und skalierbaren Einsatz in verschiedenen Systemen, unabhängig vom Inhalt. Die Website www.docker.com erklärt es in einem Satz: »Containers are a standardized unit of software that allows developers to isolate their app from its environment.«
Wie funktionieren Docker-Container technisch?
Ein Docker-Container wird aus einer festgelegten und unveränderlichen Vorlage erzeugt, dem sogenannten Docker-Image. Die in dem Image enthaltenen Informationen geben die Einstellungen und Abhängigkeiten des Docker-Containers vor. Aus einem Image können beliebig viele Container erstellt werden; die Technologie ist also stark skalierbar. Innerhalb eines Dockers lassen sich Prozesse ausführen, pausieren oder beenden.
Docker-Container ähneln einer Virtual Machine (VM). Sie enthalten jedoch kein eigenes Betriebssystem, sondern greifen auf das Betriebssystem zu, das der Docker-Host zur Verfügung stellt. Ein Beispiel: Läuft der Host auf Linux, wird darauf zugegriffen. Wird der Host nicht auf einem Linux-System betrieben, wird auf ein leichtgewichtiges Linux-Systemabbild mittels Hypervisor oder VM zurückgegriffen. Jedem Container sind gewisse Systemressourcen wie RAM oder CPU zugewiesen, die sich gezielt einsetzen lassen. Container können über das Netzwerk auch mit der Außenwelt und anderen Containern kommunizieren, was über freigeschaltete Ports geschieht.
Welchem Zweck dienen Docker-Container, warum werden sie angewandt?
Docker-Container werden verwendet, um Software von ihrer Umgebung zu isolieren und die IT-Security zu erhöhen, aber auch, um eine Skalier- und Reproduzierbarkeit herzustellen. Durch ihre Standardisierung sind sie, wie erwähnt, zudem flexibel für verschiedene Systeme anwendbar. Ein weiteres Argument für die Technologie ist die Modularität. Mithilfe verschiedener Container lässt sich eine Gesamtlösung zusammenbauen – ähnlich wie bei Schiffscontainern.
Wie lassen sich Docker-Container absichern?
Docker-Container ermöglichen verschiedene Härtungsmaßnahmen zur Absicherung des eigenen Systems. Es lässt sich genau festlegen, welche Informationen den Container verlassen dürfen und welche Kommunikation erlaubt ist. Ergänzt durch eine Firewall wird so auch der Datenverkehr überwacht. Zudem kann festgelegt werden, welche Rechte ein Container im System bekommt. Dadurch lässt sich verhindern, dass sich Schadsoftware ausbreitet. Dieses Verfahren wird unter anderem in der secunet-edge-Firmware verwendet.
Wie lassen sich die Prozessoren absichern, in denen die Docker-Container laufen?
Indem man beispielsweise in der CPU ein sogenanntes Trusted Execution Environment (TEE) erstellt. Dieses schafft eine vertrauenswürdige Runtime-Umgebung für Applikationen wie Docker-Container und isoliert sie vom Rest der CPU. Es entstehen speziell abgesicherte Zonen in einer CPU, von denen aus nicht ausgebrochen werden kann. Beispiele hierfür sind Arm TrustZone oder Intel SGX.
Was bedeutet »Zero Trust« in der OT?
Im Zero-Trust-Modell wird niemandem in einem Netzwerk vertraut. Ob Hersteller, User oder weitere Komponente: Alle müssen sich authentifizieren, und jeder Schritt in einem Netzwerk wird geprüft. In der OT-Welt heißt das: Jede Änderung wird geprüft, bevor man sie umsetzt. Damit soll sichergestellt werden, dass Hackerangriffe schon sehr früh erkannt und abgewendet werden.
Wie lässt sich das Konzept umsetzen? Welche technischen und organisatorischen Maßnahmen sind dafür erforderlich – auf welchen Ebenen der OT?
Es gibt leider kein Patentrezept, aber folgende Umsetzung wäre denkbar:
Diese Maßnahmen lassen sich noch ausweiten. Letztlich ist es eine Frage des Kosten-Nutzen-Verhältnisses. Von Mitarbeiter- und Lieferantenüberprüfung bis zu Bauteilen auf Platinen: Zero-Trust-Maßnahmen lassen sich auf allen Ebenen der OT anwenden.