TroutTrout
Back to Blog
ModbusEncryption tunnelsOT security

Absicherung von Modbus-TCP-Netzwerken: Über grundlegende Firewall-Regeln hinaus

Trout Team7 min read

Modbus TCP verfügt über keine Authentifizierung, keine Verschlüsselung und kein Session-Management. Eine Firewall-Regel, die Port 502 aus dem Internet sperrt, ist ein erster Schritt, keine Sicherheitsstrategie. Wer ein auf Port 502 lauschendes Gerät erreichen kann, kann jedes Register lesen und jede Spule schreiben, denn das Protokoll setzt voraus, dass jeder Kommunikationspartner vertrauenswürdig ist. Dieser Beitrag behandelt, was nach grundlegenden Firewall-Regeln folgt: Verschlüsselungstunnel, eine Segmentierung, die dem Prozess statt dem Subnetz folgt, Deep Packet Inspection, Funktionscode-Kontrolle und das Monitoring, das alles zusammenführt, allesamt Maßnahmen, die die grundlegenden Designlücken von Modbus TCP schließen.

Modbus TCP-Schwachstellen verstehen

Modbus ist ein Anfrage-Antwort-Protokoll, das eine Unit-Kennung, einen Funktionscode und eine Datennutzlast überträgt. Die TCP-Variante kapselt dies in einen kurzen MBAP-Header (Modbus Application Protocol) und versendet es über Port 502. Das Protokoll wurde 1979 für serielle Verbindungen veröffentlicht, und die TCP-Abbildung erbte ein Vertrauensmodell, das auf einer Punkt-zu-Punkt-Leitung sinnvoll war, in einem gerouteten Netzwerk jedoch versagt. Die MODBUS/TCP-Security-Spezifikation der Modbus Organization selbst stellt ausdrücklich fest, dass das Basisprotokoll keine Sicherheitsdienste bereitstellt und dass Vertraulichkeit, Integrität und Authentifizierung darüber hinaus ergänzt werden müssen. Das Ergebnis sind mehrere strukturelle Schwächen:

  • Fehlende Authentifizierung: Modbus TCP enthält keine Authentifizierungsmechanismen. Jeder Host, der eine TCP-Sitzung zu Port 502 öffnen kann, kann den Funktionscode 6 (Schreiben eines Registers) oder 16 (Schreiben mehrerer Register) ausgeben und einen Sollwert ändern, ohne dass jemals ein Berechtigungsnachweis verlangt wird.
  • Keine Verschlüsselung: Über Modbus TCP übertragene Daten sind unverschlüsselt. Registerwerte, Spulenzustände und die Befehle, die sie ändern, laufen im Klartext, sodass jeder mit einem Tap oder einem SPAN-Port den Prozesszustand mitlesen und Befehle rekonstruieren kann.
  • Kein Integritätsschutz: Es gibt keine Signierung von Nachrichten. Ein Angreifer in Mittelsmann-Position kann einen Wert während der Übertragung verändern, ohne dass der Empfänger die Manipulation erkennen kann.
  • Replay-Angriffe: Ohne Session-Management oder Nonces kann eine aufgezeichnete Schreibanforderung unverändert erneut gesendet werden. Ein Angreifer, der einen legitimen Befehl zum Öffnen eines Ventils aufzeichnet, kann ihn später wiedergeben, ohne die Nutzlast zu verstehen.

Die US-Leitlinien behandeln dies als inhärent: NIST SP 800-82 Rev. 3, Guide to Operational Technology Security, weist darauf hin, dass viele OT-Protokolle auf Zuverlässigkeit und Determinismus statt auf Sicherheit ausgelegt wurden, und empfiehlt kompensierende Kontrollen auf Netzwerk- und Host-Ebene, anstatt zu erwarten, dass sich das Protokoll selbst verteidigt.

Erweiterte Sicherheitsmaßnahmen für Modbus TCP

Eine Segmentierung, die dem Prozess folgt

