Erfahren Sie mehr über Benny Czarnys Buch „Cybersecurity Upside Down“

Mehr erfahren
Wir verwenden künstliche Intelligenz für Website-Übersetzungen, und obwohl wir uns um Genauigkeit bemühen, kann es sein, dass sie nicht immer 100%ig präzise sind. Wir danken Ihnen für Ihr Verständnis.

Schutz von OT-Systemen vor Fernangriffen: Wie MetaDefender OT Security™ die Micrologix™ 1400-Steuerung vor CVE-2021-22659 schützt

Von OPSWAT
Schutz von OT-Systemen vor Fernangriffen: Wie „ MetaDefender OT Security™“ den Micrologix™ 1400-Controller vor CVE-20 schützt
Teilnehmer des OPSWAT

Der Schutz von industriellen Steuerungssystemen und OT-Umgebungen vor Angriffen aus der Ferne ist wichtiger denn je, insbesondere angesichts von Schwachstellen wie CVE-2017-14469 und jetzt CVE-2021-22659, die die weit verbreitete Micrologix 1400-Steuerung von Rockwell Automation betreffen. Studenten des OPSWAT Fellowship-Programms testeten diese Schwachstelle in einer kontrollierten Umgebung und unterstrichen damit die Notwendigkeit von Sicherheit.

In diesem Blog gehen wir darauf ein, wie die Studenten gezeigt haben, wie Angreifer die Schwachstelle ausnutzen können, um Systeme zum Absturz zu bringen, und wie das Fehlen einer angemessenen Eingabevalidierung ausgenutzt werden kann, um den SPS-Betrieb zu stören.

Was ist ein PLC? Rockwell Automation Micrologix 1400 Erklärt

Eine SPS (Speicherprogrammierbare Steuerung) ist ein Industriecomputer, der für die Automatisierung von Prozessen durch die Steuerung von Maschinen und anderen industriellen Vorgängen konzipiert ist. Er arbeitet in rauen Umgebungen und ist so programmiert, dass er auf der Grundlage von Sensoreingaben bestimmte Aufgaben ausführt. Die MicroLogix 1400-Steuerung von Rockwell Automation ist eine kompakte und modulare SPS, die häufig in kleinen bis mittleren Anwendungen eingesetzt wird. Sie ist bekannt für ihre Kosteneffizienz und Flexibilität, unterstützt verschiedene Kommunikationsprotokolle und bietet digitale und analoge E/A-Optionen für die Anbindung an Geräte.

Schutz von OT-Systemen vor Fernangriffen: Wie „ MetaDefender OT Security™“ den Micrologix™ 1400-Controller vor CVE-20 schützt

Die Programmierung erfolgt in der Regel mit der Software von Rockwell Automation über die Kontaktplanlogik, mit der die Benutzer Steuerungssequenzen erstellen können. Die MicroLogix 1400 ist vielseitig und eignet sich für Aufgaben wie die Maschinensteuerung und Prozessautomatisierung. Dank ihrer Modularität können Benutzer das System je nach den spezifischen Anwendungsanforderungen erweitern und anpassen.

Einführung in CVE-2021-22659

Im Januar 2021 erhielt Rockwell Automation einen Bericht von Parul Sindhwad und Dr. Faruk Kazi vom COE-CNDS am Veermata Jijabai Technological Institute (VJTI) in Indien bezüglich einer Sicherheitslücke in der MicroLogix™ 1400-Steuerung. Sie identifizierten eine Sicherheitslücke in Version 21.6 und früheren Versionen, die es einem nicht authentifizierten Angreifer aus der Ferne ermöglicht, ein speziell gestaltetes Modbus-Paket zu senden, wodurch der Angreifer beliebige Werte im Register abrufen oder ändern kann. Bei erfolgreicher Ausnutzung könnte dies zu einem Pufferüberlauf führen, was einen Denial-of-Service-Zustand zur Folge hätte. Die FAULT-LED blinkt rot, und die Kommunikation kann unterbrochen werden. Um den Denial-of-Service-Zustand zu beheben, muss der Fehler vom Benutzer zurückgesetzt werden.

NVD stufte diese Sicherheitslücke als hoch ein.

Schutz von OT-Systemen vor Fernangriffen: Wie „ MetaDefender OT Security™“ den Micrologix™ 1400-Controller vor CVE-20 schützt

Phasen des Angriffs

