AI Hacking - Wie Hacker künstliche Intelligenz bei Cyberangriffen einsetzen

Jetzt lesen
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 vor OT-Angriffen auf Rockwell Automation PLCs 

von OPSWAT
Jetzt teilen

Wir freuen uns, eine Reihe von Blogs zur technischen Analyse einzuführen, die sich auf verschiedene CVEs (Common Vulnerabilities and Exposures) konzentrieren, die mit unseren fortschrittlichen Technologien zur Erkennung von Bedrohungen identifiziert und behoben werden können.Alle Forschungsarbeiten werden von Doktoranden durchgeführt, die am OPSWAT Cybersecurity Fellowship-Programm teilgenommen haben, das im Dezember 2023 startet. 

Luan Pham und Viet Tran, Doktoranden der Ho-Chi-Minh-Universität für Wissenschaft
Studenten nahmen am OPSWAT Fellowship-Programm teil.

In diesem Blog erläutern wir die Rockwell Micrologix CVE-2017-14469 und wie Unternehmen sich gegen CVE-2017-14469-Ausbeutungsangriffe schützen können.

Rockwell Automation MicroLogix 1400-Steuerung 

Eine SPS (Speicherprogrammierbare Steuerung) ist ein Computer, der speziell für die Steuerung industrieller Fertigungsprozesse entwickelt wurde. Er wird in kritischen Infrastrukturbereichen eingesetzt, z. B. in Montagelinien, bei der Maschinenüberwachung, der Prozesssteuerung usw. Die MicroLogix 1400-Steuerung von Rockwell Automation ist eine modulare und erweiterbare SPS mit einer hohen E/A-Zahl, einem schnellen Hochgeschwindigkeitszähler und einer erweiterten Netzwerkunterstützung, die sie für eine Vielzahl von Anwendungen geeignet macht.

Produktfoto von Rockwell Automation MicroLogix 1400-Steuerungen
Rockwell Automation MicroLogix 1400-Steuerungen

14469

Beschreibung

Eine Sicherheitslücke in Rockwell Automation MicroLogix 1400 Serie B FRN 21.2 und früheren Versionen ermöglicht es einem Angreifer, sensible Daten auf dem Gerät zu lesen und zu schreiben/überschreiben. Ein nicht authentifiziertes, speziell gestaltetes Paket, das einen Befehl enthält, würde zur Änderung der benutzerdefinierten Fehlerroutinennummer führen, was zu einem unerwarteten Stopp der Geräteausführung führt.

Diagramm zur Veranschaulichung eines Sicherheitsszenarios mit einem Angreifer, der es auf ein MicroLogix 1400-Gerät abgesehen hat, was zu mehreren möglichen Folgen führt
Auswirkungen 

Die National Vulnerability Database (NVD) hat diese Schwachstelle als "kritisch" mit einem maximalen CVSS-Wert (Common Vulnerability Scoring System) eingestuft. Ihre Auswirkungen können die Vertraulichkeit, Integrität und Verfügbarkeit eines Geräts erheblich beeinträchtigen, ohne dass zusätzliche Authentifizierungen erforderlich sind. Die Systemverfügbarkeit ist von entscheidender Bedeutung, insbesondere bei kritischen Infrastruktursystemen, bei denen jede Unterbrechung oder Ausfallzeit zu massiven finanziellen Verlusten oder sogar physischen Schäden führen kann. Dieser CVE kann zu einer Unterbrechung der SPS-Funktionen führen, indem er einen "Systemfehler" innerhalb des Controllers auslöst, wodurch das Risiko einer Unterbrechung kritischer Infrastruktursysteme entsteht. 

Schweregrade für eine Cybersicherheitslücke CVE-2017-14469 mit detaillierten CVSS-Scores von NIST NVD und Talos mit kritischen Basis-Scores
Informationen zu CVE-2017-14469 auf NIST NVD 

Schwachstellenanalyse

Was ist ein Fehler und eine Fehlerroutine?

Das Konzept eines Fehlers ähnelt sehr dem einer Ausnahme in der Programmierung. Wenn ein Fehler auftritt, wird die Ausführung des Befehls angehalten, wodurch das Gerät in einen Fehlerzustand versetzt wird. Fehler können in zwei Arten unterteilt werden: Benutzerfehler und Nicht-Benutzerfehler.  

