La vulnérabilité est due aux fonctionnalités d'optimisation de la mémoire des processeurs Intel.
à nouveau, une vulnérabilité a été découverte dans le système d'exécution d'instructions spéculatives des processeurs Intel, et cette fois un chercheur de Google, annonce avoir identifié une nouvelle vulnérabilité (déjà répertoriée sous CVE-2022-40982), appelé "Chute"
Downfall, est une vulnérabilité qui permet de déterminer le contenu du XMM, YMM et les registres vectoriels ZMM, précédemment utilisés par d'autres processus lors de l'exécution d'instructions AVX sur le même cœur de processeur.
À propos de la chute
Concernant la vulnérabilité, il est mentionné que un attaquant non privilégié avec la possibilité d'exécuter votre propre code sur le système, pourrait utiliser la vulnérabilité pour divulguer des données à partir d'autres processus utilisateur, le noyau du système, les enclaves Intel SGX isolées et les machines virtuelles.
Les registres de tableaux filtrables sont largement utilisés dans le chiffrement, les fonctions de copie de mémoire et le traitement de chaînes, par exemple, ces registres sont utilisés dans la bibliothèque Glibc dans les fonctions memcpy, strcmp et strlen, entre autres. D'un point de vue pratique, la vulnérabilité pourrait être exploitée pour déterminer les données en cours de traitement dans les instructions AES-NI ou REP-MOVS (utilisées dans la fonction memcpy) dans d'autres processus, ce qui pourrait divulguer des clés de chiffrement, des données sensibles et des mots de passe utilisateur.
La vulnérabilité se manifeste dans les processeurs Intel qui supportent les jeux d'instructions étendus AVX2 et AVX-512 (ce qui signifie qu'il affecte les processeurs de la 6e à la 11e génération), tandis que les processeurs Intel basés sur les microarchitectures Alder Lake, Raptor Lake et Sapphire Rapids ne semblent pas eux affectés.
Comme pour la vulnérabilité Zenbleed récemment découverte affectant les processeurs AMD Zen2, dans Downfall, la raison de la vulnérabilité est la fuite de données des fichiers journaux, qui sont utilisés pour partager le contenu des journaux entre toutes les tâches sur le même cœur de processeur.
La fuite est due à un transfert de données spéculatif lors de l'exécution de l'instruction GATHER, disponible dans les extensions AVX2 et AVX-512, et conçu pour fournir un accès rapide aux données disparates en mémoire. Lors de l'exécution de l'instruction GATHER, les anciennes données du fichier de registre sont utilisées dans l'exécution spéculative des instructions dépendantes. Ces données ne sont pas directement reflétées dans les journaux du logiciel, mais peuvent être déterminées à l'aide de techniques d'attaque par canal latéral conçues pour les attaques Meltdown, telles que l'analyse des données restantes dans le cache du processeur.
Pour exploiter la chute, une technique d'attaque a été développée appelée Gather Data Sampling (GDS) et pour lesquels des prototypes d'exploit ont été publiés pour extraire les clés cryptographiques du processus d'un autre utilisateur, divulguer des données après leur copie dans le noyau Linux par la fonction memcpy et intercepter les caractères imprimés laissés dans les registres vectoriels après le fonctionnement d'autres processus. Par exemple, il démontre la possibilité de définir des clés AES utilisées pour chiffrer les données dans le processus d'un autre utilisateur à l'aide de la bibliothèque OpenSSL.
La méthode a montré une grande efficacité: en menant une expérience avec 100 clés différentes, 100% des clés AES-128 et 86% des clés AES-256 ont été déterminées avec la durée de chaque tentative pour déterminer pas plus de 10 secondes. Dans les systèmes cloud, une attaque peut être utilisée pour déterminer quelles données sont traitées dans d'autres machines virtuelles. Il est possible que la vulnérabilité soit exploitée en exécutant du code JavaScript dans un navigateur Web.
Il faut mentionner que jentel a découvert le problème l'année dernière (précisément au mois d'août) et que la vulnérabilité n'a été rendue publique que cette année lors de la conférence BlackHat USA. et des correctifs pour se prémunir contre la vulnérabilité sont déjà inclus dans les différentes mises à jour du noyau Linux allant de la version 6.4.9 6.1.44 à 4.14.321.
En plus de cela, parmi les mesures possibles pour éviter l'impact négatif de la protection contre la vulnérabilité Downfall sur les performances, il est mentionné d'apporter des modifications dans les compilateurs pour désactiver l'utilisation de l'instruction GATHER ou d'ajouter l'instruction immédiatement après GATHER LFENCE, qui désactive l'exécution préemptive des instructions suivantes avant que tous les commits précédents ne soient terminés.
Pour les systèmes où les correctifs du micrologiciel ne sont pas disponibles, la prise en charge de toutes les extensions AVX a été désactivée, tandis que pour la partie de la mise à jour du microcode Intel, elle offre également la possibilité d'utiliser l'interface MSR pour désactiver de manière sélective la protection du micrologiciel dans le cadre de la protection individuelle. processus.
Enfin, si vous souhaitez en savoir plus, vous pouvez vérifier les détails dans le lien suivant