Die Segmentierung ist die wirksamste Kontrolle für Modbus, allerdings nur, wenn die Zonen dem Prozess statt der Bequemlichkeit entsprechen. Das Purdue-Modell und der Zonen-und-Conduit-Ansatz der Norm IEC 62443 liefern das Vokabular: Geräte, die miteinander kommunizieren müssen, in einer Zone zusammenfassen und den gesamten zonenübergreifenden Datenverkehr durch einen kontrollierten Conduit zwingen, in dem die Richtlinie durchgesetzt werden kann.

  • Sichere Zonen erstellen: Trennen Sie die Steuerungszone (PLCs, RTUs, die Geräte, die den Prozess tatsächlich bewegen) von der Überwachungszone (HMIs, Historians, Engineering-Arbeitsplätze). Ein kompromittiertes HMI sollte ein PLC nur über einen Pfad erreichen können, den Sie einsehen und steuern können.
  • Conduits mit Standardverweigerung: Ein Conduit zwischen Zonen sollte von einer Standardverweigerung ausgehen und nur die konkrete Quelle, das Ziel und den Port zulassen, die ein dokumentierter Datenfluss erfordert. Die empfohlenen Praktiken der CISA für die Defense-in-Depth industrieller Steuerungssysteme beschreiben die Schichtung von Segmentierung, Zugriffskontrolle und Monitoring, sodass kein einzelner Fehler den Prozess offenlegt.
  • Identitätsgebundener Zugriff: Über IP und Port hinaus sollten Sie einschränken, wer ein Gerät erreichen darf. Ein Techniker, der eine Wartung durchführt, benötigt einen zeitlich begrenzten Pfad zu einem bestimmten PLC, nicht dauerhaften Zugriff auf die gesamte Steuerungszone.

Deep Packet Inspection und Funktionscode-Kontrolle

Da Modbus über keine eigene Authentifizierung verfügt, ist der nützlichste Durchsetzungspunkt derjenige, der das Protokoll selbst versteht. Ein Gateway oder Proxy, der den MBAP-Header und den Funktionscode analysiert, kann die Richtlinie auf der entscheidenden Ebene durchsetzen: nicht nur „darf Host A mit Host B auf Port 502 sprechen", sondern „darf Host A einen Schreibvorgang in den Registerbereich X auf Gerät B ausgeben".

  • Funktionscode-Allowlisting: Ein Historian benötigt stets nur Lese-Funktionscodes (1 bis 4). Es gibt keinen legitimen Grund, dass er einen Schreibvorgang ausgibt. Lesevorgänge zuzulassen und Schreibvorgänge am Conduit zu verweigern, blockiert eine ganze Angriffsklasse, selbst wenn der Historian kompromittiert ist.
  • Register- und Spulen-Eingrenzung: Binden Sie Berechtigungen an Adressbereiche, sodass ein Gerät, das einen Sollwert anpassen darf, keine sicherheitskritischen Register erreichen kann, die es nicht anfassen darf.
  • Raten- und Formgrenzen: Modbus-Datenverkehr in einem eingeschwungenen Prozess ist sehr regelmäßig. Obergrenzen für die Anforderungsrate und das Verwerfen fehlerhafter MBAP-Header erkennen Scanning, Fuzzing und Floods frühzeitig.

TLS-Kapselung und Verschlüsselungstunnel

Modbus trägt keine eigene Verschlüsselung, daher müssen Vertraulichkeit und Integrität von der darunterliegenden Transportschicht ergänzt werden. Die MODBUS/TCP-Security-Spezifikation der Modbus Organization definiert genau dies: Modbus-Framing innerhalb einer TLS-Sitzung auf Port 802, mit X.509-Zertifikaten, die beide Endpunkte authentifizieren. Wo natives Modbus/TLS auf älteren Geräten nicht verfügbar ist, kapseln Sie den Datenverkehr extern.

  • Natives Modbus/TLS: Wo Geräte es unterstützen, liefert TLS in einem Schritt die gegenseitige Authentifizierung über Zertifikate sowie Verschlüsselung und Integrität und schließt die Lücken bei Authentifizierung und Verschlüsselung gemeinsam.
  • TLS- oder VPN-Gateways: Für Geräte, die nur reines Modbus sprechen, terminieren Sie einen TLS- oder VPN-Tunnel an einem Gateway vor dem Gerät, sodass Datenverkehr, der nicht vertrauenswürdige Segmente durchquert, verschlüsselt ist, ähnlich wie HTTPS den Web-Datenverkehr schützt.
  • Zertifikatshygiene: Verschlüsselung ist nur so stark wie das Schlüsselmanagement. Erneuern Sie Zertifikate, vergeben Sie sie pro Gerät und widerrufen Sie sie umgehend, wenn ein Gerät außer Betrieb genommen wird.

Monitoring und protokollbewusste Erkennung