Es gibt zwei Mechanismen zur Beseitigung von Fehlern: automatische Beseitigung durch Ausschalten der Stromversorgung des Steuergeräts oder manuelle Beseitigung mit einer Benutzerfehlerroutine, d. h. einem Verfahren, das so eingestellt werden kann, dass es als Reaktion auf einen Benutzerfehler automatisch ausgeführt wird. CVE-2017-14469 bezieht sich auf den zweiten Mechanismus. Um zu verhindern, dass das System durch einen Benutzerfehler unerwartet heruntergefahren oder die Ausführung angehalten wird, wird eine Benutzerfehlerroutine definiert, um zugewiesene Fehler auf der Grundlage ihrer Fehlernummern zu behandeln, und wird ausgeführt, wenn der entsprechende Fehler auftritt. Gibt es keine Routine zur Behandlung des Fehlers, hält das Gerät die Ausführung an und zeigt die Fehlernummer an. Der Wert für die Benutzerstörungsroutine ist auf 0x00 eingestellt, wenn das Gerät normal arbeitet, und sie sollte nur im Bereich von 0x03 bis 0xFF für die Störungsbehandlung konfiguriert werden.

Flussdiagramm zur Erläuterung des Verfahrens zur Behandlung von Gerätefehlern, einschließlich Fehlererkennung, Routineprüfungen und Anzeige von Fehlercodes
Mechanismus zur Behebung von Anwenderfehlern mit Hilfe von Anwenderfehlerroutinen.
Rockwell Automation MicroLogix 1400 Betriebsart

In Rockwell Automation MicroLogix 1400 gibt es drei Betriebsartenschalter: PROGRAM, REMOTE und RUN. Sowohl im PROGRAM- als auch im REMOTE-Modus können Programme auf das Gerät heruntergeladen werden, während gleichzeitig eingehende Anforderungen akzeptiert und bearbeitet werden. Im RUN-Modus akzeptiert das Gerät jedoch nur eingeschränkte Anfragen. Im Zusammenhang mit dieser Sicherheitslücke ist ein Ausnutzen nicht möglich, wenn sich das Gerät im RUN-Modus befindet.

Programm
  • Leerlaufmodus, der zum Herunterladen und Bearbeiten von Programmen verwendet wird
  • Antwortet auf Nachrichten am Kommunikationsanschluss
  • Angehaltene Ausführung und keine Ausgabe
Fernbedienung
  • Ermöglicht die Steuerung des Geräts über eine Software-Sitzung
  • Antwortet auf Nachrichten am Kommunikationsanschluss
  • Normale Ausführung und Ausgabe
Laufen lassen
  • Führt Programme in einer Endlosschleife aus
  • Reagiert nur auf eingeschränkte Nachrichten
So funktioniert CVE-2017-14469

Das Gerät kommuniziert über CIP (Common Industrial Protocol) mit PCCC-Erweiterung. Das CIP-Protokoll baut auf dem Ethernet/IPIndustrial Protocol) auf. Die Struktur eines Pakets ist in der Abbildung unten dargestellt:

schematische Darstellung der Struktur von Ethernet/IP-Paketen und CIP-Objekten für die industrielle Protokollkommunikation
Mechanismus zur Behebung von Anwenderfehlern mit Hilfe von Anwenderfehlerroutinen.

Wie in der obigen Abbildung zu sehen ist, gibt es kein Feld für die Authentifizierung. Dies stellt eine große Herausforderung dar, da das Gerät nicht in der Lage ist, zwischen den Anfragen eines Angreifers und dem normalen Datenverkehr eines Benutzers zu unterscheiden. 

Normalerweise kann ein Bediener die Konfiguration des Geräts über eine Steuersoftware überwachen und aktualisieren. Um mit dem Gerät zu kommunizieren, sendet die Software eine entsprechende Anfrage mit einem geschützten logischen Schreib- oder Lesebefehl, der das CIP PCCC-Objekt ausfüllt. Im CIP PCCC-Protokollformat wird ein Befehl durch seinen Befehlscode und seinen Funktionscode identifiziert. 

