iLeakage, la faille qui exploite Safari et les puces Apple pour faire fuiter des informations

iLeakage, la faille qui exploite Safari et les puces Apple pour faire fuiter des informations

Quand on a un peu de temps à tuer

Avatar de l'auteur

Vincent Hermann

Publié dansLogiciel

27/10/2023
10
iLeakage, la faille qui exploite Safari et les puces Apple pour faire fuiter des informations

Sur iOS et macOS, il est possible de forcer le navigateur Safari à révéler des informations sensibles, jusqu’aux mots de passe. Pour fonctionner, la méthode exploite également les puces Apple. Elle demande cependant quelques conditions, dont… du temps.

La faille a été nommée iLeakage par les chercheurs qui ont mis la main dessus. Il s’agit d’une attaque par canal auxiliaire, c’est-à-dire qu’elle peut prendre place grâce à des indices laissés dans les signaux électromagnétiques, les zones de caches et autres composantes du processeur. Dans le cas présent, les signaux récupérés sont liés à l’exécution spéculative.

Ce type d’exécution se retrouve dans tous les processeurs depuis un bon moment. Elle permet un traitement de plusieurs branches d’instructions, comme Apple l'explique :

« L’exécution spéculative accélère les performances en traitant plusieurs instructions simultanément, éventuellement dans un ordre différent de celui dans lequel elles ont été transmises au processeur. Afin d’améliorer les performances, le processeur prédit la destination d’un branchement susceptible d’être suivi, puis poursuit l’exécution des instructions de manière spéculative vers cette destination, avant même que le branchement ne soit totalement traité. Si la prédiction s’avère incorrecte, l’exécution spéculative est annulée de manière invisible pour le logiciel. »

Cette page avait été publiée par l’entreprise lorsque les failles Meltdown et Spectre avaient été révélées. L’exécution spéculative est en effet au cœur de nombreuses attaques par canal auxiliaire révélées ces dernières années. C’est une nouvelle fois le cas avec iLeakage.

Comment fonctionne la faille

Sur la page dédiée, les chercheurs indiquent avoir conçu un site (non public) pour exploiter la faille dans Safari. Le navigateur d’Apple est souvent utilisé par défaut sur les Mac et ne peut être évité sur iOS, puisque les navigateurs tiers ont l’obligation d’utiliser WebKit comme moteur de rendu.

Lors de la visite, le site passe par JavaScript pour ouvrir silencieusement un deuxième site, au choix de l’attaquant. C’est sur ce site que les opérations effectuées par l’utilisateur vont pouvoir être récupérées. De là, on peut récupérer le contenu de certains emails sur Gmail, l’historique des vidéos sur YouTube ou, bien pire, un mot de passe quand il est injecté dans le champ correspondant par le gestionnaire utilisé.

JavaScript est ici utilisé pour contourner des défenses présentes dans Safari. Le navigateur ouvre en effet chaque site dans une zone isolée de la mémoire (avec un adressage sur 35 bits). Ils ont pu alors créer une zone mémoire partagée entre deux sites, expliquent les chercheurs :

« Nous avons contourné l'adressage 35 bits de Safari et les contre-mesures d'empoisonnement des valeurs, en créant une primitive capable de lire et de faire fuir de manière spéculative n'importe quel pointeur 64 bits au sein du processus de rendu de Safari. En combinant cela avec une nouvelle méthode pour consolider les sites web de différents domaines dans le même espace d'adressage, nous sommes en mesure de monter une attaque spéculative de type confusion qui fait fuir des informations sensibles. »

Ils ajoutent que les puces A et M, utilisées respectivement dans les appareils mobiles et les Mac, comportent bien des défenses contre ce genre d’attaque, mais qu’ils y ont trouvé des faiblesses qui ont rendu possible leur attaque.

Il faut savoir prendre son temps

