Extraire un firmware via SPI/JTAG, analyser le filesystem avec Binwalk, identifier les vulnérabilités et appliquer des c.
TL;DR — En résumé
Extraire un firmware via SPI/JTAG, analyser le filesystem avec Binwalk, identifier les vulnérabilités et appliquer des correctifs sécurisés.
Résumé exécutif
L'analyse de firmware embarqué constitue la phase la plus productive du pentest IoT, révélant systématiquement des vulnérabilités critiques invisibles aux tests réseau et applicatifs. L'extraction physique via les interfaces SPI, JTAG ou UART, suivie de l'analyse statique avec Binwalk et EMBA, expose les credentials hardcodés, les clés cryptographiques embarquées, les bibliothèques obsolètes et les services réseau compilés sans protection. Ce guide détaille chaque étape de l'extraction à l'exploitation avec les outils et techniques éprouvés en audit de sécurité IoT sur des dispositifs industriels et grand public déployés dans des environnements critiques. La maîtrise de ces techniques d'analyse firmware transforme un objet connecté opaque en une cible parfaitement transparente dont chaque composant logiciel embarqué devient analysable, testable et exploitable par l'auditeur de sécurité offensive.
- Identification des vecteurs d'attaque et de la surface d'exposition
- Stratégies de détection et de réponse aux incidents
- Recommandations de durcissement et bonnes pratiques opérationnelles
- Impact sur la conformité réglementaire (NIS2, DORA, RGPD)
Le firmware embarqué est le système nerveux de tout objet connecté : il contient le système d'exploitation, les applications, les configurations réseau, les credentials de connexion aux services cloud et les clés cryptographiques utilisées pour chiffrer les communications. Contrairement aux applications web où le code source est souvent inaccessible, le firmware d'un dispositif IoT est physiquement stocké dans une puce mémoire flash soudée sur le circuit imprimé, accessible à tout attaquant disposant d'un fer à souder et d'un programmateur à 10 euros. Les fabricants qui comptent sur l'obscurité du firmware pour protéger leurs secrets se trompent fondamentalement : l'extraction et l'analyse sont des opérations routinières pour tout pentester IoT expérimenté. Les audits que nous réalisons sur des dispositifs industriels critiques révèlent systématiquement des secrets exploitables dès la première heure d'analyse du firmware extrait. Ce guide pratique détaille la méthodologie complète d'extraction et d'analyse de firmware, de l'identification des composants sur le PCB à la découverte de vulnérabilités exploitables à distance, en passant par l'émulation et le test dynamique des services embarqués. L'approche complète la méthodologie de pentest IoT en approfondissant la couche firmware qui recèle les vulnérabilités les plus critiques et les plus fréquemment ignorées par les fabricants pressés de mettre leur produit sur le marché.
\\\\\\\\n\\\\\\\\n\\\\nContre-mesures avancées pour la sécurisation du firmware embarqué
\\\\nLa sécurisation proactive du firmware dès la phase de conception est significativement moins coûteuse que la remédiation post-incident. Les fabricants d'équipements embarqués et les équipes de développement IoT disposent d'un arsenal de techniques de durcissement qui élèvent considérablement le coût d'exploitation pour un attaquant.
\\\\n\\\\nLe Secure Boot est le mécanisme fondamental : il garantit que seul un firmware signé par une clé de confiance peut s'exécuter sur l'équipement. Chaque étage du boot (bootloader, kernel, init) vérifie la signature de l'étage suivant avant de lui passer la main. Les implémentations matérielles (TrustZone ARM, Intel Boot Guard, Secure Element) ancrent cette chaîne de confiance dans du matériel qui ne peut pas être modifié par un attaquant logiciel. La gestion des clés de signature est critique : une clé compromise invalide l'ensemble du mécanisme — elle doit être stockée dans un HSM avec accès strictement contrôlé et journalisé.
\\\\n\\\\nLe chiffrement du firmware protège la propriété intellectuelle et empêche l'analyse statique par des attaquants ne disposant pas de la clé de déchiffrement. Le chiffrement symétrique AES-256 avec une clé stockée dans un Secure Element ou dans une région OTP (One-Time Programmable) de la mémoire est la configuration standard. Attention cependant : le chiffrement sans Secure Boot peut être contourné en extrayant la clé de déchiffrement depuis la mémoire de l'appareil allumé — les deux mécanismes sont complémentaires et non substituables.
\\\\n\\\\nL'isolation mémoire et les protections anti-exploitation (ASLR, stack canaries, NX/DEP, CFI) sont désormais disponibles dans les environnements RTOS et Linux embarqué modernes. Yocto Project et Buildroot permettent d'activer ces protections lors de la compilation du firmware. Les équipements IoT industriels à longue durée de vie méritent une attention particulière : un firmware compilé en 2015 sans ces protections, tournant sur un équipement qui ne sera remplacé qu'en 2030, présente une surface d'attaque considérable que seules des mesures de compensation réseau (segmentation, monitoring comportemental) peuvent partiellement atténuer.
\\\\n\\\\nAnalyse de vulnérabilités et programme de divulgation pour l'IoT
\\\\nLa découverte de vulnérabilités dans le firmware d'un équipement IoT, qu'elle soit réalisée en interne ou signalée par des chercheurs externes, nécessite un processus structuré de gestion et de divulgation qui protège les utilisateurs tout en respectant les pratiques éthiques de la communauté de sécurité.
\\\\n\\\\nLe programme de divulgation coordonnée des vulnérabilités (CVD) est devenu une exigence légale pour les fabricants soumis au Cyber Resilience Act, mais constitue aussi une bonne pratique indépendamment de toute obligation réglementaire. Il doit comporter : un canal de signalement clairement accessible (security.txt selon RFC 9116, adresse email dédiée sur le site du fabricant), un accusé de réception sous 24 heures, un délai de traitement transparent (généralement 90 jours selon la politique coordinated disclosure de Google Project Zero), et une communication publique après correction. Les fabricants qui traitent les signalements de façon transparente et rapide construisent une réputation de responsabilité qui constitue un avantage compétitif.
\\\\n\\\\nL'analyse de vulnérabilités automatisée du firmware dans les pipelines CI/CD permet de détecter les problèmes dès le développement. Des outils comme EMBA (Embedded Analyser), Firmwalker et TriforceAFL analysent le firmware à chaque build pour détecter les credentials hardcodés, les versions de bibliothèques avec CVE connues, les configurations dangereuses et les interfaces réseau non sécurisées. L'intégration de ces outils dans le pipeline DevSecOps du firmware crée un processus d'amélioration continue de la sécurité plutôt qu'un audit ponctuel insuffisant.
\\\\n\\\\nLa gestion du cycle de vie des vulnérabilités dans les équipements déployés est le défi le plus complexe : comment patcher des milliers d'équipements IoT disséminés chez des clients, certains sans connexion internet, certains dans des environnements critiques où les mises à jour nécessitent une fenêtre de maintenance planifiée ? Les solutions incluent : mécanisme de mise à jour OTA (Over-the-Air) sécurisé et signé, rollback automatique en cas d'échec de mise à jour, et politique de communication proactive vers les clients pour les vulnérabilités critiques. Le budget et les ressources pour ce support de longue durée doivent être anticipés lors du développement initial du produit.
\\\\n\\\\n- L'extraction SPI avec un programmateur CH341A est la méthode la plus fiable et la moins destructive
- Binwalk identifie et extrait automatiquement les systèmes de fichiers embarqués (SquashFS, JFFS2, CramFS)
- EMBA automatise la découverte de credentials hardcodés, clés privées et binaires vulnérables
- L'émulation QEMU avec FirmAE permet le test dynamique des services réseau sans hardware
- Le secure boot avec signature cryptographique est la seule contre-mesure efficace contre la modification de firmware
Identifier les composants et interfaces sur le PCB
\\\\\\\\n\\\\\\\\nLa première étape de l'analyse firmware consiste à ouvrir le boîtier du dispositif et identifier les composants clés sur le circuit imprimé. Le processeur principal (SoC) détermine l'architecture cible pour le reverse engineering — les architectures ARM (Cortex-M, Cortex-A) et MIPS dominent l'IoT embarqué. La puce mémoire flash externe (identifiable par son boîtier SOIC-8 ou WSON-8) contient le firmware extractible via l'interface SPI. Les sérigraphies sur le PCB et les datasheets constructeur permettent d'identifier précisément chaque composant et ses interfaces de communication.
\\\\\\\\n\\\\\\\\nLes ports de débogage UART et JTAG sont fréquemment laissés accessibles sur le PCB de production. Le port UART (généralement 4 broches : VCC, TX, RX, GND) offre un accès à la console série du système d'exploitation avec un simple adaptateur FTDI à 5 euros. L'identification du port UART s'effectue avec un analyseur logique ou un multimètre : la broche TX présente une tension oscillante lors du boot, VCC est à 3.3V ou 5V constant, et GND est connecté au plan de masse. L'article sur le hardware hacking JTAG/SWD/UART détaille les techniques d'identification et de connexion à ces interfaces physiques essentielles pour l'accès initial au firmware embarqué.
\\\\\\\\n\\\\\\\\nFirmware : logiciel embarqué stocké dans la mémoire flash d'un dispositif électronique, comprenant le bootloader, le noyau du système d'exploitation, le système de fichiers racine et les applications. Contrairement au logiciel installable, le firmware est compilé spécifiquement pour l'architecture matérielle du dispositif cible.
Extraction du firmware par dump SPI
\\\\\\\\n\\\\\\\\nLe dump SPI est la méthode d'extraction la plus fiable et la plus universelle. La puce flash SPI NOR (Winbond W25Q, Macronix MX25L, GigaDevice GD25Q) stocke le firmware dans un format linéaire accessible via le bus SPI. Le programmateur CH341A, disponible pour moins de 10 euros, lit le contenu complet de la flash via une pince de test SOIC-8 qui se connecte directement sur la puce sans dessouder. La commande flashrom -p ch341a_spi -r firmware.bin effectue le dump en quelques secondes.
Les alternatives au dump SPI incluent l'interception de la mise à jour OTA avec un proxy mitmproxy si le fabricant distribue les mises à jour en HTTP non chiffré, le téléchargement depuis le portail de support technique du constructeur où les fichiers firmware sont fréquemment accessibles sans authentification, et l'accès via la console UART si le bootloader (U-Boot) supporte les commandes de lecture mémoire. Chaque méthode a ses avantages : le dump SPI fournit une copie bit-à-bit fidèle incluant le bootloader, tandis que le fichier OTA contient souvent uniquement le système de fichiers applicatif sans le bootloader propriétaire du constructeur.
\\\\\\\\n\\\\\\\\n| Méthode d'extraction | Outil requis | Coût | Fiabilité | Couverture |
|---|---|---|---|---|
| Dump SPI flash | CH341A + pince SOIC-8 | ~10 € | Excellente | Firmware complet + bootloader |
| Console UART/U-Boot | Adaptateur FTDI | ~5 € | Bonne | Partitions individuelles |
| Interception OTA | mitmproxy | Gratuit | Variable | Image mise à jour uniquement |
| Portail constructeur | Navigateur web | Gratuit | Variable | Image mise à jour uniquement |
| JTAG/SWD debug | J-Link, ST-Link | ~20-50 € | Excellente | Mémoire flash et RAM |
Analyse statique avec Binwalk et EMBA
\\\\\\\\n\\\\\\\\nBinwalk est l'outil fondamental de l'analyse de firmware embarqué. Il identifie les signatures de systèmes de fichiers (SquashFS, JFFS2, CramFS, UBIFS), les en-têtes de compression (gzip, LZMA, LZ4), les certificats X.509, les clés SSH et les binaires ELF embarqués dans le dump brut. La commande binwalk -e firmware.bin extrait automatiquement les systèmes de fichiers identifiés dans des répertoires exploratoires. L'arborescence extraite révèle la structure complète du système : fichiers de configuration dans /etc, applications dans /usr/bin, scripts de démarrage dans /etc/init.d et pages web embarquées dans /www.
L'outil EMBA (Embedded Analyzer) automatise l'analyse de sécurité complète du firmware extrait en combinant plus de 50 modules de test. Il détecte les credentials hardcodés (recherche automatisée de mots de passe dans les fichiers de configuration, les scripts et les binaires), les bibliothèques vulnérables (versions de BusyBox, OpenSSL, libcurl avec CVE connues), les clés privées embarquées (SSH, TLS, API) et les binaires compilés sans protections de sécurité (stack canaries, ASLR, NX bit). Le rapport EMBA fournit un score de sécurité global et une liste priorisée de vulnérabilités directement exploitable par le pentester pour la phase d'exploitation active.
\\\\\\\\n\\\\\\\\nL'analyse EMBA d'un firmware de caméra IP industrielle a révélé en moins de 5 minutes : un mot de passe root hardcodé dans /etc/shadow (hash MD5), une clé privée TLS dans /etc/ssl/ partagée par tous les dispositifs du même modèle, trois versions de BusyBox avec des CVE d'exécution de code à distance, et un script CGI de diagnostic accessible sans authentification permettant l'injection de commandes OS via le paramètre de ping.
Émulation et test dynamique avec QEMU
\\\\\\\\n\\\\\\\\nL'émulation du firmware avec QEMU permet de tester dynamiquement les services réseau et les interfaces web sans disposer du hardware physique. Le framework FirmAE automatise l'émulation de firmwares Linux embarqués en reconstituant l'environnement d'exécution complet : simulation de la NVRAM, création d'interfaces réseau virtuelles et configuration du routage pour rendre les services accessibles depuis la machine de l'auditeur. Cette technique accélère considérablement les tests car elle élimine la dépendance au hardware physique et permet le test parallèle de plusieurs versions de firmware simultanément.
\\\\\\\\n\\\\\\\\nUne fois le firmware émulé et les services réseau accessibles, le pentester applique les techniques de test classiques : scan de ports avec Nmap, fuzzing des interfaces web avec Burp Suite, test des API REST avec Postman et exploitation des vulnérabilités identifiées lors de l'analyse statique. Le reverse engineering de firmware IoT avec Ghidra complète cette analyse en permettant le désassemblage et la décompilation des binaires ARM pour identifier les vulnérabilités dans le code machine des applications propriétaires compilées sans symboles de débogage.
\\\\\\\\n\\\\\\\\nContre-mesures et durcissement firmware
\\\\\\\\n\\\\\\\\nLe secure boot constitue la contre-mesure fondamentale contre la modification et l'injection de firmware malveillant. La chaîne de confiance démarre du bootloader immutable en ROM qui vérifie la signature cryptographique de chaque composant logiciel avant son exécution : bootloader secondaire, noyau, système de fichiers et applications. La clé publique de vérification est fusionnée dans l'OTP (One-Time Programmable) du processeur, rendant impossible sa modification par un attaquant. Le firmware readback protection empêche l'extraction via JTAG en désactivant les interfaces de débogage une fois le dispositif provisionné en production. La combinaison secure boot et readback protection élève significativement la barrière d'entrée pour l'analyse de firmware, sans toutefois la rendre impossible pour un attaquant déterminé disposant d'équipements de laboratoire avancés pour le contournement des protections OWASP IoT.
\\\\\\\\n\\\\\\\\nMon avis : l'analyse de firmware est la compétence la plus rentable du pentest IoT. Cinq minutes d'analyse EMBA sur un firmware extrait révèlent plus de vulnérabilités que cinq jours de fuzzing réseau. Les fabricants qui implémentent le secure boot et le chiffrement de la flash réduisent drastiquement la surface d'attaque, mais moins de 10% des dispositifs IoT en production bénéficient de ces protections en 2026.
Quel outil utiliser pour extraire un firmware ?
Binwalk pour l'extraction logicielle depuis un dump, CH341A ou Bus Pirate pour le dump physique SPI, et un adaptateur FTDI pour l'accès UART. Le choix dépend de l'accès disponible au dispositif et au type de mémoire flash utilisée.
Comment analyser un firmware sans le hardware ?
FirmAE et QEMU permettent d'émuler des firmwares Linux embarqués en reconstituant l'environnement d'exécution complet. Les services réseau deviennent accessibles depuis votre machine d'audit pour les tests dynamiques.
Le secure boot protège-t-il complètement ?
Le secure boot vérifie l'intégrité au démarrage mais ne protège pas contre l'extraction physique via SPI. Un attaquant peut toujours dumper et analyser le firmware, même s'il ne peut pas le modifier ou injecter un firmware malveillant.
Conclusion
\\\\\\\\n\\\\\\\\nL'extraction et l'analyse de firmware embarqué sont des compétences essentielles du pentest IoT qui révèlent systématiquement des vulnérabilités critiques. Les outils open source Binwalk, EMBA et FirmAE rendent cette analyse accessible à tout auditeur de sécurité pour un investissement matériel minimal. L'implémentation du secure boot et du chiffrement de la flash par les fabricants reste la seule contre-mesure efficace contre l'exploitation des secrets embarqués dans les dispositifs connectés déployés en production.
\\\\\\\\n\\\\\\\\nL'analyse de firmware embarqué transforme un objet connecté opaque en une cible transparente. Maîtriser l'extraction SPI, l'analyse Binwalk et l'émulation QEMU vous donne accès aux secrets les plus critiques des dispositifs IoT que vous auditez, révélant les vulnérabilités invisibles aux tests réseau et applicatifs traditionnels.
Article suivant recommandé
Sécuriser les Objets Connectés en Entreprise en 2026 →Caméras IP, badges RFID, capteurs industriels : inventorier, segmenter et surveiller les objets connectés en réseau d'en
Surface d'attaque : Ensemble des points d'entrée exploitables par un attaquant pour compromettre un système, incluant les services exposés, les interfaces utilisateur et les API.
L'analyse et le test de sécurité d'appareils IoT et mobiles doivent être réalisés sur des équipements dont vous êtes propriétaire ou pour lesquels vous disposez d'une autorisation écrite.

