Méthodes des appareils de matériel de génie inverse

Les appareils de génie inverse sont une discipline multidisciplinaire qui fusionne le génie électrique, l'informatique et la méthodologie d'investigation. Les praticiens déconstruisent un produit pour découvrir son intention de conception, la sélection des composants et la logique opérationnelle. Le domaine sert la recherche de sécurité, la maintenance du système historique, l'analyse concurrentielle et l'innovation.

Le processus commence généralement par une inspection physique et progresse par l'analyse des signaux et l'extraction du firmware. Chaque méthode produit des idées différentes, et les ingénieurs chevronnés les combinent pour construire une compréhension complète d'un appareil.

Désassemblage et inspection visuelle

Le démontage physique est l'étape fondamentale. L'appareil est ouvert à l'aide d'outils de précision (stugers, pistolets à chaleur, tournevis et ventouses) pour éviter d'endommager des connecteurs fragiles ou des encapsulations. Une fois exposés, les composants internes sont photographiés avec des lentilles macro haute résolution ou des microscopes numériques.

Les marquages sur puces, comme les logos du fabricant, les numéros de pièces et les codes de date, fournissent des indices sur la fonctionnalité. Par exemple, un numéro de série comme « BCM43438 » pointe vers une puce combo Wi-Fi/Bluetooth de Broadcom. L'identification du microcontrôleur principal ou du système sur puce (SoC) est essentielle parce qu'il contient souvent des firmwares et des fonctions de sécurité.

Analyse schématique et PCB

Après le démontage, la carte de circuit imprimé (PCB) devient le focus. Les ingénieurs tracent les filets entre les composants pour reconstruire le schéma. Ceci est souvent fait manuellement avec un multimètre réglé en mode de continuité, mais pour les cartes denses, les méthodes automatisées sont supérieures. L'imagerie par rayons X de PCB multicouches montre des couches internes de cuivre, vias, et traces enterrées.

Dans les laboratoires professionnels de génie inverse, on utilise le retardement : le PCB est poncé ou gravé chimiquement couche par couche, photographier chaque étape, pour reconstruire la pile exacte. Cela révèle des plans de puissance, des plans au sol et des schémas de routage propriétaires. Pour les IC eux-mêmes, le retardement et l'imagerie avec un microscope optique ou électronique peuvent reconstruire la liste nette de niveau de porte, bien que cela nécessite des installations propres et un travail étendu.

Analyse des signaux et des logiciels firmware

Pour extraire le firmware, les ingénieurs accèdent aux ports de débogage ou lisent directement la mémoire flash. Les interfaces matérielles communes comprennent JTAG (IEEE 1149.1), Serial Wire Debug (SWD) et UART bootloaders. Par exemple, l'attachement d'un adaptateur JTAG (par exemple, Segger J-Link ou OpenOCD) aux points de test sur le PCB peut vider le contenu des puces flash internes ou externes SPI. Si l'accès physique est restreint, les analyseurs logiques ou oscilloscopes capturent les signaux pendant le fonctionnement normal.

Une fois le firmware binaire obtenu, l'analyse se fait avec des outils comme Binwalk (pour identifier les systèmes de fichiers), Ghidra, IDA Pro, ou Radare2 pour le démontage et la décompilation. Les ingénieurs cherchent des clés cryptographiques intégrées dans les chaînes, les messages de débogage UART et les routines d'initialisation. De nombreux appareils IoT laissent debug UART actif, révélant un shell racine au démarrage.

Analyse des canaux latéraux

Les attaques latérales exploitent les émissions physiques d'un appareil pendant son fonctionnement. Les deux variantes les plus courantes sont l'analyse de puissance et l'analyse électromagnétique (EM). Dans l'analyse de puissance simple (SPA), un oscilloscope enregistre le courant tiré par la puce pendant qu'elle exécute des instructions. Différentes instructions consomment des quantités distinctes de puissance, permettant à un attaquant d'inférer la séquence d'instruction.

Ces méthodes nécessitent une mise en place soignée : déclenchement précis, oscilloscopes à large bande (par exemple, Lecroy ou Tektronix), et souvent préamplificateur. Ils sont largement utilisés pour briser les implémentations cryptographiques dans les cartes à puce, les dongles et les éléments sécurisés.

Injection par défaut

L'injection par défaut introduit des problèmes intentionnels (déclenchements, glissières d'horloge ou impulsions laser) pour faire passer un processeur aux instructions ou aux données corrompues. L'objectif est souvent de contourner les vérifications d'authentification ou d'activer les interfaces de débogage. L'injection par défaut de tension (VFI) et le glissage d'horloge sont des techniques peu coûteuses qui nécessitent un générateur de fonction et un commutateur MOSFET rapide.

