De nos jours, les efforts en matière de sécurité se concentrent principalement sur les applications web, les infrastructures internes, Active Directory et d’autres surfaces d’attaque traditionnelles. Cependant, avec l’essor du télétravail, les postes de travail des collaborateurs sont de plus en plus exposés au vol.
Dans ce contexte, la principale mesure de sécurité disponible pour sécuriser les données au repos est le chiffrement complet du disque. Pour cela, la plupart des entreprises s’appuient sur l’outil de chiffrement de disque intégré de Microsoft, BitLocker. Cependant, on suppose souvent que le simple fait d’activer le chiffrement du disque suffit à protéger les données.
Bien que BitLocker soit présenté comme la solution pour garantir la confidentialité et l’intégrité des données, il peut néanmoins être contourné, à l’aide d’attaques matérielles ou logicielles peu coûteuses. De telles attaques entraînent la perte totale de confidentialité et d’intégrité sur la machine cible.
Dans cet article, nous résumons le fonctionnement de BitLocker et nous nous appuyons sur ces connaissances pour examiner les récentes attaques physiques et logiques qui continuent de menacer la sécurité des postes de travail.
Rappels sur le fonctionnement de BitLocker
BitLocker est un mécanisme de chiffrement complet du disque intégré à Windows depuis son introduction avec Windows Vista en janvier 2007, défini comme suit : « BitLocker est une fonctionnalité de sécurité Windows qui protège vos données en chiffrant vos lecteurs. Ce chiffrement garantit que si une personne tente d’accéder à un disque hors connexion, elle ne pourra pas lire son contenu. » (Vue d’ensemble de BitLocker – Support Microsoft)
Sa sécurité repose sur une hiérarchie de clés simple : la fuite d’une clé peut compromettre l’ensemble du disque.
Deux clés sont impliquées :
- La clé de Full Volume Encryption Key (FVEK), qui chiffre les secteurs du disque
- La clé Volume Master Key (VMK), qui chiffre la FVEK. Cette clé est stockée et protégée par le module TPM (Trusted Platform Module), un composant de sécurité conçu pour stocker des secrets cryptographiques.
La FVEK est stockée sur le disque chiffré par la VMK ; pendant le démarrage, le déchiffrement s’effectue comme ceci :

Le poste de travail utilisé comme exemple dans cet article fournit la clé VMK via le bus SPI, mais divers autres protocoles tels que LPC peuvent être observés (LPC n’implique pas davantage de fonctionnalités de sécurité que SPI).
La clé VMK est libérée pendant le démarrage via un bus SPI (protocole série à faible débit avec 4 lignes de signaux) entre la puce TPM et le processeur. Cette clé est l’élément le plus critique, car elle permet le déchiffrement de l’ensemble du disque.
Cette architecture montre qu’à un moment donné, la clé VMK est transmise en clair sur le bus SPI et que la clé FEVK est stockée sans cryptage dans la mémoire RAM. Cette configuration peut être exploitée par des attaquants à l’aide de diverses attaques physiques et logiques. Les sections suivantes décrivent comment ce comportement peut être exploité.
Attaques physiques
Les attaques physiques nécessitent un équipement physique dédié pour exploiter la vulnérabilité. Cela implique généralement l’utilisation d’outils tels que des sondes, des analyseurs logiques et des périphériques malveillants dédiés.
Contre BitLocker et la TPM, les attaques matérielles peuvent encore, avec peu de prérequis, être exploitées aujourd’hui. Cette section se concentre sur les deux principales techniques matérielles : le sniffing de TPM et les attaques DMA.
TPM sniffing
Au repos, le VMK est stocké et protégé par le TPM. Elle est libérée au démarrage et transmise au CPU. Le TPM part du principe que le canal de communication est sécurisé et ne peut être compromis. Cependant, sur la carte mère, ce canal de communication est généralement défini par un bus SPI reliant différentes puces entre elles.
Conditions préalables à l’attaque :
- 140 € de sondes et d’analyseur logique.
- Accès physique à un système éteint.
- BitLocker configuré sans code PIN de pré-boot.
L’idée principale derrière cette attaque est de localiser le bus sur lequel le VMK est transmis, de placer des sondes pour capturer les données échangées sur le bus et d’extraire le VMK au démarrage.
La première étape consiste donc à identifier la puce TPM et son interface SPI. Heureusement, les TPM sont des composants standardisés dont le brochage est connu. En examinant la disposition de la carte mère, les fiches techniques ou les informations accessibles au public, l’attaquant peut déterminer quelles broches correspondent aux signaux SPI du TPM.
Une fois le bus identifié, l’attaquant établit une connexion physique stable avec le bus en fixant des sondes sur la carte mère. Dans l’exemple actuel, les sondes utilisées sont des Sensepeek SP10, pour leur précision. En pratique, le bus SPI est souvent partagé avec d’autres composants qui reçoivent passivement le trafic sans le traiter, telle que la puce flash du BIOS. Il est souvent plus facile de renifler le bus à partir de ces composants, et c’est l’approche utilisée dans notre exemple ci-dessous :

