iLeakage, une faille qui attaque les puces Apple et Safari

Pierre Dandumont |

Des chercheurs viennent de présenter une faille qui touche les appareils Apple basés sur des puces Apple (iPhone, iPad, tous les Mac récents) et qui passe par Safari, le navigateur maison. Et si elle est sophistiquée, elle est aussi visiblement assez efficace.

Le logo de l'attaque.

Avant de parler du fonctionnement, parlons des risques. Premièrement, tous les appareils cités sont touchés et pour le moment, la seule solution pour éviter l'attaque est de passer par Safari Technology Preview sur Mac (au minimum en version 173) ou — évidemment — un autre navigateur qui ne se base pas sur WebKit. Sur les appareils IOS, cette possibilité disparaît : tous les navigateurs disponibles sur l'App Store passent par WebKit. Apple connaît la faille depuis plusieurs mois et les auteurs de l'étude indiquent avoir travaillé avec les équipes de sécurité d'Apple.

Que permet iLeakage ?

Les auteurs donnent quelques exemples d'attaque. Il est possible d'afficher le contenu d'une boîte de messagerie Gmail, récupérer les adresses IP de la cible, attaquer un gestionnaire de mot de passe (LastPass dans l'exemple) et récupérer des mots de passe entrés automatiquement ou — point lié — déconnecter un utilisateur pour ensuite tenter de le reconnecter en récupérant les données.

Il peut récupérer un mot de passe Instagram.

L'attaque a tout de même plusieurs défauts : le site attaqué doit être ouvert depuis celui de l'attaquant et — surtout — l'ensemble est assez lent. Il faut plusieurs minutes pour analyser correctement le contenu et les données sont récupérées à une cadence plutôt faible, de l'ordre d'une trentaine de bits par seconde. Ce point implique qu'une simple chaîne de caractères (par exemple 64 octets) nécessite plusieurs dizaines de secondes.

Vous trouverez quelques exemples d'attaque en vidéo sur le site dédié, mais nous vous mettons ici l'attaque sur Gmail.

Comment ça marche ?

Nous n'allons pas vous détailler l'ensemble, mais il faut comprendre un point : les CPU actuels ont des architectures qui peuvent amener des données à rester en mémoire (notamment dans les différents niveaux de mémoire cache) sans que ce soit attendu. Tous les processeurs modernes effectuent ce que l'on appelle de la spéculation et de l'exécution dans le désordre (OoO, pour Out of Order). L'idée est simple : devant un flux d'instructions, il est possible de tenter de deviner les prochaines instructions à exécuter pour utiliser les différentes unités du CPU au maximum plutôt que d'attendre qu'une instruction s'exécute avant de traiter la suivante.

Cette solution est généralement efficace mais dans certains cas, les CPU peuvent exécuter la mauvaise branche dans un choix qui laisse deux possibilités. Quand ça arrive (ce qui reste rare), le processeur retourne donc littéralement en arrière, mais certaines données de la mauvaise branche peuvent se trouver dans les différents niveaux de mémoire cache… et récupérées. Il existe des contre-mesures, mais ces failles existent dans les puces Intel, AMD ou Apple. Elles sont fondamentalement liées aux techniques qui améliorent les performances, qu'il semble irréaliste de ne pas employer.

Pour iLeakage, les chercheurs ont analysé la structure des puces Apple pour la mémoire cache, mesuré le niveau de spéculation (et les données récupérables) et trouvé des méthodes pour y accéder en outrepassant certaines limites dans les navigateurs.

La récupération est assez lente.

Au niveau de Safari, ils ont su passer outre certaines protections d'Apple. Depuis très longtemps, Safari effectue le rendu de chaque page dans une zone mémoire isolée, par exemple : un onglet ouvert sur macg.co ne doit en théorie pas permettre de lire le contenu de la mémoire d'un onglet ouvert sur apple.com. Mais en utilisant certaines fonctions JavaScript, il est possible de partager une zone mémoire entre deux sites différents et diverses méthodes (trop compliquées pour être détaillées ici) permettent de casser les protections de WebKit sur l'accès à la mémoire.

Comment se protéger ? Est-ce grave ?

