Dutch
English
ZigBee
IoT
Red Team
Jamming

Onderzoek naar ZigBee Beveiliging, Interferentie en SDR-gebaseerde Aanvallen

Zhassulan Zhussupov
09 December, 2025

Abstract

Dit onderzoek beschrijft de resultaten van een experimentele studie gericht op het bewust verstoren (jamming) van een ZigBee-gebaseerd draadloos smart home netwerk met behulp van een software-defined radio (SDR) platform, HackRF, in combinatie met GNU Radio. Het onderzoeksobject was een commercieel Aqara smart home systeem dat opereert binnen het 2.4 GHz ZigBee-spectrum. Alle testen zijn uitgevoerd onder gecontroleerde omstandigheden binnen de EU, met strikte naleving van veiligheids- en wettelijke richtlijnen. De resultaten bevestigen de hoge effectiviteit van SDR-gebaseerde tools bij het misbruiken van zwakheden in draadloze protocollen en bieden handvatten voor mogelijke verdedigingsmechanismen tegen gerichte interferentie.

ZigBee

ZigBee (IEEE 802.15.4) blijft een dominant protocol in smart homes voor consumenten en prosumers dankzij het lage energieverbruik, de mesh-topologie en het brede ecosysteem van apparaten. Net als bij andere technologieën in de ongelicentieerde band is de betrouwbaarheid afhankelijk van een redelijk ongestoord stukje spectrum. Terwijl vertrouwelijkheid en integriteit over de ether op hogere lagen worden afgedwongen, kan een vastberaden aanvaller, of een bron van slordige interferentie, de dienst toch blokkeren door het medium te verzadigen.

Eerder werk heeft de theorie en tooling rondom RF-interferentie tegen low-power PANs (Personal Area Networks) al verkend. Onze bijdrage is een gerichte, praktijkgedreven evaluatie in een huiselijke omgeving met standaard verkrijgbare apparatuur en een reproduceerbare (maar ethisch begrensde) methodologie.

Het primaire doel van dit onderzoek is om, vanuit een realistische, empirische invalshoek, te beoordelen hoe resistent een Aqara-gebaseerd ZigBee-ecosysteem is tegen gerichte RF-interferentie die wordt geïntroduceerd via HackRF en open-source software (GNU Radio). Daarmee willen we systemische kwetsbaarheden blootleggen en concrete tegenmaatregelen voorstellen voor toekomstige implementaties.

Een beetje theorie

ZigBee Protocol ZigBee werkt in de wereldwijd beschikbare 2.4 GHz ISM-band (2400–2483.5 MHz) en gebruikt 16 kanalen van elk 5 MHz breed. Het protocol gebruikt CSMA/CA (Carrier Sense Multiple Access with Collision Avoidance) als mechanisme voor kanaaltoegang, wat op papier een zekere robuustheid tegen willekeurige ruis en interferentie biedt. Gerichte RF-aanvallen zijn echter een heel ander verhaal.

HackRF Software-Defined Radio HackRF is een open-hardware SDR die kan opereren over een zeer groot frequentiebereik (1 MHz tot 6 GHz). Met een sample rate tot 20 MSPS en ondersteuning voor 8-bit quadrature I/Q data maakt HackRF zowel signaalopname als signaalinjectie mogelijk. Het maximale zendvermogen van ongeveer 30 mW is veilig voor experimenten binnenshuis, maar krachtig genoeg om op korte afstand merkbare verstoring te veroorzaken. Vanuit het perspectief van een aanvaller is HackRF een veelzijdig en potent wapen in het RF-domein.

GNU Radio GNU Radio is een modulair, open-source signaalverwerkingstoolkit met een GUI flowgraph builder (GNU Radio Companion) en een uitgebreide bibliotheek met DSP-componenten. In deze context is GNU Radio gebruikt om een ZigBee-band jammer te bouwen, gericht op specifieke kanalen met gecontroleerde ruispatronen.

Oké, maar hoe “praat” ZigBee (en waarom is dat belangrijk)?

ZigBee draait bovenop IEEE 802.15.4 in de 2.4 GHz ISM-band. De fysieke laag is ontworpen voor lage datasnelheden en lange batterijduur: korte frames, smalle kanalen en beperkt zendvermogen. Medium access werkt via CSMA/CA: een device luistert en als het kanaal druk lijkt, wacht het; klinkt het rustig, dan wordt er verzonden en wordt een ACK verwacht. Wanneer de ether “luidruchtig” wordt, treden grofweg twee effecten op:

  • Clear-channel assessment faalt vaker, waardoor devices herhaaldelijk moeten backoffen.
  • ACKs komen niet aan (omdat frames beschadigd zijn), waardoor devices opnieuw proberen totdat ze opgeven.

