Maschinelles Lernen auf der Hutschiene

Art der Arbeit: Master- oder Bachelorarbeit (dann mit reduziertem Umfang), Projektarbeit

Fachlicher Hintergrund:

Wir forschen in mehreren Projekten für die Sicherheit von Feldbussen. Oftmals werden dabei Methoden des Maschinellen Lernens (ML) angewendet, um Aussagen über die Sicherheit des Netzwerkes treffen zu können. Dazu gehören:

  • Untersuchung des Signalverlaufs auf dem Physical Layer und Erkennung von Manipulationen an Geräten und Medien anhand verschiedener Features.
  • Abschätzung des Risikos anhand von Informationen über die Topologie von Feldbus-Netzwerken und von Zugriffsmöglichkeiten des Angreifers.
  • Intrusion Detection Systems und Firewalling auf Feldbussen (Data Driven Security).

In der Trainingsphase sind die meisten ML-Algorithen sehr leistungshungrig. Wir haben daher in der Regel die Trainingsphase auf einem entsprechend leistungsfähigen System ausgeführt. In der Regel haben wir es mit schlecht erreichbaren Standorten zu tun. Wir können auch nicht beliebige viele Ressourcen mittels Internet anbinden oder beliebig leistungsfähige Rechner lokal verwenden. Das bedeutet, dass wir bisher Abstriche bei der Ausführung von ML-Verfahren aufgrund der Einschränkungen in Kauf nehmen mussten. Die Einschränkungen betreffen dabei die verarbeitete Datenmenge pro Zeit, die Menge und Auswahl der untersuchten Features und die Komplexität des Modells. Bisherige Erfahrungen haben wir mit TinyML gesammelt. Dabei wird mittels TensorFlow Lite auf einem externen System ein neuronales Netzwerk angelernt und dann auf Micro-Controllern ausgeführt.

Inzwischen sind mehrere Hardware-Beschleuniger für ML verfügbar. Dazu gehören Google Coral und NVIDIA Jetson nano. Im Rahmen dieser Arbeit sollen die beiden Systeme und auf Wunsch des Bearbeiters eventuell weitere Hardwarebeschleuniger für die genannten Einsatzzwecke evaluiert werden.

Aufgabenbeschreibung:

Hochdimensionale Daten sollen mit Hilfe von ML Verfahren auf bestimmte für Angriffe typische Muster analysiert werden. Prototypische Implementierungen für konventionelle CPUs sind dabei vorhanden. Im Rahmen der Arbeit soll untersucht werden, welche Verfahren sich besonders für die Hardwarebeschleunigung eignen, welcher Zugewinn an Performance für die spezifischen Probleme und spezifischen Algorithmen auftritt und welche Fallstricke es zu beachten gibt.

Es sollen folgende Fragestellungen beantwortet werden:

  • Welche Algorithmen und Features können verwendet werden?
  • Bei welchen Verfahren wirkt sich die Hardwarebschleunigung besonders aus?
  • Welcher Zugewinn ist dadurch bei der Risikoanalyse zu erwarten?
  • Ist ML im Feld (auf der Hutschiene) möglich?

Mögliche Arbeitsschritte:

  • Betrachtung des Anwendungsgebiets (Sicherheit in Feldbussen) und der aufgezeichneten Daten
  • Betrachtung von möglichen Auswertealgorithmen und Verfahren
    • Grundlagen Maschinelles Lernen
    • Bekannte Qualitätsparameter zur Bewertung der Verfahren
  • Betrachtung der Hardware und der Verfahren zur Beschleunigung
  • Konzipierung eines Prototyps für zumindest ein Verfahren
  • Umsetzung eines Prototyps
  • Erprobung und Bewertung anhand der Qualitätsparameter

Die genaue Festlegung des Themas erfolgt in Abstimmung mit dem Betreuer.

Literatur und Ressourcen:

  • Peters, M., Goltz, J., Wiedenmann, S., & Mundt, T. (2019, July). Using Machine Learning to Find Anomalies in Field Bus Network Traffic. In International Conference on Security, Privacy and Anonymity in Computation, Communication and Storage (pp. 336-353). Springer, Cham.
  • Warden, P., & Situnayake, D. (2020). Tinyml: Machine learning with tensorflow lite on arduino and ultra-low-power microcontrollers. O'Reilly Media, Incorporated.
  • Beschreibungen der genannten Hardware.

Betreuer: Dr. Thomas Mundt (thomas.mundt@uni-rostock.de)

Voraussetzungen: Fähigkeit, ML Modelle zu programmieren. Siehe Anleitungen für Google Coral, NVIDIA Jetson und TensorFlow Lite allgemein.