Les limiers numériques et humains de Quarkslab ont mis au jour deux vulnérabilités dans le code d’implémentation de référence du Trusted Platform Module (TPM) 2,0. Ces deux vulnérabilités de type débordement de mémoire tampon, en écriture (CVE-2023-1017) et en lecture (CVE-2023-1018), ont été découvertes dans la spécification de la bibliothèque de référence du Trusted Platform Module (TPM) 2,0, actuellement au niveau 00, révision 01.59 de novembre 2019.

Un attaquant ayant accès à une interface de commande du TPM peut envoyer des commandes malicieusement conçues au module et déclencher ces vulnérabilités. Cela permet soit un accès en lecture seule à des données sensibles, soit l’écrasement de données normalement protégées qui ne sont disponibles que pour le TPM (par exemple, les clés cryptographiques).Dans certains cas, l’attaquant peut également écraser des données protégées dans le micrologiciel du TPM. Cela peut entraîner un plantage ou l’exécution d’un code arbitraire dans le TPM. Comme la charge utile de l’attaquant s’exécute dans le TPM, elle peut être indétectable par les autres composants de l’appareil cible.  

Un élément essentiel dans la chaîne de protection

TPM 2.0, qui signifie Trusted Platform Module est un élément essentiel dans la chaîne de protection mise en place lors de la sortie de Windows 11, en octobre 2021. Il s’agit d’une solution de sécurité matérielle conçue pour fournir une base de confiance à une plateforme informatique. Sa fonction première est de garantir l’intégrité du processus de démarrage du système et de protéger contre l’accès non autorisé aux données sensibles. Il fournit un environnement sécurisé pour le stockage des clés cryptographiques, des certificats numériques et d’autres données sensibles utilisées pour authentifier le système et garantir qu’il n’a pas été altéré.

Le TPM 2.0 comprend également une série de fonctions conçues pour assurer l’authentification sécurisée des dispositifs et la communication sécurisée entre les dispositifs. Par exemple, il prend en charge l’attestation à distance, qui permet à un dispositif de prouver son identité et son intégrité à un système distant. Il prend également en charge l’échange de clés sécurisé et la communication sécurisée entre les appareils.

TPM 2.0 fait partie des éléments indispensables à l’OS pour fonctionner. Cette exigence implique que, pour pouvoir exécuter Windows 11 dans une machine virtuelle, le logiciel de virtualisation doit fournir un TPM aux machines virtuelles, soit en passant par le TPM matériel de la machine hôte, soit en leur fournissant un simulant un TPM. De fait, il existe de nombreux fabricants de TPM et différents types de TPM, tels que les puces produites par les sociétés de semiconducteurs, les TPM uniquement logiciels utilisés dans les services cloud et les produits de virtualisation, et les TPM basés sur des micrologiciels qui fonctionnent à l’intérieur des CPU polyvalents tels que ceux d’Intel et d’AMD.