Une injection réussie de défauts peut révéler des fonctionnalités cachées, comme des modes de test ou des commandes de chargeur de démarrage. Par exemple, le glissade de la broche VCC pendant un démarrage sécurisé avant la vérification de la signature peut faire sauter le processeur vers un point d'entrée non sécurisé.

Études de cas en génie inverse

Les études de cas suivantes illustrent comment les méthodes décrites ci-dessus ont été appliquées dans la pratique, allant de la recherche en matière de sécurité à l'innovation de produits.

Analyse de l'enclave sécurisée de Smartphone

En 2019, des chercheurs d'une université supérieure ont entrepris une analyse physique approfondie de l'enclave sécurisée d'Apple iPhone, un processeur dédié qui gère l'authentification biométrique et les clés cryptographiques. L'équipe a commencé par dépaqueter le SoC bionique A12 en utilisant l'acide nitrique pour exposer la matrice. Ils ont ensuite utilisé le fraisage de faisceaux d'ions concentrés (FIB) pour couper dans la région de l'enclave sécurisée et utilisé une sonde de force atomique pour mesurer les tensions sur les bus internes.

Même les puces modernes et fortement sécurisées peuvent tomber dans un attaquant déterminé avec accès aux oscilloscopes SEM, FIB et ultramodernes. Il démontre également comment l'ingénierie inverse informe la découverte de vulnérabilité et entraîne des mises à jour du firmware.

Réplication de verrouillage intelligent IoT

Une équipe d'ingénieurs open-source a cherché à construire un remplacement compatible pour un smart lock populaire -- Budget. Ils ont acheté le verrou et l'ont démonté pour trouver un MCU sans fil TI CC2652R. En utilisant un analyseur logique sur les broches UART, ils ont capturé la séquence de démarrage et découvert que le périphérique est entré dans un mode DFU (upgrade de firmware device) quand un GPIO spécifique a été tiré haut. Ils ont jeté le firmware via la programmation flash SPI et l'ont analysé avec Ghidra. Le firmware contenait des identifiants Wi-Fi codés et un profil BLE propriétaire.

L'effort a réussi parce que le fabricant avait laissé des interfaces de débogage accessibles et stockées secrets dans un texte clair. L'équipe a documenté leurs constatations et publié un schéma, permettant à quiconque d'imprimer 3D-impression d'un boîtier de remplacement et flasher le firmware ouvert.

Tuning et sécurité de l'ECU automobile

Les unités de commande électronique automobile (ECU) sont souvent conçues de manière inverse pour le réglage des performances, la conformité aux émissions et la modification du marché après-vente. Un cas bien connu concerne l'unité de gestion du moteur Bosch EDC17, utilisée dans de nombreuses voitures diesel. Les enthousiastes voulaient ajuster les cartes de carburant et les courbes de turbo-remorquage. L'ECU communique par le biais du bus CAN et a une ligne K pour le diagnostic, mais l'accès à l'écriture est verrouillé par un algorithme clé de semence. Les chercheurs ont enlevé l'ECU, l'ont ouvert et localisé le microcontrôleur Tricore Infineon. Ils ont décollé le flash externe (SPI) et ont lu son firmware à l'aide d'un programmeur.

Ce type d'ingénierie inverse est légal pour la modification de véhicules personnels dans de nombreuses juridictions en vertu de dispositions de droit à réparation. Il a engendré une industrie de réglage multi-milliards de dollars. Cependant, il soulève également des préoccupations de sécurité: les attaquants pourraient exploiter les mêmes techniques pour injecter du code malveillant qui désactive les systèmes de sécurité.

Découverte de vulnérabilité des instruments médicaux

