BitLocker, le FileVault de Microsoft, cassé en moins de 45 secondes avec un Raspberry Pi Pico

Pierre Dandumont |

Dans le monde Microsoft, l'équivalent de FileVault porte le nom de BitLocker. Cette technologie permet de chiffrer complètement le périphérique de stockage d'un ordinateur (comme FileVault) pour protéger les données. Mais BitLocker, apparu avec Windows Vista, a quelques failles. Et la dernière en date permet de récupérer les clés de chiffrement en moins de 45 secondes avec un accès physique. Qui plus est, elle nécessite très peu de matériel.

La faille présentée vise spécifiquement les PC portables de Lenovo, et nécessite un Raspberry Pi Pico (une carte de développement vendue pour quelques euros). Elle est liée au fait que Microsoft stocke les clés de chiffrement dans un composant qui porte le nom de TPM (Trusted Platform Module) et que la liaison entre cette puce et le reste du système passe par un bus dédié. En interceptant la liaison entre le composant et le reste du système, il est donc parfois possible de récupérer la clé.

La puce TPM (au milieu de l'image).

L'attaque nécessite un PC avec une puce TPM dédiée et un accès physique au bus de communication entre la puce et le CPU, ce qui est précisément le cas sur certains PC portables Lenovo, à travers les traces d'un connecteur de debug. De façon très schématique, la puce TPM envoie en effet la clé de déchiffrement en clair sur ce bus quand elle considère que le mécanisme de démarrage n'a pas été altéré (par exemple en modifiant le firmware).

Les traces du connecteur de debug (sous la carte mère).

Les ingénieurs de Lenovo semblent a priori s'être rendu compte que laisser un connecteur de debug accessible est un souci : sur les PC portables du commerce, la broche qui transmet le signal d'horloge n'est pas activée. Mais stacksmashing a trouvé une solution : en utilisant une horloge externe avec un Raspberry Pi Pico et un petit PCB (moins de 10 $ pour l'ensemble), son programme (open source) peut récupérer la clé de déchiffrement. Et une fois celle-ci obtenue, il est possible de déchiffrer le SSD de l'ordinateur avec une distribution GNU/Linux.

L'attaque en cours (avec un Raspberry Pi Pico).

Une attaque qui n'est pas possible dans tous les cas

Il faut noter que les Mac n'utilisent pas de puces TPM1 et que les PC équipés d'une implémentation « logicielle » de la norme (sans puces dédiées, au niveau du processeur) ne devraient pas être touchés par la faille. De même, la tâche est plus simple sur les PC de Lenovo que sur d'autres, étant donné que les traces du connecteur de debug sont visibles. Enfin, la solution de Microsoft est plus vulnérable que celle d'Apple : Bitlocker stocke la clé de déchiffrement dans la puce TPM, et elle est fournie automatiquement à l'OS au démarrage (c'est ce point qui est attaqué ici), alors qu'Apple impose que l'utilisateur tape son mot de passe pour déchiffrer le SSD et donc démarrer. Qui plus est, les clés se trouvent généralement dans une puce dédiée (T1 ou T2) ou dans le système sur puce (puces M), et il n'y a donc pas de liaison physique attaquable dans ce cas.


  1. Les premiers Mac Intel ont une puce TPM mais ne l'utilisent pas. Le premier kit de développement Intel, lui, l'employait pour tenter d'éviter le piratage de Mac OS X. Spoiler : ça n'a pas fonctionné.  ↩︎

Accédez aux commentaires de l'article