00Où ce bloc se place
Ce n'est pas un point de départ, c'est un point de convergence. On ne peut pas monter une attaque par canal auxiliaire sans savoir simultanément lire un schéma électronique, comprendre un algorithme de chiffrement et manipuler de l'assembleur. C'est pour ça qu'il arrive en fin de cursus — et pour toi, c'est le bon moment : ton année 1 a posé exactement les fondations nécessaires.
Dans une filière classique, le découpage est le suivant. Année 1 : socle (archi, électronique, C/C++, systèmes, réseaux, maths). Année 2 : cœur métier embarqué (RTOS, Linux embarqué, bus, FPGA) et cœur cybersécurité (crypto, réseau, système, pentest, rétro-ingénierie) en parallèle. Année 3 : ce bloc intersection, la spécialisation.
Tu es en année 2 et tu attaques le FPGA. Concrètement, tu peux commencer ce bloc en parallèle de ta 2ᵉ année plutôt que d'attendre la 3ᵉ, parce que ton profil de départ est déjà solide. Le seul module qui a besoin de ta progression FPGA/rétro en cours est M4 (injection de fautes) — le reste peut démarrer tout de suite.
01Prérequis — et pourquoi tu es bien placé
Bonne nouvelle : ton année 1 couvre l'essentiel. Voici ce que chaque acquis va servir directement dans ce bloc. Ton traitement du signal, en particulier, est un avantage rare : c'est littéralement l'outil central de l'analyse par canaux auxiliaires.
Ce qu'il te reste à consolider avant de plonger
Trois points qui ne sont pas toujours couverts en année 1 et qu'il vaut mieux avoir sous la main :
- Cryptographie appliquée — savoir dérouler AES manuellement (les étapes SubBytes/ShiftRows/MixColumns/AddRoundKey), comprendre RSA et ECC dans les grandes lignes. C'est M1, et c'est un prérequis dur pour M3.
- Assembleur ARM (Thumb / Cortex-M) — lire du désassemblé, comprendre les registres, la pile, les branchements. Prérequis de M2 (rétro) et M4 (comprendre l'effet d'une faute sur une instruction).
- Aisance avec Python + NumPy — c'est l'outillage universel du domaine : manipulation de traces, scripts d'attaque, automatisation. Tout ChipWhisperer se pilote en Python.
02Les 7 modules
Ordre pensé pour un autodidacte : chaque module s'appuie sur le précédent. Les modules marqués offensifs supposent d'avoir un banc de test à toi et de rester dans un cadre légal (ton propre matériel, CTF, plateformes dédiées).
Cryptographie embarquée appliquée
Tu ne peux pas casser ce que tu ne comprends pas. Il faut connaître AES et RSA/ECC assez finement pour savoir où une fuite ou une faute produit de l'information exploitable.
- Chiffrements symétriques (AES en détail, modes de fonctionnement, GCM)
- Asymétrique : RSA, courbes elliptiques, échange de clés, signatures
- Hachage, HMAC, dérivation de clés, générateurs aléatoires (et leurs faiblesses embarquées)
- Où sont stockés les secrets sur une cible réelle, et comment ils y arrivent
Extraction & rétro-ingénierie de firmware
La première étape de presque toute attaque matérielle : sortir le code de la puce, puis le comprendre. Sans firmware, pas d'analyse.
- Interfaces de debug : JTAG et SWD, identification des points de test sur PCB
- Dump de mémoire flash : via OpenOCD, lecture directe de puces SPI (flashrom), chip-off
- Analyse : Ghidra (désassemblage, décompilation), identification de crypto, chaînes, tables
- Analyse de firmware Linux embarqué :
binwalk, extraction de systèmes de fichiers - Repérer les protections : flash lockée, RDP (Read-Out Protection) sur STM32
Analyse par canaux auxiliaires (SCA)
Ton module phare, celui où ton DSP fait toute la différence. Une puce qui chiffre « fuit » sa consommation électrique et son rayonnement ; on remonte à la clé secrète par corrélation statistique. C'est du traitement du signal appliqué à la crypto.
- SPA (Simple Power Analysis) : lire une opération directement sur la trace
- DPA / CPA (Differential / Correlation Power Analysis) : extraire une clé AES par statistique
- Chaîne du signal : sonde de courant / résistance shunt, échantillonnage, filtrage, alignement de traces
- Modèles de fuite : poids de Hamming, distance de Hamming
- Attaques électromagnétiques (EM) : même principe, sonde de champ proche
- Notions de template attacks et d'analyse assistée par apprentissage
Injection de fautes (fault injection)
Au lieu d'écouter, on perturbe : on force la puce à sauter une instruction ou à corrompre un calcul, au bon instant. C'est ce qui permet de contourner une vérification de mot de passe ou de casser du RSA. Ton FPGA sert ici à construire le déclencheur/glitcher.
- Glitch d'alimentation (voltage glitching) : couper brièvement le Vcc
- Glitch d'horloge (clock glitching) sur cibles à horloge externe
- Injection électromagnétique (EMFI), notions d'injection optique/laser (théorie)
- Le timing : trouver la fenêtre exacte, synchronisation sur un déclencheur
- Exploitation : contournement d'authentification, saut de vérification, fautes sur RSA-CRT
- Comprendre le modèle de faute (instruction skip, corruption de donnée)
Secure boot & chaîne de confiance
Le versant défensif, et le plus recherché en entreprise. Comment garantir qu'une puce n'exécute que du code authentifié, et comment protéger les secrets même quand l'attaquant a la carte en main.
- Root of trust, boot vérifié (signatures en cascade), boot chiffré
- ARM TrustZone : mondes sécurisé / non sécurisé, TEE
- Éléments dédiés : Secure Element, TPM, HSM — rôles et différences
- Stockage de clés matériel, fusibles (eFuses), provisioning en usine
- Mises à jour sécurisées OTA, anti-rollback
- Vision attaquant : comment ces défenses tombent (souvent via M4)
Bus automobiles & systèmes industriels (ICS)
L'application « métier » à plus forte demande. Ton cours d'info indus est le point d'entrée. Voitures, usines, énergie : des systèmes embarqués en réseau, souvent conçus avant que la sécurité ne soit une exigence.
- Bus CAN : trames, arbitrage, sniffing, injection, rétro-ingénierie de messages
- Diagnostic automobile : OBD-II, UDS ; introduction à la norme ISO/SAE 21434
- Simulation sans voiture : ICSim (simulateur de tableau de bord)
- ICS/SCADA : Modbus, automates (PLC), particularités du temps réel industriel
- Normes : IEC 62443, notions de sûreté vs sécurité
Contre-mesures & implémentation sécurisée
Boucler la boucle : maintenant que tu sais attaquer, tu sais défendre. C'est ce qui te rend embauchable côté conception, pas seulement côté audit.
- Code en temps constant (éliminer les fuites de timing)
- Masquage et hiding contre les canaux auxiliaires
- Redondance et détection de fautes contre l'injection
- Détecteurs matériels (capteurs de glitch, de température, de lumière)
- Bonnes pratiques de code embarqué sécurisé (MISRA C, revue), threat modeling
03Matériel — le banc à ~200 €
Tu n'as pas besoin d'un labo Riscure. Une seule pièce fait 80 % du travail : la ChipWhisperer-Nano, qui combine capture de canaux auxiliaires et glitching sur une cible intégrée. Le reste est de la connectique bon marché. Les cases surlignées sont le noyau à acheter en premier.
| Élément | À quoi ça sert | Prix indicatif |
|---|---|---|
| ChipWhisperer-Nano (NewAE) | Capture SCA + glitching, cible intégrée. Cœur de M3 et M4. | ~60–80 € |
| Sonde ST-Link V2 (clone) | Debug/flash SWD, dump STM32. M2 et M5. | ~4 € |
| Carte STM32 « Blue Pill » | Cible d'entraînement bon marché et sacrifiable. M2, M4, M5. | ~4 € |
| Analyseur logique 8 canaux (clone Saleae) | Observer I2C/SPI/UART, repérer JTAG. M2, M6. | ~10 € |
| Adaptateur USB-UART (CP2102/FT232) | Console série, interaction bas niveau. | ~5 € |
| Pince SOIC-8 + adaptateur SPI | Lire une puce flash externe (flashrom). M2. | ~10 € |
| Interface CAN (CANtact / clone USB-CAN) | Sniff/injection sur bus CAN. M6. | ~15–25 € |
| Consommables (breadboard, straps, fils, pinces) | Câblage et prototypage. | ~15 € |
| Total noyau + extensions | De quoi couvrir les 7 modules | ~130–170 € |
04Toutes les sources
Sélection resserrée et vérifiée, classée par type. Si tu ne dois retenir qu'une chose : le livre The Hardware Hacking Handbook + l'écosystème ChipWhisperer couvrent à eux seuls la moitié du bloc.
Livres de référence
- LIVREThe Hardware Hacking Handbook — Jasper van Woudenberg & Colin O'Flynn (No Starch Press) payantLA référence du bloc. Canaux auxiliaires et injection de fautes expliqués par les auteurs de ChipWhisperer. Ton livre principal pour M3 et M4.
- LIVREPractical Hardware Pentesting — Jean-Georges Valle (Packt) payantTrès pratique et progressif : identification de PCB, UART/JTAG/SPI, extraction de firmware. Idéal pour M2.
- LIVRESerious Cryptography — Jean-Philippe Aumasson (No Starch Press) payantLa crypto appliquée sans maths inutiles. Parfait pour M1.
- LIVREThe Car Hacker's Handbook — Craig Smith gratuit (PDF officiel)Bible de la sécurité automobile : CAN, OBD-II, ICSim. Cœur de M6. Disponible librement en ligne.
- LIVREPractical Reverse Engineering — Dang, Gazet, Bachaalany payantPour aller plus loin en rétro (ARM inclus). Complément de M2.
Cours & parcours en ligne
- COURSTutoriels ChipWhisperer (ChipWhisperer.io / Jupyter) gratuitSuite de notebooks guidés : SPA, DPA, CPA, glitching, pas à pas avec le matériel. Ta colonne vertébrale pratique pour M3 et M4.
- COURSCryptography I — Dan Boneh (Coursera / Stanford) gratuit (audit)Le cours de crypto de référence. Solide base théorique pour M1.
- COURSGhidra — cours officiel de la NSA + « Ghidra Book » gratuit / payantPrise en main de l'outil de rétro. The Ghidra Book (Eagle & Nance) si tu veux le livre.
- COURSNand2Tetris gratuitOptionnel mais formateur : reconstruit toute la pile matériel→logiciel. Utile si tu veux bétonner l'intuition d'archi.
Entraînement pratique — CTF & plateformes
- CTFrhme (Riscure Hardware CTF) gratuitDéfis conçus pour l'embarqué : fautes, SCA, exploitation. Archives et write-ups publics. La meilleure entrée en matière appliquée.
- CTFHack-A-Sat / satellites & embarqué gratuitCTF orientés systèmes réels, souvent avec composante embarquée/RF.
- PLATE-FORMELedger Donjon — CTF & write-ups gratuitFault injection et SCA de haut niveau, très pédagogiques.
- PLATE-FORMEMicroCorruption gratuitRétro/exploitation sur MSP430 simulé, dans le navigateur. Excellent échauffement M2, zéro matériel.
Blogs, labos & veille
- BLOGLedger Donjon, Riscure, NCC Group, Quarkslab gratuitLes labos qui publient l'état de l'art en attaques matérielles. À suivre pour rester à jour.
- BLOGNewAE (Colin O'Flynn) gratuitFabricant de ChipWhisperer ; forum et notes techniques précieux.
- VIDÉOLiveOverflow, stacksmashing, Ghidra Ninja (YouTube) gratuitRétro-ingénierie matérielle et firmware en vidéo, très accessibles.
- CONFTalks de DEF CON (Hardware Hacking Village), Black Hat, hardwear.io, SSTIC gratuit (rediffusions)SSTIC est francophone. Les rediffs sont une mine.
Articles fondateurs (à lire une fois dans ta vie)
- PAPERDifferential Power Analysis — Kocher, Jaffe, Jun (1999) gratuitL'article qui a fondé le domaine des canaux auxiliaires. Le lire donne la base de M3.
- PAPERThe Sorcerer's Apprentice Guide to Fault Attacks — Bar-El et al. gratuitPanorama de référence sur l'injection de fautes. Fondation de M4.
- NORMEISO/SAE 21434 (auto), IEC 62443 (ICS), Common Criteria résumés gratuitsÀ connaître pour M5/M6 côté professionnel. Lis-en des synthèses avant les textes complets.
05Méthode de travail
Le piège de l'autodidacte dans ce domaine, c'est de lire des mois sans jamais brancher une sonde. Ici la théorie ne « rentre » qu'une fois qu'on a vu la trace bouger à l'écran.
Sept principes
- Un livrable par module. Chaque module ci-dessus a un « livrable perso » concret. Tant qu'il n'est pas atteint, le module n'est pas fini. C'est ton unité de progression, pas le nombre de pages lues.
- Attaque d'abord, comprends ensuite. Fais tourner l'attaque ChipWhisperer AES avant d'avoir tout compris ; reviens à la théorie une fois que tu as vu le résultat. La curiosité créée par le « ça marche mais pourquoi ? » est ton meilleur moteur.
- Tiens un carnet de labo. Note chaque manip : câblage, réglages, ce qui a raté. En sécurité matérielle, 90 % du temps c'est du debug de setup — ton carnet t'évite de refaire les mêmes erreurs.
- Exploite ton avantage DSP. Quand tu abordes M3, ne survole pas la partie signal : c'est là que tu vas plus vite que les autres. Alignement de traces, filtrage, corrélation — tu connais déjà les outils.
- Relie chaque attaque à sa défense. Après avoir cassé quelque chose (M2–M4, M6), va voir la contre-mesure correspondante (M5, M7). C'est ce couplage qui te rend précieux en entreprise.
- Rejoins une communauté. Forum NewAE, Discord de CTF hardware, SSTIC. Poser une question précise sur un setup qui coince fait gagner des semaines.
- Reste dans le cadre légal, toujours. Ton matériel, des cibles d'entraînement, des CTF. Apprends la divulgation responsable dès le début : ça fait partie du métier autant que le glitching.
06Calendrier indicatif (~9 mois)
Séquence conçue pour démarrer sans matériel, puis investir au bon moment. Adapte selon ta charge de cours — rien n'est figé.