Safari 15 : un bug peut révéler un historique de navigation et une identité

Florian Innocente |

La dernière version 15 de Safari contient un bug qui permet à un site de suivre l'historique de navigation d'un utilisateur et, dans certains cas, à récupérer quelques informations sur son identité.

Dans un billet, le développeur de la solution FingerprintJS de détection de fraudes en ligne explique les détails de ce défaut logiciel qui touche l'API IndexedDB et concerne toutes les versions de Safari 15 sur Mac, iPhone et iPad, ainsi que les autres navigateurs sur iOS et iPadOS puisqu'Apple les oblige à utiliser le même moteur qu'elle.

IndexedDB est utilisé par les navigateurs pour créer de petites bases de données sur l'appareil de l'utilisateur et y stocker des informations sur les sites en train d'être visités. Chaque site génère sa propre base et ne s'occupe normalement que d'elle.

Mais avec ce bug, chaque fois qu'un site interagit avec sa base de données, une copie — vide — de celle-ci est créée pour les autres onglets ou fenêtre actifs et dans lesquels d'autres sites sont consultés. Dès lors, ceux-ci ont la possibilité de prendre connaissance de l'activité web qui se déroule dans l'onglet ou la fenêtre voisine, jusqu'à ce que vous quittiez Safari.

Ces bases de données dupliquées ont beau être vides, il est courant qu'elles portent le nom du site qui les a créées ou même qu'elles soient baptisées avec un identifiant spécifique à l'utilisateur.

FingerprintJS prend comme exemple Google Calendar, Keep et YouTube qui utilisent un numéro de matricule interne correspondant au compte Google de l'internaute. Il est alors possible pour un site malveillant de retrouver quelques infos publiques liées à ce compte Google et de le croiser avec les noms des sites visités obtenus par la lecture des intitulés des autres bases IndexedBD.

D'après les essais de FingerprintJS, parmi les 1000 sites les plus visités référencés par Alexa, une trentaine interagissent avec IndexedBD dès l'arrivée sur leur page d'accueil. Et il est fort probable que le chiffre soit beaucoup plus important. Ce qui laisse entendre qu'un site capable de jouer avec ce bug peut récupérer un historique de navigation de l'utilisateur assez intéressant.

Ce problème ne peut être contourné par l'utilisation de la navigation privée, celle-ci ne fait que limiter sa zone d'opération. Dans ce cas de figure les sessions de navigation sont restreintes au niveau de chaque onglet ouvert ou fenêtre, mais tout ce qui est consulté à l'intérieur d'eux est touché par le même dysfonctionnement.

On peut désactiver JavaScript mais ce n'est pas réaliste pour une utilisation normale. Ou bien changer temporairement de navigateur sur Mac. Il faut dans tous les cas attendre un correctif d'Apple, mais ce bug a été soumis au WebKit Bug Tracker depuis déjà la fin novembre. Une page de démo a été mise en place pour le montrer en action : https://safarileaks.com

avatar pelipa91 | 

Toutes les versions de Safari 15 ok
Mais qu’en est il des anciennes versions de Safari, j’ai l’impression qu’elles ne sont pas impactées, mais c’est pas très clair.
J’espère qu’ils œuvrent à la correction..

avatar r e m y | 

Maintenant que la faille est rendue publique, je suis sûr qu'Apple va se réveiller et qu'on va avoir un correctif ...

avatar SyMich | 

Je ne pense pas qu'Apple modifie quoi que ce soit. Ils ont déjà répondu sur ce problème dès novembre dernier, en indiquant que c'était de la responsabilité des développeurs de sites de ne pas utiliser d'information confidentielle dans les noms utilisés pour ces fichiers.

avatar Ali Baba | 

@pelipa91

D’après le site en bas de l’article, non les anciennes versions ne sont pas impactées.

avatar pelipa91 | 

@Ali Baba

Merci pour le retour

avatar _Lion04_ | 

C’est inquiétant 😨

avatar Biking Dutch Man | 

Je suis passé à Firefox (Mac OS) et DuckDuckGo (iOS) depuis Safari 15.

avatar r e m y | 

Sur iOS ou iPadOS, quel que soit le navigateur utilisé, le problème est le même vu qu'ils sont tous obligés par Apple d'utiliser WebKit.

avatar 0MiguelAnge0 | 

@r e m y

Firefox focus sur iOS: en plus d’être à la pointe pour la protection, le concept est qu’il y a qu’un seul onglet et que lorsque tu quittes l’app, tout est effacé par défaut.

avatar Alpy74CH | 

