Ils ont détecté une vulnérabilité dans les processeurs Intel qui entraîne une fuite de données

vulnérabilité

Si elles sont exploitées, ces failles peuvent permettre aux attaquants d'obtenir un accès non autorisé à des informations sensibles ou de causer des problèmes en général.

Un groupe de Des chercheurs d'universités en Chine et aux États-Unis ont identifié une nouvelle vulnérabilité dans les processeurs Intel à l'origine d'une fuite d'informations sur le résultat d'opérations spéculatives via des canaux tiers, qui peuvent être utilisés, par exemple, pour organiser un canal de communication caché entre processus ou détecter des fuites lors d'attaques Meltdown.

L'essence de la vulnérabilité est un changement dans le registre du processeur EFLAGS, qui s'est produit à la suite de l'exécution spéculative d'instructions, affecte le temps d'exécution ultérieur des instructions JCC (saut lorsque les conditions spécifiées sont remplies).

Les opérations spéculatives ne sont pas terminées et le résultat est rejeté, mais la modification EFLAGS rejetée peut être déterminée en analysant le temps d'exécution des instructions JCC. Les opérations de comparaison de pré-saut effectuées de manière spéculative, si la comparaison est réussie, entraînent un petit retard qui peut être mesuré et utilisé comme fonction de correspondance de contenu.

L'attaque par exécution transitoire est un type d'attaque exploitant la vulnérabilité des technologies d'optimisation du CPU. De nouvelles attaques émergent rapidement. Le canal latéral est un élément clé des attaques d'exécution transitoires pour exfiltrer les données.

Dans ce travail, nous avons découvert une vulnérabilité qui modifiait le registre EFLAGS en exécution transitoire pouvant avoir un effet secondaire sur l'instruction Jcc (Jump Condition Code) sur les processeurs Intel. Sur la base de notre découverte, nous proposons une nouvelle attaque par canal latéral qui exploite la synchronisation d'exécution transitoire et les instructions Jcc pour fournir des données.

Cette attaque chiffre les données secrètes en modifiant le registre, ce qui ralentit légèrement le temps d'exécution et peut être mesuré par l'attaquant pour décoder les données. Cette attaque ne dépend pas du système de cache.

Contrairement aux autres attaques similaires via des canaux tiers, la nouvelle méthode n'analyse pas le changement du temps d'accès aux données mises en cache et non mis en cache et ne nécessite pas l'étape de réinitialisation de l'enregistrement EFLAGS à l'état initial, ce qui rend difficile la détection et le blocage de l'attaque.

pour démo, les chercheurs ont implémenté une variante de l'attaque Meltdown, en y utilisant une nouvelle méthode pour obtenir des informations sur le résultat d'une opération spéculative. Le fonctionnement de la méthode pour organiser la fuite d'informations lors d'une attaque Meltdown a été démontré avec succès sur des systèmes équipés de processeurs Intel Core i7-6700 et i7-7700 dans un environnement avec le noyau Ubuntu 22.04 et Linux 5.15. Sur un système doté d'un processeur Intel i9-10980XE, l'attaque n'a réussi que partiellement.

La vulnérabilité Meltdown est basée sur le fait que lors de l'exécution spéculative d'instructions, le processeur peut accéder à une zone de données privée puis rejeter le résultat, puisque les privilèges définis interdisent un tel accès au processus utilisateur.

Dans un programme, un bloc exécuté de manière spéculative est séparé du code principal par un saut conditionnel, qui dans des conditions réelles est toujours déclenché, mais en raison du fait que l'instruction conditionnelle utilise une valeur calculée qui n'est pas connue du processeur pendant le code préemptif . exécution, toutes les options de branche sont exécutées de manière spéculative.

Dans Meltdown classique, étant donné que le même cache est utilisé pour les opérations exécutées de manière spéculative que pour les instructions exécutées normalement, il est possible lors de l'exécution spéculative de définir des marqueurs dans le cache qui reflètent le contenu des bits individuels dans une zone de mémoire fermée, puis dans une zone normalement exécutée. code pour déterminer sa signification grâce à l'analyse du temps d'accès aux données mises en cache et non mises en cache.

La nouvelle variante utilise le changement dans le registre EFLAGS comme marqueur d'une fuite. Dans la démo Covert Channel, un processus a modulé les données envoyées pour modifier le contenu de l'enregistrement EFLAGS, et un autre processus a analysé la modification dans le runtime JCC pour recréer les données envoyées par le premier processus.

Enfin, si vous souhaitez en savoir plus, vous pouvez consulter le détails dans le lien suivant.


Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont marqués avec *

*

*

  1. Responsable des données : AB Internet Networks 2008 SL
  2. Finalité des données: Contrôle du SPAM, gestion des commentaires.
  3. Légitimation: votre consentement
  4. Communication des données: Les données ne seront pas communiquées à des tiers sauf obligation légale.
  5. Stockage des données: base de données hébergée par Occentus Networks (EU)
  6. Droits: à tout moment, vous pouvez limiter, récupérer et supprimer vos informations.