Sicherheitsanalyse durch Entwicklung eines Rogue Device zur Echtzeitmanipulation maritimer Steuerungssysteme
Art der Arbeit: Bachelorarbeit
Fachlicher Hintergrund:
In der Arbeitsgruppe beschäftigen wir uns seit langem mit der Sicherheit von Feldbussen. Darunter sind einfachste Netzwerke zur Ankopplung von Sensoren und Aktoren an Steuergeräte zu verstehen. Schiffe verfügen heute über eine Vielzahl von nautischen Geräten, die über Feldbusse miteinander verbunden sind. Gleiches gilt für die Motorsteurung. Die Bussysteme sind in den meisten Fällen nicht gesichert (keine Authentisierung, kein Schutz vor Manipulationen). An einem konkreten Beispiel soll das Risiko aufgezeigt werden.
Die Limanda ist ein Forschungsschiff der Universität Rostock. Sie ist ein 15,73m langer Katamaran, die Breite beträgt 6,16m, der Tiefgang 1,30m. Sie wurde im Jahr 2020 gebaut und am 28. Juli 2021 getauft. Als Antrieb dienen zwei MAN D2676LE438 Dieselmotoren mit je 373kW Leistung. Zu den nautischen Instrumenten gehören unter anderem ein Radar, ein GPS-Empfänger Furuno GP-170, ein Windsensor LCJ CV3F, ein Satellitenkompass Furuno SC-70, Magnetischer Kompass, ein AIS Sender mit eigenem GPS-Empfänger Furuno FA-170 AIS, Echolot Xsonic Airmar SS260 und Autopilot Navitron NT888G. Die nautischen Geräte sind über NMEA 0183 oder NMEA 2000 untereinander vernetzt. Im Bereich der Maschine wurde überwiegend J1939 eingesetzt. NMEA 2000 und J1939 sind Protokolle, die auf CAN-Bus basieren. Das ist ein einfaches Feldbus-Protokoll.
Zur Steuerung dienen unter anderem eine Ruderanlage mit Autopilot und ein elektronischer Fahrtwähler (analog Gaspedal). Zwischen Fahrtwähler und Motorsteuergerät wird ebenfalls CAN-Bus eingesetzt. Die Funktion des Autopilots muss noch genauer untersucht werden.
Aufgabenbeschreibung:
Im Rahmen der Arbeit soll ermittelt werden, wie einfach es ist, die Kontrolle über das Schiff zu übernehmen, wenn Zugang zu den verwendeten Feldbussen besteht.
Es sollen folgende Fragestellungen beantwortet werden:
- Lässt sich das Schiff über ein eingeschleustes Gerät (Rogue Device) steuern?
- Lässt sich die Steuerung durch den eigentlichen Schiffsführer verhindern?
- Kann die Steuerung auch remote (z.B. über Mobilfunk) erfolgen?
- Welche Schutzmaßnahmen sind denkbar?
Das Schiff soll hierbei über ein alternatives Bedieninstrument außerhalb der Brücke gesteuert werden. Dabei soll folgendes Szenario berücksichtigt werden:
- Ein Playstation-Controller oder ähnliches Gerät wird über Bluetooth an das Rogue-Device angeschlossen.
- Die Steuerkommandos werden an Motorsteuerung und Ruderanlage übertragen.
- Optional: Legitime Kommandos der Schiffsführung werden unterdrückt.
- Optional: Die tatsächlich auf den nautischen Geräten angezeigte Position wird manipuliert.
Mögliche Arbeitsschritte:
- Exploration der vorhandene Systeme.
- Grundlegendes Verständnis der nautischen Parameter und der Parameter von der Hauptmaschine.
- Betrachtung der verschiedenen Feldbus-Systeme.
- Entwurf eines Rogue-Devices.
- Anbindung an Feldbusse.
- Anbindung des Controllers. Übertragung der Eingabe an die zu steuernden Geräte.
- Risikoanalyse.
- Einbau und Erprobung.
Die genaue Festlegung des Themas erfolgt in Abstimmung mit den Betreuern unter Berücksichtigung eventuell schon an andere Studenten vergebener Themengebiete. Eine gemeinsame Bearbeitung verschiedener Teilthemen durch mehrere Studenten ist unter Umständen möglich.
Literatur und Ressourcen:
Luft, Lee A., Larry Anderson, and Frank Cassidy. "Nmea 2000 a digital interface for the 21st century." Proceedings of the 2002 National Technical Meeting of The Institute of Navigation. 2002.
Burakova, Yelizaveta, et al. "Truck hacking: An experimental analysis of the SAE J1939 standard." 10th USENIX Workshop on Offensive Technologies (WOOT 16). 2016.
- M. Davieds, Th. Mundt, R. Dabels, N. Garkisch, M A Al-Mamun: "Anomaly detection in uncharted ship-borne field buses - A case study", IEEE Pacific Rim Conference on Communications, Computers and Signal Processing (PACRIM'2024) - Signal Processing Track, August 2024, Victoria, Canada
Betreuer: Marvin Davieds (marvin.davieds@uni-rostock.de)
Voraussetzungen: Keine besonderen, Programmierkenntnisse in einer höheren Programmiersprache sind von Vorteil. Ein grundlegendes Verständnis der elektrischen Eigenschaften von Netzwerken ist hilfreich.