If you suspend your transcription on amara.org, please add a timestamp below to indicate how far you progressed! This will help others to resume your work!
Please do not press “publish” on amara.org to save your progress, use “save draft” instead. Only press “publish” when you're done with quality control.
PLCs der Baureihe Siemens Simatic werden über einen proprietäres Protokoll verwaltet. Mit diesem Protokoll kann ein PLC gestartet und gestoppt werden. Es können Diagnoseinformationen gelesen und der Upload/Download von Benutzerprogrammen durchgeführt werden. Für die S7-300/400 existieren bereits OpenSource-Lösungen die das Siemens Protokoll unterstützen. Mit der Einführung der neuen Produktreihe S7-1200 wurde das alte Protokoll von Siemens abgelöst und durch ein neues Protokoll ersetzt. Zu diesem neuen Protokoll steht weder eine offizielle Dokumentation zur Verfügung noch existieren veröffentlichte Untersuchungen. Wir haben dieses Protokoll basierend auf der S7-1200v3 analysiert und können beliebig Benutzerprogramme mit diesem Protokoll auf einer PLC installieren bzw. auslesen.
Hierauf aufbauend haben wir einen PLC-Wurm entwickelt, der selbstständig ein beliebiges Netzwerk nach S7-1200v3 Geräten durchsucht und diese befällt wenn die Schutzmechanismen ausgeschaltet sind. Der Wurm ist ausschließlich in der Programmiersprache SCL programmiert und benötigt keine weitere externe Unterstützung. Für die Fernsteuerung der infizierten PLCs haben wir einen Command&Control Server implementiert. Infizierte Geräte können sich automatisch mit diesem Server verbinden. Über diese Schnittstelle können wir aus der Ferne beliebige Steuerausgänge verändern. Eine Proxy-Funktionalität erlaubt es uns über einen Tunnel auf weitere Systeme in dem Netzwerk zuzugreifen. Schließlich kann über den Steuerungsserver auch der Defect-Modus ausgelöst werden. Hierdurch stellt die PLC ihre Arbeit ein. In diesem Modus ist ein Kaltstart der PLC erforderlich. Dies werden wir im Rahmen des Vortrags vorführen.
Diese Arbeit zeigt, wie wichtig es ist, dass Inbetriebnehmer die vorhandenen PLC Sicherungsmechanismen verwenden. Außerdem sollten die neusten PLC Softwareversionen und Funktionalitäten genutzt werden.