Befehlscode
Funktion Code
Beschreibung
0x0F80Modus ändern
0x0F0xAAGeschütztes, typisiertes logisches Schreiben mit drei Adressfeldern
0x0F0xA2Geschütztes typisiertes logisches Lesen mit drei Adressfeldern

Der geschützte logische Schreibbefehl wird verwendet, um in sensible Dateien wie die Statusdatei, die Bitdatei, die Zählerdatei und andere Konfigurationen des Geräts zu schreiben.  

Das Gerät verwendet drei Adressfelder im CIP-Paket, um den Speicherort zum Lesen und Schreiben zu identifizieren: Dateityp, Dateinummer und Elementnummern. Nachfolgend finden Sie einige Beispielwerte zur Identifizierung der Konfigurationsdateispeicherorte, die von dem Befehl betroffen sind: 

Datei Typ
Aktenzeichen
Element-Nummern
Beschreibung
84020x1dStatusdatei - Nummer der Benutzerstörungsroutine
840206Statusdatei - Major Error Code
840205Statusdatei - Major Error Code

Bei der Bearbeitung der Anfrage durch das Gerät fehlt jedoch eine Eingabevalidierung; die im Schreibbefehl gesendeten Daten werden nicht validiert und können auf beliebige ungültige Werte gesetzt werden. 

Die Schwachstelle wird durch zwei Hauptgründe verursacht. Erstens kann das Gerät eingehende Anfragen nicht authentifizieren, was es einem Angreifer ermöglicht, eine nicht authentifizierte Anfrage zu senden, um sensible Einstellungen zu ändern. Zweitens validiert das Gerät eingehende Daten nicht korrekt, was dazu führt, dass die Einstellungen in einen ungültigen Zustand versetzt werden. 

Um die Schwachstelle erfolgreich auszunutzen, sendet ein Angreifer eine böswillige Anfrage und missbraucht den geschützten logischen Schreibbefehl, um die Fehlerroutinennummer in der Statusdatei mit einem ungültigen Wert, wie 0x01 oder 0x02, zu überschreiben. Wenn die Fehlerroutinen-Nummer mit einem ungültigen Wert überschrieben wird und das Gerät durch ein anderes CIP-Paket in den RUN-Modus wechselt, löst es einen Fehler aus und stoppt die Ausführung. 

Ausnutzung der Schwachstelle

Der Angriff kann in 4 Schritte unterteilt werden.

  1. Stellen Sie eine Verbindung zum Gerät über Ethernet/IP her, um das Sitzungshandle zu erhalten.
  2. Senden Sie die böswillige Anfrage, um die Nummer der Fehlerroutine zu überschreiben.
  3. Erstellen Sie ein bösartiges CIP-Paket, um die SPS wieder in den Run-Modus zu schalten und den Fehler auszulösen.
  4. Das Gerät stößt auf einen Fehler und stoppt die Ausführung.
Python-Codefragment für eine Socket-Verbindung, Sitzungsregistrierung und Senden von Befehlen zur Änderung der Fehlerroutine und des CPU-Zustands eines Geräts, gekennzeichnet als Exploit
Der Code zeigt Schritt für Schritt die Funktionen zum Ausnutzen der Sicherheitslücke. 
Schritt 1

Um mit dem Gerät zu kommunizieren, muss ein Angreifer eine Verbindung initiieren, indem er eine Sitzung beim Gerät registriert, um das Sitzungshandle zu erhalten und es für die laufende Kommunikation zu verwenden. Der folgende Code veranschaulicht eine Standardanforderung zur Sitzungsregistrierung:

Python-Funktion zum Registrieren einer Sitzung mit rohen Byte-Daten, Senden über einen Socket und Dekodieren der Sitzungs-Handle-Antwort
Schritt 2

Anschließend bastelt ein Angreifer eine Anfrage mit dem zuvor erhaltenen Sitzungshandle und enthält eine Nutzlast mit einem geschützten logischen Schreibbefehl, um die Nummer der Fehlerroutine zu überschreiben, eingekapselt in ein CIP-Paket.

