1. Pourquoi Auditer le PCB d’un Objet Connecté ?
La sécurité d’un équipement IoT (routeur, caméra IP, passerelle domotique, contrôleur industriel) ne s’arrête pas à son interface web. Sur le circuit imprimé (PCB), les fabricants laissent fréquemment des broches de débogage non peuplées (UART, SWD, JTAG) ou stockent le firmware en clair dans une puce mémoire SPI NOR Flash externe à 8 pattes (boîtier SOIC-8).
La carte open-hardware Tigard (conçue autour de la puce FTDI FT2232H double canal haute vitesse) regroupe sur un seul outil compact en USB-C toutes les interfaces nécessaires pour dialoguer proprement avec ces bus matériels en 1.8V, 3.3V ou 5.0V.
2. Les 3 Protocoles Clés d’un Audit Matériel IoT avec Tigard
| Bus Matériel | Outil Logiciel Associé | Ce que l’Auditeur Vérifie sur la Carte Cible |
|---|---|---|
| UART (TX / RX / GND) | minicom / picocom (115200 8N1) | Présence d’un shell root sans mot de passe ou possibilité d’interrompre le démarrage U-Boot |
| SPI NOR Flash (SOIC-8) | flashrom -p ft2232_spi:type=2232H + pince Pomona | Extraction binaire du firmware et analyse du système de fichiers SquashFS avec binwalk |
| JTAG / ARM SWD | OpenOCD + GDB | Lecture directe de la mémoire interne du microcontrôleur et vérification des fusibles de protection (RDP) |
3. Contre-Mesures Blue Team : Durcissement Matériel en Production
Pour protéger un équipement embarqué contre l’extraction de secrets par sonde matérielle :
- Désactiver la console interactive dans U-Boot (
bootdelay=-2) : En version de production, le chargeur d’amorçage ne doit jamais permettre l’interruption de la séquence de boot via la ligne RX ni ouvrir de console série non authentifiée. - Chiffrement du Firmware & Secure Boot Matériel : Signer cryptographiquement l’image du noyau et chiffrer la flash externe via une clé scellée dans l’élément sécurisé (TPM / eFuse / TrustZone) rend illisible tout dump réalisé à la pince SPI.
- Verrouillage irréversible du port JTAG/SWD (Readout Protection Level 2) : Sur les microcontrôleurs industriels (STM32, ESP32, nRF52), programmer les fusibles matériels (
eFuses/RDP Level 2) désactive définitivement le débogage SWD/JTAG en sortie d’usine.
Sources
- Dépôt officiel Open-Hardware Tigard : Schémas & Documentation (GitHub)
- Documentation Flashrom & OpenOCD pour puces FTDI FT2232H
- OWASP IoT Top 10 : Lack of Physical Hardening
Si vous voulez plus d’information sur l’infrastructure vous pouvez voir mon repo à ce sujet : https://github.com/ravindrajob/InfraAtHome
