PLAN D'ÉTUDES AUTODIDACTE · Bloc « intersection » · Cybersécurité × systèmes embarqués

Attaquer et défendre le silicium, pas seulement le logiciel.

La sécurité matérielle des systèmes embarqués : extraction de firmware, canaux auxiliaires, injection de fautes, secure boot, bus automobiles et industriels. Le point où l'électronique, l'assembleur, la crypto et le traitement du signal se rejoignent — et où très peu de gens savent réellement travailler.

Niveau : 2ᵉ année de cycle Durée visée : ~9 mois Budget matériel : ~200 € Format : auto-formation

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.

Traitement & analyse du signal, DSP
Le cœur de M3 — canaux auxiliaires : corrélation, moyennage, filtrage, alignement de traces, transformée de Fourier, rapport signal/bruit. Tu as déjà l'intuition que la plupart des gens doivent acquérir.
Architecture des systèmes embarqués
Comprendre ce qu'on attaque : cœur CPU, mémoires flash/RAM, périphériques, MMU/MPU, modes privilégiés. Indispensable pour M2, M4, M5.
Informatique industrielle
Base directe de M6 — bus automobiles & ICS : CAN, temps réel, automates, protocoles de terrain.
Sécurité des systèmes embarqués (année 1)
Le vocabulaire et le modèle de menace sont déjà en place : surface d'attaque, secrets, périmètre de confiance.
FPGA (en cours)
Sert à construire tes propres outils : un glitcher, un déclencheur de capture, voire un capteur maison. Utile pour M4 et pour comprendre ChipWhisperer de l'intérieur.

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 :

CONSEIL Ne bloque pas à vouloir « tout maîtriser » avant de commencer. La crypto et l'assembleur se solidifient en attaquant. Vise un niveau « je lis et je comprends » avant M2, pas « je réimplémente de mémoire ».

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).

M1 · fondation

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 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
Livrable perso : réimplémenter AES-128 en Python en suivant l'algo étape par étape.
M2 · offensif

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
Livrable perso : dumper le firmware d'une carte STM32 « Blue Pill » et retrouver une fonction dans Ghidra.
M3 · offensif

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
Livrable perso : retrouver une clé AES complète par CPA sur cible ChipWhisperer — le « hello world » du domaine.
M4 · offensif

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)
Livrable perso : contourner une boucle de vérification de PIN par glitch d'alimentation sur cible d'entraînement.
M5 · défense

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)
Livrable perso : configurer et tester le RDP + secure boot d'un STM32, puis raisonner sur ses limites.
M6 · offensif

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é
Livrable perso : sniffer et rejouer une trame CAN dans ICSim pour actionner un élément du tableau de bord.
M7 · défense

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
Livrable perso : ajouter une contre-mesure à ta cible AES de M3 et mesurer la difficulté accrue de l'attaque.

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 sertPrix 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 SPILire 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 + extensionsDe quoi couvrir les 7 modules~130–170 €
TON FPGA Ta carte FPGA de cours peut remplacer plusieurs achats : construire un glitcher précis, un déclencheur de capture, ou même une interface de bus. C'est un excellent projet-pont entre ton cours de FPGA et M4 — et comprendre un glitcher en le construisant vaut dix tutoriels.
SI BUDGET SERRÉ Beaucoup de choses se font en simulation, gratuitement : rétro-ingénierie dans Ghidra sur des firmwares publics, CAN dans ICSim, crypto en Python. Tu peux commencer M1, M2 (partie soft) et M6 (simulé) sans rien acheter, et n'investir dans la Nano qu'au moment d'attaquer M3.
CADRE LÉGAL Tout ce qui est offensif se pratique uniquement sur ton propre matériel, sur des cibles d'entraînement, ou sur des plateformes/CTF prévus pour ça. Extraire un firmware, sniffer un CAN ou glitcher une puce sur un appareil qui ne t'appartient pas est illégal. La divulgation responsable de vulnérabilités a ses règles — apprends-les tôt.

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

Cours & parcours en ligne

Entraînement pratique — CTF & plateformes

Blogs, labos & veille

Articles fondateurs (à lire une fois dans ta vie)

VÉRIFIE LES LIENS Je te donne les titres et auteurs exacts pour que tu retrouves chaque ressource, mais les URL et éditions changent. Cherche par titre + auteur, et privilégie toujours la source d'origine (site officiel de l'auteur, du labo, du fabricant) plutôt qu'un miroir.

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

RYTHME RÉALISTE En parallèle de ta 2ᵉ année, vise 4 à 6 h par semaine. Le bloc entier tient en ~9 mois à ce rythme, avec M3 et M4 qui prennent le plus de temps (et sont les plus gratifiants).

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é.

Mois 1–2
M1 — Crypto appliquée + consolidation assembleur ARM & Python/NumPy. Zéro achat. Livrable : AES en Python.
Mois 2–3
M2 — Extraction & rétro. Achat ST-Link + Blue Pill + analyseur logique. Ghidra, MicroCorruption en échauffement. Livrable : dump + fonction retrouvée.
Mois 3–5
M3 — Canaux auxiliaires. Achat ChipWhisperer-Nano. Ton module long et central ; ton DSP paye. Livrable : clé AES par CPA.
Mois 5–6
M4 — Injection de fautes. Glitching avec la Nano ; projet FPGA glitcher en parallèle de ton cours. Livrable : contournement de PIN.
Mois 6–7
M5 — Secure boot & chaîne de confiance. Bascule côté défense. RDP/secure boot sur STM32. Livrable : config + analyse des limites.
Mois 7–8
M6 — Bus auto & ICS. ICSim (gratuit) puis interface CAN. Ton info indus sert de tremplin. Livrable : rejeu de trame CAN.
Mois 8–9
M7 — Contre-mesures + un CTF hardware complet (rhme) pour intégrer tout le bloc. Livrable : cible AES durcie + write-up.