Une nouvelle attaque permet d'extraire les clés de chiffrement BitLocker d'un TPM

Hector Martin, un consultant en cybersécurité et hacker japonais, a découvert une vulnérabilité sur Microsoft BitLocker. Denis Andzakovic, chercheur chez Pulse Security a, par la suite, publié un bulletin décrivant son exploitation, considérée comme critique. Un attaquant pourrait alors l’exploiter afin d’effectuer une fuite de données depuis un appareil Windows.

Un accès physique à la machine est nécessaire sans aucun niveau d’authentification particulier. Cette attaque serait relativement complexe à mettre en œuvre. L’impact estimé sur la confidentialité et l’intégrité des données est très élevé.

BitLocker est une fonction de chiffrement incluse dans Microsoft Windows à partir des versions de Windows Vista. Il est conçu pour protéger les données en fournissant un chiffrement pour un volume entier. Le logiciel utilise les puces TPM (Trusted Platform Module) permettant d’effectuer les opérations de chiffrement. La puce est présente sur la carte mère et communique avec le reste du système à l’aide de bus.

Andzakovic a montré la manière dont les clés de chiffrement BitLocker peuvent être extraites des puces TPM 1.2 et 2.0 en utilisant une carte FPGA (pour field programmable gate array ou réseau de portes logiques programmables) et un analyseur de signal logique. Il a communiqué cette menace à l’équipe de sécurité de Microsoft avant de publier sa démonstration de faisabilité.

Détails techniques :

L’attaque s'exerce dans le cadre d’une configuration standard de Microsoft BitLocker, c’est-à-dire qu’aucune interaction supplémentaire n’est demandée à l’utilisateur au démarrage.

Par défaut, les disques d’OS protégés par Microsoft BitLocker le sont en mode FVEK (Full volume Encryption Key), chiffrant l'intégralité du voulume, et le chiffrement s’effectue à l’aide d’une clé maître que l’on nomme VMK (Volume Master Key).

À l’extérieur, le TPM communique avec le BIOS, le processeur (CPU) et la mémoire vive (RAM) à l’aide d’un bus généralement de type LPC. Les données peuvent être accessibles en analysant les paquets transitant par le bus LPC (sniffing) puis en récupérant la clé VMK lorsqu’elle est retournée par le TPM. On utilise ensuite cette clé pour déchiffrer le disque. L’article d’Andzakovic examine comment extraire la clé en texte clair sur puce TPM 1.2 et TPM 2.0.

  • Exploitation sur TPM 1.2 :

Une fois la carte FPGA connectée à la puce, il est nécessaire de décoder l’information circulant sur le bus avec un analyseur. Le chercheur a utilisé DSLogic mais conseille d’en utiliser un disposant d'une meilleure capacité de mémoire. Il a ensuite noté manuellement les octets observés et y a cherché la clé en utilisant les entêtes.

  • Exploitation sur TPM 2.0 :

Les périphériques TPM 2.0 prennent en charge le chiffrement des paramètres de commande et de réponse, ce qui permet d’éviter les attaques par détection. Cependant, Windows ne le configure pas sur ses systèmes. Par conséquent, la même attaque d’un périphérique TPM 1.2 s’applique à des périphériques TPM 2.0. Ici, le sniffing du bus a été fait à l’aide d’une interface iCEstick de Lattice. Après branchement sur le TPM, il a écouté les messages reçus visibles depuis un terminal. De la même manière, il a tenté de retrouver la clé maitre à l'aide des entêtes.

Aucun correctif n’a été publié par Microsoft mais des solutions de contournements existent. Du fait de leur criticité, les utilisateurs possédant des données sensibles et voulant les protéger sont invités à appliquer les solutions de contournements correspondantes.

Informations
+

Risques

  • Atteinte à la confidentialité des données.

Criticité

  • Score CVSS : N/A

Existence d’un code d’exploitation de la vulnérabilité

  • La démonstration de faisabilité de Denis Andzakovic est détaillé dans son bulletin.

  • Un code d’exploitation public existe également sur la plateforme Github.

Composants & versions vulnérables

  • TPM 1.2 et TPM 2.0

CVE

  • N/A

Recommandations
+

Mise en place de correctif de sécurité

  • Aucun correctif n’est disponible.

Solution de contournement

  • L'activation de BitLocker avec un protecteur TPM + PIN devrait empêcher cette vulnérabilité, mais les utilisateurs devront entrer un code PIN au démarrage.
  • Les cartes à puce ou les clés USB utilisées comme authentification de pré-amorçage supplémentaire en plus de l'authentification TPM devraient également produire le même effet.