La nouvelle d’une nouvelle vulnérabilité Spectre BHB qui n’affecte que les processeurs Intel et Arm est apparue cette semaine, mais les recherches d’Intel autour de ces nouveaux vecteurs d’attaque ont mis au jour un autre problème : l’un des correctifs qu’AMD a utilisé pour corriger les vulnérabilités Spectre est cassé depuis 2018. L’équipe de sécurité, STORM, a trouvé le problème avec l’atténuation d’AMD. En réponse, AMD a publié un bulletin de sécurité et mis à jour ses directives pour recommander l’utilisation d’une méthode alternative pour atténuer les vulnérabilités de Spectre, réparant ainsi le problème à nouveau.
Pour rappel, les vulnérabilités Spectre permettent aux attaquants d’accéder sans entrave et de manière indétectable aux informations en cours de traitement dans un processeur via une attaque par canal auxiliaire exploitable à distance. Entre autres choses, les attaquants peuvent voler des mots de passe et des clés de cryptage, leur donnant ainsi un accès complet à un système impacté.
Les recherches d’Intel sur le correctif Spectre d’AMD commencent de manière détournée – il a récemment été découvert que les processeurs d’Intel étaient toujours sensibles aux attaques basées sur Spectre v2 via une nouvelle variante d’injection d’historique de branche, malgré l’utilisation par l’entreprise de la spéculation indirecte améliorée (eIBRS) et/ou des atténuations de Retpoline censées empêcher de nouvelles attaques.
Ayant besoin d’une nouvelle approche d’atténuation de Spectre pour corriger le problème lointain, Intel s’est tourné vers l’étude d’autres techniques d’atténuation. Il existe plusieurs autres options, mais toutes impliquent différents niveaux de compromis de performances. Intel affirme que ses partenaires de l’écosystème ont demandé à l’entreprise d’envisager d’utiliser la technique LFENCE/JMP d’AMD. La mitigation « LFENCE/JMP » est une Retpoline alternative communément appelé « Retpoline d’AMD ».
À la suite de l’enquête d’Intel, la société a découvert que l’atténuation utilisée par AMD depuis 2018 pour corriger les vulnérabilités de Spectre n’est pas suffisante – les puces sont toujours vulnérables. Le problème affecte presque tous les processeurs AMD modernes couvrant presque toute la famille Ryzen pour les ordinateurs de bureau et les ordinateurs portables (de la deuxième génération à la génération actuelle) et la famille EPYC de puces de centre de données.
Le résumé de l’article, intitulé « Vous ne pouvez pas toujours gagner la course : analyse de l’atténuation LFENCE/JMP pour l’injection de cible de branche », répertorie trois auteurs d’Intel issus de l’équipe de sécurité STORM d’Intel : Alyssa Milburn, Ke Sun et Henrique Kawakami. Le résumé résume le bogue que les chercheurs ont trouvé assez succinctement :
« LFENCE/JMP est une option d’atténuation logicielle existante pour l’injection de cible de branche (BTI) et les attaques d’exécution transitoires similaires résultant de prédictions de branche indirectes, qui sont couramment utilisées sur les processeurs AMD. Cependant, l’efficacité de cette atténuation peut être compromise par la course inhérente condition entre l’exécution spéculative de la cible prédite et la résolution architecturale de la cible prévue, car cela peut créer une fenêtre dans laquelle le code peut encore être exécuté de manière transitoire.Ce travail étudie les sources potentielles de latence qui peuvent contribuer à une telle fenêtre de spéculation. Nous montrons qu’un attaquant peut « gagner la course », et donc que cette fenêtre peut encore être suffisante pour permettre l’exploitation d’attaques de type BTI sur une variété de processeurs x86 différents, malgré la présence de l’atténuation LFENCE/JMP. »
Le groupe de recherche stratégique offensive et d’atténuation (STORM) d’Intel est une équipe d’élite de hackers qui tente de pirater les propres puces d’Intel, dont vous pouvez en savoir plus ici.
En réponse à la découverte et à l’article de l’équipe STORM, AMD a publié un bulletin de sécurité (AMD-SB-1026) indiquant qu’il n’est au courant d’aucun exploit actuellement actif utilisant la méthode décrite dans l’article. AMD demande également à ses clients de passer à l’utilisation de « l’une des autres mesures d’atténuation publiées (V2-1 alias ‘retpoline générique’ ou V2-4 alias ‘IBRS’). » La société a également publié des directives mises à jour sur l’atténuation de Spectre reflétant ces changements [PDF].
AMD a commenté la question à Tom’s Hardware en disant : « Chez AMD, la sécurité des produits est une priorité absolue et nous prenons les menaces de sécurité très au sérieux. AMD suit des pratiques coordonnées de divulgation des vulnérabilités au sein de l’écosystème, y compris Intel, et cherche à répondre rapidement et de manière appropriée aux problèmes signalés. Pour le CVE mentionné, nous avons suivi notre processus en nous coordonnant avec l’écosystème et en publiant les conseils qui en résultent sur notre site Web de sécurité des produits. »
Nous avons demandé à Intel s’il avait trouvé d’autres vulnérabilités dans les processeurs d’AMD dans le passé, ou s’il s’agissait d’un événement isolé. « Nous investissons massivement dans la gestion des vulnérabilités et la recherche de sécurité offensive pour l’amélioration continue de nos produits. Nous travaillons également pour obtenir des perspectives extérieures, en collaborant avec des chercheurs et des institutions universitaires de premier plan pour trouver et résoudre les vulnérabilités », a répondu un représentant de l’entreprise. « Si nous identifions un problème qui, selon nous, pourrait avoir un impact sur l’ensemble de l’industrie, nous suivons des pratiques coordonnées de divulgation des vulnérabilités pour signaler les vulnérabilités potentielles aux fournisseurs et publier les résultats et les atténuations ensemble. »
Les vulnérabilités de sécurité créent évidemment ce qui serait normalement d’étranges compagnons de lit. Dans ce cas, c’est une bonne chose : les vulnérabilités du Spectre menacent les fondements mêmes de la sécurité du silicium qui alimente le monde. Le bulletin de sécurité d’AMD remercie nommément l’équipe STORM d’Intel et note qu’elle s’est engagée dans la divulgation coordonnée de la vulnérabilité, laissant ainsi suffisamment de temps à AMD pour résoudre le problème avant de le faire connaître au public. C’est bon pour tout le monde.