Sécurisez vos objets connectés
\\\\\\\\nPentest IoT, audit firmware, sécurité mobile — tests d'intrusion hardware et software.
\\\\\\\\nÉcosystème des outils d'analyse de firmware : panorama et comparaison
\\nLa maîtrise des outils d'analyse de firmware est une compétence distinctive pour les pentesters IoT et les équipes de sécurité des fabricants. L'écosystème open source offre aujourd'hui des solutions de qualité qui couvrent l'ensemble du cycle d'analyse, de l'extraction à l'émulation dynamique.
\\nBinwalk reste la référence pour l'extraction et l'analyse structurelle des firmwares : détection des systèmes de fichiers embarqués (SquashFS, JFFS2, CRAMFS), des archives compressées (gzip, lzma, zip), des signatures de code (ELF, PE) et des certificates X.509. Sa commande binwalk -e firmware.bin extrait automatiquement tous les composants détectés, tandis que binwalk -A identifie l'architecture du code machine. Les résultats s'améliorent avec l'option -Y qui utilise des heuristiques supplémentaires pour les firmwares obfusqués.
EMBA (Embedded Analyser) va plus loin que Binwalk en fournissant une analyse automatisée complète : identification des binaires SUID, détection des credentials hardcodés via truffleHog, analyse des CVEs de toutes les bibliothèques logicielles identifiées (via SBOM automatique), et test de robustesse des scripts d'initialisation. Son rapport HTML structuré donne une vue immédiatement exploitable du profil de risque du firmware, particulièrement utile pour les audits de sécurité des équipements IoT de fournisseurs tiers.
\\nQEMU avec des adaptations spécifiques (firmware.re, FIRMADYNE) permet l'émulation de firmwares Linux embarqués pour des tests dynamiques : fuzzing des interfaces web de configuration, test des API, détection de vulnérabilités de stack overflow en conditions réelles. L'émulation n'est pas parfaite (dépendances matérielles non émulées, différences de timing) mais permet de détecter une large classe de vulnérabilités sans accès physique à l'équipement. Pour les équipements Raspberry Pi et ESP32 très répandus dans les projets IoT, la disponibilité d'émulateurs précis facilite grandement l'analyse de sécurité.
\\n\nLa sécurité du firmware embarqué est l'un des défis les plus complexes de la cybersécurité moderne, à la croisée du hardware, du software embarqué et de la cryptographie. Les techniques présentées dans cet article — extraction, analyse statique et dynamique, contre-mesures de durcissement — constituent le socle d'une approche professionnelle de l'analyse et de la sécurisation des équipements IoT. Les organisations qui intègrent ces compétences dans leurs équipes sécurité ou chez leurs prestataires de pentest spécialisé disposent d'un avantage décisif pour identifier et corriger les vulnérabilités firmware avant qu'elles ne soient exploitées.
Pour les équipes débutant dans l'analyse de firmware, la progression recommandée commence par les laboratoires en ligne (OWASP Firmware Security Testing Methodology, Embedded Security CTFs) qui fournissent des firmwares vulnérables délibérément pour l'apprentissage, avant d'appliquer les techniques sur des équipements réels dans un cadre légal et éthique. La certification GIAC GPEN et le cours spécialisé "Advanced Embedded and Automotive Exploitation" de OffSec constituent des jalons reconnus dans ce parcours de montée en compétences.
Télécharger cet article en PDF
Format A4 optimisé pour l'impression et la lecture hors ligne
À propos de l'auteur
Ayi NEDJIMI
Auditeur Senior Cybersécurité & Consultant IA
Expert Judiciaire — Cour d'Appel de Paris
Habilitation Confidentiel Défense
[email protected]
Ayi NEDJIMI est un vétéran de la cybersécurité avec plus de 25 ans d'expérience sur des missions critiques. Ancien développeur Microsoft à Redmond sur le module GINA (Windows NT4) et co-auteur de la version française du guide de sécurité Windows NT4 pour la NSA.
À la tête d'Ayi NEDJIMI Consultants, il réalise des audits Lead Auditor ISO 42001 et ISO 27001, des pentests d'infrastructures critiques, du forensics et des missions de conformité NIS2 / AI Act.
Conférencier international (Europe & US), il a formé plus de 10 000 professionnels.
Domaines d'expertise
Ressources & Outils de l'auteur
Articles connexes
DLP : Stratégie Complète de Prévention de Fuite de Données
La prévention des fuites de données (DLP) couvre les technologies et processus pour détecter et bloquer les transferts non autorisés...
Sécuriser les Objets Connectés en Entreprise en 2026
Caméras IP, badges RFID, capteurs industriels : inventorier, segmenter et surveiller les objets connectés en réseau d'en
Attaques Radio IoT : BLE, Zigbee, LoRa et SDR 2026
Techniques d'attaque sur les protocoles radio IoT avec SDR et contre-mesures défensives.
Un projet cybersécurité ? Parlons-en.
Pentest, conformité NIS 2, ISO 27001, audit IA, RSSI externalisé… nos experts répondent sous 24h pour évaluer votre besoin et vous proposer un accompagnement sur mesure.
Commentaires
Aucun commentaire pour le moment. Soyez le premier à commenter !
Laisser un commentaire