Un analyseur logique est ensuite connecté aux sondes en mode d’écoute passive. Cet appareil permet de capturer et de décoder les signaux numériques. Il permet l’analyse et la traduction des signaux dans un protocole connu, tel que SPI. Dans l’exemple actuel, l’analyseur logique sipeed slogic16u3 est utilisé. La seule nécessité est d’utiliser un analyser logique avec un taux de capture suffisant. Celui-ci permet de capturer les signaux à 200MHz, ce qui est suffisant. Il est important de noter que l’attaquant n’a pas besoin d’injecter du trafic ou d’interférer avec le bus ; il lui suffit d’observer.
Des projets open source tels que PulseView peuvent être utilisés pour interpréter les données capturées. Des plugins accessibles au public peuvent ensuite être utilisés pour décoder les signaux électroniques et les reconvertir en protocoles de communication :

PluseView effectue plusieurs étapes dans la même analyse. Tout d’abord, les signaux détectés sont convertis en protocole SPI. Ensuite, le protocole SPI est converti en commandes TPM, qui sont documentées publiquement. Ces commandes ont des en-têtes spécifiques, telles que lecture ou écriture de la mémoire. Ces fonctions permettent d’interpréter les données transmises et de récupérer, comme le montre la capture, la VMK.
À ce stade, le secret de BitLocker a été compromis sans modifier l’état du système ni échouer aux contrôles d’intégrité.
Une fois le VMK récupéré, l’attaquant peut retirer le disque et le déchiffrer hors ligne à l’aide du projet open source Dislocker. Ce logiciel simule une utilisation légitime du VMK et trouve le secteur contenant la FVEK sur partition encore chiffrée. L’utilisation légitime du FVEK est ensuite utilisée pour déchiffrer l’intégralité de la partition Windows :

Toutes les données stockées sur le disque deviennent accessibles, y compris les fichiers système, les données utilisateur et les identifiants enregistrés. Cela entraîne une perte totale de confidentialité et d’intégrité. Contrairement aux attaques logicielles, cette technique ne laisse aucune trace forensique sur le système. Cette attaque est un vecteur d’attaque de plus en plus probable à mesure que le matériel devient plus accessible, moins cher et mieux documenté.
Il existe deux versions principales du TPM, 1.2 et 2.0 (intégrant une fonctionnalité cryptographique) : cette attaque fonctionne sur les deux versions. Le sniffing de TPM reste possible sur la plupart des postes de travail.
Toutefois, sur certains modèles d’ordinateurs portables plus récents, le TPM est directement intégré au processeur (firmware TPM). Ces firmware TPM rendent le sniffing de la TPM impossible. Cependant, ces types de TPM sont nouveaux et peu répandus.
Direct Memory Access
Direct Memory Access (DMA) est une fonctionnalité légitime qui permet à certains composants matériels, tels que les cartes réseau, les cartes graphiques ou les périphériques externes connectés via des interfaces haut débit, d’accéder directement à la mémoire vive (RAM) d’un ordinateur, sans impliquer constamment le processeur (par synacktiv-slides-ng) :

BitLocker part du principe que les accès à la mémoire sont contrôlés et fiables, ses clés étant stockées dans la TPM ou la RAM, supposément inaccessibles à un attaquant. Mais cette hypothèse peut être remise en cause. En exploitant cette confiance au niveau matériel, les attaquants disposant d’appareils compatibles avec l’accès direct à la mémoire (DMA) peuvent lire et manipuler la mémoire, compromettant ainsi la confidentialité et l’intégrité des données du poste de travail. L’idée principale derrière cette attaque est de connecter un périphérique compatible DMA au poste de travail et de l’utiliser pour accéder directement la mémoire physique pendant que le système est en cours d’exécution.
Conditions préalables à l’attaque :
- Environ 160 € de matériel.
- Accès physique au poste de travail.
- BitLocker configuré sans code PIN de pré-boot.
- Protections DMA désactivées (IOMMU / Kernel DMA Protection) dans les paramètres du BIOS.
Les systèmes modernes s’appuient sur l’Input-Output Memory Management Unit (IOMMU, Intel VT-d ou AMD-Vi) pour assurer l’isolation de la mémoire entre les mémoires périphériques et le reste du système. La première étape consiste à s’assurer que les protections DMA sont désactivées dans le BIOS.
On suppose souvent que les mots de passe BIOS protègent ces paramètres. Cependant, dans la pratique, ils constituent un contrôle faible, et les techniques de suppression des mots de passe BIOS sont bien documentées. Par conséquent, un attaquant disposant de suffisamment de temps et d’un accès physique peut souvent désactiver les protections IOMMU.
Une fois les protections DMA désactivées, l’attaquant connecte un périphérique compatible DMA à une interface PCIe exposée. Dans l’exemple actuel, un périphérique PCI-Screamer est utilisé. Ce périphérique est utilisé comme un périphérique PCIe malveillant qui permet de communiquer en DMA et d’exécuter des commandes personnalisées sur le système cible.
À ce stade, l’attaque est orchestrée à partir du poste de travail du pirate. Le projet open source lié au PCI-Screamer, PCILeech, communique avec le PCI-Screamer via USB-C et émet des commandes qui lui demandent de lire ou de modifier des régions spécifiques de la mémoire physique sur le système cible.
Le matériel DMA lui-même sert de pont : il expose la mémoire de la cible via PCIe :

