Ansprechpartner:

Johann Altgenug

E-Mail: johann.altgenug@unibw.de

 

Mit den Schwerpunkten

  • Penetration Testing mit IoT-Devices
  • Measurements/ Measurement-Tools
  • Erweiterung des Frameworks Fuddly mit Anpassung an das Protokoll für LoRa

 

LoRa (Long Range), ist ein auf Funk basierendes Protokoll, welches für die Datenübertragung von kurzen Nachrichten über größeren Distanzen (Sichtweite) vor allem im Bereich von IoT-Devices eingesetzt wird. Zusammengeschlossen zu einem sogenannten LoRaWAN (Long Range Wide Area Network) können End-Devices per Funkübertragung Ihre Daten über ein entsprechendes Gateway ins Internet oder zu anderen Endpunkten kommunizieren.

Im Rahmen dieser Arbeit untersuchen Sie die Sicherheit solcher Gateways unter Berücksichtigung der folgenden Fragen:

  • Welche Möglichkeiten bietet das LoRaWAN Protokoll, um die Sicherheit bei der Kommunikation zwischen Devices und Gateways zu gewährleisten?
  • Welche Möglichkeiten ergeben sich für die Protokollanalyse von LoRa?
  • Wie können Verfahren für Mutation-Based Fuzzing implementiert werden?

 

An vorhandener Hard- und Software können Sie evtl. Angriffe testen bzw. nachvollziehen und die Wirksamkeit von Sicherungsmaßnahmen erläutern bzw. beweisen.

Aufgaben der Themenbearbeitung:

  • Einarbeitung und Recherche nach Informationen über das technische Konzept sowie den Aufbau von LoRaWAN Gateways
  • Erweiterung des bereits bestehenden Frameworks Fuddly in der Programmiersprache Python für die Analyse von LoRaWAN
  • Testen und Verifikation der zusammengetragenen Ergebnisse
  • Definition und Erarbeitung aller Arbeitsprozesse

Information zum Aufbau der Masterarbeit:

Der Student bildet für eine bestehende Applikation das Lora Wan Protokoll nach. Das Konzept der Arbeit soll dabei einerseits aus der Analyse des Protokolls sowie der Ermittlung von potentiellen Schwachstellen bestehen. muss. Je nach Fortschritt der Masterthesis kann der Usecase auf die Applikation ausgeweitet werden.

Anforderungen:

  • Erste Erfahrungen im Bereich Pen-Testing und Protokollen, wie zum Beispiel TCP/-IP, UDP o.ä.
  • Kenntnisse mit den Programmiersprachen C und Python
  • Kenntnisse mit Softwareentwicklung und objektorientierten Sprachen