D’où l’intérêt d’utiliser un VPN non?! 🤔

avatar r e m y | 

Je ne vois pas ce que ça change... masquer votre IP via un VPN ne change pas ces fichiers qui restent les mêmes (nom du site visité, identifiant de l'utilisateur...) et sont lisibles par les autres fenêtres ou onglets.

avatar Derw | 

@r e m y

👍

avatar Absolut Piano | 

Le navigateur Brave protège très bien la vie privée.

avatar r e m y | 

Safari est également censé la protéger, il n'empêche que ce bug (faille?) existe et que tous les navigateurs iOS ou iPadOS (dont Brave) sont touchés.

avatar fabricepsb71 | 

@Absolut Piano

Je suis impressionné par ce navigateur qui vire une flopée de pub par rapport à une navigation sur le même site avec Safari ou Chrome

avatar r e m y | 

Attention! En matière de confidentialité et de respect de vie privée, l'important c'est ce qui se passe en coulisse...
Que Brave bloque l'affichage de pub, c'est bien pour le confort de la navigation sur les sites, mais il faut surtout s'assurer qu'il bloque les trackers qui vous espionnent en continu en arrière plan (des centaines sur ce site par exemple, dont près de 80 qui ne peuvent être refusés car ils affirment que le tracking se fait pour leurs "intérêts légitimes")

avatar shaba | 

On peut refuser les trackers d'intérêt légitime également mais c'est plus long... D'ailleurs j'espère que cet "intérêt légitime" a été encadré par le RGPD ? Qu'on ne nous englobe pas tout le reste là dedans pour contourner la loi.

avatar r e m y | 

Refuser les trackers d'intérêt légitime, ce n'est pas possible sur ce site (MacG)...

avatar shaba | 

@r e m y

Ben si, à la première connexion au lieu de mettre « j’accède » ou « continuer sans offrir mon consentement » tu mets « gérer vos préférences » et tu peux les désactiver. A moins qu’on ne parle pas de la même chose ?

avatar r e m y | 

Erreur de ma part...
On peut maintenant désactiver aussi les trackers "intérêt légitime"

👍

avatar claude72 | 

@shaba ​
"D'ailleurs j'espère que cet "intérêt légitime" a été encadré par le RGPD ?"

Bien-sûr, mais toute la question est définir qu'est-ce que "l'intérêt légitime" ?

Pour info, voici ce qui m'est arrivé avec un site de vente/achat/échange de matériel de loisir : ce site réclame un numéro de téléphone lors de l'inscription, tout en précisant bien que les échanges directs entre membres, sans passer par le site, sont interdits : donc pas besoin de téléphone… ça tombe bien, parceque je ne veux pas leur donner mon tél, mais c'est un champs obligatoire ! donc 0699999999.
- 3 mois plus tard, mon compte est suspendu car mes coordonnées ne sont pas valides, il manque le numéro de téléphone. Après quelques échanges (par mél, bien-sûr) cordiaux avec un gestionnaire du site, incluant notamment un petit rappel de l'existence du RGPD, mon compte est rétabli immédiatement.
- 3 mois plus tard, re-belote, re-compte suspendu re-cause tél pas valide. Après quelques échanges (un peu moins) cordiaux avec un gestionnaire du site, mon compte est rétabli immédiatement.
- 6 mois plus tard, 3e fois compte suspendu cause tél pas valide. Après quelques échanges un peu aigres-doux avec un gestionnaire du site, mon compte est rétabli rapidement.
- 1 an plus tard, 4e fois compte suspendu cause tél pas valide. Après quelques échanges plutôt musclés, RGPD, menace de plainte et tout et tout, mon compte est rétabli après plus d'une semaine. Et donc entre temps j'ai commencé à agir et j'ai posé quelques questions à la CNIL et à UFC-QueChoisir.

Extrait de réponse de la CNIL (qui ne se mouille pas trop) :
"Je vous confirme, tout d'abord, que les données à caractère personnel qu'un responsable de site internet collecte et traite doivent être adéquates, pertinentes et limitées à ce qui est nécessaire au regard du but poursuivi par le fichier qu'il crée (article 5 du Règlement général sur la protection des données).
Au vu des informations communiquées, la pertinence de vous demander votre numéro de téléphone pourrait être remise en cause.
"

Extrait de la réponse de QueChoisir :
"Selon le Règlement Général sur la Protection des Données (RGPD), repris en droit interne par la Loi n° 78-17 du 6 janvier 1978 relative à l'informatique, aux fichiers et aux libertés, les collectes et traitements de données à caractère personnel doivent répondre à plusieurs principes.

Parmi ces principes figurent notamment :

- Un principe de finalité : une donnée personnelle ne peut être collectée que pour une finalité déterminée, légitime et explicitée.

Sont des finalités légitimes :
- « l’exécution, soit d'un contrat auquel la personne concernée est partie »
- « la réalisation de l'intérêt légitime poursuivi par le responsable du traitement »

Par ailleurs, ces finalités légitimes constituent une exception au principe de l’exigence d’un consentement.

Ensuite, un principe de minimisation : les données personnelles doivent être « adéquates, pertinentes et limitées à ce qui est nécessaire au regard des finalités pour lesquelles elles sont traitées ».

En conséquence, la donnée personnelle en question (le numéro de téléphone) peut être considérée comme :

- collectée dans un intérêt légitime, à savoir l’exécution d’un contrat conclu ou la poursuite par le responsable du traitement de son intérêt légitime (lutte contre la fraude, prospection commerciale de ses propres clients, sécurité des données, évaluation de la satisfaction client…)

- adéquate, pertinente et limitée à ce qui nécessaire.

Le professionnel peut être amené à devoir vous contacter (un service client téléphonique existe) pour l’exécution du contrat ou mener des enquêtes de satisfaction, utiliser votre numéro comme moyen pour lutter contre la fraude ou pour sécuriser vos données personnelles.

Dès lors, cette collecte et ce traitement nous paraissent conforme à la règlementation en vigueur, en tout cas sur le point en question, à savoir la collecte du numéro de téléphone.

Par conséquent, subordonner l’inscription à certaines données obligatoires ne nous parait pas irrégulier."

En clair, le responsable du site peut demander ce qu'il veut du moment qu'il peut en justifier la pertinence et démontrer son intérêt légitime.

avatar shaba | 

@claude72

C’est bien ce que je pressentais merci

avatar lmouillart | 

C'est juste que Brave possède un anti-pub intégré.
Ca permet de supprimer les pubs tiers, et ensuite de proposer les siennes.

avatar marc_os | 

« puisqu'Apple les oblige à utiliser le même moteur qu'elle. »

Pourquoi cette formule négative vu qu'il s'agit des différentes variantes d'un même logiciel de la même entreprise ?

Dans le logiciel sur lequel je travaille, il y a un moteur comment aux variantes iOS et macOS de ce logiciel. Et quand on le met à jour, et bien les deux variantes sont mises à jour.
Il s'agit d'une pratique normale.

Et oui, si on découvre un bogue dans notre moteur malgré les revues de code par les pairs, et malgré la QA, nous devons mettre à jour les produits des deux plateformes. C'est normal.

avatar r e m y | 

Le sujet n'est pas d'avoir un moteur commun à macOS et iOS.
Le sujet c'est que sur iOs (et iPadOS), un seul moteur (WebKit) est autorisé par Apple pour tous les navigateurs. Donc tous les navigateurs présents sur iOS ou iPadOS sont frappés du même défaut de confidentialité, ce qui empêche d'utiliser un autre navigateur en attendant la correction de Safari.

avatar marc_os | 

@ r e m y

Tu as raison, j'avais oublié cet aspect.
Néanmoins, on connait les raisons depuis longtemps et il va bien falloir un jour finir par les accepter je pense.

avatar marc_os | 

« Chaque site génère sa propre base et ne s'occupe normalement que d'elle »

« Ces bases de données dupliquées ont beau être vides, il est courant qu'elles portent le nom du site qui les a créées ou même qu'elles soient baptisées avec un identifiant spécifique à l'utilisateur. »

« Google Calendar, Keep et YouTube [...] utilisent un numéro de matricule interne correspondant au compte Google de l'internaute. »

Donc certains sites comme Google Calendar, Keep et YouTube ont pour le moins de très mauvaises pratiques.

> Ils ont déjà répondu sur ce problème dès novembre dernier, en indiquant que c'était de la responsabilité des développeurs de sites de ne pas utiliser d'information confidentielle dans les noms utilisés pour ces fichiers

Si Apple a répondu cela (sources ?), alors il semble qu'ils aient raison.
Mais effectivement ce n'est pas une bonne raison ;-) pour Apple ne pas palier aux mauvaises pratiques de certains.
J'imagine donc, j'espère, vu la publicité faite à ce problème que Apple va se sentir obligé à corriger le problème.

À ceux qui disent "c'est inquiétant", je pense qu'il faut relativiser :

« Il est alors possible pour un site malveillant de retrouver quelques infos publiques liées à ce compte Google et de le croiser avec les noms des sites visités obtenus par la lecture des intitulés des autres bases IndexedBD. »
« Ce qui laisse entendre qu'un site capable de jouer avec ce bug peut récupérer un historique de navigation de l'utilisateur assez intéressant. »

Oui, quelques informations vous concernant peuvent être retrouvées grâce à ces bouts d'informations grâce à des recoupements complexes si vous visitez des sites peut recommandables, ou si vous visitez des sites à la sécurité faible et qui auraient été hackés (ça fait beaucoup de conditions).

avatar SyMich | 

Pour ce qui est des sources... toutes celles et ceux qui ont accès au WebKit bug Tracker peuvent lire la réponse d'Apple

avatar marc_os | 

@ SyMich

> toutes celles et ceux qui ont accès au WebKit bug Tracker peuvent lire la réponse d'Apple

Ça ne fait pas beaucoup de monde donc.
Et dans ce cas de figure, il suffit de dire « Ils ont déjà répondu sur ce problème dans le bug tracker de webkit que... »

avatar Bigdidou | 

@marc_os

« Donc certains sites comme Google Calendar, Keep et YouTube ont pour le moins de très mauvaises pratiques. »

Remarque, c’est pas la découverte du siècle.

Je viens de recevoir de Google (sans que je demande rien, à mon souvenir) une historique de tous mes déplacements en 2021.

C’est flippant.
Pour le coup, faut vraiment rien avoir à se reprocher…
Un tel document qui tombe dans des mains hostiles, ça peut donner lieu à des questions embarrassantes, quand même.
Je ne sais pas s’il peut être exigé d’un avocat dans une affaire de divorce ou si la police peut y avoir accès dans une enquête, mais vaut mieux pas trop aller voir sa maîtresse à côté d’un point de deal.

Et je vais arrêter de porter moi même mes lettres anonymes.

avatar marc_os | 

@ Bigdidou

> c’est pas la découverte du siècle.

Certes.
Mais une piqure de rappel de temps en temps ça peut servir. (Et pas qu'à ce sujet 🙃)
Surtout quand on en a une nouvelle preuve.

avatar Bigdidou | 

@marc_os

« Mais une piqure de rappel de temps en temps ça peut servir. (Et pas qu'à ce sujet 🙃) »

C’est malin…:D

avatar marc_os | 

@ Bigdidou

J'ai pas pu m'empêcher juste après avoir écrit ma première phrase.
C'était pas prémédité, je le jure.

avatar Bigdidou | 

M’en fous, j’ai rien à cacher.
Mon historique de navigation ?
Je vois pas trop le problème, mais on y trouvera rien de plus qu’à la page d’accueil de YouPorn, autant y aller directement.
Quant à l’identité partielle, je doute que ça permette au fisc de retracer mes blanchiments de fraude fiscale et encore moins la drogue que j’achète avec.

avatar marc_os | 

@ Bigdidou

T'as pas peur que la police et le fisc demandent ton identité à macg et lancent une enquête à ton sujet ? 😜

avatar Bigdidou | 

@marc_os

« T'as pas peur que la police et le fisc demandent ton identité à macg et lancent une enquête à ton sujet ? 😜 »

Au pire, ils me confisquent mon iPhone, mais j’y crois pas trop.
Tout le monde sait que je les trafique et aucun surveillant ne m’a fait de remarque à ce sujet.

avatar oomu | 

vous n'avez rien à cacher ?

ça tombe bien, j'ai tout à récupérer.

avatar Bigdidou | 

@oomu

« vous n'avez rien à cacher ? »

Non. Absolument rien de légal.

avatar marc_os | 

Moi le bogue de Safari 15 qui m'énerve le plus, c'est que quand je suis passé de Safari 14 à 15, lors de la conversion de ses préfs il m'a perdu toutes les références aux fenêtres qui étaient ouvertes (j'en avais beaucoup que je ne fermais jamais et que je gardais masquées). Et quand j'ai lancé Safari 15 pour la première fois (et les suivantes), toutes mes fenêtres affichaient une belle page blanche.

avatar xDave | 

ah
Moi aussi mais en faisant "Historique>Rouvrir toutes les fenêtres de la dernière session" tout est revenu.

avatar marc_os | 

@ xDave

Merci !
Je viens d'essayer, mais seules quelques fenêtres sont revenues.
Va falloir que je re-restaure mes préférences et que j'essaye à nouveau.

avatar oomu | 

ha ben ça c'est pratique.

CONNEXION UTILISATEUR