Dans le domaine médical, les chercheurs ont conçu de nouveau un défibrillateur cardioverter implantable (DCI) pour évaluer la cybersécurité. L'ICD a communiqué sans fil avec un moniteur de chevet via un protocole de bande MICS 402-405 MHz propriétaire. L'équipe a obtenu un DCI d'un marché d'occasion (avec des piles épuisées) et l'a démonté. Ils ont identifié le microcontrôleur – une série LPC NXP – et ont connecté une sonde de débogueur aux tampons de DTS qui n'étaient pas couverts par un revêtement conforme. L'extraction de micrologiciels a révélé une pile personnalisée qui n'était pas chiffrée sur télémétrie. L'équipe a construit une radio définie par logiciel (SDR) pour rejouer les commandes d'interrogatoire, et ils ont démontré la capacité de lire les données du patient (nom, réglages de l'appareil) à 5 mètres de distance.

Leur divulgation au fabricant a conduit à un patch firmware qui a ajouté le chiffrement AES-128. Cette affaire illustre le potentiel vital de l'ingénierie inverse matérielle : identifier les vulnérabilités dans les dispositifs critiques pour la vie avant que les acteurs malveillants puissent les exploiter. Il montre également la nécessité d'utiliser des interfaces de débogage sécurisées (p. ex., les bits de verrouillage JTAG) et des pots anti-corruption.

Considérations éthiques et juridiques

Aux États-Unis, la Digital Millennium Copyright Act (DMCA) prévoit des exemptions pour la recherche en matière de sécurité, l'interopérabilité et la réparation, mais ces exemptions sont étroitement définies et limitées dans le temps. La Directive de l'Union européenne sur les secrets commerciaux autorise l'ingénierie inverse de produits légalement acquis, à condition qu'elle ne comporte pas de violation de contrat. Toutefois, la violation des brevets, des droits d'auteur sur les firmwares ou des conditions de service peut conduire à des litiges.

L'utilisation de la technologie inverse est la norme acceptée. De plus, l'ingénierie inverse ne devrait jamais être utilisée à des fins malveillantes, comme le clonage de cartes de paiement ou la désactivation des dispositifs de sécurité dans les instruments médicaux.

Outils du commerce

L'ingénierie inverse du matériel exige un laboratoire bien équipé. Les outils essentiels sont les suivants :

  • Oscilloscopes (p. ex., Keysight InfiniiVision, R&S RTO) pour la capture de signaux à grande vitesse. La largeur de bande d'au moins 200 MHz est recommandée pour les protocoles numériques comme SPI et I2C.
  • Analyseurs logiques (par exemple Saleae Logic Pro 16, Sigrok) pour décoder simultanément plusieurs canaux numériques. Ils simplifient l'analyse de protocole pour UART, CAN et I2C.
  • Débogueurs JTAG/SWD (p. ex., SEGGER J-Link, ST-Link, Olimex ARM-USB-TINY-H) pour le dumping et le débogage des micrologiciels. De nombreux microcontrôleurs ont des bits de verrouillage qui doivent être contournés par l'injection de défauts ou l'analyse de canaux latéraux.
  • Programmeurs flash (p. ex., Dediprog, Xeltek, ou bus pirate open source) pour la lecture/écriture de puces de mémoire externe (split SPI, parallèle NOR).
  • Matériel de désolation et de reballage[ : stations d'air chaud, fers à souder avec bouts fins et nettoyants ultrasoniques pour enlever les IC pour la lecture externe.
  • Outils logiciels[: Binwalk pour l'extraction de micrologiciels, Ghidra ou IDA Pro pour le démontage, et scripts pour l'analyse de blobs binaires basée sur Python.
  • Matériel à canaux latéraux: ChipWhisperer pour l'analyse de puissance et l'injection de pannes, et sondes EM personnalisées de sociétés comme Langer ou RF-Technik.

Un outil souvent regardé est la documentation. Chaque découverte – photos, netlists, cartes de mémoire et traces de signal – doit être enregistrée pour permettre la vérification et la réplication. Le contrôle de la version (Git) et les carnets de laboratoire sont indispensables.

L'avenir de l'ingénierie inverse du matériel

Les nouveaux défis comprennent les IC 3D avec matrices empilées, les pucelettes à l'intérieur des paquets et les emballages avancés comme les emballages de niveau de laminographie à fan-out wafer (FOWLP). Ceux-ci nécessitent la laminographie aux rayons X et l'apprentissage de la machine pour segmenter automatiquement les structures internes. Du côté du firmware, l'obfuscation et les bootloaders cryptés deviennent standard. Cependant, les attaques sur canaux latéraux continuent de mûrir, et le calcul quantique peut éventuellement briser de nombreux schémas de chiffrement utilisés dans l'authentification du firmware.

Les initiatives matérielles open-source, comme le projet OpenTitan et de nombreuses implémentations UEFI open-source, fournissent une base de référence transparente qui peut être étudiée sans recourir à l'ingénierie inverse. Néanmoins, pour les appareils propriétaires – en particulier dans les secteurs de l'électronique grand public, de l'automobile et de la médecine – les compétences décrites ci-dessus resteront très demandées en matière de recherche sur la sécurité et d'interopérabilité.

Le matériel d'ingénierie inverse n'est pas seulement un exercice technique; il s'agit d'une pratique critique pour comprendre et sécuriser les dispositifs qui pénètrent la vie moderne. En appliquant les méthodes décrites dans cet article et en respectant les limites éthiques, les praticiens peuvent découvrir des menaces cachées, permettre la réparation et favoriser l'innovation.