In geen van beide gevallen is er sprake van een compromis van de cryptografie. Het gaat puur om congestie op de meest fundamentele laag.

Jamming in vogelvlucht (conceptueel)

Je kunt jamming zien als kunstmatig, langdurig “slecht weer” op de frequentie die ZigBee gebruikt. Grofweg bestaan er twee vormen:

  • Brede/continue interferentie: een constante ruis die het kanaal vrijwel permanent “bezet” maakt en voorkomt dat nieuwe transmissies worden gestart.
  • Reactieve/gerichte interferentie: korte pulsjes die precies samenvallen met lopende frames, waardoor deze onleesbaar worden en devices geen ACKs meer krijgen.

Daarnaast bestaat er onbedoelde “jamming”: magnetrons, slecht afgeschermde voedingen of zeer drukke Wi-Fi kunnen het 2.4 GHz-spectrum eveneens overspoelen. In de praktijk moeten verdedigers rekening houden met zowel kwaadwillige als toevallige interferentie, omdat de symptomen voor het netwerk vaak sterk op elkaar lijken.

Hacking arsenal

Voor de implementatie maken we gebruik van de volgende hardware en software:

- HackRF One software-defined radio:

photo_2025-05-27_12-36-08.jpg

- Computer met GNU Radio geïnstalleerd:

2025-05-27_12-37.png

- Aqara Hub:

2025-05-27_12-39.png

- Aqara Temperature and Humidity Sensor:

2025-05-27_12-41.png

- Aqara TVOC Air Quality Sensor:

2025-08-13_07-44.png

De software-defined radio HackRF One is via verschillende online winkels te koop, zoals AliExpress, TaoBao, enzovoort.

Link naar de officiële website: https://greatscottgadgets.com/hackrf/one/

2025-08-13_07-46.png

GNU Radio Jammer Design
Met GNU Radio Companion is een custom jamming-flowgraph ontworpen. Belangrijke modules zijn:

Signal Source Een generator van een ruisachtig (noise-like) signaal met instelbare amplitude en frequentie.

Spectrum Shaping Filter Vormt het signaal zodat het overeenkomt met de 5 MHz kanaalbreedte van ZigBee.

Frequency Controller Sweeped sequentieel door de ZigBee-kanalen 11 tot en met 26.

osmocom Sink Stuurt het gesynthetiseerde signaal naar de HackRF voor RF-uitzending.

Het systeem is zo gekalibreerd dat het lang genoeg op elk kanaal “blijft hangen” om merkbare interferentie te veroorzaken, terwijl de volledige ZigBee-band gedekt blijft.

6.png1.png

Alle experimenten vonden plaats binnenshuis onder herhaalbare, gecontroleerde omstandigheden:

  • Het Aqara-systeem is geconfigureerd en gevalideerd onder normale bedrijfsomstandigheden.
  • Communicatiestatistieken zijn verzameld om een baseline vast te leggen.
  • Jamming is sequentieel gestart op elk ZigBee-kanaal.
  • Tijden tot verbindingverlies en systeemrespons zijn gelogd.
  • Tests zijn herhaald met en zonder fysieke obstakels in de omgeving.

Voor volledige functionaliteit moeten we GNU Radio installeren.
GNU Radio is een gratis en open source platform voor het ontwikkelen van software-defined radio systemen (SDR, Software Defined Radio).

Hieronder volgt een korte instructie voor installatie van GNU Radio op Ubuntu.

Allereerst installeren we de benodigde pakketten:

sudo apt install gnuradio gr-osmosdr git cmake g++ libboost-all-dev libgmp-dev swig doxygen libfftw3-dev python3-numpy python3-mako python3-sphinx python3-lxml

1.png

Om succesvol met IEEE 802.15.4 in GNU Radio te kunnen werken, moeten we de add-on van https://github.com/bastibl/gr-ieee802-15-4.git installeren:

2025-05-27_12-43.png

Clonen:

git clone https://github.com/bastibl/gr-ieee802-15-4.git

2.png

Vervolgens bouwen en installeren we de module met de volgende commando’s:

cd gr-ieee802-15.4
mkdir build
cd build
cmake ..
make

3.png4.png

Installeren:

sudo make install

5.png