PCILeech est désormais capable de charger des drivers vulnérables afin de fournir des fonctionnalités telles que :
- Exécution de code au niveau du noyau sur le système cible
- Génération de shells SYSTEM et d’autres exécutables (Windows)
- Extraction et transfert de fichiers (Linux, FreeBSD, Windows, macOS)
- Correction ou suppression des protections par mot de passe (Windows, macOS)
L’impact va bien au-delà de la simple exposition des données. Un attaquant peut extraire les clés de chiffrement BitLocker, accéder au disque déchiffré hors ligne, voire passer directement aux privilèges SYSTEM sur la machine en cours d’exécution.
Bien que cette vulnérabilité ne cible pas directement les clés BitLocker comme le font les attaques par sniffing TPM, elle remet en cause l’hypothèse fondamentale selon laquelle l’activation du chiffrement du disque suffit à protéger le système.
Attaques logiques
Contrairement aux attaques matérielles, ces techniques reposent entièrement sur des composants Windows légitimes et des mécanismes documentés. Il s’agit le plus souvent de vulnérabilités faisant l’objet d’un correctif par Microsoft. Plusieurs attaques de ce type ont été révélées au cours des dernières années.
BitPixie
La cible de cette attaque contre BitLocker est la transition entre le processus de démarrage de Windows et l’environnement de récupération.
BitLocker part du principe qu’une fois que la séquence de démarrage passe en mode de récupération, les clés cryptographiques sont correctement effacées de la mémoire. Dans certaines conditions spécifiques, cette hypothèse ne se vérifie pas, et ce comportement est exploité par l’attaque communément appelée BitPixie (CVE 2023 21563).
Conditions préalables à l’attaque :
- Accès physique au poste de travail.
- BitLocker configuré sans code PIN de pré-boot.
- BIOS avec Secure Boot activé et accès réseau (démarrage PXE).
L’idée principale derrière cette attaque est de forcer le système à passer en mode de récupération, dans lequel les clés de chiffrement BitLocker restent présentes dans la mémoire et peuvent être extraites. Elle exploite un gestionnaire de démarrage Windows signé mais vulnérable, associé à un fichier BCD (Boot Configuration Data) spécialement conçu pour forcer le système à passer en mode de récupération, dans lequel les clés BitLocker restent en mémoire.
La première étape consiste à démarrer le système cible dans l’environnement de récupération Windows (par exemple en utilisant le mécanisme Shift+Restart). À partir de là, la machine reçoit l’instruction de démarrer en PXE. Le PXE est utilisé uniquement comme mécanisme de livraison, l’installation Windows elle-même n’est pas modifiée.
Lors du premier démarrage PXE, l’attaquant fournit un gestionnaire de démarrage Windows signé mais vulnérable. Comme le fichier binaire est correctement signé, Secure Boot l’accepte. Cela permet de passer à une version du chargeur de démarrage vulnérable à BitPixie.
Un fichier BCD personnalisé est également fourni. C’est la partie critique de l’attaque :
- Le fichier BCD définit une entrée de démarrage par défaut pointant vers une partition de disque valide, mais un point de démarrage invalide.
- L’objectif est de déclencher un échec de démarrage contrôlé après que BitLocker a libéré la VMK, mais avant la fin du processus de démarrage normal.
- Cela provoque le retour de Windows en mode de récupération sans effacer la mémoire vive contenant les clés cryptographiques.
Comme le bootloader et le BCD ne sont pas chiffrés, toute cette étape peut être effectuée sans authentification auprès de Windows.
Lors du deuxième démarrage PXE, le système démarre à nouveau dans un environnement compatible avec Secure Boot. Secure Boot reste intact tout au long du processus. L’objectif est d’accéder à la mémoire système pendant que les clés BitLocker sont encore présentes dans la RAM.
À partir de cet environnement Linux, l’attaquant exploite une vulnérabilité du noyau (CVE-2024-1086) pour obtenir la possibilité de lire la mémoire système. La clé VMK, toujours présente dans la RAM en raison du processus de récupération défectueux, peut alors être localisée et extraite. Aucune attaque cryptographique n’est nécessaire ; la clé est récupérée directement dans la mémoire.
Une fois la clé VMK obtenue, l’attaquant peut déchiffrer la clé FVEK sur le disque et monter le volume protégé par BitLocker hors ligne. Toutes les données du disque deviennent alors accessibles. Cette chaîne d’attaque peut être résumée comme ceci :