Schutz von OT-Systemen vor Fernangriffen: Wie „ MetaDefender OT Security™“ den Micrologix™ 1400-Controller vor CVE-20 schützt

Ein entfernter, nicht authentifizierter Angreifer mit Netzwerkzugriff auf die anfällige MicroLogix 1400 SPS könnte ein speziell gestaltetes Paket senden, um die Werte im Register zu ändern. Dies könnte einen Denial-of-Service-Zustand für das Gerät verursachen, der zu einer Beschädigung des Systems und zu Ausfallzeiten führt. Ein solcher Vorfall kann den Fertigungsbetrieb und andere Geschäftsaktivitäten des Unternehmens erheblich stören.

Modbus-Protokoll

Das 1979 von Modicon entwickelte Modbus-Protokoll ist eine Nachrichtenstruktur, die für die Client-Server-Kommunikation zwischen intelligenten Geräten entwickelt wurde. Ursprünglich für die Verwendung mit den SPS von Modicon konzipiert, hat es sich inzwischen zu einem Standard-Kommunikationsprotokoll für die Kommunikation zwischen industriellen elektronischen Geräten entwickelt.

Es gibt Modbus-Protokolle für Ethernet (Modbus TCP) und serielle Leitungen (Modbus RTU und Modbus ASCII). Modbus RTU (Remote Terminal Unit) überträgt Daten direkt in binärer Form über die serielle Kommunikation, und Modbus TCP (Transmission Control Protocol) bettet Modbus-Protokolldaten in TCP-Pakete zur Übertragung über TCP/IP-Netzwerke ein.

Schutz von OT-Systemen vor Fernangriffen: Wie „ MetaDefender OT Security™“ den Micrologix™ 1400-Controller vor CVE-20 schützt

Struktur der Modbus-Nachrichten

Modbus ist ein Anfrage-Antwort-Protokoll, bei dem der Client eine Anfrage an ein Modbus-Gerät sendet und das Gerät anschließend eine Antwort liefert.

Schutz von OT-Systemen vor Fernangriffen: Wie „ MetaDefender OT Security™“ den Micrologix™ 1400-Controller vor CVE-20 schützt

Eine Modbus-Nachricht, die von einem Primärgerät an ein Sekundärgerät gesendet wird, enthält die Adresse des Sekundärgeräts, den "Befehl" (z. B. "Register lesen" oder "Register schreiben"), die Daten und eine Prüfsumme (LRC oder CRC).

Schutz von OT-Systemen vor Fernangriffen: Wie „ MetaDefender OT Security™“ den Micrologix™ 1400-Controller vor CVE-20 schützt

Datenadressen werden in Modbus-Abfragen zum Lesen oder Ändern von Daten verwendet. Modbus definiert vier Datentypen: Spule, Eingangsstatus, Eingangsregister und Halteregister. Zwei davon speichern Ein-Aus-Werte (1-Bit), die als Spulen und diskrete Eingänge bezeichnet werden, und zwei speichern numerische Werte als 16-Bit-Wörter, die als Register bezeichnet werden. Jedes dieser Register ist entweder schreibgeschützt oder lesend/schreibend.

Datenart

Zugang

Beschreibung

Spule

Lesen und Schreiben

Einzelbit-Ausgänge.

Diskreter Eingang

Schreibgeschützt

Einzelbit-Eingänge.

Eingabe-Register

Schreibgeschützt

16-Bit-Eingaberegister.

Bestandsregister

Lesen und Schreiben

16-Bit-Ausgaberegister.

Es gibt drei Kategorien von Modbus-Funktionscodes:

  • Öffentliche Funktionscodes - Von 1 bis 127, außer bei benutzerdefinierten Codes.
  • Benutzerdefinierte Funktionscodes - in zwei Bereichen von 65 bis 72 und von 100 bis 110.
  • Reservierte Funktionscodes - werden von einigen Unternehmen für ältere Produkte verwendet und sind nicht für die Öffentlichkeit zugänglich.

Funktionstyp

Name der Funktion

Funktionscode

Datenzugang

Bit-Zugriff

Physikalische diskrete Eingänge

Diskrete Eingänge lesen

2

Interne Bits oder physikalische Spulen

Spulen lesen

Einzelspule schreiben

Mehrere Coils schreiben

1

5

15

16-Bit-Zugriff

Physikalische Eingaberegister

Lesen von Eingangsregistern

4

Interne Register oder physikalische Ausgaberegister

Mehrere Holding-Register lesen