Daarna starten we GNU Radio Companion, waarin we de benodigde blokken kunnen plaatsen:

gnuradio-companion

6.png7.png

Het schema dat we nodig hebben:

8.png

Laten we kort toelichten wat elk blok doet:

Options

Doel: algemene instellingen van de flow.

Title: Naam van het schema, bijvoorbeeld "IEEE 802...Transceiver"
Author: Auteur van het project
Description: Korte beschrijving, bijvoorbeeld "simulated receiver"
Output Language: Python (codegeneratie)
Generate Options: QT GUI (QT-interface wordt gebruikt)
Realtime Scheduling: On (vraagt om hogere prioriteit in het OS)

2. Variables

Variable "freq" = 2.42G
Variable "samp_rate" = 4M  Samplerate 4 MHz

QT GUI Label

Deze blokken tonen parameterwaarden in de GUI:

page_label: Toont "Channel Page"
freq_label: Toont de huidige frequentie in GHz, bijvoorbeeld 2.42

Worden vooral gebruikt voor visualisatie en debugging.

QT GUI Chooser

Maakt het mogelijk om een kanaal te kiezen uit een lijst (bijvoorbeeld 11, 12, 13, ..., 14).

Wordt gebruikt om de frequentie te wisselen die hoort bij een ZigBee-kanaal.

osmocom Source

Dit is het hoofdblok dat verbinding maakt met de SDR-ontvanger.

Belangrijke parameters:

Sample Rate: 4 MHz
Frequency: 2.42 GHz
Gain: Diverse gain-waarden
BB Gain: 16
Sync: "Don’t Sync"  klokgeneratoren niet synchroniseren

Werkt met SDR-hardware via Osmocom.

IEEE802.15.4 OQPSK PHY

Dit blok implementeert de fysieke laag van IEEE 802.15.4:

Ontvangt het signaal van het osmocom Source-blok en decodeert dit naar pakketten.
Gebruikt OQPSK (Offset Quadrature Phase Shift Keying) modulatie.

Null Sink

Inactieve output.

Doel: data op deze uitgang negeren, bijvoorbeeld voor debugging of het “uitschakelen” van een pad.

Opmerking: "Not using tx, disabled." transmissie wordt hier niet gebruikt.

Wireshark Connector

Stuurt pakketten door naar Wireshark voor protocolanalyse.

Technology: ZigBee

Debug: Disabled

File Sink

Schrijft outputpakketten naar een PCAP-bestand (compatibel met Wireshark).

Path: /tmp/ieee802154-c.pcap
Unbuffered: Enabled (direct wegschrijven)
Append file: Uitgeschakeld (bestand wordt per run overschreven)

Message Debug

Print pakketten en berichten voor debugging.

print_pdu: Print elke PDU (Protocol Data Unit)
store: Slaat PDU’s op voor nadere analyse

De algemene opstelling van de aanval ziet er als volgt uit:

10.png

In deze configuratie kan de aanval de verbindingen tussen de Aqara Hub, de Aqara TVOC Air en de Aqara Temperature/Humidity sensor verstoren.

Hacking example: aanvalsstadia

Stap 1: ZigBee-kanaalreconnaissance

ZigBee gebruikt 16 kanalen in de 2.4 GHz-band:

van 2405 MHz (kanaal 11) tot 2480 MHz (kanaal 26) in stappen van 5 MHz.

Doel:

Bepalen op welk kanaal de doelapparaten werken (of alle 16 kanalen tegelijk jammen).

Stap 2: SDR-configuratie

We gebruiken de HackRF One in transmit (TX) modus om een jamming-signaal te genereren.

Stap 3: opzetten van een GNU Radio-flowgraph

7.png

Belangrijke blokken:

  • Signal Source Generator voor white noise of een gemoduleerd signaal.
  • Spectrum Shaping Beperkt het signaal tot de 5 MHz kanaalbreedte van ZigBee.
  • Frequency Sweep Doorloopt de frequenties van 2405 tot 2480 MHz.
  • HackRF Sink Zendt het signaal via de HackRF One.

Stap 4: Uitvoeren van de aanval

We starten de interferentiestroom op één of meerdere kanalen.

Resultaat:

Het Aqara-systeem verliest de verbinding.

  • Realtime interface-updates verdwijnen.
  • Het toevoegen van nieuwe devices lukt niet.
  • Het systeem probeert de verbinding herhaaldelijk te herstellen.