De l'aveu même des auteurs, c'est une attaque compliquée, ce qui n'enlève rien à sa dangerosité. Malgré tout, les risques restent faibles : il faut visiter un site « attaquant » qui va ouvrir des sites à attaquer et l'ensemble est assez long, ce qui reste peu probable (ils indiquent qu'il n'y a pas de preuve de l'utilisation publique de l'attaque). En attendant une correction dans Safari, il est donc possible de passer par Safari Technology Preview ou d'activer une option précise dans les fonctions de Safari. Ces deux méthodes ne fonctionnent que sous macOS, pas sous iOS.

Pour l'option, il faut d'abord activer le menu de debug de Safari avec la ligne suivante dans le Terminal (sous macOS Sonoma).

defaults write com.apple.Safari IncludeInternalDebugMenu 1

Ensuite, dans le menu Debug, il faut aller dans la section WebKit Internal Features et cocher Swap Processes on Cross-Site Window Open.

Et il faut bien évidemment se méfier des sites qui ouvrent une nouvelle fenêtre ou un nouvel onglet automatiquement.

avatar zenco56 | 

Bonjour, ni connaissant pas grand-chose et utilisant un VPN (NordVpn), ce dernier me protège t-il ou n’est-il d’aucune utilité ?

avatar frankynov | 

@zenco56

A priori non, l’attaque est réalisée en local sur la machine.

avatar zenco56 | 

@frankynov

Ok merci.

avatar Link1993 | 

@zenco56

Un VPN ne protège de rien. Il ne fait que diriger un tuyaux de données pour qu'il passe par un autre point.

Les histoires de sécurité annoncées dans les publicités de VPN sont à la limite du légal...

Le seul intérêt d'un VPN, est limite d'apparaître avec une autre adresse IP, ou de faire passer tout son flux de données vers un autre point de manière chiffrée, afin d'éviter que le réseau actuel ne puisse intercepter ces données, et c'est tout. Ça servira donc qu'à acheter ses billets d'avion à l'étranger, et pour profiter un peu plus sereinement du wifi de l'aéroport, et c'est tout. (Pour le grand publique. Pour des usages plus avancés, c'est autre chose)

avatar zenco56 | 

@Link1993

Merci pour votre réponse. Je pensais qu’il garantissait, outre l’anonymat, une certaine protection.

avatar Pierre Dandumont | 
Un VPN ne garantit pas l'anonymat.
avatar zenco56 | 

@Pierre Dandumont

Finalement, ça sert pas à grand-chose !?

avatar sebasto72 | 

@zenco56

Pour le grand public, à assez peu de choses en effet.
Pour des amateurs éclairés (particuliers curieux, militants…) ou dans un cadre professionnel (travail à distance, dont le télétravail mais pas que) c’est très utile voire incontournable.

avatar zenco56 | 

@sebasto72

L’objectif principal me concernant est de pouvoir faire mes achats par internet sans risquer de me faire voler mes données bancaires. Est-ce au moins utile pour ça ?

avatar Link1993 | 

@zenco56

Non, sauf si vous faites vos achats dans un aéroport ou sur un réseau wifi publique. Et encore, toutes les connexions sont chiffrées entre chez vous, et la connexion du site du commerçant.

Le VPN dans tous les cas n'aurait sinon que déplacé le problème, mais au lieu que ça soit chez vous, ça aurait été depuis votre fournisseur de VPN.

Une très bonne explication ici :

https://youtu.be/ckZGQ5cLIfs?si=IiA5a7LoUbLMTrz2

avatar zenco56 | 

@Link1993

Merci et instructif pour quelqu’un qui croyait réellement se protéger par ce biais ! Je vais donc faire des économies !

avatar hirtrey | 

@Link1993

Pas besoin de VPN pour sécurisé tes transactions sur un site marchand. Ils sont tous en https donc chiffré.

avatar Tetaroide Bleu | 

@zenco56

