Ils ont identifié un nouveau type d'attaque qui affecte les processeurs Intel et AMD

Bug à l'intérieur du logo Intel

Un groupe de Des chercheurs de l'Université de Virginie et de Californie ont présenté un nouveau type d'attaque aux structures de microarchitecture des processeurs Intel et AMD.

La méthode d'attaque proposée est associé à l'utilisation d'un cache intermédiaire de micro-opérations (micro-op cache) dans les processeurs, qui peut être utilisé pour extraire des informations qui se sont stabilisées au cours de l'exécution spéculative des instructions.

On observe que la nouvelle méthode surpasse considérablement l'attaque Spectre v1 en termes de performances, il rend difficile la détection de l'attaque et n'est pas bloqué par les méthodes de protection existantes contre les attaques via des canaux secondaires conçus pour bloquer les vulnérabilités causées par l'exécution spéculative des instructions.

Par exemple, l'utilisation de l'instruction LFENCE bloque les fuites dans les étapes ultérieures de l'exécution spéculative, mais ne protège pas contre les fuites à travers les structures microarchitecturales.

La méthode affecte les modèles de processeurs Intel et AMD sortis depuis 2011, y compris les séries Intel Skylake et AMD Zen. Les processeurs modernes décomposent les instructions complexes du processeur en micro-opérations plus simples de type RISC, qui sont mis en cache dans un cache séparé.

Ce cache est fondamentalement différent des caches de premier niveau, n'est pas directement accessible et agit comme un tampon de flux pour accéder rapidement aux résultats du décodage des instructions CISC dans une micro-instruction RISC.

Cependant, les chercheurs ont trouvé un moyen de créer les conditions qui surviennent lors d'un conflit d'accès au cache et permettent de juger du contenu du cache des microopérations en analysant les différences de temps d'exécution de certaines actions.

Le cache micro-op sur les processeurs Intel est segmenté par rapport aux threads du processeur (Hyper-Threading), tandis que les processeurs AMD Zen utilise un cache partagé, ce qui crée des conditions de fuite de données non seulement dans un thread d'exécution, mais également entre différents threads dans SMT (une fuite de données est possible entre du code s'exécutant sur différents cœurs logiques de CPU).

Les chercheurs ont proposé une méthode de base pour détecter les changements dans le cache des micro-opérations et divers scénarios d'attaque qui permettent de créer des canaux de transmission de données cachés et d'utiliser du code vulnérable pour filtrer les données sensibles, à la fois au sein d'un même processus (par exemple, pour organiser un processus de fuite de données lors de l'exécution d'un tiers -party code dans les moteurs JIT et les machines virtuelles) et entre le noyau et les processus dans l'espace utilisateur.

En organisant une variante de l'attaque Spectre à l'aide du cache micro-op, les chercheurs ont réussi à atteindre un débit de 965.59 Kbps avec un taux d'erreur de 0.22% et 785.56 Kbps lors de l'utilisation de la correction d'erreur, en cas de fuite dans la même mémoire. espace.adresses. et niveau de privilège.

Avec une fuite couvrant différents niveaux de privilèges (entre le noyau et l'espace utilisateur), le débit était de 85,2 Kbps avec correction d'erreur supplémentaire et de 110,96 Kbps avec un taux d'erreur de 4%.

Lors de l'attaque des processeurs AMD Zen, créant une fuite entre différents cœurs logiques de CPU, le débit était de 250 Kbps avec un taux d'erreur de 5,59% et 168,58 Kbps avec correction d'erreur. Par rapport à la méthode classique Spectre v1, la nouvelle attaque s'est avérée 2,6 fois plus rapide.

L'atténuation d'une attaque de cache micro-op devrait nécessiter davantage de changements dégradant les performances que lorsque les défenses Spectre étaient activées.

Comme compromis optimal, il est proposé de bloquer de telles attaques non pas en désactivant la mise en cache, mais au niveau de la surveillance des anomalies et de la détermination des états de cache typiques des attaques.

Comme dans les attaques Spectre, l'organisation d'une fuite du noyau ou d'autres processus nécessite l'exécution d'un certain script (gadgets) du côté victime des processus, conduisant à une exécution spéculative des instructions.

Une centaine de périphériques de ce type ont été trouvés dans le noyau Linux et seront supprimés, mais des solutions sont régulièrement trouvées pour les générer, par exemple celles associées au lancement de programmes BPF spécialement conçus dans le noyau.

Enfin si vous souhaitez en savoir plus, vous pouvez vérifier les 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: Miguel Ángel Gatón
  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.