| name | iot-sdr-attacks |
| title | SDR (Software-Defined Radio) — Attaques sans Fil |
| description | Guide complet pour l'utilisation de la radio logicielle (SDR) dans le cadre de l'audit de sécurité IoT. Couvre l'analyse de signaux, le reverse engineering de protocoles RF, l'attaque sur les liaisons radio ISM (433/868/915 MHz, 2.4 GHz), le déchiffrement de télécommandes, le jamming, la rejeu (replay), et la récupération de données télémétriques. |
| category | cybersecurite |
SDR (Software-Defined Radio) — Attaques sans Fil
Vue d'Ensemble
La radio logicielle (SDR) permet d'émettre et de recevoir sur une large gamme de fréquences avec un matériel peu coûteux. Dans le contexte IoT, c'est l'outil central pour analyser, décoder, et attaquer les communications sans fil : télécommandes, capteurs, compteurs intelligents, badges, liaisons radio propriétaires.
Objectifs
- Capturer et analyser des signaux RF (OOK, FSK, GFSK, LoRa, MSK)
- Reverse engineer des protocoles radio propriétaires
- Rejouer des trames (replay attack)
- Décoder des télécommandes de garage/volet/porte
- Intercepter des données télémétriques (capteurs, compteurs)
- Attaquer des systèmes de contrôle sans fil (KEELOQ, Hopping)
- Bypasser des systèmes anti-rejeu (rolling code)
Outils Essentiels
Hardware SDR
| Matériel | Bande | Prix | Usage |
|---|
| RTL-SDR (R820T2) | 24MHz-1.7GHz | ~$25 | Réception seule, entrée de gamme |
| HackRF One | 1MHz-6GHz | ~$350 | Émission + réception, 20Msps |
| LimeSDR | 100k-3.8GHz | ~$300 | Full duplex, FPGA |
| BladeRF 2.0 | 47MHz-6GHz | ~$650 | Large bande, 61.44Msps |
| ADALM-PLUTO | 325MHz-3.8GHz | ~$200 | Éducation, portable |
| USRP B210 | 70MHz-6GHz | ~$1500 | Pro, haute performance |
| YardStick One | 300-928MHz | ~$200 | Réception + émission ISM |
| FLipper Zero | Sub-1GHz, RFID, NFC, BT | ~$200 | Multi-protocole portable |
Antennes
| Type | Usage |
|---|
| Dipôle (1/4λ, 1/2λ) | Usage général, fréquence spécifique |
| Log-périodique | Large bande, directionnelle |
| Yagi | Haute directivité, longue portée |
| PCB / Patch | Intégré, compact |
| Loop magnétique | Proximité, décodage champ proche |
| Antenne active (LNA) | Signaux faibles, préamplifié |
Logiciels
| Outil | Usage |
|---|
| GNU Radio | Traitement de signal, flowgraphs, décodage custom |
| GQRX | Analyse spectrale, réception FM/AM/SSB |
| Universal Radio Hacker (URH) | Analyse et décodage de protocoles (best tool IoT RF) |
| rtl_433 | Décodage de capteurs IoT (433/868/915 MHz) |
| Inspectrum | Analyse de signaux bruts (waterfall, constellations) |
| RFcat | Prototypage rapide d'attaques RF (YardStick) |
| gr-ieee802-11 | Décodage WiFi 802.11 (nécessite carte compatible) |
| Wireshark | Analyse de trames (BT, Zigbee, Z-Wave via adaptateur) |
| FLipper Zero FW | BadUSB, RFID, Sub-1GHz, iButton |
| TempestSDR | Capture d'émissions électromagnétiques d'écrans |
Méthodologie
Phase 1 : Reconnaissance du Spectre
gqrx &
rtl_sdr capture.iq -f 433920000 -s 2500000 -n 10000000
Phase 2 : Analyse avec Universal Radio Hacker (URH)
pip3 install urh
urh
Phase 3 : Replay Attack
hackrf_transfer -r capture.cfile -f 433920000 -a 1 -x 40
hackrf_transfer -t capture.cfile -f 433920000 -a 1 -x 40
sudo rpitx -m RF -i capture.wav -f 433920000
Phase 4 : Attaque sur Rolling Code (KEELOQ / Hopping)
Techniques Avancées
Jamming Sélectif
hackrf_sweep -f 433900000:434000000 -w 100000 -g 40
Décodage LoRa
Reverse de Protocole Propriétaire
Tempest / Van Eck Phreaking
Pièges & ASTUCES
⚠️ Légalité : l'émission radio est régulée. Ne pas émettre sans licence sur des fréquences non ISM. Même sur ISM, respecter les limites de puissance
⚠️ Antenne adaptée : une antenne 433 MHz fonctionne mal à 868 MHz. Utiliser une antenne accordée ou large bande
⚠️ Bruit de fond : les environnements urbains sont saturés (WiFi, BT, micro-ondes). Préférer un endroit calme pour les captures
⚠️ Gain : trop de gain → saturation ADC → signaux déformés. Trop peu → signaux noyés dans le bruit
⚠️ HackRF One full duplex : non, half-duplex seulement (ne peut pas émettre et recevoir en même temps)
⚠️ Dérive de quartz : les RTL-SDR chauffent et dérivent en fréquence. Laisser chauffer 10 min avant les mesures précises
⚠️ Sample rate : 2 Msps (RTL-SDR) → bande passante de 2 MHz. Pour signaux > 2 MHz de large, besoin de HackRF (20 Msps)
⚠️ Rolling code n'est pas inviolable : certains protocoles ont des failles cryptographiques connues (KEELOQ, Megamos)
⚠️ Flipper Zero Sub-GHz : émission limitée à certaines fréquences selon la région (modifiable, mais illégal)
Check-list Rapide
rtl_sdr -f 433920000 -s 2500000 capture.iq
urh
Références