« Contrairement aux services d'analyse classiques qui fournissent des statistiques agrégées, ces scripts sont destinés à l'enregistrement et à la lecture de sessions de navigations individuelles, comme si quelqu'un regardait par-dessus votre épaule », ont-ils commenté.
L'objectif déclaré de cette collecte de données comprend la collecte d'informations sur la manière dont les utilisateurs interagissent avec les sites Web et la découverte de pages brisées ou confuses. Cependant, l'étendue des données collectées par ces services va bien au-delà des attentes de ceux qui s’en servent : le texte tapé dans les formulaires est recueilli avant que l'utilisateur ne soumette un formulaire, et les mouvements précis de la souris sont enregistrés, le tout sans aucune indication visuelle apportée à l'internaute.
En théorie, les données collectées par ces outils de session replay doivent être anonymisées. Certains de ces services prévoient automatiquement de ne pas enregistrer certaines informations sensibles – comme les caractères tapés dans un champ de saisie de mot de passe. Mais des tests effectués par les chercheurs montrent que cette anonymisation n’est pas totalement efficace, et nécessite des personnalisations que tous les éditeurs de sites ne mettent pas en place. « Ces données ne peuvent raisonnablement pas rester anonymes. En fait, certaines entreprises permettent aux éditeurs de lier explicitement les enregistrements à la véritable identité d'un utilisateur », ont prévenu les chercheurs.
Pour cette étude, les chercheurs ont analysé sept des meilleures sociétés de replay session (en fonction de leur popularité relative dans leurs mesures). Les services étudiés sont Yandex, FullStory, Hotjar, UserReplay, Smartlook, Clicktale et SessionCam. Ils ont trouvé leurs services dans 482 sites parmi les sites figurant dans le top 50 000 d’Alexa (baromètre qui donne la liste des sites en fonction du volume de trafic).
Méthodologie
Les chercheurs ont détecté les preuves d'enregistrements de session en combinant les signaux provenant des sources de données suivantes :
- Les sites qui intègrent des scripts de services d'enregistrement de session ; ici, ils ont utilisé les données de réseau issues des données de recensement Web de Princeton de septembre 2017. La liste des modèles d'URL de script utilisés pour détecter ces incorporations est disponible sur GitHub ;
- Les services d’enregistrement eux-mêmes sont examinés de plusieurs façons afin de déterminer s’ils ne disposent pas d’une URL « backend » unique qui n'est présente que lorsqu'un enregistrement est en cours. « Nous avons découvert ces URL pour Yandex Metrika, Hotjar, Mouseflow, Clicktale et Decibel Insight, et les utilisons pour marquer des sites dans l'ensemble de données de septembre 2017 du recensement de Princeton Web » ;
- Les chercheurs ont utilisé une mesure d'exploration en deux étapes plus ciblée basée sur OpenWPM pour parcourir les sites figurant dans le Top 50 000 d’Alexa. Tout d'abord, le robot d'indexation injecte une chaîne unique dans le code HTML de la page et recherche la preuve que cette valeur a été envoyée à un tiers dans le trafic de la page. Pour détecter les valeurs qui peuvent être codées ou hachées, les chercheurs utilisent une méthodologie de détection similaire à celle du travail précédent sur le suivi des courriels. Après avoir filtré les destinataires de la chaîne unique, ils isolent les pages sur lesquelles au moins un tiers reçoit une grande quantité de données HTTP POST lors de la visite, mais pour lesquelles ils ne détectent pas d'identifiant unique. Sur ces sites, ils effectuent une analyse de suivi qui injecte un bloc de données de 200 Ko dans la page et vérifie s’ils observent une augmentation correspondante de la taille des données envoyées à la tierce partie.
Des résultats des tests, les chercheurs mettent en évidence quatre vulnérabilités
Les mots de passe sont inclus dans les enregistrements de session : tous les services étudiés tentent d'empêcher les fuites de mots de passe en excluant automatiquement les champs de saisie de mot de passe des enregistrements. Cependant, les boîtes de connexion compatibles avec les mobiles qui utilisent des entrées de texte pour stocker les mots de passe non masqués ne sont pas régies par cette règle, sauf si l'éditeur ajoute manuellement des étiquettes pour les exclure. Les chercheurs ont trouvé au moins un site Web où le mot de passe entré dans un formulaire d'enregistrement a été divulgué à SessionCam, même si le formulaire n'est jamais envoyé.
Les entrées sensibles de l'utilisateur sont rédigées de manière partielle et imparfaite : lorsque les utilisateurs interagissent avec un site, ils fournissent des données sensibles lors de la création du compte, lors d'un achat ou lors de la recherche sur le site. Les scripts d'enregistrement de session peuvent utiliser une combinaison de touches ou des enregistreurs d'éléments d'entrée pour collecter ces données.
Toutes les entreprises étudiées offrent des mesures d'atténuation grâce à la rédaction automatisée, mais la couverture offerte varie grandement d'un fournisseur à l'autre. UserReplay et SessionCam remplacent toutes les entrées utilisateur par un texte de masquage de longueur équivalente, tandis que FullStory, Hotjar et Smartlook excluent des champs de saisie spécifiques par type. Le tableau ci-dessous résume la situation.
La rédaction manuelle d'informations d'identification personnelle affichées sur une page est un modèle fondamentalement non sécurisé : en plus de recueillir les entrées des utilisateurs, les sociétés d'enregistrement de session collectent également le contenu de la page rendue. Contrairement à l'enregistrement d'entrée de l'utilisateur, aucune des sociétés ne semble proposer une rédaction automatisée du contenu affiché par défaut.
Au lieu de cela, les sociétés d'enregistrement de session s'attendent à ce que les sites indiquent manuellement toutes les informations d'identification personnelle incluses dans une page rendue. Les données utilisateur sensibles ont un certain nombre de possibilités de se retrouver dans les enregistrements, et de petites fuites sur plusieurs pages peuvent entraîner une accumulation importante de données personnelles dans un seul enregistrement de session.
Les services d'enregistrement peuvent ne pas protéger les données de l'utilisateur : les services d'enregistrement augmentent l'exposition aux violations de données, car les données personnelles finiront inévitablement dans les enregistrements. Ces services doivent gérer les données d'enregistrement avec les mêmes pratiques de sécurité que celles auxquelles un éditeur est censé gérer les données utilisateur.
Quel est donc le risque de tout ceci ?
Les chercheurs rappellent que la collecte du contenu de la page par des scripts de relecture tiers peut provoquer des fuites d'informations sensibles telles que les conditions médicales, les détails d’une carte de crédit et d'autres informations personnelles affichées sur une page lors de l'enregistrement. Cela peut exposer les utilisateurs au vol d'identité, aux arnaques en ligne et à d'autres comportements indésirables. La même chose est vraie pour la collecte des entrées utilisateur lors des processus de paiement et d'enregistrement.
Source : résultats de l'étude, liste des sites contenant des scripts de session replay tiers
Et vous ?
En tant qu'utilisateur, qu'en pensez-vous ?
En tant que Webmaster, cela vous semble-t-il utile ?