Exploit AMD TPM : l’attaque faulTPM défait BitLocker et la sécurité basée sur TPM

(Crédit image : Technische Universitat Berlin – SecT)

Un nouvel article publié par des chercheurs en sécurité de l’Université technique de Berlin révèle que le module de plate-forme sécurisée (fTPM / TPM) basé sur le micrologiciel d’AMD peut être entièrement compromis via une attaque par injection de défaut de tension, permettant ainsi un accès complet aux données cryptographiques contenues dans le fTPM. dans une attaque appelée « faulTPM ». En fin de compte, cela permet à un attaquant de compromettre complètement toute application ou chiffrement, comme BitLocker, qui repose uniquement sur la sécurité basée sur TPM.

Les chercheurs ont accompli cet exploit en utilisant des composants prêts à l’emploi qui coûtent environ 200 $ pour attaquer le processeur de sécurité de plate-forme (PSP) d’AMD présent dans les puces Zen 2 et Zen 3. Le rapport ne précise pas si les processeurs Zen 4 sont vulnérables et l’attaque nécessite un accès physique à la machine pendant « plusieurs heures ». Les chercheurs ont également partagé le code utilisé pour l’attaque sur GitHub et une liste du matériel peu coûteux utilisé pour l’attaque.

Le rapport est particulièrement pertinent maintenant que Microsoft a ajouté des TPM à sa configuration système requise pour Windows 11, une décision rencontrée avec résistance en raison de son impact délétère sur les performances de jeu même lorsqu’il fonctionne correctement, et de graves problèmes de bégaiement lorsqu’il ne fonctionne pas. Oui, l’exigence TPM est facilement contournable. Pourtant, la pression de Microsoft pour cette fonctionnalité a augmenté le nombre d’applications reposant uniquement sur TPM 2.0 pour les fonctionnalités de sécurité, augmentant ainsi le nombre d’applications vulnérables au nouveau piratage faulTPM.

Pour rappel, les TPM discrets se branchent sur une carte mère et communiquent avec le processeur pour assurer la sécurité, mais le bus externe entre le CPU et le TPM s’est avéré piratable avec plusieurs approches différentes. En tant que tel, le micrologiciel TPM, ou fTPM, a été créé pour intégrer la fonctionnalité à l’intérieur de la puce, offrant ainsi une sécurité de classe TPM 2.0 sans interface facilement piratable exposée aux attaquants.

L’attaque faulTPM se concentre sur l’attaque du fTPM, ce qui, à notre connaissance, n’était pas possible auparavant. Comme vous pouvez le voir sur l’image ci-dessus du système Lenovo Ideapad 5 Pro utilisé par les chercheurs pour exécuter l’attaque, ce n’est pas une tâche simple et nécessitera quelques heures d’accès physique à la machine. Dans le cas des États-nations ou des niveaux les plus élevés d’espionnage ou d’espionnage industriel, cela est cependant assez facile à réaliser.

Module de plateforme sécurisée AMD

(Crédit image : Technische Universitat Berlin – SecT)

Ici, nous pouvons voir les multiples connexions à l’alimentation, à la puce BIOS SPI et au bus SVI2 (une interface de gestion de l’alimentation) que les chercheurs ont utilisées sur le sujet de test Lenovo. Ces connexions sont utilisées pour exécuter une attaque par injection de défaut de tension contre la PSP présente dans les processeurs Zen 2 et Zen 3, acquérant ainsi le secret unique de la puce qui permet le déchiffrement des objets stockés dans le TPM. Voici la méthode d’attaque étape par étape :

  • Sauvegardez l’image flash du BIOS à l’aide d’un programmeur flash SPI
  • Connecter le matériel d’injection de fautes et déterminer les paramètres d’attaque (4.1)
  • Compiler et déployer la charge utile en extrayant le secret de dérivation de clé (4.3)
  • Démarrez l’analyseur logique pour capturer les secrets de dérivation de clé extraits via SPI
  • Démarrer le cycle d’attaque sur la machine cible jusqu’à ce que la charge utile ait été exécutée avec succès
  • Analysez et déchiffrez la NVRAM à l’aide de la sauvegarde de la ROM du BIOS et de la sortie de la charge utile avec amd-nv-tool
  • Extrayez et déchiffrez les objets TPM protégés par ce fTPM avec amd ftpm unseal

Source-138