Einzelne Holding-Register schreiben

Schreiben mehrerer Holding-Register

Lesen/Schreiben von mehreren Registern

Maske Schreibregister

FIFO-Warteschlange lesen

3

6

16

23

22

24

Akteneinsicht

Datensatz lesen

Dateisatz schreiben

20

21

Diagnostik

Ausnahmestatus lesen

Diagnostik

Get Com Ereigniszähler

Com-Ereignisprotokoll abrufen

Slave-ID melden

Geräteidentifikation lesen

7

8

11

12

17

43

Andere

Gekapselte Schnittstelle Transport

43

Funktionstyp: Datenzugriff
Untertyp: Bit-Zugriff
Kategorie: Physikalische diskrete Eingänge
Funktionsname: Diskrete Eingänge lesen
Funktionscode: 2

Funktionstyp: Datenzugriff
Untertyp: Bit-Zugriff
Kategorie: Interne Bits oder physikalische Spulen
Funktionsname: Spulen lesen
Funktionscode: 1

Funktionstyp: Datenzugriff
Untertyp: Bit-Zugriff
Kategorie: Interne Bits oder physikalische Spulen
Funktionsname: Einzelne Spule schreiben
Funktionscode: 5

Funktionstyp: Datenzugriff
Untertyp: Bit-Zugriff
Kategorie: Interne Bits oder physikalische Spulen
Funktionsname: Mehrere Spulen schreiben
Funktionscode: 15

Funktionstyp: Datenzugriffs
Untertyp: 16-Bit-Zugriff
Kategorie: Physikalische Eingangsregister
Funktionsname: Eingangsregister lesen
Funktionscode: 4

Funktionstyp: Datenzugriff
Untertyp: 16-Bit-Zugriff
Kategorie: Interne Register oder physikalische Ausgaberegister
Funktionsname: Mehrere Halteregister lesen
Funktionscode: 3

Funktionstyp: Datenzugriff
Untertyp: 16-Bit-Zugriff
Kategorie: Interne Register oder physikalische Ausgangsregister
Funktionsname: Einzelnes Halte-Register schreiben
Funktionscode: 6

Funktionstyp: Datenzugriff
Untertyp: 16-Bit-Zugriff
Kategorie: Interne Register oder physikalische Ausgaberegister
Funktionsname: Mehrere Halteregister schreiben
Funktionscode: 16

Funktionstyp: Datenzugriff
Untertyp: 16-Bit-Zugriff
Kategorie: Interne Register oder physikalische Ausgangsregister
Funktionsname: Mehrere Register lesen/schreiben
Funktionscode: 23

Funktionstyp: Datenzugriff
Untertyp: 16-Bit-Zugriff
Kategorie: Interne Register oder physikalische Ausgangsregister
Funktionsname: Mask Write Register
Funktionscode: 22

Funktionstyp: Datenzugriff
Untertyp: 16-Bit-Zugriff
Kategorie: Interne Register oder physikalische Ausgaberegister
Funktionsname: FIFO-Warteschlange lesen
Funktionscode: 24

Funktionstyp: Datenzugriffs
Untertyp:Dateisatzzugriff
Funktionsname: Dateisatzlesen
Funktionscode: 20

Funktionstyp: Datenzugriffs
Untertyp: Dateisatzzugriff
Funktionsname: Dateisatz schreiben
Funktionscode: 21

Funktionstyp: Diagnose
Funktionsname: Ausnahmestatus lesen
Funktionscode: 7

Funktionstyp: Diagnose
Funktionsname: Diagnose
Funktionscode: 8

Funktionstyp: Diagnose
Funktionsname: Com-Ereigniszähler abrufen
Funktionscode: 11

Funktionstyp: Diagnose
Funktionsname: COM-Ereignisprotokoll abrufen
Funktionscode: 12

Funktionstyp: Diagnose
Funktionsname: Slave-ID melden
Funktionscode: 17

Funktionstyp: Diagnose
Funktionsname: Geräte-ID auslesen
Funktionscode: 43

Funktionstyp: Sonstiges
Funktionsname: Encapsulated Interface Transport
Funktionscode: 43

Ausbeutung

Schwachstellenanalyse

