Un groupe de chercheurs du Worcester Polytechnic Institute, de l'Université de Lübeck et de l'Université de Californie à San Diego 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 et concerne le fTPM ( 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 (CVE-2019-16863).
Les chercheurs 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é 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 du micrologiciel, qui aborde en plus du problème examiné 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 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 : , , , ,
et pour Intel SGX, pour RISC-V et pour Sancus TEE. Au cours 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, 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.
Source : opennet.ru