à priori non. Le vol des données bancaires se fait souvent sur le site marchand, qui protège mal ces informations, ou via un site frauduleux ressemblant à un site légitime, sur lequel l'internaute rentre ses données volontairement, par inattention ou méconnaissance. Le vpn ne fait que modifier l'adresse ip de connexion au réseau. Cela peut avoir plusieurs utilités, mais n'empêche en aucun cas le vol de données. En gros, cela anonymise la connexion à internet (de l'appareil), mais pas le propriétaire de l'abonnement !

avatar zenco56 | 

@Tetaroide Bleu

C’est ce dont je suis en train de prendre conscience. J’ai été un bon pigeon. Je vais donc revoir ma copie ! Merci

avatar sebasto72 | 

@zenco56

👍🏼
Une preuve de plus qu’il n’y a jamais de question idiote !

avatar zenco56 | 

@sebasto72

Dans mon cas, c’est certain ! Encore merci à tout le monde pour les réponses !

avatar vicento | 

@zenco56

Hello 👋 le vpn n’apporte pas de protection à ce niveau là

avatar DidTrebor | 

@zenco56

Bonjour, ha mais non un VPN n'est pas un "antivurus" (ou un genre "Little snitch")

avatar Patrick_C | 

@zenco56

Le VPN n’est qu’un tuyau qui empêche ceux par qui vous passez de savoir d’où vous venez et ou vous allez: il ne protège pas sur ce que fait le site où vous vous connectez ni sur ce qui se passe sur votre ordinateur.

avatar zenco56 | 

@Patrick_C
@raleur

Oui en effet, c’est ce qu’on m’a expliqué dans les précédents commentaires. Je me suis fait avoir sur la publicité douteuse liée à la sécurité (et à cause de ma méconnaissance sur le sujet).

avatar Patrick_C | 

@zenco56

Mais je me sers régulièrement : le changement de localisation m’est assez pratique, le chiffrage des communications est utile quand la connexion n’est pas totalement de confiance.

avatar raleur | 

@zenco56

Un VPN ne sert qu’à crypter la connexion réseau. À ne pas confondre avec un firewall qui protège des attaques et empêche l’accès à certains serveurs non sûrs. Les 2 peuvent être utilisés simultanément sur un iPhone. Cela ajoute une couche de sécurité. Mais, il n’y a aucune protection contre l’erreur humaine…

avatar Liena1 | 

La monoculture n’est jamais une bonne idée. Ni en agriculture ni en technologie.

avatar Link1993 | 

@Liena1

Vous la faites comment la culture de blé sans monoculture ? 😬

(Ok, pardon...)

avatar Oliviou | 

@Link1993

Blé une année, colza la suivante, maïs celle d’après…
La base.

avatar Link1993 | 

@Oliviou

Ça, c'est de la rotation des cultures ^^

Monoculture, c'est littéralement une culture sur le champ ! Après, ça peut changer tous les ans 😅

EDIT : ah non, vous avez raison, c'est sur plusieurs années de suite ! ^^
Bon, du coup, on peut carrément à 100% dire que le vin provient de la monoculture !! (À dire avec mépris ! 😇)

avatar DG33 | 

@Link1993

Le vin non, à moins que ce soit un mono cépage, mais la vigne oui 😇

avatar Liena1 | 

@Link1993

Je voulais exprimer par là le danger d’un web dominé par une seule classe de navigateur (webkit/chrome). Et quand il y a un problème, cela touche tous le monde très vite.

avatar Link1993 | 

@Liena1

J'avais bien compris. J'ai juste répondu avec une bonne réponse de catégorie troll. Parce que ça m'a paru amusant sur le coup ☺️

avatar DidTrebor | 

Link1993
Ça tourne l'a(i)griculture....

avatar Patrick_C | 

@Link1993

La monoculture en grandes cultures est l’exception, la règle est plutôt la rotation des cultures : il y a des zones avec de la monoculture de maïs (landes, Alsace) et quelques parcelles en monoculture de blé (rare, souvent isolées)

avatar chrab_s | 

Ça l’air compliqué d’ailleurs même la solution n’est pas clair. Sinon si on utilise pas safari ca va ?

avatar hirtrey | 

@chrab_s

Sur Mac oui, sur iOS non car tout les navigateurs sont obligés d’utiliser le moteur de Safari. Obligatoire. Apple, chouette non ?