Verschlüsselung und Segmentierung reduzieren die Angriffsfläche; das Monitoring meldet Ihnen, wenn etwas durchrutscht. Ein Intrusion-Detection-System, das Modbus versteht, verwandelt rohe Pakete in prozessrelevante Warnungen.

  • Protokoll-Anomalieerkennung: Konfigurieren Sie die Erkennung so, dass sie ungewöhnliche Funktionscodes, Schreibvorgänge von Geräten, die nur lesen sollten, und Befehle auf Register außerhalb ihres normalen Bereichs erkennt.
  • Datenverkehrs-Baselines: Eingeschwungener OT-Datenverkehr ist vorhersehbar. Erstellen Sie eine Baseline der normalen Menge an Quelle-Ziel-Funktionscode-Tupeln und warnen Sie dann bei allem Neuen, oft das erste Anzeichen von Aufklärung oder lateraler Bewegung.
  • Passive Erfassung: Verwenden Sie SPAN- oder Tap-basierte Erfassung, sodass das Monitoring dem Steuerungsnetzwerk selbst niemals Last oder Latenz hinzufügt.

Compliance und Normenausrichtung

Die obigen Kontrollen sind nicht willkürlich. Jede entspricht einer Norm, die ein Regulierer oder Auditor wiedererkennt, was sie leichter begründbar und budgetierbar macht.

  • IEC 62443: Das Zonen-und-Conduit-Modell und die Sicherheitsstufen bieten eine strukturierte Möglichkeit zu begründen, wo Segmentierung und welche Kontrollen hingehören.
  • NIST SP 800-82 Rev. 3: Liefert die OT-spezifische Kontrollanleitung, die direkt zu den obigen Maßnahmen passt.
  • CMMC und NIST SP 800-171: Für Verteidigungsauftragnehmer regeln diese Rahmenwerke den Schutz von Controlled Unclassified Information (CUI) in nicht-föderalen Systemen und sind auf Modbus TCP-Umgebungen anwendbar.
  • NIS2-Richtlinie: Wesentliche und wichtige Einrichtungen in der EU fallen unter NIS2, das die Anforderungen an die Sicherheit von Netz- und Informationssystemen sowie an die Meldung von Vorfällen anhebt.

Praktische Schritte zur Verbesserung der Modbus TCP-Sicherheit

  1. Jeden Modbus-Sprecher inventarisieren: Sie können nicht segmentieren oder überwachen, was Sie nicht erfasst haben. Erstellen Sie eine Liste jedes Geräts, das Modbus spricht, und der Flüsse zwischen ihnen.
  2. Um den Prozess herum segmentieren: Platzieren Sie PLCs und Überwachungssysteme in getrennten Zonen mit Conduits in Standardverweigerung dazwischen.
  3. Funktionscode-Richtlinie durchsetzen: Setzen Sie die Funktionscodes und Registerbereiche, die jeder Datenfluss tatsächlich benötigt, auf eine Allowlist und verweigern Sie den Rest.
  4. Verschlüsselung dort ergänzen, wo Datenverkehr Vertrauensgrenzen überschreitet: Verwenden Sie natives Modbus/TLS, wo verfügbar, ansonsten TLS- oder VPN-Gateways.
  5. Protokollbewusstes Monitoring einsetzen: Erstellen Sie eine Baseline des normalen Datenverkehrs und warnen Sie bei anomalen Funktionscodes und Schreibvorgängen.
  6. Normen ausrichten: Ordnen Sie jede Kontrolle den Anforderungen von IEC 62443, NIST SP 800-82, CMMC, NIST SP 800-171 und NIS2 zu.

Fazit

Modbus TCP-Netzwerke abzusichern geht über grundlegende Firewall-Regeln hinaus. Segmentieren Sie um den Prozess herum, damit ein kompromittiertes HMI kein PLC erreichen kann. Setzen Sie Funktionscodes und Registerbereiche am Conduit durch, denn ein Protokoll ohne Authentifizierung braucht einen Durchsetzungspunkt, der es versteht. Betten Sie Datenverkehr in TLS- oder VPN-Tunnel ein, um die Verschlüsselung nachzurüsten, die Modbus fehlt. Erstellen Sie eine Baseline des normalen Datenverkehrs und achten Sie auf anomale Schreibvorgänge. Ordnen Sie jede Maßnahme den Anforderungen von IEC 62443, NIST SP 800-82, CMMC, NIST 800-171 und NIS2 zu. Beginnen Sie mit einer Inventarisierung aller Geräte, die in Ihrem Netzwerk Modbus sprechen, die Ergebnisse zeigen, wo der Fokus zuerst liegen sollte.