Konzeption und Implementierung eines selektiven LoRaWAN-Störsenders (BA/MA)
LoRaWAN stellt eine junge LPWAN-Technologie dar, welche vor allem in der Industrie 4.0, aber auch im Heimgebrauch Anwendung findet. Über Funk können mit dieser Technologie Signale über mehrere Kilometer und mit geringem Energieaufwand übertragen werden.
Mit aufkommender Popularität stellen LoRaWANs immer beliebtere Angriffsziele dar. Zwar wird die Technologie als robust und störresistent beschrieben, jedoch können Signalüberlagerungen dennoch zu Kollisionen und Nachrichtenverlust führen. Einige Angriffe nutzen dies aus, um einen Denial-of-Service zu provozieren, indem eine Nachrichtenübertragung vollkommen unterbunden wird.
Ob die Theorie in der Praxis umgesetzt werden kann, soll im Rahmen dieser Bachelorarbeit erprobt werden. Dafür soll ein Störsender konzipiert und implementiert werden, welcher mittels selektivem Stören gezielt einzelne Geräte stören kann. Charakteristisch bei selektivem Stören ist, dass Headerinhalte ausgelesen werden, bevor eine Störnachricht zur Provokation einer Kollision abgesetzt wird, sodass das Angriffszeitfenster sehr klein ist. Daher liegt vor allem ein Augenmerk auf dem Timing des Angriffs.
Angestrebt sind die folgenden Fähigkeiten des Prototypen:
- Identifikation erreichbarer Opfer und Auswahl eines oder mehrerer Opfer
- Kontinuierliche Provokation von Kollisionen bei allen versendeten Nachrichten des Opfers
- Statistiken über die Performanz
(Erleichternde) Funktionseinschränkung:
Die zu verwendende Hardware nutzt ein Modulationsmodul, welches zeitgleich nur ein Paket auf einer fixierten Konfiguration empfangen kann. Diese fixe Konfiguration darf auch für eine Lösung angenommen werden.
Aufgaben:
- Erarbeitung der Grundlagen zur LoRaWAN-Technologie (Literatur, Spezifikation) und zu Störangriffen auf LoRaWANs (Literatur, Software)
- Literaturrecherche zum State-of-the-Art im Bereich Störer in LoRaWAN und zu existierenden Störerlösungen (Literatur, Software)
- Formulierung einer Anforderungsanalyse für den Prototypen (Funktionale und nicht-funktionale Anforderungen)
- Entwicklung eines Konzepts zur Realisierung des Prototypen (Abstrakte Systembeschreibung, UML-Diagramme)
- Implementierung des Prototypen
- Evaluierung des Prototypen (Mess-/Testreihen zur Überprüfung der Funktionserfüllung) anhand bestehender Lösungen und/oder Anforderungsanalyse
Voraussetzungen:
- Grundlegende Programmierkenntnisse in C
- Interesse am Internet der Dinge und Penetrationstests in IoT-Systemen
Kontakt:
Mario Silaci (mario.silaci@unibw.de)