L’attaque est efficace, mais elle est lente. Selon les chercheurs, il faut environ 5 minutes pour établir le profil de la machine cible. Ensuite, la récupération des informations se fait à un rythme limité : 30 secondes pour 512 bits en moyenne, équivalant à une chaine de 64 caractères par exemple.

Cette lenteur provient en bonne partie de la manière même dont sont récupérées les informations. Dans le descriptif d’Apple, on apprenait ainsi qu’en cas de prédiction incorrecte, l’exécution était « annulée de manière invisible ». Ce n’est pas tout à fait vrai : on ne voit rien devant notre écran, mais dans certains cas, les données de la branche abandonnée peuvent se retrouver dans un cache ou un autre. On peut alors les récupérer, si l’on se montre patient.

Dans leur page d’explications, les chercheurs ont même publié un tableau résumant la vitesse de récupération que l’on peut attendre d’iLeakage en fonction de l’appareil utilisé, et donc de la puce présente :

iLeakage

Comme on peut le voir, la vitesse est comprise entre 24 et 34 bits par seconde. C’est lent, mais si l’objectif est de récupérer certaines informations très précises, c’est suffisant. La difficulté réside davantage dans les 5 minutes nécessaires à l’établissement de la connexion. Si l’idée est de voler un mot de passe spécifique, il faudra amener la personne à le faire, sans éveiller les soupçons.

Peu de solutions pour le moment

Dans leur exposé, les chercheurs indiquent qu’Apple a été prévenue le 12 septembre 2022, soit il y a plus d’un an. Aucun correctif n’a pour l’instant été émis, mais l’attaque n’est plus possible dans Safari Technology Preview depuis sa version 173, sortie le 28 juin dernier. Les chercheurs ont attendu plus de 400 jours avant de parler de leur découverte et affirment ne pas être au courant d’une exploitation de cette technique dans la nature.

Car si iLeakage est une attaque efficace ne réclamant que peu de ressources matérielles pour être mise en place, elle nécessite un haut niveau d’expertise technique, selon les chercheurs. Il faudrait ainsi des années d’expertise dans le domaine des attaques par canal auxiliaire, mais surtout une rétro-ingénierie complète des puces A et M d’Apple, nécessaire pour comprendre leur structure et le type de canaux auxiliaires qu’elles contiennent.

Actuellement, ils estiment que les chances de voir cette attaque se produire sont très faibles, voire nulles. Il est probable que le correctif sera distribué par Apple avant qu’iLeakage se retrouve dans la nature. Les chercheurs parlent d’un travail de plusieurs années et d’informations volontairement parcellaires dans leur compte-rendu.

En attendant, on peut toujours se méfier d’un site qui en ouvrirait immédiatement un autre, particulièrement s’il s’agit d’un service connu sur lequel on est déjà connecté.

10
Avatar de l'auteur

Écrit par Vincent Hermann

Tiens, en parlant de ça :

Un mélange entre une réunion d’Anonymous et de tête d’ampoules, pour le meilleur et le pire

652e édition des LIDD : Liens Intelligents Du Dimanche

Et bonne nuit les petits

00:04 Next 1
dessin de Flock

#Flock distribue des mandales tous azimuts

13:40 Flock 11
Un Sébastien transformé en lapin par Flock pour imiter le Quoi de neuf Docteur des Looney Tunes

Quoi de neuf à la rédac’ #11 et résumé de la semaine

11:47 Next 26

Sommaire de l'article

Introduction

Comment fonctionne la faille

Il faut savoir prendre son temps

Peu de solutions pour le moment

Un mélange entre une réunion d’Anonymous et de tête d’ampoules, pour le meilleur et le pire

652e édition des LIDD : Liens Intelligents Du Dimanche

Next 1
dessin de Flock

#Flock distribue des mandales tous azimuts

Flock 11
Un Sébastien transformé en lapin par Flock pour imiter le Quoi de neuf Docteur des Looney Tunes

Quoi de neuf à la rédac’ #11 et résumé de la semaine

