BHI : une nouvelle vulnérabilité de classe Spectre affectant Intel et ARM

Chercheurs à l'Université libre d'Amsterdam fait connaître en a trouvé un récemment nouvelle vulnérabilité qui est une version étendue de la vulnérabilité Spectre-v2 sur les processeurs Intel et ARM.

Cette nouvelle vulnérabilité, à laquelle ont été baptisés BHI (Injection d'historique de branche, CVE-2022-0001), BHB (Tampon d'historique de branche, CVE-2022-0002) et Spectre-BHB (CVE-2022-23960), se caractérise en permettant le contournement des mécanismes de protection eIBRS et CSV2 ajoutés aux processeurs.

La vulnérabilité est décrite dans différentes manifestations du même problème, car BHI est une attaque qui affecte différents niveaux de privilège, par exemple, un processus utilisateur et le noyau, tandis que BHB est une attaque au même niveau de privilège, par exemple, eBPF JIT et le noyau.

À propos de la vulnérabilité

Conceptuellement, BHI est une variante étendue de l'attaque Spectre-v2, dans lequel contourner une protection supplémentaire (Intel eIBRS et Arm CSV2) et orchestrer la fuite de données, la substitution de valeurs dans le tampon par un historique de branche global (Branch History Buffer), qui est utilisé dans le CPU pour améliorer la précision de la prédiction de branche en tenant compte de l'histoire des transitions passées.

Au cours d'une attaque par des manipulations avec l'historique des transitions, des conditions sont créées pour la prédiction incorrecte de la transition et l'exécution spéculative des instructions nécessaires, dont le résultat est déposé dans le cache.

À l'exception de l'utilisation d'un tampon d'historique de version au lieu d'un tampon de cible de version, la nouvelle attaque est identique à Spectre-v2. La tâche de l'attaquant est de créer des conditions telles que l'adresse, lors de l'exécution d'une opération spéculative, elle est extraite de la zone des données à déterminer.

Après avoir effectué un saut indirect spéculatif, l'adresse de saut lue à partir de la mémoire reste dans le cache, après quoi l'une des méthodes de détermination du contenu du cache peut être utilisée pour le récupérer sur la base d'une analyse de l'évolution du temps d'accès au cache et non mis en cache. Les données.

Les chercheurs ont démontré un exploit fonctionnel qui permet à l'espace utilisateur d'extraire des données arbitraires de la mémoire du noyau.

Par exemple, il montre comment, en utilisant l'exploit préparé, il est possible d'extraire des tampons du noyau une chaîne avec un hachage du mot de passe de l'utilisateur root, chargé à partir du fichier /etc/shadow.

L'exploit démontre la capacité d'exploiter la vulnérabilité dans un seul niveau de privilège (attaque noyau à noyau) à l'aide d'un programme eBPF chargé par l'utilisateur. La possibilité d'utiliser des gadgets Spectre existants dans le code du noyau, des scripts qui conduisent à l'exécution spéculative d'instructions, n'est pas non plus exclue.

Vulnérabilité apparaît sur la plupart des processeurs Intel actuels, à l'exception de la famille de processeurs Atom et de plusieurs processeurs ARM.

Selon les recherches, la vulnérabilité ne se manifeste pas sur les processeurs AMD. Pour résoudre le problème, plusieurs méthodes ont été proposées. logiciel pour bloquer la vulnérabilité, qui peut être utilisé avant l'apparition de la protection matérielle dans les futurs modèles de CPU.

Pour bloquer les attaques via le sous-système eBPF, sIl est recommandé de désactiver par défaut la possibilité de charger des programmes eBPF par des utilisateurs non privilégiés en écrivant 1 dans le fichier « /proc/sys/kernel/unprivileged_bpf_disabled » ou en exécutant la commande « sysctl -w kernel .unprivileged_bpf_disabled=1 ».

Pour bloquer les attaques via des gadgets, il est recommandé d'utiliser l'instruction LFENCE dans des sections de code pouvant conduire à une exécution spéculative. Il est à noter que la configuration par défaut de la plupart des distributions Linux contient déjà les mesures de protection nécessaires suffisantes pour bloquer l'attaque eBPF démontrée par les chercheurs.

Les recommandations d'Intel pour désactiver l'accès non privilégié à eBPF s'appliquent également par défaut à partir du noyau Linux 5.16 et seront portées sur les branches antérieures.

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


Soyez le premier à commenter

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.