Forensic Investigations / Fi Blog / Sicherheitslücken in 3S CoDeSys Runtime - womöglich über 250 Hersteller von speicherprogrammierbaren Steuerungen betroffen


Sicherheitslücken in 3S CoDeSys Runtime - womöglich über 250 Hersteller von speicherprogrammierbaren Steuerungen betroffen

Die CoDeSys Runtime der Kemptener Softwareschmiede 3S Smart Software Solutions GmbH ist ein Programmiersystem für speicherprogrammierbare Steuerungen (SPS) nach IEC 61131-3 .

Das System wird von Leittechniksystemherstellern (OEMs ) als Software-Basis verwendet. Zu dem Kunden von 3S Smart Software Solutions gehören laut Referenzliste mehr als 250 mehr als 350 Hersteller, u.a. Größen wie ABB, Alstom, Beckhoff, Bosch Rexrodt, Eaton, MAN, Mitsubishi, Schneider Electric und WAGO.

Durch ein Sicherheitsleck ist es u.a. möglich, ohne Authentifizierung

  • Dateien von und zur SPS zu übertragen
  • beliebige Kommandos auszuführen (Root-Shell)
  • Anwendersoftware von der SPS zu stehlen und die SPS neu zu programmieren.

Die Implementierung der CoDeSys Runtime durch den jeweiligen OEM-Hersteller kann gegebenenfalls gar nicht oder nur teilweise für diese Fehler anfällig sein. Welche Hersteller bzw. Produkte genau betroffen sind, ist nicht abschließend bekannt – die Liste der Geräte, die das System benutzen ist lang. Bisher ist jedoch lediglich ein einzelner Hersteller entdeckt worden, dessen Produkte nicht anfällig für die Sicherheitslücken sind.

Wir haben unsere Bestandskunden am ersten Tag des Bekanntwerdens (25.10.2012) hierüber informiert.

Das ICS-CERT hat inzwischen auch eine Warnung veröffentlicht: ICS-ALERT-12-097-02A .

Stellungnahme des Herstellers

Auch CoDeSys reagierte mittlerweile, wenn auch mit einem relativ enttäuschenden Statement :

  • [...] Eine passwortgeschützte und öffentlich zugreifbare CODESYS Steuerung ist trotz Passwortschutz noch ansprechbar. So können [...] weiterhin etwa Kommandos mit der Shell der Steuerung ausgeführt oder Applikationen geladen werden.
    [...]
    Generell stellen wir in CODESYS keine Bordmittel zur Verfügung, die eine Steuerung vor einem ernsthaften Angriff aus dem Internet schützen sollen. Sollten wir dieses mit der vorhandenen Passwort-Funktion suggeriert haben, war das nicht beabsichtigt. [...]

Einschätzungsverfehlung

Noch im ersten Absatz wird noch von einem "Passwortschutz" gesprochen, später nur noch von "Passwort-Funktion". Eine solche Wortklauberei ist nicht zielführend. Welchen Zweck außer dem "Passwortschutz" eine "Passwort-Funktion" ansonsten haben sollte, bleibt die Erklärung ebenso schuldig.

Ist es realistisch, dass der Anwender annimmt, dass eine "Passwort-Funktion" etwa dazu dient

  • seine Fähigkeiten beim Maschineschreiben aufzufrischen oder
  • ihm helfen soll, den Arbeitstag herum zu bekommen?

Natürlich ist das absurd – die Benennung der Funktion und das allgemein Übliche definiert eine ganz klare Anwendererwartung.

Der Anwender konnte gar nicht erkennen, dass die "Passwort-Funktion" kein "Passwortschutz" ist. Gibt man von der CoDeSys-IDE aus das falsche Passwort an, wird der Zugang nämlich – genau wie erwartet – nicht gewährt. Lediglich durch andere Mechanismen wie selbstgeschriebene Programme ist es möglich, ohne Passwort zuzugreifen.

Kommunikationsverfehlung

Leider informiert dieses Statement auch nicht darüber, dass neben v2.3 auch noch andere – wahrscheinlich alle – Versionen betroffen sind, wie mittlerweile aus Fachkreisen zu hören ist. Ebensowenig wird klar kommuniziert, dass dieser Mangel ein kritisches Risiko darstellt, selbst wenn die SPS nicht vom Internet – also "öffentlich" – zugänglich ist und – wie empfohlen – durch Firewall(s) und VPN(s) geschützt ist. Des weiteren benötigt es dafür keinen "ernsthaften Angriff" um die Sicherheitslücke auszunutzen – ein Herumprobieren von 'Skript-Kiddies ' mit frei verfügbaren Werkzeugen genügt. Auch ein verärgerter Mitarbeiter ('malicious Insider') wird die Lücke ebenfalls ohne große technische Kenntnisse nutzen können.

