Appuyez sur Entrée pour rechercher

SWAPGS Attack - Une nouvelle faille affecte tous les processeurs Intel modernes

Author Avatar
Jari Van den Nest
Technical Engineer

Une nouvelle variante de la vulnérabilité de canal latéral Spectre (Variant 1) a été découverte et concerne tous les processeurs Intel modernes, et probablement aussi certains processeurs AMD, exploitant une exécution spéculative pour des performances élevées, ont averti Microsoft et Red Hat.

Selon un avis de sécurité publié aujourd'hui par Red Hat, l'attaque repose sur l'exécution spéculative d'instructions SWAPGS inattendues après la prédiction erronée d'une branche.

Une nouvelle variante de la vulnérabilité de canal latéral Spectre (Variant 1) a été découverte et concerne tous les processeurs Intel modernes, et probablement aussi certains processeurs AMD, exploitant une exécution spéculative pour des performances élevées, ont averti Microsoft et Red Hat.

Identifiée sous le nom de CVE-2019-1125, cette vulnérabilité pourrait permettre à des attaquants locaux non privilégiés d'accéder à des informations sensibles stockées dans la mémoire du noyau privilégiée du système d'exploitation, y compris des mots de passe, des jetons et des clés de cryptage, qui seraient autrement inaccessibles.

L'exécution spéculative est un composant essentiel de la conception d'un microprocesseur moderne qui exécute de manière spéculative des instructions en fonction d'hypothèses considérées comme vraisemblables. Si les hypothèses s'avèrent être valides, l'exécution continue, sinon elle est rejetée.

Ces exécutions spéculatives ont également des effets secondaires qui ne sont pas restaurés lorsque l'état de la CPU est annulé, ce qui entraîne la divulgation d'informations, auxquelles on peut accéder via des attaques par canaux auxiliaires.

Microsoft a publié en mode silencieux des correctifs pour la nouvelle vulnérabilité d'exécution spéculative dans sa mise à jour de sécurité Patch Tuesday de juillet 2019, qui a été découverte et révélée de manière responsable par des chercheurs de la société de sécurité Bitdefender.

Selon un avis de sécurité publié aujourd'hui par Red Hat, l'attaque repose sur l'exécution spéculative d'instructions SWAPGS inattendues après la prédiction erronée d'une branche.

L'instruction SWAPGS est une instruction système privilégiée qui permute les valeurs du registre GS avec les valeurs MSR. Elle n'est disponible que sur les appareils dotés d'une architecture x86-64.

« Ceci s'obtient en abusant du fait que l’instruction SWAPGS peut être exécutée de manière spéculative. Un attaquant peut provoquer des déréférences de mémoire arbitraires dans le noyau, ce qui laisse des traces dans les caches de données. L’attaquant peut capter ces signaux pour déduire la valeur située à l’adresse du noyau donnée », expliquent les chercheurs de Bitdefender.

 

L’attaque SWAPGS rompt l’isolation de table de pages de noyau (KPTI) fournie par les processeurs modernes et peut être utilisée pour fuir la mémoire sensible du noyau du mode utilisateur sans privilège, a reconnu Intel.

« Il est possible que ces branches conditionnelles dans le code d’entrée du noyau Linux puissent spéculer de manière erronée dans un code qui n’exécutera pas le SWAPGS, ce qui créerait une fenêtre d’exécution spéculative au cours de laquelle la mauvaise GS serait utilisée pour des opérations de mémoire dépendantes », explique RedHat dans son avis.

 

Selon des chercheurs de Bitdefender, la nouvelle attaque contourne toutes les mesures d'atténuation connues mises en œuvre après la découverte des vulnérabilités de Spectre et Meltdown au début de 2018, qui mettent en danger presque tous les ordinateurs du monde.

Bien que le noyau Linux contienne également un gadget susceptible d'être exploité pour cibler les systèmes Linux lors d'une attaque, les chercheurs pensent que l'exploitation des systèmes d'exploitation Linux pourrait être légèrement plus difficile que celle des ordinateurs Windows.

Comme l'attaque ne peut pas être lancée à distance, il est peu probable que cela cause des infections de masse par malware, comme EternalBlue a été utilisé pour WannaCry ; au lieu de cela, il peut être exploité dans le cadre d'une attaque extrêmement ciblée.

Les utilisateurs concernés peuvent résoudre ce problème par le biais d'une mise à jour logicielle de leurs systèmes d'exploitation, ce qui permettrait de limiter l'accès spéculatif de la CPU à la mémoire.

Pendant ce temps, Google a également préparé un correctif pour corriger cette vulnérabilité dans son ChromeOS 4.19 avec une mise à jour à être effectuée prochainement, décrivant la faille comme suit :

« Un attaquant peut entraîner le prédicteur de branche à ignorer spéculativement le chemin swapgs pour une interruption ou une exception. S'ils initialisent le registre GS avec une valeur d'espace utilisateur, si les swapgs sont ignorés de manière spéculative, les accès percpu associés à GS dans la fenêtre de spéculation seront effectués avec la valeur GS contrôlée par l'attaquant. Cela pourrait entraîner un accès à la mémoire privilégiée et une fuite. »

 

Dans un communiqué, AMD a déclaré :

« Sur la base d’analyses externes et internes, AMD estime qu’elle n’est pas vulnérable aux attaques par variantes de SWAPGS car les produits AMD sont conçus pour ne pas spéculer sur la nouvelle valeur GS à la suite d’un SWAPGS spéculatif. Pour l'attaque qui n'est pas une variante SWAPGS, l'atténuation consiste à mettre en œuvre nos recommandations existantes pour la variante 1 de Spectre. »

 

NIS2 whitepaper