Software im IIoT sicher betreiben

Isoliert und virtualisiert im Container

30. Januar 2023, 9:28 Uhr | Andreas Knoll
secunet
In drei verschiedenen Ausbaustufen mit unterschiedlichen Schnittstellen sind die Edge-Computing-Geräte der Serie »secunet edge« erhältlich.
© secunet

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.

Anbieter zum Thema

zu Matchmaker+
Klier Daniel
Daniel Klier, secunet: »Docker-Container werden verwendet, um Software von ihrer Umgebung zu isolieren und die IT-Security zu erhöhen.«
© secunet

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.

secunet
Docker-Container eignen sich beispielsweise für Edge-Computing-Anwendungen.
© secunet

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:

  • 1. Eine Bestandsaufnahme aller Netzwerkteilnehmer sowie die Festlegung, wer im Netzwerk agieren darf. Alle anderen müssen blockiert werden. Jeder Teilnehmer muss eindeutig identifizierbar sein – am besten mit erneuerbaren Zertifikaten.
  • 2. Eine Netzwerk-Segmentierung, bei der nur der Traffic erlaubt wird, den es unbedingt braucht.
  • 3. Auf Passwörter verzichten, die durch menschliche Fehler erschlichen werden können. Besser ist ein Hardware-Root of Trust. Das könnten beispielsweise Smartcards oder Tokens sein. Am besten verwendet man dafür mehrere Schlüssel, also eine Multi-Factor-Authentication (MFA).
  • 4. Access-Control: Die Rechte einzelner User einschränken, um Schäden im Falle eines erfolgreichen Angriffs zu minimieren. Zero Trust gilt auch für die eigenen Mitarbeiter. Schäden können unbeabsichtigt entstehen.
  • 5. Netzwerkgeräte monitoren. Regelmäßig den Security-Status der Netzwerkteilnehmer überprüfen und die vorgestellten Verbesserungsvorschläge ausführen. Sind alle Geräte up to date? Werden an irgendeiner Stelle unsichere Passwörter verwendet? Gibt es verdächtige Signaturen im Netzwerk?
  • 6. Sicherstellen, dass die Geräte regelmäßig gewartet und geupdatet werden. Das ist in der OT eine der größten Herausforderungen, aber unumgänglich.
  • 7. Überall verschlüsseln, wo es möglich ist.

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.
 


Verwandte Artikel

Secunet Security Networks AG

Digitale Industrie