Next 26
Carte graphique AMD GeForce

Cartes graphiques : 30 ans d’évolution des GPU

Hard 18

Google lance son opération de communications Gemini pour rivaliser avec OpenAI

IA 6
Ecran bleu de Windows

Linux : le composant systemd se dote d’un écran bleu de la mort

Soft 32
Une petite fille en train d'apprendre à programmer et hacker logiciels et appareils électroniques

Un roman graphique explique les logiciels libres aux enfants

SoftSociété 20
Nouveautés pour Messenger

Meta lance (enfin) le chiffrement de bout en bout de Messenger, entre autres

Socials 5

#LeBrief : cloud européen, OSIRIS-REx a frôlée la catastrophe, CPU AMD Ryzen 8040

Windows en 2024 : beaucoup d’IA, mais pas forcément un « 12 »

Soft 21
Einstein avec des qubits en arrière plan

Informatique quantique, qubits : avez-vous les bases ?

HardScience 9
Notifications iPhone

Surveillance des notifications : un sénateur américain demande la fin du secret

DroitSécu 17

En ligne, les promos foireuses restent d’actualité

DroitWeb 19

#LeBrief : modalité des amendes RGPD, cyberattaque agricole, hallucinations d’Amazon Q, 25 ans d’ISS

Logo Twitch

Citant des « coûts prohibitifs », Twitch quitte la Corée du Sud

ÉcoWeb 29
Formation aux cryptomonnaies par Binance à Pôle Emploi

Binance fait son marketing pendant des formations sur la blockchain destinées aux chômeurs

Éco 10
Consommation électrique du CERN

L’empreinte écologique CERN en 2022 : 1 215 GWh, 184 173 teqCO₂, 3 234 Ml…

Science 6
station électrique pour voitures

Voitures électriques : dans la jungle, terrible jungle, des bornes de recharge publiques

Société 75

#LeBrief : intelligence artificielle à tous les étages, fichier biométrique EURODAC

KDE Plasma 6

KDE Plasma 6 a sa première bêta, le tour des nouveautés

Soft 13
Un homme noir regarde la caméra. Sur son visage, des traits blancs suggèrent un traitement algorithmique.

AI Act et reconnaissance faciale : la France interpelée par 45 eurodéputés

DroitSociété 4
Api

La CNIL préconise l’utilisation des API pour le partage de données personnelles entre organismes

SécuSociété 3
Fouet de l’Arcep avec de la fibre

Orange sanctionnée sur la fibre : l’argumentaire de l’opérateur démonté par l’Arcep

DroitWeb 23
Bombes

Israël – Hamas : comment l’IA intensifie les attaques contre Gaza

IA 22

#LeBrief : bande-annonce GTA VI, guerre électronique, Spotify licencie massivement

Poing Dev

Le poing Dev – Round 7

Next 102
Logo de Gaia-X sour la forme d’un arbre, avec la légende : infrastructure de données en forme de réseau

Gaia-X « vit toujours » et « arrive à des étapes très concrètes »

WebSécu 7

Trois consoles portables en quelques semaines

Hard 37
Une tasse estampillée "Keep calm and carry on teaching"

Cyberrésilience : les compromis (provisoires) du trilogue européen

DroitSécu 3

#LeBrief : fuite de tests ADN 23andMe, le milliard pour Android Messages, il y a 30 ans Hubble voyait clair

next n'a pas de brief le week-end

Le Brief ne travaille pas le week-end.
C'est dur, mais c'est comme ça.
Allez donc dans une forêt lointaine,
Éloignez-vous de ce clavier pour une fois !

Commentaires (10)


Jon Joe Abonné
Le 27/10/2023 à 14h40

Le nom donné à la faille :mdr2:


pamputt Abonné
Le 27/10/2023 à 15h23