Stap 5: Meten van de effectiviteit

  • Tijd tot verbindingverlies: circa 10–20 seconden na start jamming.
  • Jamming-bereik in open ruimte: tot 3 m.
  • Met een obstakel (muur van 20 cm): circa 1 m.

Resultaten

Effectiviteit van jamming

HackRF in combinatie met GNU Radio bleek zeer effectief in het verstoren van de communicatie:

  • Vertraging tot verbindingverlies: tussen 10 en 20 seconden na het starten van de jamming.
  • Effectief jamming-bereik:
    • Open ruimte: tot 3 meter
    • Met een wand van 20 cm als obstakel: circa 1 meter

Omgevingsinvloed

  • Obstakels verkleinden de interferentieradius merkbaar.
  • Ondanks het lage zendvermogen kon HackRF op korte afstand de communicatie effectief uitschakelen.
  • Door het sweepen over alle kanalen werd het actieve ZigBee-kanaal altijd meegenomen in de jamming.

Systeemgedrag

Zichtbare effecten:

  • Volledig verlies van de link tussen hub en sensoren
  • De UI toonde verouderde sensordata
  • De hub probeerde na het stoppen van de jamming actief opnieuw verbinding op te bouwen

5.png

Beperkingen en toekomstig werk

Ons onderzoek richt zich uitsluitend op de 2.4 GHz-band; sub-GHz ZigBee-profielen en Thread/Matter-dynamieken vielen buiten scope. We hebben geen tests uitgevoerd in gemengde vendor-omgevingen of in hoog-dichte appartementencomplexen met zware interferentie van buren, terwijl dit in de praktijk waarschijnlijk een agressievere RF-omgeving is dan een vrijstaande woning.

Toekomstig werk zou zich moeten richten op:

  • het kwantificeren van hersteltijden (distributies in plaats van enkel gemiddelden),
  • het vergelijken van kanaal-agility tussen verschillende ecosystemen,
  • het beoordelen of multi-PAN-segmentatie de impact van lokale jamming verkleint.

Samenvatting

Dit onderzoek laat zien dat ZigBee-netwerken kwetsbaar zijn voor gerichte RF-jamming, zelfs bij relatief lage vermogens. Hoewel ZigBee gebruikmaakt van DSSS (Direct Sequence Spread Spectrum) voor extra robuustheid, draaien veel implementaties in de praktijk met slechts 1–3 mW zendvermogen, waardoor ze een eenvoudig doelwit vormen voor een gefocuste jammer.

Fysieke barrières bieden gedeeltelijke bescherming, wat in lijn is met theoretische modellen voor RF-verzwakking bij 2.4 GHz. Dit onderstreept het belang van doordachte plaatsing van apparatuur en “security by design” op infrastructuurniveau.

De bevindingen bevestigen dat SDR-gebaseerde jamming met toegankelijke tools zoals HackRF en GNU Radio ZigBee-communicatie in een smart home-omgeving betrouwbaar kan uitschakelen. Dit wijst op een urgente noodzaak voor robuustere architecturen en failsafe-mechanismen in toekomstige draadloze systemen.

Aanbevolen tegenmaatregelen zijn onder andere:

  • Dynamische channel hopping
  • Hardware-shielding en RF-isolatie
  • Anomaliedetectie in het RF-domein
  • Fallback-communicatie over redundante protocollen

Dit onderzoek draagt bij aan de groeiende kennisbasis rond SDR-gebaseerde aanvallen en benadrukt de noodzaak van proactieve verdedigingsstrategieën in consumentgerichte draadloze systemen.

References

Zigbee - https://en.wikipedia.org/wiki/Zigbee

HackRF One - https://greatscottgadgets.com/hackrf/one/

GNU RADIO - https://github.com/gnuradio/gnuradio

Aqara Hub - https://www.aqara.com/en/product/hub/

Frequently Asked Questions

Authored By
Zhassulan Zhussupov

Cybersecurity enthusiast | Author | Speaker | CTF player | R&D Engineer | Jiu-Jitsu Practicioner

Deel met de wereld!

Beveiligingsbehoeften?

Bent u er echt zeker van dat uw organisatie veilig is?

Bij WebSec helpen we u deze vraag te beantwoorden door geavanceerde beveiligingsbeoordelingen uit te voeren.

Wil je meer weten? Plan een gesprek in met een van onze experts.

Afspraak Inplannen
Authored By
Zhassulan Zhussupov

Cybersecurity enthusiast | Author | Speaker | CTF player | R&D Engineer | Jiu-Jitsu Practicioner