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.
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
Les chercheurs ont réussi à obtenir un accès complet au TPM et aux données scellées à l’intérieur, leur permettant ainsi de compromettre le chiffrement complet du disque BitLocker (FDE) sur l’appareil. Comme on pourrait l’imaginer, cela conduirait à un accès et un contrôle complets de l’appareil, et de toutes les données qu’il contient, dans un délai relativement court.
Par défaut, BitLocker utilise un mécanisme TPM uniquement pour stocker les clés, mais les utilisateurs peuvent activer manuellement un paramètre PIN qui permet à l’utilisateur d’attribuer un code PIN qui fonctionne en tandem avec les mécanismes basés sur TPM. Cependant, ces codes PIN ne sont pas activés par défaut et sont vulnérables aux méthodes d’attaque par force brute. Les codes PIN numériques simples sont relativement faciles à déchiffrer, mais les phrases secrètes textuelles plus rigoureuses sont plus difficiles à déchiffrer.
Comme mentionné, cette attaque expose également les applications qui utilisent uniquement la sécurité basée sur TPM, tandis que les applications avec plusieurs couches de sécurité seront plus sécurisées.
Les chercheurs affirment que ce vecteur d’attaque n’est pas facile à atténuer en raison de l’injection de défaut de tension, de sorte que le premier point d’interception permettant à AMD de résoudre le problème serait probablement avec ses microarchitectures de processeur de nouvelle génération. Selon les chercheurs, le Converged Security and Manageability Engine (CSME) d’Intel empêche ces types d’attaques.
Nous n’avons vu aucune communication officielle d’AMD à ce sujet, donc la publication ne semble pas faire partie d’une divulgation coordonnée standard de l’industrie. Nous avons contacté AMD pour plus de détails sur l’attaque et pour voir si l’entreprise a un plan d’atténuation. Nous mettrons à jour si nécessaire.