Bei der Analyse entdeckten unsere OPSWAT , dass das Protokoll bei der Modbus-TCP-Kommunikation keine Authentifizierung und Verschlüsselung der übertragenen Pakete vorsieht. Außerdem ist die Eingabevalidierung in der MicroLogix 1400 SPS nicht ordnungsgemäß implementiert. Folglich kann ein entfernter Angreifer das Modbus-TCP-Paket mittels Packet Sniffing analysieren und beliebige Anfragen an die SPS ohne Authentifizierung über das Modbus-TCP-Protokoll senden. Aufgrund der fehlenden Eingabevalidierung des MicroLogix 1400 PLC-Geräts könnte ein entfernter authentifizierter Angreifer eine große Anzahl von Paketen mit zufälligen Werten senden und so möglicherweise einen Absturz der SPS verursachen.

Überschreiben von Registern

Zunächst haben wir versucht, Modbus-TCP-Pakete zu erfassen, die zum Lesen oder Schreiben von Registern auf der SPS verwendet werden. Zu diesem Zweck untersuchten wir Pakete, die von einer Anwendung namens Modbus Poll generiert wurden, die das Lesen und Schreiben von Registern auf der MicroLogix 1400 SPS ermöglicht.

Schutz von OT-Systemen vor Fernangriffen: Wie „ MetaDefender OT Security™“ den Micrologix™ 1400-Controller vor CVE-20 schützt

Durch die Verwendung von Wireshark, um alle Pakete von der Netzwerkschnittstelle zu erfassen, konnten wir das Modbus-TCP-Paket zum Schreiben eines einzelnen Registers identifizieren:

Schutz von OT-Systemen vor Fernangriffen: Wie „ MetaDefender OT Security™“ den Micrologix™ 1400-Controller vor CVE-20 schützt
Schutz von OT-Systemen vor Fernangriffen: Wie „ MetaDefender OT Security™“ den Micrologix™ 1400-Controller vor CVE-20 schützt

Auf der Grundlage der Struktur der gesnifften Pakete haben wir ein einfaches Python-Skript entwickelt, um TCP-Pakete zu senden, die das Schreiben eines Registers auf der Ziel-SPS anfordern. In diesem Szenario lautet die IP-Adresse der SPS 192.168.93.89.

Schutz von OT-Systemen vor Fernangriffen: Wie „ MetaDefender OT Security™“ den Micrologix™ 1400-Controller vor CVE-20 schützt

Das Register der SPS wurde nach dem Empfang unseres bösartigen, nicht authentifizierten Pakets geändert.

Schutz von OT-Systemen vor Fernangriffen: Wie „ MetaDefender OT Security™“ den Micrologix™ 1400-Controller vor CVE-20 schützt
Schutz von OT-Systemen vor Fernangriffen: Wie „ MetaDefender OT Security™“ den Micrologix™ 1400-Controller vor CVE-20 schützt

In der Micro Logix 1400 verwenden die meisten mathematischen Anweisungen drei Parameter: Quelle A, Quelle B und Ziel

Die Werte für Quelle A und Quelle B können aus zwei 16-Bit-Registern namens N13:3 und N13:4 stammen. Außerdem sind die Werte in diesen 16-Bit-Registern wie N13:3 und N13:4 auf den Bereich von -32.768 bis +32.767 beschränkt. Wenn die Werte von N13:3 und N13:4 groß sind, kann das Ergebnis des Match-Befehls den maximalen Bereich des Datentyps überschreiten, was zum Absturz der SPS führen kann. Um einen Absturz der SPS auszulösen, müssen daher große Zufallswerte in alle Register, einschließlich N13:3 und N13:4, geschrieben werden. Um dies zu erreichen, haben wir unser Python-Skript wie folgt geändert:

Schutz von OT-Systemen vor Fernangriffen: Wie „ MetaDefender OT Security™“ den Micrologix™ 1400-Controller vor CVE-20 schützt

Simulieren Sie den Angriff

Um einen realen Angriff zu simulieren, haben unsere OPSWAT Graduate Fellows versucht, die MicroLogix 1400 PLC in den OPSWAT CIP Labs zum Absturz zu bringen, unter der Annahme, dass sowohl der Angreifer als auch die PLC im selben Netzwerk sind und miteinander kommunizieren können.

Im normalen Betriebszustand der MicroLogix 1400 SPS bei OPSWAT Labs, wenn sich die SPS in der Betriebsart FERNBETRIEB befindet, sind alle Registerwerte gültig und liegen innerhalb des für ihre Datentypen vorgesehenen Bereichs, was darauf hindeutet, dass das Anwenderprogramm korrekt funktioniert.

