Vulnérabilité TPM-Fail permettant de récupérer les clés stockées dans les modules TPM

Un groupe de chercheurs du Worcester Polytechnic Institute, de l'Université de Lübeck et de l'Université de Californie à San Diego a développé une méthode d'attaque par canaux auxiliaires, permettant de restaurer les valeurs de clés privées stockées dans le TPM (Trusted Platform Module). Cette attaque a été codée sous le nom TPM-Fail et concerne le fTPM (implémentation logicielle basée sur un firmware, fonctionnant sur un microprocesseur distinct à l'intérieur du CPU) d'Intel (CVE-2019-11090) ainsi que les TPM matériels sur les puces STMicroelectronics ST33 (CVE-2019-16863).

Les chercheurs ont publié ont prototypé un outil d'attaque et ont démontré la possibilité de restaurer une clé privée de 256 bits, utilisée pour la création de signatures numériques en utilisant des algorithmes basés sur des courbes elliptiques comme ECDSA et EC-Schnorr. Selon les droits d'accès, le temps total de l'attaque sur les systèmes Intel fTPM varie de 4 à 20 minutes et nécessite l'analyse de 1 à 15 mille opérations. Pour attaquer les systèmes avec la puce ST33, il faut environ 80 minutes et l'analyse d'environ 40 mille opérations de génération de signatures numériques.

Les chercheurs ont également démontré la possibilité de mener une attaque à distance dans des réseaux haut débit, réussissant, dans un réseau local avec une bande passante de 1 Go, en laboratoire, à restaurer la clé privée en cinq heures, après avoir mesuré le temps de réponse pour 45 mille sessions d'authentification avec un serveur VPN basé sur le logiciel strongSwan, qui stocke ses clés dans un TPM vulnérable.

La méthode d'attaque repose sur l'analyse des différences de temps d'exécution des opérations pendant la génération de signatures numériques. L'évaluation du retard lors de l'exécution des calculs permet de déterminer des informations sur des bits individuels lors de la multiplication par un scalaire lors des opérations avec des courbes elliptiques. Pour ECDSA, déterminer ne serait-ce que quelques bits contenant des informations sur le vecteur d'initialisation (nonce) suffit pour mener une attaque de récupération séquentielle de l'intégralité de la clé privée. Pour réussir cette attaque, il est nécessaire d'analyser le temps de génération de plusieurs milliers de signatures numériques créées à partir de données connues de l'attaquant.

Vulnérabilité a été corrigée la société STMicroelectronics dans une nouvelle version de ses puces, où la mise en œuvre de l'algorithme ECDSA a été débarrassée des corrélations avec le temps d'exécution des opérations. Il est intéressant de noter que les puces de STMicroelectronics concernées par le problème sont également utilisées dans des équipements répondant au niveau de sécurité CommonCriteria (CC) EAL 4+. Les chercheurs ont également examiné les puces TPM des sociétés Infineon et Nuvoton, mais celles-ci ne présentent pas de fuite basée sur les variations de temps de calcul.

Dans les processeurs Intel, le problème apparaît à partir de la famille Haswell, lancée en 2013. On note que le problème touche un large éventail de portables, de PC et de serveurs produits par différents fabricants, notamment Dell, Lenovo et HP.

Intel a inclus un correctif dans la mise à jour de novembre du micrologiciel, qui aborde en plus du problème examiné corrigé 24 vulnérabilités, dont neuf classées comme ayant un niveau de danger élevé et une jugée critique. Pour ces problèmes, seules des informations générales sont fournies, mentionnant par exemple qu'une vulnérabilité critique (CVE-2019-0169) est due à la possibilité de provoquer un dépassement de mémoire tampon dans les environnements Intel CSME (Converged Security and Management Engine) et Intel TXE (Trusted Execution Engine), ce qui permet à un attaquant d'élever ses privilèges et d'accéder à des données confidetielles.

On peut également noter la divulgation des résultats d'audits de divers SDK pour le développement d'applications interagissant avec du code exécuté au sein d'enclaves isolées. Dans le but d'identifier les fonctions problématiques pouvant être utilisées pour mener des attaques, huit SDK ont été étudiés : Intel SGX-SDK, SGX-LKL, Microsoft OpenEnclave, Graphene,
Rust-EDP et Google Asylo pour Intel SGX, Keystone pour RISC-V et Sancus pour Sancus TEE. Au cours de l'audit, il a été identifié détecté 35 vulnérabilités, sur la base desquelles plusieurs scénarios d'attaque ont été développés, permettant d'extraire des clés AES de l'enclave ou de provoquer l'exécution de code via des conditions créant des dommages au contenu de la mémoire.

Vulnérabilité TPM-Fail permettant de récupérer les clés stockées dans les modules TPM

Source : opennet.ru

Acheter un hébergement fiable pour les sites avec protection DDoS, serveurs VPS VDS 🔥 Acheter un hébergement fiable pour les sites avec protection DDoS, serveurs VPS VDS | ProHoster