Le TPM (Trusted Platform Module) et BitLocker forment le duo de chiffrement de disque standard sur les systèmes Windows. Le TPM stocke les clés de chiffrement dans un coprocesseur matériel protégé, et BitLocker chiffre l'intégralité du volume système. Cependant, cette architecture présente des vulnérabilités fondamentales exploitées par les chercheurs et les attaquants : cold boot attacks (extraction des clés depuis la RAM), TPM sniffing (interception de la clé sur le bus SPI/LPC), evil maid attacks (modification du bootloader), et direct memory attacks via DMA Thunderbolt/PCIe. Ce guide technique couvre l'architecture TPM (1.2 vs 2.0, fTPM vs dTPM), les mécanismes de protection BitLocker (Seal/Unseal, PCR, protecteurs), les techniques d'attaque documentées et les contre-mesures effectives pour les organisations manipulant des données sensibles.

En bref

  • TPM : architecture 1.2/2.0, PCR, Seal/Unseal, fTPM vs dTPM et bus d'attaque
  • BitLocker : protecteurs (TPM-only, TPM+PIN, clé USB), modes de chiffrement et récupération
  • Cold Boot Attack : extraction de clés AES depuis la RAM par refroidissement (cryogénie)
  • TPM Sniffing : interception de la VMK BitLocker sur le bus SPI/LPC avec un logic analyzer
  • Mitigations : TPM+PIN obligatoire, Secure Boot, DMA protection et chiffrement mémoire
TPM (Trusted Platform Module) — Coprocesseur cryptographique dédié, soudé sur la carte mère (dTPM) ou intégré dans le CPU (fTPM — firmware TPM). Le TPM stocke des clés cryptographiques, mesure l'intégrité du boot (PCR), et effectue des opérations cryptographiques (RSA, ECC, AES) dans un environnement matériellement isolé du CPU principal.

Architecture TPM 2.0

Composant TPMFonctionVecteur d'attaque
PCR (Platform Configuration Register)Mesures d'intégrité du boot (hash chain)PCR replay, boot manipulation
Storage Root Key (SRK)Clé racine pour le chiffrement des secretsNon extractible (hardware)
Endorsement Key (EK)Identité unique du TPM (attestation)Attestation replay
Seal/UnsealChiffrer/déchiffrer lié à l'état PCRPCR manipulation → unseal
Bus SPI/LPCCommunication dTPM ↔ CPUSniffing physique du bus

BitLocker : Mécanismes de Protection

BitLocker chiffre le volume avec une FVEK (Full Volume Encryption Key), elle-même chiffrée par une VMK (Volume Master Key), elle-même protégée par un ou plusieurs protecteurs :

  • TPM-only (défaut) : la VMK est scellée dans le TPM et libérée automatiquement au boot si les PCR sont correctes. VULNÉRABLE — aucune interaction utilisateur, la clé est transmise en clair sur le bus TPM.
  • TPM+PIN : la VMK nécessite le TPM ET un PIN utilisateur. Le PIN participe à la dérivation de la clé. RECOMMANDÉ — le sniffing du bus ne suffit plus.
  • TPM+StartupKey : la VMK nécessite le TPM ET une clé USB de démarrage. Protection similaire au PIN.
  • Password-only : pas de TPM, la VMK est dérivée du mot de passe utilisateur. Vulnérable au brute-force si le mot de passe est faible.

Cold Boot Attack : Extraction des Clés depuis la RAM

La cold boot attack exploite la rémanence de la DRAM : les données en RAM ne disparaissent pas instantanément quand l'alimentation est coupée. En refroidissant les modules de RAM (air compressé inversé : -50°C, ou azote liquide : -196°C), la rémanence peut durer plusieurs minutes. Le processus d'attaque :

  1. Refroidir la RAM : air compressé inversé sur les modules DRAM (gel visible sur les puces)
  2. Redémarrer sur un OS live : boot USB avec un outil d'extraction (cold boot tool, volatility)
  3. Dump de la RAM : lire le contenu de la RAM avant que les données ne se dégradent
  4. Extraction des clés : rechercher les clés AES de BitLocker dans le dump (patterns AES key schedule)

