Des chercheurs ont conçu une attaque ciblant les processeurs Intel capable d’accéder à des informations sensibles stockées dans des enclaves sécurisées SGX et, du moins en théorie, d’accéder à des processus privilégiés et sécurisés transitant par le noyau, les machines virtuelles et les hyperviseurs. Surnommée Load Value Injection (LVI), cette attaque est basée sur des techniques utilisées pour exploiter d'autres vulnérabilités du processeur telles que Spectre, Meltdown et Microarchitectural Data Sampling (MDS), mais elle est différente, plus importante encore, en ce qu'elle contourne les atténuations mises en place pour combattre ces failles.

« Surtout, LVI est beaucoup plus difficile à atténuer que les attaques précédentes, car elle peut affecter pratiquement n'importe quel accès à la mémoire », a déclaré sur un site Web une équipe de chercheurs de la KU Leuven, du Worcester Polytechnic Institute, de la Graz University of Technology et de l'Université du Michigan, travaillant sur ce nouvel exploit. « Contrairement à toutes les précédentes attaques de type Meltdown, LVI ne peut pas être atténué de manière transparente dans les processeurs existants et nécessite des correctifs logiciels coûteux, ce qui peut ralentir les calculs des enclaves Intel SGX jusqu'à 19 fois. »

Comment fonctionne la vulnérabilité LVI ?

L'équipe de chercheurs a signalé l'attaque dite de « fusion inversée » à Intel en avril 2019, il y a presque un an. Le problème a fait l'objet d'un embargo à la demande d'Intel depuis lors, afin que le fondeur puisse développer des atténuations. En février, des chercheurs de l’éditeur de sécurité Bitdefender ont également découvert et signalé à Intel une des variantes de LVI connue sous le nom de Load Value Injection in the Line Fill Buffers (LVI-LFB)

Comme Meltdown et Spectre, LVI exploite l'exécution transitoire ou spéculative dans les processeurs modernes. Il s'agit d'une fonctionnalité d'amélioration des performances dans laquelle le processeur calcule les instructions avant de terminer la version actuelle en prédisant ses résultats possibles. Le but est de gagner du temps et, si la prédiction est fausse, les résultats des instructions exécutées à l'avance sont rejetés.

Intercepter des informations sensibles

Cependant, ces exécutions spéculatives peuvent laisser des traces dans les caches ou tampons internes du processeur, qui peuvent ensuite être utilisés comme canaux secondaires par les attaquants pour reconstruire des données sensibles. Avoir des restes d'exécution spéculative dans des caches et des tampons ne serait pas un trop grand mal si les attaquants n'avaient aucun contrôle sur ce qui est exécuté, mais des vulnérabilités comme Spectre et Meltdown peuvent être utilisées pour influencer la prédiction de branche d'une manière qui générerait des données d'intérêt pour le attaquants. LVI retourne toutefois cette attaque sur sa tête. 

« Au lieu de divulguer directement les données de la victime à l'attaquant, nous procédons dans la direction opposée : nous passons en contrebande - en injectant - les données de l'attaquant via des tampons de processeur cachés dans un programme victime et détournons l'exécution transitoire pour acquérir des informations sensibles, telles que les empreintes digitales les ou mots de passe de la cible » ont déclaré les chercheurs.

Seules les puces Ice Lake préservées 

Rappelons que SGX est un environnement d'exécution sécurisé présent dans les processeurs Intel récents (depuis 2015) qui est censé assurer la confidentialité et l'intégrité des opérations cryptographiques même lorsque le système d'exploitation est entièrement compromis. Une application qui utilise une enclave SGX effectuera des opérations de chiffrement à l'intérieur des pages de mémoire qui ne sont lisibles que par l'enclave, pas par le système d'exploitation hôte, puis retournera le résultat. Cela signifie que la clé de chiffrement ou un mot de passe n'est jamais exposée dans la mémoire du système d'exploitation. Seuls les processeurs basés sur l’architecture Ice Lake ne sont pas concernés, car cette dernière a subi des modifications matérielles. 

Avec LVI, les attaquants peuvent, par exemple, inonder le tampon du CPU avec des zéros et forcer le SGX à utiliser zéro comme clé pour une opération de chiffrement AES, puis capturer le texte chiffré produit via un canal latéral. Le cryptage AES est effectué par tours, la sortie de chaque tour étant liée à la suivante. La connaissance des clés liées à chaque tour et du texte chiffré produit peut aider un attaquant à récupérer la clef principale. Les chercheurs ont publié une vidéo démontrant une telle attaque. Ce n’est toutefois pas une exécution de code à distance, un attaquant doit donc avoir un accès local pour exploiter la vulnérabilité. L’impact sur les utilisateurs est donc réduit d’autant que l’attaque est complexe à mener.

Atténuations LVI 

« Intel n'a actuellement connaissance d'aucun outil universel ou non universel spécifique à l'injection de valeur de charge pour le système d'exploitation de l'application, VMM [Virtual Machine Manager] de VM, entre les invités dans des environnements virtualisés, entre différentes applications et à l'intérieur d'une application », a déclaré Intel dans son avis de sécurité . « En tant que meilleure pratique, Intel recommande aux utilisateurs de mettre à jour leur système d'exploitation et les VM des fournisseurs. » 

Intel a publié des mises à jour de SGX Platform Software (PSW) et de SGX SDK, qui sont utilisés par les développeurs d'applications pour créer des enclaves SGX. La société a également diffusé des techniques d'atténuation des logiciels pour les développeurs et travaille avec des partenaires pour ajouter des options de compilation pour renforcer les applications contre de telles attaques.

D'autres exploits à venir 

Bien qu'Intel n'ait pas publié de chiffres d'impact sur les performances spécifiques pour ces atténuations, dans les tests effectués par l'équipe de chercheurs, les calculs SGX ont ralenti entre 2 et 19 fois lorsque les atténuations ont été appliquées. Il convient de garder à l'esprit qu'il s'agit d'une nouvelle technique d'attaque, donc les chercheurs commencent à peine à l'étudier. Au cours des deux années qui ont suivi la révélation de Spectre et Meltdown, de nombreuses variations de ces vulnérabilités ont été révélées, dont certaines ont déjoué les atténuations initiales. Il n'y a aucune raison de penser que LVI sera différent, d'autant plus qu'il a le potentiel d'affecter plus que les enclaves SGX et qu'il est beaucoup plus difficile et coûteux à atténuer que Spectre et Meltdown.