Le MIT découvre la vulnérabilité d’Apple M1 et démos l’attaque PACMAN (mise à jour)

(Crédit image : Max Tech/YouTube)

Le M1 d’Apple est rapide et d’une efficacité énergétique dévastatrice, mais comme tous les processeurs, il n’est pas à l’épreuve des balles. Les scientifiques du Laboratoire d’informatique et d’intelligence artificielle du MIT (CSAIL) ont dévoilé une nouvelle méthodologie d’attaque qui exploite une vulnérabilité matérielle dans la série de puces Apple M1 en utilisant une nouvelle technique PACMAN pour voler des données. L’équipe a utilisé un processeur Apple M1 comme puce de démonstration pour l’exploit et nous dit qu’elle ne l’a pas reproduit avec d’autres processeurs Arm. Les chercheurs affirment que l’attaque peut même potentiellement accéder au noyau du système d’exploitation principal, donnant ainsi aux attaquants le contrôle total d’un système grâce à une combinaison d’attaques logicielles et matérielles. Cependant, la partie logicielle de l’attaque repose sur un bogue de corruption de mémoire existant pour fonctionner, ce n’est donc pas une solution miracle qui contournera toute la sécurité.

Notamment, les chercheurs racontent Le matériel de Tom que l’exploit ne fait pas nécessitent un accès physique à la machine, afin qu’elle puisse être exploitée à distance. Les chercheurs affirment que les vulnérabilités matérielles du M1 ne peuvent pas être corrigées avec un logiciel et l’équipe du MIT pense que la vulnérabilité pourrait avoir un impact sur les futurs appareils mobiles Arm, et probablement même sur les futurs PC de bureau Arm, si elle n’est pas atténuée dans les futures architectures. « Toute puce qui utilise l’exécution spéculative pour évaluer et fonctionner sur des pointeurs signés d’authentification de pointeur (et gère avec impatience les erreurs de prédiction imbriquées) pourrait potentiellement être vulnérable à PACMAN », a déclaré Joseph Ravichandran, chercheur au sein de l’équipe du MIT. Cela signifie que cela pourrait éventuellement avoir un impact sur les puces d’autres fournisseurs Arm qui prennent en charge l’authentification par pointeur, tels que Qualcomm et Samsung, mais ces puces n’ont pas encore été testées.

L’attaque cible la fonction Arm’s Pointer Authentication par le biais d’une attaque par canal latéral sur le moteur d’exécution spéculatif des puces. L’authentification par pointeur est normalement utilisée pour vérifier les logiciels avec des signatures cryptographiques appelées codes d’authentification par pointeur (PAC), empêchant ainsi les attaques malveillantes sur la mémoire via des vulnérabilités logicielles. Ces attaques logicielles consistent généralement en des techniques qui exploitent la corruption de la mémoire, comme les dépassements de mémoire tampon, pour prendre le contrôle total d’un programme. En tant que tel, il s’appuie sur un bogue logiciel existant qui peut lire et écrire dans la mémoire.

M1

(Crédit image : MIT CSAIL)

La technique PACMAN consiste à « deviner » une valeur pour le PAC tout en utilisant une attaque d’exécution spéculative, un peu comme nous le voyons avec Spectre et Meltdown, pour divulguer les résultats de la vérification PAC via des canaux secondaires microarchitecturaux. Pour rappel, une attaque par canal auxiliaire permet le vol de données en observant ou en exploitant un effet secondaire d’une opération sur un système. Cela permet aux chercheurs de trouver la bonne valeur PAC, contournant ainsi la protection contre les vulnérabilités logicielles. Cependant, il nécessite un bogue de corruption de mémoire existant dans le logiciel pour fonctionner. « PACMAN ne peut prendre qu’un bogue existant contre lequel l’authentification par pointeur protège et libérer le véritable potentiel de ce bogue pour une utilisation dans une attaque en trouvant le bon PAC », ont déclaré les chercheurs.

Les chercheurs affirment que l’attaque PACMAN fonctionne à travers les niveaux de privilège, « impliquant la possibilité d’attaquer un noyau de système d’exploitation compatible PA ».

Interrogée sur le taux d’exfiltration des données (c’est-à-dire la vitesse à laquelle les données peuvent être volées), l’équipe répond Le matériel de Tom« C’est difficile à dire car l’exfiltration de données avec cette attaque dépendra beaucoup du gadget exact utilisé. Notre exploit de preuve de concept prend 2,69 millisecondes par estimation PAC (donc dans le pire des cas 2,94 minutes par pointeur). Cela peut être plus long dans un attaque de bout en bout entièrement intégrée. »

Les chercheurs proposent trois méthodes pour se protéger contre les attaques PACMAN. Une méthode consiste à modifier le matériel ou le logiciel pour empêcher l’utilisation des résultats de vérification PAC dans le processus d’exécution spéculative. Cependant, les chercheurs avertissent que cette approche pourrait avoir une pénalité de performance significative. Une autre suggestion consiste à adapter les techniques d’atténuation de Spectre précédemment développées à PACMAN. Enfin, la correction des vulnérabilités de corruption de mémoire empêcherait également les attaques.

M1

(Crédit image : MIT CSAIL)

Le rapport documente également la rétro-ingénierie par l’équipe de la hiérarchie de la mémoire des processeurs Apple M1, qui à son tour révèle de nombreux détails jusque-là non divulgués sur l’architecture de la puce.

L’équipe du MIT a été en partie financée par la National Science Foundation (NSF) et l’Air Force Office of Scientific Research (AFOSR). L’équipe MIT CSAIL présentera son article PACMAN: Attacking ARM Pointer Authentication with Speculative Execution lors du Symposium international sur l’architecture informatique le 18 juin, décrivant sa nouvelle méthodologie d’attaque.

Source-138