Accueil / Démarrer
Méthodologie d'audit IoT
Une démarche structurée pour évaluer la sécurité d'un objet connecté, de la reconnaissance à l'exploitation.
Pourquoi une méthodologie
Un objet connecté n’est pas une cible unique mais un système : du matériel, un firmware, des interfaces de communication, des services réseau et souvent une application mobile et un back-end cloud. Attaquer au hasard fait perdre du temps et peut endommager la cible. Une démarche progressive permet de cartographier la surface d’attaque avant de « toucher » quoi que ce soit.
Ce site suit une logique de pentest orientée matériel : on part de l’extérieur (boîtier, interfaces visibles) vers l’intérieur (bus internes, firmware, secrets).
Surface d’attaque
On peut découper la surface d’attaque d’un objet connecté en grandes familles :
| Famille | Exemples | Fiches associées |
|---|---|---|
| Interfaces physiques | UART, JTAG/SWD, SPI, I2C, USB | UART, JTAG, SPI, I2C |
| Stockage | EEPROM, flash SPI/NAND | EEPROM, Firmware |
| Radio | Wi-Fi, Bluetooth/BLE, Zigbee, Z-Wave, LoRa, NFC | Bluetooth, Zigbee, NFC |
| Réseau / applicatif | MQTT, HTTP(S), CoAP, API cloud | MQTT |
| Logique | mode kiosque, contrôle d’accès, mise à jour | Kiosque |
Les phases
1. Reconnaissance passive
Avant d’ouvrir quoi que ce soit :
- Rechercher la référence exacte du produit, sa version de firmware, les certifications (FCC ID, CE) — le FCC ID donne souvent accès à des photos internes et des schémas.
- Consulter les bases publiques : documentation constructeur, CVE, dépôts GitHub, forums (recuperer un firmware officiel est un excellent point de départ).
- Identifier l’écosystème : application mobile, ports cloud, protocoles annoncés.
2. Reconnaissance matérielle
- Ouvrir le boîtier proprement et photographier la carte des deux côtés.
- Lister les puces principales : SoC/MCU, mémoire flash, EEPROM, modules radio, régulateurs.
- Lire les références sérigraphiées et récupérer les datasheets correspondantes.
- Repérer les zones de test : pads, connecteurs non peuplés, groupes de 4 broches (souvent de l’UART), groupes de 4/5 broches serrées (souvent du JTAG).
3. Identification des interfaces
- Au multimètre : repérer GND (continuité avec la masse), VCC (tension constante), les lignes de données.
- À l’analyseur logique : capturer les signaux au démarrage pour reconnaître les protocoles (UART, SPI, I2C).
- Déterminer les paramètres : baudrate UART, adresse I2C, mode SPI.
4. Interaction et extraction
- Se connecter à l’UART pour observer les logs de boot, atteindre un shell ou le bootloader.
- Dumper les mémoires (EEPROM, flash) pour analyser le firmware.
- Utiliser le JTAG/SWD si disponible pour lire la mémoire, poser des points d’arrêt, contourner des protections.
5. Analyse du firmware
- Extraire le système de fichiers (
binwalk), identifier l’architecture. - Chercher les secrets : clés, certificats, identifiants en dur, URLs de mise à jour.
- Analyser les binaires sensibles (authentification, mise à jour, crypto).
6. Exploitation et pivot
- Rejouer/forger le trafic radio ou réseau (MQTT sans ACL, appairage faible…).
- Escalader vers le cloud ou les autres objets du même écosystème.
- Documenter l’impact réel et les conditions de reproduction.
Cadre légal et éthique
Avertissement
Les techniques décrites sur ce site relèvent de la sécurité offensive. Elles ne doivent être utilisées que sur du matériel que vous possédez ou pour lequel vous disposez d'une autorisation écrite. En France, l'accès et le maintien frauduleux dans un système de traitement automatisé de données sont réprimés (articles 323-1 et suivants du Code pénal).