Cybersecurity: Kraken van IEEE 802.11 Toestellen op de Fysieke Laag

Student:Thomas Schuddinck
Richting:Master of Science in de industriële wetenschappen: informatica
Abstract:

Deze thesis onderzoekt de mogelijkheden van het fuzzen van de fysieke laag van de IEEE 802.11-standaard (beter bekend als wifi) door het creëren van een framework dat fuzzen via user space toelaat. De fuzzer gebruikt het Openwifi-platform om toegang te krijgen tot de PHY-eigenschappen van geïnjecteerde pakketten in de driver en deze te wijzigen. In eerder werk kon dit fuzzen worden gedaan door een nieuw driver bestand te genereren voor elke mogelijke waarde voor het legacy-signaalveld. Deze thesis biedt echter verbeteringen op dat werk op verschillende vlakken.

De grootste verbetering dat het framework met zich mee brengt, is de injectie van het signaalveld vanuit de userspace. Deze methode vermijdt het enorme geheugen overhead waar het vorige werk mee worstelde, evenals een aanzienlijke verbetering van het tijdgebruik. Tegelijkertijd creëert het een mogelijkheid voor fuzzers van derden om PHY-fuzzing zelf te implementeren door het Radiotap-formaat te volgen dat wordt beschreven in dit werk. Ondersteuning voor het signaalveld Greenfield (of High Throughput) is ook toegevoegd, terwijl er mogelijk nieuwere versies zijn toegevoegd in de toekomst wanneer het Openwifi-platform de recentere IEEE 802.11-standaarden implementeert. Validatie op TX/RX-paden voor zowel aanvaller als testapparaat werd gedaan na elke fuzzing-poging. Dit werd gedaan om eventuele crashes op beide apparaten te kunnen registreren.

Een ander doel van dit proefschrift was de opsplitsing tussen on-air informatie en de hardware parameters. Dit ging worden bereikt door dit werk te combineren met de FPGA-wijzigingen van een parallelle scriptie. Vanwege tijdproblemen kan dit onderdeel echter niet gerealiseerd worden.

Trefwoorden: IEEE 802.11, Wi-Fi, Fuzzing, PHY, Openwifi
Abstract (Eng):

This thesis further explores the capabilities of fuzzing the physical layer of the IEEE 802.11 standard (more commonly known as Wi-Fi) by creating a framework for PHY fuzzing through user space. The framework utilizes the Openwifi platform to access and change the PHY properties of injected packets in the driver. In earlier work, PHY fuzzing could be done by generating a new driver file for each possible value for the legacy signal field. However, this thesis provides improvements on that work in several areas.

The greatest improvement that the framework offers, is the injection of the signal field from user space. This method avoids the enormous memory overhead which the previous work struggled with, as well as greatly improving on time usage. At the same time, it creates an opportunity for third party fuzzers to implement PHY fuzzing themselves by following the Radiotap format described in this work. Support for the Greenfield (or High Throughput) signal field was also added, while newer versions might be added in the future when the Openwifi platform implements the more recent IEEE 802.11 standards. Validation on TX/RX paths for both attacker and test device were done after each fuzzing attempt. This was done to administer any crashes on either device.

Another goal of this thesis was the split up between on-air information and the hardware parameters. This was going to be achieved by combining this work with the FPGA changes of a parallel thesis. However, due to time problems, this part could not be finished.

Keywords: IEEE 802.11, Wi-Fi, Fuzzing, PHY, Openwifi