Schutz von OT-Systemen vor Fernangriffen: Wie „ MetaDefender OT Security™“ den Micrologix™ 1400-Controller vor CVE-20 schützt

Bei Ausführung unseres Python-Skripts werden zahlreiche Modbus-TCP-Pakete an die SPS gesendet, die das Schreiben großer Zufallswerte in alle Register ohne Authentifizierung anfordern:

Schutz von OT-Systemen vor Fernangriffen: Wie „ MetaDefender OT Security™“ den Micrologix™ 1400-Controller vor CVE-20 schützt

Nach dem Empfang dieser bösartigen Paketanforderungen werden die Werte aller Register, einschließlich N13:3 und N13:4, auf 16.990 gesetzt. Das Ergebnis der ADD-Operation in den Registern N13:3 und N13:4 überschreitet den gültigen Bereich eines 16-Bit-Registers. Dieses Problem führt zu einem Integer-Überlauf, der zu einem Fehler führt und den Betrieb der SPS unterbricht, was durch den Zustand FAULTED angezeigt wird.

Schutz von OT-Systemen vor Fernangriffen: Wie „ MetaDefender OT Security™“ den Micrologix™ 1400-Controller vor CVE-20 schützt

Unsere OPSWAT Graduate Fellows haben die MicroLogix 1400 PLC erfolgreich zum Absturz gebracht, indem sie CVE-2021-22659 ausnutzten.

Sanierung

Schutz von OT-Systemen vor Fernangriffen: Wie „ MetaDefender OT Security™“ den Micrologix™ 1400-Controller vor CVE-20 schützt

Angesichts von Schwachstellen wie CVE-2021-22659 sind umfassende Abhilfemaßnahmen für den Schutz von OT- und cyber-physischen Systemen von entscheidender Bedeutung. Im Folgenden werden einige der wichtigsten Strategien vorgestellt, die zur Verhinderung der Ausbreitung von Angriffen eingesetzt werden können:

  1. Erkennung bekannter CVEs: Regelmäßiges Scannen von Netzwerken auf Sicherheitslücken wie CVE-2021-22659.
  2. Überwachung auf anomale Verhaltensweisen: Erkennung von ungewöhnlichen Häufungen in der Kommunikation mit der Micrologix 1400 SPS, die auf einen laufenden Angriff mit unerlaubter Datenübertragung hindeuten könnten.
  3. Erkennung neuer Geräteverbindungen: Das System sollte erkennen, wenn ein neues Gerät an die SPS angeschlossen wird.
  4. Netzwerksegmentierung: Die Isolierung betroffener Geräte kann dazu beitragen, die seitliche Ausbreitung von Angriffen zu verhindern und so die Auswirkungen zu minimieren.

MetaDefender OT Security von OPSWATerfüllt diese Anforderungen durch die Erkennung von CVEs, die kontinuierliche Überwachung des Netzwerks auf ungewöhnliche Verhaltensweisen und die Identifizierung nicht autorisierter Verbindungen. Mithilfe von KI lernt es normale Verkehrsmuster, legt ein Basisverhalten fest und implementiert Richtlinien, um Anomalien zu melden. Dies ermöglicht sofortige, fundierte Reaktionen auf potenzielle Bedrohungen.

Im Falle eines Angriffs, der CVE-2021-22659 ausnutzt, integriert sich MetaDefender OT Security mit der MetaDefender Industrial Firewall , um verdächtige Kommunikationen basierend auf festgelegten Regeln zu blockieren. Die Firewall nutzt KI, um regelmäßige Verkehrsmuster zu erlernen und Richtlinien durchzusetzen, um nicht autorisierte Verbindungen zu verhindern.

Durch die Kombination dieser Funktionen zur Erkennung, Warnung und Netzwerksegmentierung wird „ MetaDefender “ (OT Security ) zum idealen Schutzmechanismus für industrielle Umgebungen und reduziert so das Risiko und die Auswirkungen von Cyberbedrohungen in OT-Umgebungen erheblich.

Erfahren Sie, wie die OPSWATfür umfassende Cybersicherheit Ihre Sicherheit verbessern und ausbauen kann. Sprechen Sie noch heute mit einem Experten für eine kostenlose Demo.

Bleiben Sie auf dem Laufenden mit OPSWAT!

Melden Sie sich noch heute an, um die neuesten Unternehmensnachrichten, Berichte, Veranstaltungshinweise und vieles mehr zu erhalten.