6 points par kuroneko 2023-08-25 | 1 commentaires | Partager sur WhatsApp
  • Un analyseur logique bon marché permet de contourner le chiffrement complet du disque de BitLocker sur des ordinateurs équipés d’une puce TPM distincte.
  • BitLocker génère d’abord la FVEK (Full Volume Encryption Key), puis la chiffre avec la VMK (Volume Master Key) avant de la stocker sur le disque dur.
    • Lorsque le TPM est activé, la VMK est stockée dans le TPM, puis récupérée depuis celui-ci au démarrage pour déchiffrer le disque dur.
    • Mais pendant ce processus de récupération de la VMK, des messages sont transmis en clair.
  • Pour les déchiffrer, il faut capturer les commandes SPI échangées entre le CPU et la puce TPM à l’aide d’un analyseur logique.
    • Comme il est très difficile de connecter l’analyseur logique directement à la puce TPM, la capture du signal commence en se branchant sur une autre puce qui partage le bus SPI avec le TPM.
    • Il faut d’abord capturer des requêtes SPI faciles à identifier, puis décoder le TIS, qui représente la communication selon la spécification de l’interface TPM.
    • Comme il n’existe pas de méthode simple pour décoder le TIS, cela a été fait manuellement, ce qui a permis d’identifier l’octet de début des signaux TPM.
    • L’étape suivante consiste à capturer la commande TPM2_Unseal décrite dans la spécification TPM 2.0 afin de récupérer le secret.
    • En utilisant les octets identifiés dans le TIS, on repère les commandes TPM 2.0, on sépare les réponses, puis on isole le buffer de la réponse TPM avec un outil comme tpmstream-web.
  • Une fois la clé obtenue, il devient possible d’accéder aux données du disque dur.
    • Il suffit de retirer le disque dur, de le connecter à un autre système, puis d’explorer le système de fichiers chiffré avec un outil comme dislocker.
    • On peut ensuite créer un shell système utilisable depuis l’écran de connexion via la méthode classique consistant à remplacer un programme précis par cmd.exe.
    • Avec un cmd lancé avec les privilèges administrateur, tout devient possible.
  • En conclusion, la présence d’un TPM physique rend BitLocker très vulnérable ; un fTPM, entièrement intégré au CPU et insensible à ce type d’attaque, est donc recommandé.
  • Pour utiliser BitLocker en toute sécurité sur un système doté d’un TPM physique, il faut configurer un PIN ou un mot de passe.

1 commentaires

 
kuroneko 2023-08-25

Voici un autre billet sur le même sujet.

Apparemment, ce problème survient parce que, de façon assez étrange, BitLocker n’utilise pas la session chiffrée que le TPM met en place pour empêcher ce type d’attaque de l’homme du milieu.
On dit que systemd, lorsqu’il est utilisé avec le TPM et le chiffrement LUKS, n’a pas ce problème.

BitLocker était donc bien plus vulnérable que je ne le pensais dans certaines situations.
Comme il s’agit d’un module de sécurité qui porte carrément le mot Trusted dans son nom, je pensais qu’un problème de ce genre n’existerait pas...