Python-Code, der eine Funktion zum Senden einer Anweisung über einen Netzwerk-Socket und zum Empfangen einer Antwort definiert, Teil eines Netzwerk-Kommunikationsskripts
Schritt 3

Im letzten Schritt wird ein weiteres CIP-Paket gesendet, um das Gerät in den Betriebsmodus zu versetzen und den Fehler auszulösen.

Python-Funktion, die den CPU-Zustand eines Geräts durch Senden spezifischer Befehls-Nutzdaten entweder in den Lauf- oder den Programm-Modus versetzt
Schritt 4

Wie in der Abbildung zu sehen ist, wird die Ausführung der SPS angehalten und die Sicherheitslücke erfolgreich ausgenutzt.

Darstellung der Benutzeroberfläche des Systems und des Rockwell Automation MicroLogix 1400 unter normalen Betriebsbedingungen
Das System arbeitet unter normalen Bedingungen
Darstellung der Systembenutzeroberfläche und des Ausfalls von Rockwell Automation MicroLogix 1400 nach Ausnutzung der Sicherheitslücke
Das System ist nach dem Ausnutzen dieser Sicherheitslücke ausgefallen

Sanierung

OPSWATProdukte für die ICS-Sicherheit sind so konzipiert, dass sie diese Art von Angriffen abwehren. MetaDefender OT Security ist ein KI-gestütztes Tool zur Erkennung von Bedrohungen und Intelligenz, das abnormale Anfragen von Angreifern erkennt und Administratoren in die Lage versetzt, potenzielle Bedrohungen zu identifizieren. 

MetaDefender OT Security verfügt über die folgenden Funktionen zur Verbesserung der Sicherheitslage in OT-Umgebungen: 

  1. Schnelles Auffinden und Erstellen von Anlagenbeständen mit Smart Asset Profiling
  2. Aktive und passive Überwachung von Bedrohungen und Anomalien
  3. Remote-Patch-Verwaltung mit zentralisierten, automatischen Patching-Funktionen
  4. Strukturierter und gestraffter Arbeitsablauf für Risikowarnungen, verwaltet von einem umfassenden und anpassbaren Dashboard
  5. Berichterstattung über die Einhaltung globaler, regionaler und branchenspezifischer Vorschriften
Dashboard mit einer detaillierten Schwachstellenbewertung für ein Rockwell Automation MicroLogix 1400 PLC-Gerät, einschließlich CVE-Listen und CVSS-Scores

Zusätzlich kann MetaDefender OT Security auch integriert werden mit MetaDefender Industrial Firewall integriert werden, um zu verhindern, dass bösartige Anfragen die von OT Security erkannten Geräte beeinflussen. Die MetaDefender Industrial Firewall ist die letzte Verteidigungslinie, die geschäftskritische SPS, VFDs, RTUs und andere industrielle Anlagen schützt. Sie wendet hochgradig granulare Gerätezugriffsrichtlinien an und erzwingt Gerätezugriffszonen, um sicherzustellen, dass kein unbefugter Zugriff oder Änderungen auf die kritische Hardware erfolgen können.  

Beide zusammen bilden ein nahtloses IDPS (Intrusion Detection and Prevention System), das alle anomalen Netzwerkverbindungen, Anfragen, Kommunikationen usw. erkennt und verhindert, dass sie das Netzwerk beeinträchtigen.

MetaDefender OT Security bietet entscheidenden Schutz für kritische Infrastrukturen durch die Transparenz der Anlagen und die zuverlässige Erkennung von Bedrohungen. Neben seinen technologischen Fähigkeiten bietet OPSWAT spannende Karrieremöglichkeiten für Menschen, die sich für Cybersicherheit begeistern. Gestalten Sie mit uns die Zukunft der Sicherheit und schützen Sie, was am wichtigsten ist. Entdecken Sie die vielfältigen Aufgaben und wirkungsvollen Projekte bei OPSWAT, wo Ihr Fachwissen einen spürbaren Unterschied machen kann. Lassen Sie uns gemeinsam die wichtigsten Systeme der Welt schützen.

Bleiben Sie auf dem Laufenden mit OPSWAT!

Melden Sie sich noch heute an, um die neuesten Unternehmensinformationen zu erhalten, Geschichten, Veranstaltungshinweise und mehr.