Des chercheurs universitaires ont créé une nouvelle attaque spéculative par canal secondaire qu’ils ont nommée iLeakage, qui fonctionne sur tous les appareils Apple récents et peut extraire des informations sensibles du navigateur Web Safari.
iLeakage est la première démonstration d’une attaque d’exécution spéculative contre les processeurs Apple Silicon et le navigateur Safari. Il peut être utilisé pour récupérer avec une « précision presque parfaite » des données de Safari, ainsi que de Firefox, Tor et Edge sur iOS.
Il s’agit essentiellement d’une attaque Spectre intemporelle qui contourne les protections de canal secondaire standard mises en œuvre par tous les fournisseurs de navigateurs.
Voler des secrets de Safari
iLeakage a été développé par une équipe d’universitaires de Georgia Tech, de l’Université du Michigan et de l’Université de la Ruhr à Bochum qui ont examiné la résilience des canaux secondaires de Safari et ont réussi à contourner les contre-mesures existantes en mettant en œuvre une méthode sans minuterie et indépendante de l’architecture basée sur les conditions de concurrence.
Les chercheurs se sont concentrés sur la lecture d’informations sensibles de Safari et ont pu voler des données en créant une primitive capable de lire et de divulguer de manière spéculative n’importe quel pointeur 64 bits dans l’espace d’adressage utilisé par le navigateur d’Apple pour le processus de rendu.
Ils y sont parvenus en éliminant les protections de canal secondaire mises en œuvre par Apple dans son navigateur, par exemple un minuteur basse résolution, un adressage 35 bits compressé et un empoisonnement des valeurs.
Les chercheurs ont également contourné la politique d’isolation des sites de Safari, qui sépare les sites Web en différents espaces d’adressage en fonction de leur domaine de premier niveau effectif (eTLD) plus un sous-domaine.
Ils ont utilisé une nouvelle technique qui utilise le JavaScript fenêtre.ouvrir L’API permet à une page attaquante de partager le même espace d’adressage que les pages victimes arbitraires.
En utilisant la confusion de types spéculatifs pour contourner l’adressage compressé 35 bits d’Apple et les contre-mesures d’empoisonnement des valeurs, les chercheurs pourraient divulguer des données sensibles de la page cible, telles que des mots de passe et des e-mails.
Le code de validation de principe de l’attaque est en JavaScript et WebAssembly, les deux langages de programmation permettant de fournir du contenu Web dynamique.
La vidéo ci-dessous montre comment les messages Gmail dans Safari exécutant un iPad ont été récupérés à l’aide de l’attaque iLeakage. La condition de base pour que l’attaque fonctionne est que l’utilisateur victime interagisse avec la page de l’attaquant.
https://www.youtube.com/watch?v=2uH9slLKTjw
Les chercheurs ont utilisé la même méthode pour récupérer un mot de passe pour un compte test Instagram qui a été automatiquement renseigné dans le navigateur Web Safari à l’aide du service de gestion de mots de passe LastPass.
https://www.youtube.com/watch?v=Z2RtpN77H8o
Dans une autre expérience, les chercheurs ont démontré comment les attaques iLeakage fonctionnent également sur Chrome pour iOS et ont pu récupérer l’historique des vidéos regardées sur YouTube.
Ils expliquent que la politique d’Apple oblige tous les navigateurs iOS tiers à se superposer à Safari et à utiliser le moteur JavaScript du navigateur Apple.
https://www.youtube.com/watch?v=sNdyrCtajP4
iFuite repose sur l’exploitation de l’exécution spéculative dans les puces Apple Silicon (M1, M2), où l’exécution prédictive du processeur exécute les tâches les plus susceptibles d’être nécessaires mais avant de savoir si elles le sont ou non.
Ce mécanisme, présent dans tous les processeurs modernes, améliore considérablement les performances ; cependant, des défauts de conception peuvent provoquer des fuites de données, comme l’ont prouvé les attaques Meltdown et Spectre révélées il y a près de six ans.
Plus de détails sur l’attaque et les méthodes individuelles utilisées pour contourner les mesures d’atténuation d’Apple sont disponibles dans le document technique les chercheurs ont publié.
Conseils d’impact et de défense
iLeakage affecte tous les appareils Apple sortis à partir de 2020 et alimentés par les processeurs ARM des séries A et M d’Apple.
L’attaque est largement indétectable, ne laissant aucune trace sur le système de la victime sous forme de journaux, à part peut-être une entrée de la page Web de l’attaquant dans le cache du navigateur.
Néanmoins, les chercheurs soulignent que l’attaque est difficile à mener « et nécessite une connaissance avancée des attaques par canal secondaire basées sur les navigateurs et de la mise en œuvre de Safari ».
iLeakage a été signalé en privé à Apple le 12 septembre 2022 et la société a développé les mesures d’atténuation suivantes pour macOS :
- Ouvrez le terminal et exécutez les valeurs par défaut write com.apple.Safari IncludeInternalDebugMenu 1 pour activer le menu de débogage caché de Safari.
- Ouvrez Safari et dirigez-vous vers le menu Debug nouvellement visible.
- Sélectionnez « Fonctionnalités internes du WebKit »
- Faites défiler et activez « Échanger les processus lors de l’ouverture de la fenêtre intersite »
L’atténuation s’accompagne d’un avertissement selon lequel elle pourrait introduire une certaine instabilité. Si les utilisateurs souhaitent le désactiver, ils peuvent le faire depuis le menu de débogage en exécutant dans le terminal la commande les valeurs par défaut écrivent com.apple.Safari IncludeInternalDebugMenu 0.
Outre les implications réelles d’iLeakage, cette recherche met en évidence les risques potentiels d’exécution spéculative dans les nouvelles plates-formes basées sur ARM qui n’ont pas été aussi scrutées que les architectures x86.