Les outils aeskeyfind et rsakeyfind recherchent automatiquement les key schedules AES et RSA dans un dump mémoire. L'attaque est efficace contre BitLocker en mode TPM-only car la clé FVEK est en mémoire en clair pendant toute la durée du fonctionnement.

TPM Sniffing : Interception sur le Bus SPI/LPC

Pour les systèmes avec un dTPM (TPM discret, puce séparée), la communication entre le CPU et le TPM passe par un bus physique (SPI ou LPC). En connectant un logic analyzer (Saleae, DSLogic) aux traces du bus, l'attaquant peut intercepter la VMK BitLocker quand le TPM la libère au boot :

# TPM Sniffing avec un Saleae Logic Analyzer
# 1. Identifier les pins SPI du dTPM sur la carte mère
# (CLK, MOSI, MISO, CS — datasheet du TPM)

# 2. Connecter le logic analyzer aux traces SPI

# 3. Capturer pendant le boot
# Le TPM envoie la VMK en réponse à TPM2_Unseal

# 4. Décoder la capture SPI
# L'outil tpm2-spi-decode parse le protocole TPM sur SPI
python3 tpm2_spi_decode.py --capture boot_capture.sr

# 5. Extraire la VMK
# La VMK est envoyée dans la réponse TPM2_Unseal
# Puis utilisée par BitLocker pour déchiffrer la FVEK

# 6. Déchiffrer le volume BitLocker avec la VMK
dislocker -V /dev/sda2 -K vmk.bin -- /mnt/bitlocker

Evil Maid Attack et Bootloader Manipulation

L'evil maid attack cible le bootloader : l'attaquant modifie le Windows Boot Manager pour injecter un keylogger qui capture le PIN BitLocker (si TPM+PIN est configuré) et le transmet à l'attaquant. Les mitigations incluent Secure Boot (vérifie la signature du bootloader) et Measured Boot (les PCR changent si le bootloader est modifié).

fTPM : Vulnérabilités du TPM Firmware

Le fTPM (firmware TPM) — implémenté dans AMD PSP ou Intel PTT — n'est pas un coprocesseur séparé mais un logiciel tournant dans l'environnement de confiance du CPU. Les attaques sur le coprocesseur de sécurité (AMD PSP, Intel ME) peuvent compromettre le fTPM. En 2023, des chercheurs ont démontré faulTPM : une attaque par injection de fautes voltage glitching sur AMD fTPM, permettant d'extraire les secrets scellés — y compris les clés BitLocker.

⚠️ Attention — BitLocker en mode TPM-only (la configuration par défaut de Windows) est vulnérable au cold boot et au TPM sniffing. Le TPM+PIN est le minimum requis pour une protection efficace contre les attaques physiques. Pour les données hautement sensibles, ajoutez une clé USB de démarrage en complément.

À retenir

  • Le TPM stocke les clés dans un coprocesseur matériel isolé — mais la clé transite en clair sur le bus SPI/LPC
  • BitLocker TPM-only (défaut Windows) est vulnérable au cold boot ET au TPM sniffing — toujours activer TPM+PIN
  • Le cold boot attack exploite la rémanence DRAM — les clés AES sont en mémoire pendant toute la session
  • Le fTPM (AMD PSP, Intel PTT) est vulnérable aux attaques sur le coprocesseur (faulTPM, voltage glitching)
  • Secure Boot + Measured Boot protègent contre les evil maid attacks (modification du bootloader)

FAQ — Questions Fréquentes

BitLocker en mode TPM-only est-il vraiment vulnérable ?

Oui, BitLocker TPM-only est vulnérable aux attaques physiques. Le TPM libère automatiquement la VMK au boot sans interaction utilisateur — un attaquant peut extraire la clé via cold boot (RAM freeze) ou TPM sniffing (logic analyzer sur le bus SPI). Microsoft documente que TPM-only protège contre le vol de disque (hors machine) mais pas contre un attaquant avec accès physique à la machine complète.

Comment se protéger contre le cold boot attack ?

