Une nouvelle variante de l'attaque Zombieload sur les processeurs Intel a été identifiée

Chercheurs de l’Université Technique de Graz (Autriche) découvert informations sur une nouvelle méthode d'attaque via des canaux tiers Charge zombie 2.0 (CVE-2019-11135), qui permet d'extraire des informations confidentielles d'autres processus, du système d'exploitation, des machines virtuelles et des enclaves protégées (TEE, Trusted Execution Environment). Le problème ne concerne que les processeurs Intel. Composants pour bloquer le problème proposé hier mise à jour du microcode.

Le problème appartient à la classe MDS (Microarchitectural Data Sampling) et est une version modernisée publié en mai, ZombieLoad attaque. ZombieLoad 2.0, comme d'autres attaques MDS, repose sur l'application de techniques d'analyse de canal secondaire aux données dans des structures microarchitecturales (par exemple, Line Fill Buffer et Store Buffer), qui stockent temporairement les données utilisées dans le processus d'exécution des opérations de chargement et de stockage) .

Nouvelle variante d'attaque Zombieload est basé sur la fuite qui se produit lors du fonctionnement du mécanisme d'interruption asynchrone des opérations (TAA, TSX Asynchronous Abort), implémenté dans l'extension TSX (Transactional Synchronization Extensions), qui fournit des outils pour travailler avec la mémoire transactionnelle, ce qui permet d'augmenter les performances de applications multithread en éliminant dynamiquement les opérations de synchronisation inutiles (transactions atomiques prises en charge qui peuvent être acceptées ou abandonnées). En cas d'interruption, les opérations effectuées sur la région de mémoire transactionnelle sont annulées.

L'abandon de la transaction se produit de manière asynchrone, auquel moment d'autres threads peuvent accéder au cache, qui est également utilisé dans la région de mémoire transactionnelle supprimée. Entre le début et la fin effective d'un abandon de transaction asynchrone, des situations peuvent survenir dans lesquelles le processeur, pendant l'exécution spéculative d'une opération, peut lire des données dans des tampons microarchitecturaux internes et les transférer vers l'opération spéculative. Le conflit sera alors détecté et l'opération spéculative rejetée, mais les données resteront dans le cache et pourront être récupérées à l'aide de techniques de récupération de cache par canal secondaire.

L'attaque se résume à l'ouverture des transactions TSX et à la création de conditions pour leur interruption asynchrone, au cours desquelles des conditions surviennent pour divulguer le contenu des tampons internes remplis de manière spéculative avec des données provenant d'opérations de lecture de mémoire effectuées sur le même cœur de processeur. La fuite est limitée au cœur physique actuel du processeur (sur lequel le code de l'attaquant s'exécute), mais comme les tampons microarchitecturaux sont partagés entre différents threads en mode Hyper-Threading, il est possible de fuir les opérations de mémoire effectuées dans d'autres threads du processeur.

Attaque sous réserve de certains modèles des huitième, neuvième et dixième générations de processeurs Intel Core, ainsi que Intel Pentium Gold, Intel Celeron 5000, Intel Xeon E, Intel Xeon W et Intel Xeon Scalable de deuxième génération. Les nouveaux processeurs Intel basés sur la microarchitecture Cascade Lake introduite en avril, qui n'étaient initialement pas sensibles aux attaques RIDL et Fallout, sont également susceptibles d'être attaqués. En plus de Zombieload 2.0, les chercheurs ont également identifié la possibilité de contourner les méthodes de protection proposées précédemment contre les attaques MDS, basées sur l'utilisation de l'instruction VERW pour effacer le contenu des tampons microarchitecturaux lors du retour du noyau à l'espace utilisateur ou lors du transfert de contrôle vers le système invité.

Le rapport d'Intel indique que dans les systèmes avec une charge hétérogène, il est difficile de mener une attaque, car une fuite des structures microarchitecturales couvre toute l'activité du système et l'attaquant ne peut pas influencer la source des données extraites, c'est-à-dire ne peut qu'accumuler les informations résultant d'une fuite et tenter d'identifier les informations utiles parmi ces données, sans la possibilité d'intercepter délibérément les données associées à des adresses mémoire spécifiques. Cependant, les chercheurs ont publié exploiter un prototype, fonctionnant sous Linux et Windows, et a démontré la capacité d'utiliser une attaque pour déterminer le hachage du mot de passe de l'utilisateur root.
Peut-être mener une attaque à partir d'un système invité pour accumuler des données qui apparaissent dans les opérations d'autres systèmes invités, l'environnement hôte, l'hyperviseur et les enclaves Intel SGX.

Correctifs pour bloquer la vulnérabilité inclus dans la base de code du noyau Linux et inclus dans les versions 5.3.11, 4.19.84, 4.14.154, 4.9.201 et 4.4.201. Des mises à jour du noyau et du microcode ont également déjà été publiées pour les distributions majeures (Debian, SUSE / openSUSE, Ubuntu, RHEL, Fedora, FreeBSD). Le problème a été identifié en avril et un correctif a été coordonné entre Intel et les développeurs du système d'exploitation.

La méthode la plus simple pour bloquer Zombieload 2.0 consiste à désactiver la prise en charge de TSX dans le processeur. Le correctif proposé pour le noyau Linux inclut plusieurs options de protection. La première option propose le paramètre « tsx=on/off/auto », qui permet de contrôler si l'extension TSX est activée sur le CPU (la valeur auto désactive TSX uniquement pour les CPU vulnérables). La deuxième option de protection est activée par le paramètre « tsx_async_abort=off/full/full,nosmt » et est basée sur l'effacement des tampons microarchitecturaux lors du changement de contexte (l'indicateur nosmt désactive en outre SMT/Hyper-Threads). Pour vérifier si un système est sensible aux vulnérabilités, sysfs fournit le paramètre « /sys/devices/system/cpu/vulnerabilities/tsx_async_abort ».

En outre, le mise à jour microcode éliminé un de plus vulnérabilité (CVE-2018-12207) dans les processeurs Intel, qui est également bloqué dans les dernières mise à jour Noyaux Linux. Vulnérabilité il permet un attaquant non privilégié pour lancer un déni de service, provoquant le blocage du système dans l'état « Machine Check Error ».
Attaque comprenant peut être commis du système invité.

Source: opennet.ru

Ajouter un commentaire