Comment Meta suivrait-elle les utilisateurs sur la toile à partir de ces applications Facebook, Instagram et Messenger ?
Cette affaire a été portée à la connaissance du grand public par Felix Krause, un chercheur en confidentialité qui a fondé un outil de développement d’applications acquis par Google en 2017. Pour parvenir à cette conclusion, Felix Krause a conçu un outil capable de détecter si du code JavaScript est injecté dans la page qui s’ouvre dans le navigateur intégré aux applications Instagram, Facebook et Messenger lorsqu’un utilisateur clique sur un lien qui le redirige vers une page extérieure à l’application. Après avoir ouvert l’application Telegram et cliqué sur un lien ouvrant une page tierce, aucune injection de code n’a été détectée. Toutefois, lorsqu’il a répété la même expérience avec Instagram, Messenger, Facebook sur iOS et Android l’outil a permis de mettre plusieurs lignes de code JavaScript injectées après avoir ouvert la page dans le navigateur intégré à ces applications. Mais aucun code de ce type n’est ajouté au navigateur intégré de WhatsApp.
Selon le chercheur, le fichier JavaScript externe que l’application Instagram injecte est le (connect.facebook.net/en_US/pcm.js) qui est un code permettant de créer un pont pour communiquer avec l’application hôte. De manière plus détaillée, le chercheur a découvert les éléments suivants :
- Instagram ajoute un nouvel écouteur d’événements pour obtenir des détails à chaque fois que l’utilisateur sélectionne un texte sur le site Web. Ceci, combiné à l’écoute des captures d’écran, donne à Instagram un aperçu complet de l’information spécifique qui a été sélectionnée et partagée ;
- l’application Instagram vérifie s’il y a un élément avec l’ID iab-pcm-sdk qui fait probablement référence à « In App Browser » ;
- si aucun élément avec l’ID iab-pcm-sdkn'a été trouvé, Instagram crée un nouvel élément script et définit sa source surhttps://connect.facebook.net/en_US/pcm.js
- Il trouve ensuite le premier élément script sur votre site Web pour insérer le fichier JavaScript pcm juste avant ;
- Instagram recherche également iframes sur le site Web, mais aucune information sur ce qu’il fait n’a été trouvé.
À partir de là, Krause explique que l’injection de scripts personnalisés dans des sites Web tiers pourrait, même si aucune preuve ne confirme que l’entreprise s’y adonne, permettre à Meta de surveiller toutes les interactions des utilisateurs, comme les interactions avec chaque bouton et chaque lien, les sélections de texte, les captures d’écran, ainsi que toutes les entrées de formulaire, comme les mots de passe, les adresses et numéros de carte de crédit. De plus, il n’y a aucun moyen de désactiver le navigateur personnalisé intégré aux applications en question.
Après la publication de cette découverte, Meta aurait réagi en déclarant que l’injection de ce code aiderait à regrouper les événements, comme les achats en ligne, avant que ces ceux-ci soient utilisés pour la publicité ciblée et des mesures pour la plate-forme Facebook. L’entreprise aurait ajouté que « pour les achats effectués via le navigateur intégré à l’application, nous demandons le consentement de l’utilisateur pour enregistrer les informations de paiement à des fins de remplissage automatique ».
Mais pour le chercheur, il n’y a aucune raison légitime à intégrer un navigateur aux applications de Meta et à forcer les utilisateurs pour qu’ils restent sur ce navigateur lorsqu’ils souhaitent parcourir d’autres sites qui n’ont rien à voir avec les activités de la firme. En sus, cette pratique qui consiste à injecter du code dans des pages d’autres sites Web soulèverait des risques à plusieurs niveaux :
- Confidentialité et analyse : l’application hôte peut suivre littéralement tout ce qui se passe sur le site Web comme chaque pression, saisie, comportement de défilement, quel contenu est copié et collé, ainsi que les données affichées comme les achats en ligne.
- Vol des informations d’identification des utilisateurs, des adresses physiques, des clés API, etc.
- Annonces et références : l’application hôte peut injecter des publicités sur le site Web, ou remplacer la clé API des annonces pour voler des revenus à l’application hôte, ou remplacer toutes les URL pour inclure un code de référence.
- Sécurité : les navigateurs ont passé des années à optimiser la sécurité de l’expérience utilisateur sur le Web, comme afficher l’état du chiffrement HTTPS, ou encore avertir l’utilisateur au sujet des sites Web non chiffrés, etc.
- L’injection de code JavaScript supplémentaire sur un site Web tiers peut entraîner des problèmes susceptibles de casser le site Web
- Les extensions de navigateur et les bloqueurs de contenu de l’utilisateur ne sont pas disponibles.
- Les liens profonds ne fonctionnent pas bien dans la plupart des cas.
- Souvent, il n’est pas facile de partager un lien via d’autres plates-formes (par exemple, par e-mail, AirDrop, etc.)
Comment se protéger en tant qu’utilisateur ?
Si vous souhaitez échapper au suivi de Meta à travers le navigateur de ses applications, vous pouvez dans un premier temps ouvrir la page web dans un navigateur extérieur à l’application. Généralement, un bouton permet de le faire. Si ce bouton n’est pas disponible, vous allez devoir copier et coller l’URL pour ouvrir le lien dans le navigateur de votre choix.
Une autre solution assez simple qui permet d’échapper au regard e Meta est d’utiliser la version Web de ces applications.
Comment se protéger en tant que fournisseur de site Web ?
En attendant la résolution de ce problème, si jamais Meta se décide à le faire, vous pouvez, en tant que développeur, tromper assez facilement les applications Instagram, Facebook et Messenger pour qu’elles croient que le code de suivi est déjà installé. Pour cela, il suffit d’intégrer ce qui suit à votre code HTML :
Code HTML : | Sélectionner tout |
1 2 | <span id="iab-pcm-sdk"></span> <span id="iab-autofill-sdk"></span> |
De plus, pour empêcher Instagram de suivre les sélections de texte de l’utilisateur sur votre site Web vous pouvez ajouter ce code :
Code JavaScript : | Sélectionner tout |
1 2 3 4 5 6 7 | const originalEventListener = document.addEventListener document.addEventListener = function(a, b) { if (b.toString().indexOf("messageHandlers.fb_getSelection") > -1) { return null; } return originalEventListener.apply(this, arguments); } |
Cela ne résoudra pas le problème réel d’Instagram exécutant du code JavaScript sur votre site Web, mais au moins aucun script JS supplémentaire ne sera injecté, et moins de données seront suivies.
Nous précisons que sur iOS, après l’introduction de l’obligation pour les développeurs d’applications de demander une permission pour suivre les utilisateurs à travers les applications, de nombreux utilisateurs ont refusé de donner leur accord aux applications pour être suivis, ce qui a eu pour conséquence de réduire le chiffre d’affaires de Facebook de 10 milliards de dollars. Sur cette base, l’on pourrait comprendre et légitimer les actions de l’entreprise pour assurer sa pérennité. Mais devrait-elle se faire au détriment de la vie privée des utilisateurs ?
Source : Publication du chercheur, Script injecté par Meta
Et vous ?
Quels commentaires faites-vous de cette récente découverte ? Intéressante ? Exagérée ? Alarmiste ?
Trouvez-vous raisonnable que Meta injecte du code JS dans les pages de sites Web tiers au motif de collecter certaines données anodines et surtout sans que les utilisateurs en soient informés ?
Cette récente découverte pourrait-elle vous pousser à ne plus utiliser le navigateur intégré à Facebook et Instagram ?
Voir aussi
Facebook a volontairement planifié l’espionnage des utilisateurs, c’est ce que révèlent de nouveaux emails confidentiels de la direction
Violation de données : Facebook n’a pas averti les utilisateurs des risques connus avant 2018 et se retrouve de nouveau poursuivi en justice
Le PDG de Facebook a soutenu le partage des données clients malgré des doutes, selon les documents saisis par les députés, il a déploré son choix
Meta menace de retirer Facebook et Instagram du marché européen, si le groupe n’est plus autorisé à échanger les données des utilisateurs européens avec les États-Unis