avatar ratz | 

A priori ça devrait changer en mars si je dis pas de bêtises, suite aux décision EU

avatar test_user_support | 

@hirtrey

« Obligatoire. Apple, chouette non »
La contrepartie est qu’il suffira d’une mise à jour de WebKit pour que tous les navigateurs soient protégés.

avatar Moebius13 | 

« Apple travaille dessus depuis plusieurs mois ».

Ha oui tout de même, soit c’est très très compliqué à contrer, soit les ressources consacrée pour le faire ne sont pas à la hauteur.

Comment est-ce possible qu’il n’y ait pas la moindre action réalisable sur iOS pour contrer ça ? Apple n’aurait-il pas pu inclure une rustine pour que le risque passe de « peu probable » à « pratiquement inexistant » même s’il restait possible en attendant de boucher la faille exploitée ?

C’est ça le problème chez Apple, notamment en matière de sécurité : La réactivité

J’ai toujours trouvé qu’ils ne prenaient pas suffisamment tout ça au sérieux malheureusement.

avatar R-APPLE-R | 

@Moebius13

C’est faux et personne ne fait mieux qu’Apple en matière de sécurité et de correction de bug qui permettent des attaques diverses

La preuve que chaque mise à jour en corrige et des mise à jour il y en a !

https://support.apple.com/en-us/HT201222 😈

avatar ratz | 

CQFD lol

avatar gwen | 

@R-APPLE-R

Le problème d’Apple en matière de sécurité, c’est le retard qui s’accumule. Donc oui, des failles sont corrigées, mais seulement les anciennes, pas les dernières trouvées.

Apple se repose un peu trop sur ses lauriers en matière de sécurité. D’ailleurs, si Apple avait pris de bonnes initiatives concernant cette faille nous n’en aurions vraisemblablement pas trop entendu parlé puisque le problème aurait été corrigé.

avatar jackhal | 

"Des chercheurs viennent de présenter une faille"
Des chercheurs avec une drôle de mentalité qui créent un logo (même s'il est très simple) et qui divulguent la faille avant le patch (parce que ça permet d'obtenir une meilleure couverture médiatique ?).

avatar Tom PostProd | 

C’est une solution pour pousser Apple à corriger la faille : Apple ne fait pas ce qu’il faut depuis des mois ? Bien, on rend public la faille pour les faire accélérer. Un classique très efficace qui démontre souvent la lenteur du logiciel touché (ça marche avec Apple mais plein d’autres).
Pour le coup, les chercheurs ayant dévoilé la faille ont fait leur boulot correctement en laissant du temps à Apple pour corriger. C’est cette dernière qui n’a pas fait sa part.

avatar dodomu | 

@jackhal

C’est assez standard dans le milieux en fait, une fois l’entreprise prévenue elle a un délai pour réagir et corriger la faille, et si elle le dépasse la faille est divulguée. C’est un moyen de faire pression sur les entreprises qui ne se sentent pas concernés par la sécurité et qui ne corrigent pas les failles (et il y en a…).

avatar occam | 

Spectre et Meltdown ont révélé au grand jour certaines vulnérabilités des architectures Intel/AMD liées à leur speculative execution, notamment l’irréversibilité des états au niveau cache et predictor.
À l’époque, certains croyaient que les architectures Apple Silicon seraient exemptes. Un des mérites de la publication d’iLeakage est de rappeler que cette immunité n’existe pas (malgré de très réels progrès par rapport aux x86_64) et qu’il faut se prémunir en conséquence.

Reste le problème WebKit, à mon sens plus grave, car plus aisément exploitable (à ce sujet, je suis moins optimiste que Pierre Dandumont).
De mémoire, cela fait plusieurs années qu’on travaille sur le sujet de la site isolation dans WebKit. Chrome et Firefox ont eu leur lot de déboires avec le même problème (pendant longtemps, Firefox était le plus vulnérable des trois, avant que Mozilla ne s’applique sérieusement à colmater). Mais tant que WebKit reste obligatoire sur iOS/iPadOS, seul Apple peut régler le problème.

avatar andmag | 

