Puce Apple Silicon

GoFetch : les puces Apple Silicon laissent fuiter des clés de chiffrement

Alors que revoilà le canal auxiliaire

Avatar de l'auteur
Vincent Hermann

Publié dans

Sécurité

26/03/2024 8 minutes
9

Puce Apple Silicon

Apple a un nouveau problème sur les bras : ses puces Apple Silicon, qui équipent ses Mac, ont une faille. Elle peut être exploitée pour récupérer des clés cryptographiques. Pourtant, il s’agit du même type de vulnérabilité que l’on observe dans les processeurs depuis des années.

Des chercheurs ont annoncé avoir trouvé une faille de sécurité dans les processeurs M1, M2 et M3 d’Apple (les puces Ax des iPhone ne sont pas concernées). Baptisée GoFetch, elle est liée aux mécanismes de prédiction, que l’on retrouve dans les processeurs depuis longtemps, bien qu'ici à un degré plus poussé.

Les puces Apple Silicon vont cependant plus loin et intègrent – comme chez Intel depuis la 13ᵉ génération Core – un mécanisme élargissant le concept de prédiction. C’est malheureusement là que réside la brèche, le Data Memory-dependent Prefetcher (DMP) devenant un canal auxiliaire.

Le fonctionnement du DMP

La suite est réservée à nos abonnés.

Déjà abonné ? Se connecter

Abonnez-vous

Écrit par Vincent Hermann

Tiens, en parlant de ça :

Sommaire de l'article

Introduction

Le fonctionnement du DMP

Le fonctionnement de la faille

Ce ne sera pas facile à corriger

Apple « remercie les chercheurs »… et maintenant ?

Les chercheurs militent pour un contrôle plus fin

Fermer

Commentaires (9)


Ça a l'air exactement pareil que Spectre/Meltdown. Comment est-il possible qu'ils n'y aient pas pensé avant chez Apple ?
Parce-que le FBI / NSA à demandé de ne pas y penser? 🤫
Donc, Apple, qui parle de vie privée H24, répond :

" cette recherche fait progresser notre compréhension de ce type de menaces "

D'accord
Je me pose la question, mais est-ce que les processeurs ARM ont du microcode patchable ? En effet, il me semble qu'Intel et AMD ont réussi à combler les failles de Meltdown et Spectre via un patch du microcode de leur processeur. Cependant, je n'ai pas l'impression que les processeurs ARM possède une telle capacité. Si c'est le cas (pas de microcode patchable), alors Apple va bien en chier pour corriger la faille. Plus encore, il y a peut-être des risques de voir ça du coté des autres puces ARM.
Sur ton premier point, non, il n'y a pas de microcode dans les processeurs ARM.

Sur ton dernier point (les autres puces ARM), elles ne semblent pas affectées si l'on en croit ce papier de chez eux :
Arm’s implementations of memory-dependent prefetchers prevent both exploitative control and predictive leakage attacks, as predictions are only accessible in the context that was generated in.


Le DMP de la puce Apple a l'air d'être de conception Apple à en lire le papier qui parle de cette faille : ils ont fait du reverse engineering en s'aidant d'un brevet sur le sujet déposé par Apple. Donc les puces ARM standards n'utilisent pas ce DMP.

fred42

Sur ton premier point, non, il n'y a pas de microcode dans les processeurs ARM.

Sur ton dernier point (les autres puces ARM), elles ne semblent pas affectées si l'on en croit ce papier de chez eux :
Arm’s implementations of memory-dependent prefetchers prevent both exploitative control and predictive leakage attacks, as predictions are only accessible in the context that was generated in.


Le DMP de la puce Apple a l'air d'être de conception Apple à en lire le papier qui parle de cette faille : ils ont fait du reverse engineering en s'aidant d'un brevet sur le sujet déposé par Apple. Donc les puces ARM standards n'utilisent pas ce DMP.
Merci pour ta réponse. Je lirai l'article de ZNet plus tard, il semble intéressant.

Bon, ben ça sent assez mauvais pour ces puces du coup.
Est-ce que Apple va bien en chier pour corriger la faille ? Bien sûr. Si la solution était simple, elle serait déjà appliquée.

alex.d.

Est-ce que Apple va bien en chier pour corriger la faille ? Bien sûr. Si la solution était simple, elle serait déjà appliquée.
Ils auraient du l’appeler puce L, histoire de rester inviolable.
Il faut corriger au niveau du système et des applications critiques, dans le code et dans la compilation, comme sur linux sur les machines qui n'ont pas de patch via microcode.