Fazit

In puncto Kommunikation wurde ein Großteil von dem falsch gemacht, was falsch zu machen ist. Das Statement hat m.E. folgende Grundregeln verletzt:

  • die Problematik weder zu verharmlosen noch zu dramatisieren,
  • nicht zu versuchen, unhaltbare Entschuldigungen oder Ausreden zu suchen,
  • objektiv richtig, klar und eindeutig zu sein,
  • konstruktive Hilfestellung statt bekannten Phrasen und Allgemeinplätzen zu bieten
  • einen Ausblick auf eine Problemlösung für den Endanwender zu bieten

Gerne beraten wir Hersteller und Anwender auch in Kommunikationsfragen bei Sicherheitsvorfällen.

Immerhin hat man wohl für OEM-Kunden eine fehlerbereinigte Version bereitgestellt. Ob und wann die OEMs diese Fehlerbereinigung in Ihre Produkte integrieren, bleibt jedoch dem einzelnen Hersteller überlassen. Schön wäre es, wenn CoDeSys seine OEMs aktiv anhalten würde, die Fehlerbereinigung auf Ihre Geräte anzuwenden, aktualisierte Firmware bereitzustellen oder zumindest einen Zeitplan zu nennen – geht dies doch auf ursächlich auf das Unternehmen zurück.

Der Sachschaden für einen offensichtlich vermeidbaren Fehler ist enorm –

  • i Hersteller x j Produkte x k Anwender x m Installationen x n € pro Feld-Upgrade

extrem konservative Abschätzung:

  • 100 Hersteller x 1 Produkt x 100 Anwender x 10 Installationen x 50 € pro Feld-Upgrade = 5 Mio. € +++ verbrannt

– dies zeigt die besondere Verantwortung von Platformanbietern. Kosten für die OEMs sind dabei noch nichtmal mitberechnet.

Leider erfährt der Endanwender bisher noch nicht einmal, ob sein Gerät betroffen ist oder nicht.

Kostenloser Test

Wenn Sie uns ein Exemplar Ihrer Steuerung postalisch zukommen lassen, testen wir diese kostenlos auf den Fehler! (Nur nach vorheriger Absprache , Rückversand erfolgt unfrei. Wir behalten uns vor, den kostenlosen Test auch ohne Angabe von Gründen abzulehnen.)

Automatisierte Tools können dies bei der Vielfalt der unterschiedlichen Implementierungen durch die einzelnen Hersteller gegenwärtig (noch) nicht leisten.

Gerne testen wir Ihre Systeme auch vor Ort (normal kostenpflichtig) professionell und neutral auf die Existenz dieser und anderer Schwachstellen.

UPDATE 23.11.2012: 3S / CoDeSys hat die Homepage überarbeitet. Die Listen der Hersteller und Geräte, die das System einsetzen, lässt sich nicht wieder auffinden, weder über die Homepage noch über Google. Links aktualisiert bzw. entfernt.

UPDATE 19.12.2012: Der 3S / CoDeSys Support hat mir geschrieben, die Homepage sei zur SPS/IPC/Drives 2012 auf das neue CI Design umgestellt worden. Es sei unrichtig, dass die Geräteliste jemals nicht mehr auf der Homepage verfügbar war. Möglich, dass ich sie nur übersehen hatte und Google die neue Seite noch nicht indexiert hatte. Auf jeden Fall ist sie auch auf der neuen Seite online . Hier ist gar von über 350 Herstellern die Rede.

Auf meine Nachfrage, welche Geräte nun konkret von dem Problem betroffen seien und wie der aktuelle Status zur Verfügbarkeit von Updates der einzelnen Hersteller sei, erklärte man, dass man dazu nichts sagen könne, da die OEMs keine Rückmeldung gäben und man nicht wisse, welche Varianten und Versionsstände in Ihren Produkte integriert wurden.

Kommentare

Bitte melden Sie sich Logan oder registrieren Sie sich um kommentieren zu können.



Hier finden Sie aktuelle Themen und Hintergründe rund um Sicherheit, Internet und Recht, das Sachverständigenwesen und die Computer-Forensik.

Mon Di Mi Do Fr Sa So
    1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28