SGAxe et CrossTalk. Ce sont les noms des failles de sécurité qui ont été découvertes récemment sur les processeurs Intel. Tous deux peuvent donner accès à des données sensibles, car ils exploitent un mécanisme créé juste pour les protéger : les Intel Software Guard Extensions (SGX).
Ce que fait SGX, c’est protéger certaines zones de la mémoire (enclaves) pour empêcher tout accès non autorisé aux données qui s’y trouvent. Cela se fait en cryptant et décryptant les données de l’unité centrale uniquement. Les enclaves peuvent être utilisées, par exemple, pour empêcher que des données sensibles ne soient exposées si l’ordinateur est attaqué par un logiciel malveillant.
Les défaillances de SGAxe et de CrossTalk permettent d’accéder aux enclaves par des attaques de canal latéral, un mode qui, au lieu d’exploiter les vulnérabilités des systèmes ou de contourner les mécanismes de sécurité, tente de tirer parti des caractéristiques inhérentes à la mise en œuvre du mécanisme lui-même.
C’est comme si, pour ouvrir une porte verrouillée, un envahisseur décidait de retirer les pênes de la serrure pour l’enlever au lieu de la casser. Ici, le verrouillage correspond à l’exploration de la exécution spéculative, technique avec laquelle le processeur tente de “deviner” quelle instruction sera exécutée dans la séquence pour accélérer les performances.
Si la prévision est correcte, il y a un gain de temps, sinon le résultat est écarté. Le problème est que la technique peut être exploitée pour inciter le processeur à exécuter de manière spéculative certains types d’instructions sans que les aspects de sécurité soient vérifiés. C’est essentiellement le mécanisme d’action des échecs de SGAxe et CrossTalk.
L’échec de la SGAxe
Le SGAxe peut capturer les clés cryptographiques que le SGX utilise pour indiquer à un serveur distant qu’il s’agit d’un véritable processeur Intel et non d’une simulation. Cela peut permettre à l’attaquant d’avoir accès à une grande variété de données sensibles qui, en tant que telles, devraient être protégées par le SGX.
D’une certaine manière, SGAxe est une version améliorée de la faille CacheOut, découverte en 2019. Intel signale que l’installation du microcode qui atténue ces problèmes permet d’éviter que les clés obtenues soient utilisées à mauvais escient.
La société affirme également que les attaques peuvent être atténuées si le mode de signature contraignant qui détecte l’utilisation frauduleuse des clés est activé. Les experts en sécurité avertissent toutefois que cette solution n’est pas toujours pratique ou efficace.
Défaut de concordance
CrossTalk, d’autre part, attire l’attention sur le fait qu’il est basé sur une attaque de canal latéral qui exploite un tampon non documenté utilisé par les processeurs Intel. Ce tampon peut donner accès à des informations sensibles car il contient les instructions nécessaires pour générer des clés cryptographiques qui sont stockées dans des enclaves.
Pour aggraver les choses, les chercheurs qui ont identifié CrossTalk ont découvert que la panne permet des attaques spéculatives d’exécution sur tous les cœurs de processeur. Jusqu’alors, ces attaques étaient exécutées sur un seul noyau.
Plusieurs processeurs Intel lancés entre 2015 et 2019 sont vulnérables, notamment les puces Xeon E3. La société affirme que les lignes Xeon E5 et E7 ne sont pas affectées, cependant. Les modèles actuels de la dixième génération de Core n’ont pas été testés, mais ils peuvent aussi échouer.
Le CrossTalk est appelé Special Register Buffer Data Sampling (SRBDS) par Intel. La société a publié une mise à jour qui atténue la panne en verrouillant le bus mémoire avant la mise à jour du tampon et en ne le déverrouillant qu’après avoir nettoyé son contenu.
C’est un pas en avant, même si les analystes soulignent que cette approche pourrait ne pas être pleinement efficace. En tout état de cause, ces défaillances ne sont pas considérées comme très graves dans un contexte pratique car elles peuvent être atténuées par des stratégies de sécurité spécifiques dans l’environnement de l’entreprise.