Car si iLeakage est une attaque efficace ne réclamant que peu de ressources matérielles pour être mise en place, elle nécessite un haut niveau d’expertise technique, selon les chercheurs. Il faudrait ainsi des années d’expertise dans le domaine des attaques par canal auxiliaire, mais surtout une rétro-ingénierie complète des puces A et M d’Apple, nécessaire pour comprendre leur structure et le type de canaux auxiliaires qu’elles contiennent.




C’est typiquement le genre de compétences à la portée d’un État avancé. C’est donc quand même un problème à prendre au sérieux.


wanou Abonné
Le 27/10/2023 à 21h53

Avec toutes les applications de type jeux à la con ou application pour apprendre une autre langue, qui te harcèle pour que tu t’en serve tout le temps, facile de loger un truc comme cela.


mrintrepide Abonné
Le 28/10/2023 à 01h08

Sur le noyau Linux, sur x86, il n’y a pas une mitigation qui flush le cache, forcé ou avec changement de contexte du processus ?


rm Abonné
Le 28/10/2023 à 21h00

Du coup sur l’onglet parent est fermé, ça règle la question non ?


Wosgien Abonné
Le 29/10/2023 à 10h24

mrintrepide a dit:


Sur le noyau Linux, sur x86, il n’y a pas une mitigation qui flush le cache, forcé ou avec changement de contexte du processus ?




Il y a plein de mitigations maintenant: que seuls des threads de même process s’exécutent sur le même coeur, de flusher le cache, de garder des infos sur l’espace mémoire de la carte graphique…



Dans quelques temps, la nouveauté sera que le navigateur sera un hyperviseur et que chaque onglet sera une VM, t il faudra une carte graphique par onglet pour la sécurité…


fdorin Abonné
Le 29/10/2023 à 11h33

Wosgien a dit:



Dans quelques temps, la nouveauté sera que le navigateur sera un hyperviseur et que chaque onglet sera une VM, t il faudra une carte graphique par onglet pour la sécurité…




Le problème à l’époque de Meltdown et de Spectre, c’était que la faille touchait le processeur physique, et permettait donc de sortir du cadre de la VM. A priori, le problème est similaire donc VM ou pas, cela ne changera pas grand chose.



La faille touchant MacOS me semble moins grave, pour une raison relativement simple : les puces d’Apple sont utilisées uniquement dans les produits Apple, et il n’y a quasiment pas de serveur Apple, contrairement à Meltdown et Spectre qui se trouvaient sur de très nombreux serveurs, rendant sensible tous les hébergements mutualisés et de type VPS.



L’exploitation de la faille sur une machine personnelle est beaucoup plus difficile et aléatoire. Mais reste très fourbe car totalement invisible…


fred42 Abonné
Le 29/10/2023 à 11h47

Wosgien a dit:


Dans quelques temps, la nouveauté sera que le navigateur sera un hyperviseur et que chaque onglet sera une VM, t il faudra une carte graphique par onglet pour la sécurité…




:mdr2:



Je vais acheter des actons Nvidia alors ! :D


Wosgien Abonné
Le 29/10/2023 à 15h08

fdorin a dit:


La faille touchant MacOS me semble moins grave, pour une raison relativement simple : les puces d’Apple sont utilisées uniquement dans les produits Apple, et il n’y a quasiment pas de serveur Apple,




Tout à fait d’accord.




fred42 a dit:


Je vais acheter des actons Nvidia alors ! :D




Je force le trait, mais ça montre la limite du modèle actuel. Toutes les ressources partagées sont plus ou moins attaquables.


fdorin Abonné
Le 29/10/2023 à 18h50

Wosgien a dit:



Je force le trait, mais ça montre la limite du modèle actuel. Toutes les ressources partagées sont plus ou moins attaquables.




Un GPU étant un nombre plus ou moins important d’unités de calcul (par ex. ma RTX 2070 dispose de 2304 unités), je pense plutôt qu’il y aura éventuellement la définition d’une affinité des unités par processus avant de multiplier les cartes graphiques ;)