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

Une équipe 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 canal secondaire qui permet de récupérer la valeur des clés privées stockées dans le TPM (Trusted Platform Module). L'attaque a reçu un nom de code Échec du TPM et affecte fTPM (mise en œuvre du logiciel basé sur un micrologiciel exécuté sur un microprocesseur distinct à l'intérieur du processeur) d'Intel (CVE-2019-11090) et un TPM matériel sur les puces STMicroelectronics ST33 (CVE-2019-16863).

Chercheurs ont publié un prototype de boîte à outils d'attaque et a démontré la capacité de récupérer une clé privée de 256 bits utilisée pour générer des signatures numériques à l'aide des algorithmes de courbe elliptique ECDSA et EC-Schnorr. En fonction des droits d'accès, la durée totale d'attaque sur les systèmes Intel fTPM est de 4 à 20 minutes et nécessite l'analyse de 1 à 15 33 opérations. Il faut environ 80 minutes pour attaquer les systèmes dotés de la puce ST40 et analyser environ XNUMX XNUMX opérations pour générer une signature numérique.

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

La méthode d'attaque est basée sur l'analyse des différences de temps d'exécution des opérations dans le processus de génération d'une signature numérique. L'estimation de la latence de calcul vous permet de déterminer des informations sur des bits individuels lors de la multiplication scalaire dans les opérations sur courbe elliptique. Pour ECDSA, il suffit de déterminer ne serait-ce que quelques bits contenant des informations sur le vecteur d'initialisation (nonce) pour mener une attaque visant à récupérer séquentiellement l'intégralité de la clé privée. Pour mener à bien une attaque, il est nécessaire d’analyser le temps de génération de plusieurs milliers de signatures numériques créées sur des données connues de l’attaquant.

La vulnérabilité éliminé par STMicroelectronics dans une nouvelle édition de puces dans laquelle l'implémentation de l'algorithme ECDSA s'affranchit des corrélations avec le temps d'exécution des opérations. Il est intéressant de noter que les puces STMicroelectronics concernées sont également utilisées dans des équipements répondant au niveau de sécurité CommonCriteria (CC) EAL 4+. Les chercheurs ont également testé les puces TPM d’Infineon et Nuvoton, mais aucune fuite n’a été constatée en raison des changements dans le temps de calcul.

Dans les processeurs Intel, le problème apparaît à partir de la famille Haswell sortie en 2013. Il est à noter que le problème affecte une large gamme d'ordinateurs portables, de PC et de serveurs produits par divers fabricants, notamment Dell, Lenovo et HP.

Intel a inclus un correctif dans Novembre mise à jour du firmware, dans laquelle, en plus du problème considéré, éliminé 24 autres vulnérabilités, dont neuf présentent un niveau de danger élevé et une est critique. Sur ces problèmes, seules des informations générales sont fournies, par exemple, il est mentionné que la vulnérabilité critique (CVE-2019-0169) est due à la capacité de provoquer un débordement de tas du côté du processeur Intel CSME (Converged Security and Management Engine). ) et les environnements Intel TXE (Trusted Execution Engine), qui permettent à l'attaquant d'augmenter ses privilèges et d'accéder aux données confidentielles.

On peut aussi noter divulgation résultats d'audit de divers SDK pour développer des applications qui interagissent avec du code exécuté du côté d'enclaves isolées. Afin 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, Le graphène,
Rust-EDP и Google Asile pour Intel SGX, Clé de voûte pour RISC-V et Sancus pour Sancus TEE. Lors de l'audit, il a été identifié 35 vulnérabilités, sur la base desquelles plusieurs scénarios d'attaque ont été développés qui vous permettent d'extraire des clés AES d'une enclave ou d'organiser l'exécution de votre code en créant des conditions pour endommager le contenu de la mémoire.

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

Source: opennet.ru

Ajouter un commentaire