Le MIT découvre la vulnérabilité Apple M1 et démontre l’attaque PACMAN

(Crédit image : Max Tech/YouTube)

Des scientifiques du MIT Computer Science & Artificial Intelligence Laboratory (CSAIL) ont révélé une nouvelle méthodologie d’attaque qui exploite une vulnérabilité matérielle dans les processeurs Arm, y compris 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 affirme que l’attaque pourrait potentiellement accéder au cœur du système d’exploitation, donnant 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 toutes les sécurités. Les vulnérabilités matérielles ne peuvent pas être corrigées par logiciel et l’équipe du MIT pense que la vulnérabilité matérielle affectera tous les futurs appareils mobiles Arm et probablement même les ordinateurs de bureau si elle n’est pas atténuée.

L’attaque cible la fonction d’authentification du pointeur d’Arm via une attaque par canal latéral sur le moteur d’exécution spéculative des puces. L’authentification par pointeur est couramment 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 souvent 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, comme nous le voyons avec Spectre et Meltdown, pour divulguer les résultats de la vérification PAC à travers les canaux secondaires de la microarchitecture. 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, évitant 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. Les chercheurs disent que “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”.

Les chercheurs affirment que l’attaque PACMAN fonctionne à des niveaux de privilèges, “impliquant la possibilité d’attaquer un noyau de système d’exploitation compatible PA”.

Les chercheurs proposent trois méthodes de protection 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 peut entraîner une perte de performances significative. Une autre suggestion est d’adapter les techniques d’atténuation 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 l’ingénierie inverse 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.

Leave a Comment