TikTag — attaque contre le mĂ©canisme d'exĂ©cution spĂ©culative dans les CPU ARM, permettant de contourner la protection MemTag

Un groupe de chercheurs de l'UniversitĂ© de SĂ©oul et de la sociĂ©tĂ© Samsung a dĂ©veloppĂ© une technique d'attaque sur les processeurs ARM, nommĂ©e TikTag, qui peut ĂȘtre utilisĂ©e pour contourner le mĂ©canisme de protection matĂ©riel MemTag (MTE, Memory Tagging Extension) prĂ©sent dans les puces basĂ©es sur l'architecture ARMv8.5-A. L'attaque permet de dĂ©terminer le contenu des balises TikTag pour des adresses mĂ©moire arbitraires en raison de fuites de donnĂ©es rĂ©sultant de l'exĂ©cution spĂ©culative des instructions CPU.

La technologie MemTag permet d'associer des balises Ă  des zones de mĂ©moire et d'organiser une vĂ©rification de l'utilisation correcte des pointeurs pour bloquer l'exploitation des vulnĂ©rabilitĂ©s causĂ©es par l'accĂšs Ă  des blocs de mĂ©moire dĂ©jĂ  libĂ©rĂ©s, des dĂ©bordements de tampon et des accĂšs avant initialisation. Lors de l'utilisation de MemTag, un tag de 4 bits est créé pour chaque 16 octets de mĂ©moire physique, servant de clĂ© d'accĂšs Ă  cette mĂ©moire. Le tag peut ĂȘtre gĂ©nĂ©rĂ© par une application pour une zone de mĂ©moire allouĂ©e Ă  l'aide d'instructions CPU spĂ©ciales, puis stockĂ© dans les bits supĂ©rieurs non utilisĂ©s du pointeur. Lors de l'accĂšs Ă  la mĂ©moire avec un pointeur taguĂ©, le processeur vĂ©rifie la correspondance entre le tag associĂ© au pointeur et les tags associĂ©s aux blocs de mĂ©moire, et n'autorise l'accĂšs que si les tags correspondent.

La mĂ©thode d'attaque proposĂ©e permet de dĂ©terminer les tags associĂ©s aux blocs de mĂ©moire et de contourner la protection MemTag. Les chercheurs ont dĂ©montrĂ© la possibilitĂ© de rĂ©aliser l'attaque TikTag en exploitant des vulnĂ©rabilitĂ©s dans le noyau Linux et le navigateur Chrome, en utilisant des sĂ©quences d'instructions (gadgets) existantes dans ces produits, entraĂźnant une exĂ©cution spĂ©culative de code. De tels gadgets, lorsqu'ils sont exĂ©cutĂ©s en mode spĂ©culatif de code utilisant des pointeurs, provoquent la lecture des mĂ©tadonnĂ©es MemTag en fonction de conditions externes pouvant ĂȘtre influencĂ©es par l'attaquant. AprĂšs avoir dĂ©terminĂ© une prĂ©vision erronĂ©e, le rĂ©sultat de l'exĂ©cution spĂ©culative est rejetĂ©, mais les donnĂ©es obtenues restent dans le cache et peuvent ensuite ĂȘtre extraites par une analyse via des canaux latĂ©raux. La probabilitĂ© de contourner avec succĂšs la protection MemTag dans les tests effectuĂ©s a Ă©tĂ© Ă©valuĂ©e Ă  95 % lors de l'attaque rĂ©alisĂ©e sur une durĂ©e d'environ 4 secondes.

TikTag - une attaque sur le mécanisme d'exécution spéculative dans le CPU ARM, permettant de contourner la protection MemTag.

Deux types de gadgets ont Ă©tĂ© identifiĂ©s, entraĂźnant des fuites d'informations sur les tags MemTag. Dans le premier cas, l'exĂ©cution spĂ©culative se produit en raison d'une prĂ©diction de saut incorrecte, et les conditions pour l'exĂ©cution du gadget peuvent ĂȘtre créées par des manipulations des appels systĂšme. Dans le second cas,
l'exécution spéculative survient à cause d'une erreur dans la prédiction de la relation entre les opérations de lecture et d'écriture lors de l'utilisation de l'optimisation STLF (Store-To-Load-Forwarding), ce qui permet de récupérer un tag en évaluant l'état du cache (si le tag correspond, la valeur est directement redirigée de la commande précédente « store » à l'opération « load » et modifie l'état du cache). Le premier type de gadgets est adapté pour attaquer le noyau Linux, tandis que le second cible le moteur JavaScript V8, utilisé dans les navigateurs basés sur Chromium. Un prototype d'outil pour mener cette attaque a été publié sur GitHub.

TikTag - une attaque sur le mécanisme d'exécution spéculative dans le CPU ARM, permettant de contourner la protection MemTag.TikTag - une attaque sur le mécanisme d'exécution spéculative dans le CPU ARM, permettant de contourner la protection MemTag.

La société ARM a confirmé la possibilité de mener une attaque sur des systÚmes équipés de processeurs Cortex-X2, Cortex-X3, Cortex-A510, Cortex-A520, Cortex-A710, Cortex-A715 et Cortex-A720, mais n'a pas l'intention d'apporter des modifications au CPU pour bloquer le problÚme, car l'architecture MemTag suppose que les tags ne sont pas des données secrÚtes pour les applications. Dans la base de code de Chromium, le problÚme reste également non corrigé, car la protection basée sur MemTag n'est pas encore appliquée par défaut dans le navigateur Chrome. L'équipe responsable de la sécurité de la plateforme Android a reconnu la possibilité d'une attaque sur les dispositifs Pixel 8 utilisant la protection MemTag, a ajouté des correctifs pour bloquer les fuites et a exprimé sa volonté de verser une récompense pour la vulnérabilité trouvée.

Comme méthodes d'atténuation pour bloquer l'attaque, les chercheurs proposent d'utiliser les instructions sb ou isb pour interdire l'exécution spéculative lors des opérations critiques sur la mémoire ou d'inclure entre les instructions de branchement et les instructions d'accÚs à la mémoire des remplissages provenant d'autres instructions.

Source : opennet.ru

Acheter un hĂ©bergement fiable pour les sites avec protection DDoS, serveurs VPS VDS đŸ”„ Acheter un hĂ©bergement fiable pour les sites avec protection DDoS, serveurs VPS VDS | ProHoster