L'attaque d'exécution spéculative « GhostRace » affecte tous les fournisseurs de processeurs et de systèmes d'exploitation

L'attaque d'exécution spéculative « GhostRace » affecte tous les fournisseurs de processeurs et de systèmes d'exploitation

L'attaque d'exécution spéculative « GhostRace » affecte tous les fournisseurs de processeurs et de systèmes d'exploitation PlatoBlockchain Data Intelligence. Recherche verticale. Aï.

Des chercheurs d'IBM et de VU Amsterdam ont développé une nouvelle attaque qui exploite les mécanismes d'exécution spéculative des processeurs informatiques modernes pour contourner les contrôles des systèmes d'exploitation par rapport à ce que l'on appelle les conditions de concurrence.

L'attaque exploite une vulnérabilité (CVE-2024-2193) que les chercheurs ont trouvée affectant les processeurs Intel, AMD, ARM et IBM. Il fonctionne avec n'importe quel système d'exploitation, hyperviseur et logiciel qui implémente des primitives de synchronisation ou des contrôles intégrés contre les conditions de concurrence. Les chercheurs ont surnommé leur attaque « GhostRace » et l’ont décrite dans un document technique publié cette semaine.

"Notre principale découverte est que toutes les primitives de synchronisation courantes peuvent être contournées microarchitecturalement sur des chemins spéculatifs, transformant toutes les régions critiques architecturalement sans race en conditions de course spéculatives (SRC)", explique le chercheur. les chercheurs ont dit.

Les bugs d’exécution spéculative persistent malgré un examen minutieux

Une situation de concurrence critique, comme l'expliquent les chercheurs dans leur article, peut survenir lorsque deux ou plusieurs processus, ou threads, tentent d'accéder simultanément à une ressource informatique partagée, telle que des emplacements de mémoire ou des fichiers. Il s'agit d'une cause relativement courante de corruption de données et de vulnérabilités qui entraînent des fuites d'informations sur la mémoire, des accès non autorisés, un déni de service et un contournement de la sécurité.

Pour atténuer ce problème, les fournisseurs de systèmes d'exploitation ont mis en œuvre ce que l'on appelle primitives spéculatives dans leur logiciel qui contrôle et synchronise l’accès aux ressources partagées. Les primitives, qui portent des noms tels que « mutex » et « spinlock », garantissent qu'un seul thread peut accéder ou modifier une ressource partagée à la fois.

Ce que les chercheurs d'IBM et de VU Amsterdam ont découvert est un moyen de contourner ces mécanismes en ciblant l'exécution spéculative ou la fonctionnalité de traitement dans le désordre des processeurs modernes. L'exécution spéculative implique essentiellement qu'un processeur prédit le résultat de certaines instructions et les exécute à l'avance au lieu de les exécuter dans l'ordre reçu. L'objectif est d'accélérer le temps de traitement en faisant travailler le processeur sur les instructions suivantes tout en attendant le résultat des instructions précédentes.

L'exécution spéculative a éclaté sous le feu des projecteurs en 2017 lorsque des chercheurs ont découvert un moyen d'exploiter la technique pour accéder aux informations sensibles dans la mémoire système – comme les mots de passe, les clés de cryptage et les e-mails – et utilisez ces données pour d’autres attaques. Les vulnérabilités dites Spectre et Meltdown ont affecté pratiquement tous les microprocesseurs modernes et ont provoqué une revue de l'architecture du microprocesseur à bien des égards, cela est toujours en cours.

Dans le cadre d'un effort visant à aider les concepteurs de microprocesseurs et d'autres parties prenantes à mieux sécuriser les processeurs contre les vulnérabilités telles que Spectre et Meltdown, MITRE a déployé en février 2024 quatre nouveaux énumérateurs de faiblesses communes (CWE) qui décrire et documenter différentes faiblesses du microprocesseur.

Une nouvelle version d'un exploit connu

L'attaque développée par les chercheurs d'IBM et de VU Amsterdam repose sur une spéculation de branche conditionnelle similaire à un type d'attaque Spectre. "Notre principale conclusion est que toutes les primitives communes (côté écriture) (i) manquent de sérialisation explicite et (ii) protègent la région critique avec une branche conditionnelle", ont déclaré les chercheurs. En d’autres termes, ils ont découvert que lorsque les primitives de synchronisation utilisent une instruction conditionnelle « if » pour contrôler l’accès à des ressources partagées, elles sont vulnérables à une attaque d’exécution spéculative.

"Dans un environnement d'exécution spéculative contradictoire, c'est-à-dire avec un attaquant Spectre mal entraîné la branche conditionnelle, ces primitives se comportent essentiellement comme une opération sans opération", ont-ils noté. « Les implications en matière de sécurité sont importantes, car un attaquant peut exécuter de manière spéculative toutes les régions critiques du logiciel victime sans synchronisation. »

Dans un blog, les chercheurs ont noté qu'ils avaient informé tous les principaux fournisseurs de matériel de leur découverte et que les fournisseurs avaient, à leur tour, informé tous les fournisseurs de systèmes d'exploitation et d'hyperviseurs concernés. Tous les fournisseurs ont reconnu le problème, selon les chercheurs.

Dans un avis, AMD recommandé que les développeurs de logiciels suivent ses directives publiées précédemment sur la façon de se protéger contre les attaques de type Spectre.

Horodatage:

Plus de Lecture sombre