Les microprocesseurs superscalaires contemporains avec une exécution dans le désordre utilisent un certain nombre de façons d’améliorer leurs performances. Le multithreading simultané (exécution de plusieurs threads de code sur un cœur de processeur) est l’un des moyens les plus efficaces d’améliorer les performances du processeur.
Mais l’implémentation de SMT par AMD semble être vulnérable à la soi-disant attaque par canal latéral SQUIP qui peut révéler une clé RSA 4096 bits assez rapidement.
Toutes les microarchitectures Zen d’AMD ont des files d’attente de planificateur distinctes par unité d’exécution (tout comme les processeurs de la série M1 d’Apple). Chacun de ces ordonnanceurs maintient des files d’attente séparées à partir desquelles les μops sont émis pour les unités d’exécution correspondantes. Le planificateur d’AMD avec SMT activé introduit des interférences entre les charges de travail, ce qui ouvre la porte à l’observation des conflits de file d’attente du planificateur via des compteurs de performances et des lectures de minuterie non sérialisées sur les threads frères sur le même cœur. Un tel amorçage et un tel sondage lui permettent d’effectuer une attaque par canal latéral sur les requêtes du planificateur. Les chercheurs appellent la méthode Scheduler Queue Usage (c’est-à-dire l’occupation) via Interference Probing, ou SQUIP.
La vulnérabilité affecte tous les processeurs Ryzen existants d’AMD avec des microarchitectures Zen 1/2/3. Pour exploiter la faiblesse et accéder aux données traitées par le même cœur de processeur, les auteurs doivent d’abord exécuter un code malveillant sur ce cœur de processeur, ce qui n’est pas particulièrement facile. Pendant ce temps, une atténuation complète de SQUIP pourrait nécessiter la désactivation de la technologie SMT sur tous les processeurs Zen existants d’AMD, ce qui nuira gravement à leurs performances.
« Un attaquant s’exécutant sur le même hôte et le même cœur de processeur que vous pourrait espionner les types d’instructions que vous exécutez en raison de la conception du planificateur fractionné sur les processeurs AMD », a expliqué Daniel Gruss, chercheur en informatique de l’Université de technologie de Graz, dans une conversation avec The Register. « Le M1 d’Apple (probablement aussi le M2) suit le même design mais n’est pas encore affecté car ils n’ont pas encore introduit le SMT dans leurs processeurs. »
AMD aurait confirmé le problème – actuellement appelé AMD-SB-1039 : vulnérabilité de canal latéral de contention du planificateur d’unité d’exécution sur les processeurs AMD – et a déclaré que la société le considérait comme une menace de « gravité moyenne ».
« AMD recommande aux développeurs de logiciels d’utiliser les meilleures pratiques existantes, y compris les algorithmes à temps constant et d’éviter les flux de contrôle dépendants du secret, le cas échéant, pour aider à atténuer cette vulnérabilité potentielle », lit-on dans l’atténuation d’AMD.