La faille principale réside dans la gestion du cycle de vie des clés BitLocker plutôt que dans le chiffrement lui-même. Le processus de récupération part du principe que le passage en mode de récupération est une opération fiable et ne parvient pas à correctement effacer les données sensibles en mémoire. Le Secure Boot garantit l’intégrité du code, mais pas la bonne gestion des clés. Étant donné que les composants de démarrage signés mais vulnérables sont toujours acceptés, l’attaquant peut légalement atteindre un état dans lequel les clés BitLocker restent accessibles dans la RAM.
L’impact de BitPixie est une perte totale de confidentialité. Le disque d’un poste de travail volé, éteint et entièrement mis à jour peut être déchiffré sans attaque matérielle, modification du micrologiciel ou identifiants valides. L’attaque ne laisse aucune trace sur l’installation Windows et utilise uniquement des composants signés et des chemins de démarrage documentés. Cette attaque a été démontrée avec succès sur un poste de travail entièrement à jour en décembre 2024 lors de la conférence CCC donnée par Thomas Lambertz : “Windows BitLocker: Screwed without a Screwdriver” (Windows BitLocker: Screwed without a Screwdriver – media.ccc.de).
Autres attaques
Au-delà de BitPixie, d’autres attaques logicielles contre BitLocker ont été révélées en 2025, notamment plusieurs vulnérabilités affectant l’environnement de récupération Windows (WinRE). Cela a été présenté en décembre 2025 lors de la conférence CCC par Alon Leview : BitUnlocker: Leveraging Windows Recovery to Extract BitLocker Secrets » (Windows BitLocker: Screwed without a Screwdriver – media.ccc.de).
La cible de ces attaques est l’environnement de récupération Windows. Il fonctionne comme un système d’exploitation de récupération fiable, entièrement chargé dans la mémoire RAM. BitLocker part du principe que l’environnement de récupération traite correctement ses clés de chiffrement. Dans certaines conditions spécifiques, ces hypothèses peuvent ne pas être valables.
Comme il peut hériter de l’accès à un volume chiffré déjà déverrouillé, les faiblesses de sa logique de démarrage, de la gestion du disque RAM ou des fichiers de configuration de récupération pourraient, dans certaines conditions, être exploitées pour influencer le flux d’exécution ou accéder aux clés de chiffrement.
Bien que corrigées, ces découvertes illustrent un thème récurrent : les mécanismes Windows légitimes conçus pour la résilience peuvent involontairement élargir la surface d’attaque.
Mesures de sécurité supplémentaires
Dans la configuration par défaut de BitLocker, un attaquant dispose de plusieurs options pour attaquer BitLocker et tenter d’accéder au disque déchiffré. Le sniffing de TPM, les exploitations DMA et les attaques logicielles telles que BitPixie montrent qu’il est dangereusement naïf de supposer que « disque chiffré = sûr ».
La mesure la plus efficace consiste à utiliser un code PIN BitLocker avant le démarrage, qui nécessite une saisie de la part de l’utilisateur avant que la VMK ne soit libérée. Cela bloque la plupart des attaques dont nous avons parlé. Mais comme l’ingénierie sociale pourrait être utilisée pour le récupérer auprès du propriétaire, ce n’est pas une solution miracle.
Les TPM firmware protègent contre le sniffing TPM et les protections DMA aident à prévenir les attaques basées sur la mémoire. Malgré tout, aucune de ces mesures de contrôle n’est suffisante à elle seule.
La véritable sécurité passe par une défense en profondeur. Combiner l’authentification avant le démarrage, les protections matérielles, les environnements de récupération renforcés et les contrôles d’accès après déverrouillage. Les données sensibles doivent être protégées par plusieurs couches afin que la compromission d’un seul mécanisme n’expose pas l’ensemble du disque :
- Appliquer l’authentification pre-boot par code PIN BitLocker avant le démarrage.
- Privilégier les postes de travail avec une fTPM (firmware du CPU) plutôt qu’une dTPM.
- Activer les protections DMA / IOMMU.
- Configurer un mot de passe BIOS.
- Limiter le démarrage PXE/réseau.