Les mitigations principales : TPM+PIN (le PIN participe à la dérivation de la clé — même avec la RAM, l'attaquant ne peut pas reconstruire la clé sans le PIN), désactiver le boot USB dans le BIOS/UEFI, activer Secure Boot, et couper l'alimentation complètement (pas de mise en veille/hibernation). DDR5 avec ECC a une rémanence plus courte que DDR4, mais n'élimine pas le risque.

Le TPM sniffing fonctionne-t-il sur les fTPM (Intel PTT, AMD PSP) ?

Non, le TPM sniffing ne fonctionne pas sur les fTPM car il n'y a pas de bus physique séparé — le fTPM est intégré dans le CPU. C'est un avantage sécurité des fTPM sur les dTPM. Cependant, les fTPM sont vulnérables à d'autres attaques : faulTPM (voltage glitching sur AMD PSP), exploitation du firmware PSP/ME, et side-channel attacks sur le CPU.

Besoin d'un accompagnement expert ?

Nos consultants spécialisés en audit de sécurité matérielle vous accompagnent dans l'évaluation de votre posture de sécurité.

Contactez-nous
Article recommandé : Format String Exploitation : Du Crash au RCE Moderne
Ayi NEDJIMI

Testez vos défenses avant les attaquants

Pentest, Red Team, audit de sécurité — rapport détaillé avec plan de remédiation priorisé.

TPM et Cold Boot : comprendre l'architecture d'attaque

Le TPM (Trusted Platform Module) et BitLocker forment une solution de chiffrement de disque robuste contre les attaques passives (vol d'équipement, accès non autorisé au disque hors du système). Mais cette architecture présente des angles morts structurels que les cold boot attacks et les attaques sur le bus LPC exploitent avec succès depuis plus d'une décennie.

Pourquoi les clés BitLocker transitent par un bus non chiffré

Le malentendu fondamental sur la sécurité TPM + BitLocker est de croire que la clé de chiffrement reste enfermée dans le TPM. En réalité, lors du démarrage normal du système, la clé de volume BitLocker (VMK) est transmise du TPM au CPU via le bus LPC (Low Pin Count) ou SPI — des bus de communication qui, sur la grande majorité des systèmes déployés, ne chiffrent pas leurs communications.

Cette transmission est observable physiquement avec un analyseur de bus (Logic Analyzer connecté aux pins LPC du TPM) ou via des outils logiciels qui capturent la clé dans la mémoire RAM immédiatement après le démarrage. Des chercheurs ont documenté cette technique avec du matériel à moins de 50 euros (Raspberry Pi Pico + sonde logique).

Cold Boot Attack : mécanisme et conditions d'exploitation

Une attaque cold boot exploite la persistance des données en mémoire RAM après une mise hors tension. Contrairement à la croyance populaire, la RAM ne s'efface pas instantanément à la coupure d'alimentation. Les cellules DRAM conservent leur état pendant des secondes à des minutes à température ambiante — et pendant plusieurs heures si la RAM est refroidie (d'où le nom "cold boot").

La séquence d'une cold boot attack en conditions réelles :

  1. Accès physique à un système en état de fonctionnement (ou en veille) : le système est déverrouillé, BitLocker a déchiffré le volume, la VMK est présente en RAM.
  2. Refroidissement rapide de la RAM : spray cryogénique (vaporisateur d'air comprimé retourné, azote liquide pour les scénarios les plus extrêmes) sur les barrettes RAM pour augmenter le temps de rétention des données.
  3. Extraction des barrettes RAM : les barrettes sont retirées et insérées dans un système de collecte dédié qui démarre depuis USB avec un outil spécialisé (msramdump, LiME).
  4. Analyse de la mémoire capturée : des outils comme Volatility permettent d'extraire les clés BitLocker (VMK) présentes dans le dump mémoire. La clé extraite permet de déchiffrer le disque hors du système cible.

Contre-mesures efficaces contre les cold boot et LPC sniffing

Face à ces vecteurs d'attaque documentés, des contre-mesures techniques et organisationnelles permettent de réduire significativement l'exposition :

  • PIN BitLocker (TPM+PIN) : l'ajout d'un PIN au processus de démarrage BitLocker (mode TPM+PIN au lieu de TPM seul) empêche le déchiffrement automatique au démarrage. Même si la clé est extraite du bus LPC, elle est inutilisable sans le PIN. Le PIN doit être suffisamment complexe (8+ caractères alphanumériques) pour résister à une attaque par force brute hors ligne.
  • Chiffrement du bus LPC (Pluton, fTPM) : les processeurs AMD Ryzen avec fTPM intégré dans le SOC (Firmware TPM) et les processeurs Microsoft Pluton (architecture intégrée dans le CPU) ne transmettent pas la clé sur un bus externe observable. Ces architectures éliminent le vecteur LPC sniffing. Migration à privilégier lors du renouvellement du parc.
  • Politique de veille sécurisée : configurer les systèmes pour qu'ils s'éteignent (pas de mise en veille) après une période d'inactivité, ou qu'ils chiffrent la mémoire RAM lors de la mise en veille (hibernation avec chiffrement de hiberfil.sys). Désactiver le mode veille prolongée si le fichier d'hibernation n'est pas chiffré.
  • Protection physique des équipements sensibles : les cold boot attacks requièrent un accès physique non surveillé de plusieurs minutes. Une politique de surveillance physique stricte (no-unattended-laptop, kensington lock, détection d'intrusion) réduit l'opportunité d'exploitation.
  • Effacement de la mémoire au démarrage (Memory Scrubbing) : certains firmwares UEFI peuvent être configurés pour écraser la RAM lors du démarrage. Cette option, quand elle est disponible, réduit le temps de rétention des données en mémoire.

Cas d'usage : quand ces attaques sont-elles réellement exploitées ?

Les cold boot attacks et le LPC sniffing ne sont pas des attaques que les cybercriminels ordinaires déploient. Elles nécessitent un accès physique et des compétences matérielles. Ces vecteurs sont pertinents dans des contextes spécifiques :

  • Espionnage industriel et étatique : des acteurs avec des ressources et des accès physiques (voyages d'affaires, hôtels, conférences) peuvent cibler des ordinateurs portables contenant des secrets industriels ou gouvernementaux. Le cas du "evil maid attack" dans les chambres d'hôtel est documenté dans la littérature de sécurité.
  • Investigations forensiques légales : les forces de l'ordre utilisent des techniques similaires pour accéder aux données de suspects dont les ordinateurs sont chiffrés. BitLocker sans PIN peut être contourné dans un contexte forensique avec le matériel approprié.
  • Extraction de secrets sur des systèmes en production : des attaquants avec accès physique temporaire à une salle serveur (via social engineering, faux technicien) peuvent cibler des serveurs avec des clés de chiffrement en mémoire.

Foire aux questions — TPM, BitLocker et cold boot

BitLocker avec TPM seul est-il suffisant pour les ordinateurs portables d'entreprise ?

Non, pour les ordinateurs portables transportant des données sensibles. Le mode TPM seul protège contre le vol de disque dur (extraction physique du SSD et lecture dans un autre système) mais pas contre les cold boot attacks ni le LPC sniffing qui requièrent un accès physique à l'ordinateur sous tension. Pour les postes avec des données sensibles (données clients, secrets industriels, credentials d'accès privilégiés), activez le mode TPM+PIN. Le PIN ajoute une friction minime à l'utilisateur mais un obstacle majeur à l'attaquant.

Les Mac avec puce T2 ou Apple Silicon sont-ils vulnérables au cold boot ?

Non, dans leur configuration standard. La puce T2 (Intel Mac) et les puces Apple Silicon (M1, M2, M3) intègrent un coprocesseur de sécurité qui gère le chiffrement du stockage avec des clés qui ne transitent pas sur un bus observable. De plus, Apple Silicon ne permet pas le démarrage depuis un support externe sans déverrouiller le mode DFU — ce qui empêche le scénario de cold boot attack classique. Les Mac représentent une amélioration architecturale significative sur ce point de sécurité spécifique.