Automatic Security Testing of the Wireless IoT

Language
en
Document Type
Doctoral Thesis
Issue Date
2020-06-02
Issue Year
2020
Authors
Pohl, Johannes
Editor
Abstract

The Internet of Things (IoT) brings comfort into the life of users. It is convenient to control the lights at home with an app without leaving the couch or open the front door with a remote control. This comfort, however, comes with security risks as the wireless communication between components often relies on proprietary protocols. Such protocols are designed under size and energy constraints whereby security is often only a secondary factor. Moreover, even when a default protocol such as IEEE 802.11 WLAN with enabled encryption is used, mobile devices such as smartphones can be located threatening the location privacy of users.

This thesis is divided into two main parts. In the first part, we demonstrate how to passively locate a smartphone indoors using IEEE 802.11 WLAN and contribute a geolocation system with a mean accuracy of 0.58m. Subsequently, we analyze how a company can incentivize users with different levels of privacy-awareness to connect to a provided WLAN and give up their location privacy in exchange for certain benefits such as shopping discounts. We model this situation as a Bayesian Stackelberg game to find the company's best strategy.

In the second part, we showcase the challenges that arise for security researchers when investigating proprietary wireless protocols. Software Defined Radios (SDRs) propose a generic way to analyze such protocols operating on frequencies like 433.92 MHz or 868.3 MHz where no default hardware such as a WLAN stick is available. SDRs, however, deliver raw signals that have to be demodulated and decoded before researchers can reverse-engineer the protocol format. Our main contribution to this process is an open source software called Universal Radio Hacker (URH) which is, to the best of our knowledge, the first complete suite for wireless protocol investigation with SDRs. URH splits down the protocol investigation process into the phases Interpretation, Analysis, Generation and Simulation.

The goal of Interpretation phase is identifying the transmitted bits and bytes by demodulating the signal. Apart from letting users manually adjust demodulation parameters, we contribute a set of algorithms to automatically find these parameters and integrate them into URH. In Analysis phase, the protocol format is reverse-engineered from the demodulated bits. This is a time-consuming manual process that slows down a security analysis. To address this problem, we design and implement a modular system that automatically finds protocol fields such as addresses and checksums. In combination with the automatic modulation parameter detection this speeds up the security analysis of unknown wireless protocols.

URH enables researchers to perform attacks on stateless and stateful protocols in the Generation and Simulation phase, respectively. In Generation, users can apply a fuzzing to arbitrary data ranges while the Simulation component of URH models protocol state machines and dynamically reacts to incoming messages from investigated devices. In both phases, the software automatically applies modulation and encoding to the bits that should be sent. We demonstrate three attacks on IoT devices that were found and executed with URH. The most complex attack involves opening an AES protected wireless door lock in real-time.

Abstract

Das Internet der Dinge (IoT) erleichtert das Leben, indem es beispielsweise erlaubt, das Licht zu Hause mit einer App zu steuern, ohne die Couch zu verlassen. Allerdings birgt dieser Komfort auch Sicherheitsrisiken, da die drahtlose Kommunikation zwischen Geräten oft auf proprietären Protokollen basiert, die unter Größen- und Energiebeschränkungen entwickelt werden, wobei die Sicherheit nur ein sekundärer Faktor ist. Darüber hinaus können mobile Endgeräte wie Smartphones geortet werden, selbst wenn ein Standardprotokoll wie IEEE 802.11 WLAN mit aktiver Verschlüsselung genutzt wird, was eine Gefahr für die Location Privacy von Nutzern darstellt.

Diese Arbeit umfasst zwei Teile. Der erste zeigt, wie ein Smartphone mit IEEE 802.11 WLAN passiv geortet werden kann. Dazu entwickelten wir ein Indoor-Ortungssystem mit einer durchschnittlichen Genauigkeit von 0,58m. Auf dieser Basis zeigt eine spieltheoretische Analyse, wie eine Firma Nutzer mit verschiedenen Stufen von Privacy-Awareness dazu motivieren kann, sich mit einem WLAN zu verbinden und ihre Location Privacy im Austausch gegen bestimmte Vorteile wie Einkaufsrabatte aufzugeben. %Wir modellieren diese Situation als Stackelberg Spiel und ermitteln die beste Strategie für die Firma

Der zweite Teil stellt die Herausforderungen dar, die sich für Sicherheitsforscher ergeben, wenn sie proprietäre Funkprotokolle untersuchen. Software Defined Radios (SDRs) stellen eine generische Möglichkeit dar, solche Protokolle zu untersuchen, wenn keine Standardhardware wie ein WLAN-Stick in Frage kommt. SDRs liefern jedoch Rohsignale, die demoduliert und dekodiert werden müssen, bevor das Protokollformat aus den Binärdaten reverse-engineered werden kann. Unser Beitrag ist eine Open-Source Software namens Universal Radio Hacker (URH), welche, soweit wir wissen, die erste vollständige Umgebung für die Protokolluntersuchung mit SDRs darstellt. URH unterteilt die Protokolluntersuchung in die Phasen Interpretation, Analysis, Generation und Simulation.

Das Ziel der Interpretationsphase ist es, die übertragenen Bits und Bytes aus dem Signal durch Demodulation zu ermitteln. Nutzer können die Demodulationsparameter nicht nur manuell einstellen; wir stellen auch ein System vor, um diese Parameter automatisch zu bestimmen. In der Analysis-Phase wird das Protokollformat aus den demodulierten Bits und Bytes reverse-engineered. Dieser Prozess ist manuell und zeitaufwändig, was die Sicherheitsanalyse verlangsamt. Daher entwickelten wir ein mehrteiliges System, um automatisch Protokollfelder, wie zum Beispiel Adressen zu finden. In Kombination mit der automatischen Interpretation beschleunigt dies die Sicherheitsanalyse von unbekannten Funkprotokollen.

URH erlaubt es Forschern, Angriffe auf zustandslose bzw. zustandsorientierte Protokolle in den Phasen Generation bzw. Simulation auszuführen. In der Generationsphase können Nutzer beliebige Datenbereiche fuzzen, während die Simulationskomponente von URH Protokollzustandsautomaten modelliert und dynamisch auf eingehende Nachrichten von untersuchten Geräten reagiert. Wir greifen mit URH drei verschiedene IoT Geräte an. Der aufwändigste Angriff umfasst das Öffnen eines AES geschützten Funktürschlosses in Echtzeit.

DOI
Faculties & Collections
Zugehörige ORCIDs