Recherche

SLAP, une faille "à la Spectre" sur les puces Apple Silicon

Des chercheurs universitaires attirent l'attention sur une faille dans les puces d'Apple. Elle est du même acabit que Spectre, qui touche des CPU x86.

Publié par Clément Bohic le - mis à jour à
Lecture
2 min
  • Imprimer
SLAP, une faille 'à la Spectre' sur les puces Apple Silicon
© généré par IA

Spectre, c'est aussi sur Apple Silicon ? En quelque sorte, d'après des chercheurs de Georgia Tech et de l'université de la Ruhr.

Les intéressés ont réussi à exploiter un des mécanismes d'exécution spéculative mis en oeuvre sur les puces M2 à M4 et A15 à A17.

Spectre et la plupart de ses variantes tirent parti de la spéculation sur le flux de contrôle (déclarations if, sauts indirects, boucles...) pour faire fuiter des secrets via des canaux auxiliaires.

Dans le cas présent, le mécanisme attaqué spécule sur les flux de données. Le CPU tente en l'occurrence de prédire les valeurs auxquelles il va accéder.

Cette technique, dite LAP (Load Address Predictor), consiste plus précisément à prédire les adresses des instructions de chargement sur la base d'observations préalables. Par ce biais, le CPU récupère des valeurs qu'il peut transmettre à des instructions localisées en aval dans le programme. Cela permet notamment d'éliminer l'effet des dépendances RAW (Read-After-Write), où l'opérande source d'une instruction est la destination d'une instruction plus ancienne (ce qui impose une exécution en série).

Safari attaqué via sa sandbox JavaScript

La fenêtre de spéculation ouverte dans ce cadre - jusqu'à 600 cycles - est suffisamment grande pour exfiltrer des données, ont constaté les chercheurs. Une faille qu'ils ont appelée Spectre-LAP... et sur laquelle ils ont construit une attaque ciblant Safari.


Dite SLAP, cette attaque permet des lectures hors limites dans la sandbox JavaScript du moteur WebKit. Elle a permis, nous affirme-t-on, de récupérer entre autres le contenu d'e-mails.

Dans les grandes lignes, SLAP met à profit le fait que Safari n'isole pas les pages web dans des processus de rendu séparés lorsqu'il appelle window.open. Deux pages web de domaines différents peuvent ainsi se retrouver gérées par le même processus - et donc partager un espace d'adressage. Cela permet de faire "sauter" le LAP d'un objet de chaîne sur une page contrôlée par l'attaquant vers un objet de chaîne sur la page ciblée. Puis à faire travailler le CPU dessus jusqu'à leaker du contenu.

Malgré une isolation renforcée des sites sur Chrome avec WebKit, deux sous-domaines d'un même site peuvent se retrouver fusionnés en un processus, ouvrant la voie à la compromission du LAP, notent les chercheurs.

Illustration principale générée par IA

Livres Blancs #security

Voir tous les livres blancs

Vos prochains événements

Voir tous les événements

Voir tous les événements

S'abonner
au magazine
Se connecter
Retour haut de page