Du coup, ce type de monoculture, webkit sur les terminaux iOS, pourrait susciter une approche propice à l'élevage (de bugs).

avatar occam | 

@andmag

C’est ce que l’on observe déjà.
D’autre part, Apple est en position de force absolument unique sur cet écosystème, contrôlant à la fois le matériel, les OS, et ayant la haute main sur les logiciels qui peuvent y accéder.
Aucun autre constructeur ne bénéficie d’une mainmise aussi absolue.

Si l’argument de sa sécurité, argument systématiquement opposé par Apple à l’ouverture de son App Store et au sideloading, doit être crédible (ou, à mon sens, le devenir), à Apple d’en apporter les preuves. Plus de réactivité, mais aussi beaucoup plus de transparence seraient indispensables.

Le principe de Peter Parker n’est pas juste un frontispice de bande dessinée ; il s’applique avec force à une entité comme AAPL :
With great power there must also come — great responsibility!

Si la pointe de la pyramide l’ignore pendant trop longtemps, l’on saura qu’un autre principe s’y applique : le principe de Peter.

avatar pat3 | 

@occam

Joli.

avatar occam | 

@andmag
@pat3

Et de deux :
https://arstechnica.com/security/2023/10/iphone-privacy-feature-hiding-wi-fi-macs-has-failed-to-work-for-3-years/?comments=1&comments-page=1

Je pense que MacG va faire un truc dessus, étant donné que les fouilleurs, Tommy Mysk et Talal Haj Bakry, ont conquis leurs gallons.
(MacG avait déjà fait état d’une faille quelque peu analogue, révélée par le même duo : https://www.igen.fr/iphone/2022/11/les-donnees-danalyse-de-liphone-pourraient-identifier-un-utilisateur-133827 )

Mysk contribue ses commentaires sur le fil de l’article d’AT :
« When we discovered this bug in iOS, we immediately tested it on an Android phone. Private Wi-Fi addresses are called "randomized MAC addresses" in Android world. We couldn't spot the real MAC address in the network traffic that the Android device was sending during testing. It's worth noting that this feature has been available since Android 8.0, which was released in 2017, as opposed to iOS 14, which was released in 2020. »
Et, question-réponse :
« “mbedford84 said:
Whilst not overly serious in terms of impact here. This asks some questions about the quality and testing regimes at the team(s) working on iOS. This reads like a bug that should have been spotted internally a long time ago. Meh, mistakes happen, but given Apples recentish push on highlighting privacy improvements in there latest couple of iterations of iPhone, this kind of mistake is not a good look.”
Mysk :
I agree. We were actually researching something completely different when we discovered this bug. We were surprised when we confirmed the results on multiple devices. 🤓 »

Le principe de Peter Parker, n’est-ce pas. Ou celui de Peter.

avatar marc_os | 

Cette faille est-elle exploitée ?

avatar Scooby-Doo | 

@marc_os

« Cette faille est-elle exploitée ? »

Non d'après ces articles en Anglais :

https://www.theregister.com/2023/10/26/ileakage_apple_exploit/

Unsurprisingly, the researchers said they weren't aware of this attack being exploited before, not just for the speed of it but also the high degree of technical understanding required to execute it.

https://www.forbes.com/sites/daveywinder/2023/10/28/ileakage-hackers-can-read-gmail-on-all-2020-or-later-iphones-and-macs/?sh=4d20fc86ac66

The good news is, as far as is known, that iLeakage exploits have not been used in the wild. Not least because, as the researchers note, it is a "significantly difficult attack to orchestrate end-to-end, and requires advanced knowledge of browser-based side-channel attacks and Safari's implementation."

Par contre le principal problème est le suivant :

The bad news is that iLeakage leaves no traces of an attack within system log files, although the attacking web page might be found in the browser cache, as it runs within Safari. The researchers have confirmed that it's "highly unlikely" for an attack to be detected.

👌

avatar vincentn | 

Bizarre pour iOS. Même en regardant dans les réglages avancés de Safari , dans la partie drapeaux de fonctionnalités (iOS17) ?
On trouve un item Swap process on cross-site navigation

Pages

CONNEXION UTILISATEUR