Browser Fingerprinting: Exploring Device Diversity to Augment Authentication and Build Client-Side Countermeasures
Total Page:16
File Type:pdf, Size:1020Kb
Browser Fingerprinting : Exploring Device Diversity to Augment Authentification and Build Client-Side Countermeasures Pierre Laperdrix To cite this version: Pierre Laperdrix. Browser Fingerprinting : Exploring Device Diversity to Augment Authentification and Build Client-Side Countermeasures. Cryptography and Security [cs.CR]. INSA de Rennes, 2017. English. NNT : 2017ISAR0016. tel-01729126 HAL Id: tel-01729126 https://tel.archives-ouvertes.fr/tel-01729126 Submitted on 12 Mar 2018 HAL is a multi-disciplinary open access L’archive ouverte pluridisciplinaire HAL, est archive for the deposit and dissemination of sci- destinée au dépôt et à la diffusion de documents entific research documents, whether they are pub- scientifiques de niveau recherche, publiés ou non, lished or not. The documents may come from émanant des établissements d’enseignement et de teaching and research institutions in France or recherche français ou étrangers, des laboratoires abroad, or from public or private research centers. publics ou privés. THESE INSA Rennes présentée par sous le sceau de l’Université Bretagne Loire pour obtenir le titre de Pierre LAPERDRIX DOCTEUR DE L’INSA RENNES ECOLE DOCTORALE : MathSTIC Spécialité : Informatique LABORATOIRE : IRISA Thèse soutenue le 03.10.2017 Browser Fingerprinting: devant le jury composé de : Ludovic ME Exploring Device Professeur, CentraleSupélec / président Frank PIESSENS Diversity to Augment Professeur, KU Leuven / rapporteur Claude CASTELLUCCIA Authentication and Directeur de recherche, INRIA Grenoble / rapporteur Nataliia BIELOVA Chargé de recherche, INRIA Sophia Antipolis / examinateur Build Client-Side Gildas AVOINE Professeur, INSA Rennes / Co-encadrant de thèse Countermeasures Benoit BAUDRY Directeur de recherche, INRIA Rennes / Directeur de thèse Browser Fingerprinting: Exploring Device Diversity to Augment Authentication and Build Client-Side Countermeasures Pierre LAPERDRIX Document protégé par les droits d’auteur Résumé en français Contexte L’arrivée de l’Internet a bousculé notre société à l’aube du 21e siècle. Nos habitudes se sont méta- morphosées pour prendre en compte cette nouvelle manière de communiquer et de partager avec le monde. Grâce aux technologies qui en constituent ses fondations, le web est une plateforme universelle. Que vous utilisiez un PC de bureau sous Windows, un PC portable sous MacOS, un serveur sous Linux ou une tablette sous Android, chacun a les moyens de se connecter à ce réseau de réseaux pour partager avec le monde. Pour optimiser au maximum l’expérience de navigation de chaque utilisateur, les navigateurs web partagent des informations sur leur environnement. La résolution d’écran, le système d’exploitation ou le fuseau horaire sont quelques exemples d’attributs qui sont accessibles librement au sein d’un navigateur web. En 2010, grâce au site Panopticlick, Peter Eckersley de l’Electronic Frontier Foundation (EFF) a enquêté sur la diversité des informa- tions accessibles à partir d’un navigateur web. En collectant une liste d’une dizaine d’attributs, il a été capable d’identifier de façon unique 83.6% des navigateurs dans un échantillon de 470 161. Ce pourcentage est plus élevé si les plugins Flash et Java sont installés, car ils permettent d’accéder à encore plus d’informations. Le domaine du browser fingerprinting est né de cette étude. A partir des données qu’il a récupérées, Eckersley a montré qu’il y avait une très grande diversité de terminaux connectés à l’Internet. Il en a conclu que cette technique pourrait être utilisée pour identifier de façon unique un usager sur Internet, contournant ainsi tous les systèmes de protec- tion actuels contre le traçage sur Internet. Comme le browser fingerprinting est une technique complètement invisible et transparente, l’utilisateur n’a aucun moyen de s’y opposer. Il n’est pas non plus au courant quand un tel processus s’exécute dans son navigateur. L’impact d’une telle pratique sur le respect de la vie privée en ligne est alors très important. Sept ans se sont écoulés depuis l’étude initiale d’Eckersley. Le browser fingerprinting a dé- passé le stade d’un simple prototype de laboratoire et est devenu un domaine à part entière. La recherche sur ce sujet est aujourd’hui alimentée par le monde académique mais aussi par des acteurs industriels. Les piliers du web l’utilisent pour renforcer la sécurité de leurs services. Les agences publicitaires y voient une alternative pour traquer les usagers sur Internet. Les législateurs et les organisations non gouvernementales le considèrent déjà comme une menace pour la vie privée. Les personnes responsables de la sûreté de systèmes et de réseaux critiques sont conscients des possibilités d’attaques ciblées émanant de cette collecte d’informations. L’impact économique et sociétal du browser fingerprinting s’est très largement étendu ces dernières années mais de nom- breuses questions sur le sujet se trouvent encore sans réponses. Ce qui est possible avec le browser fingerprinting aujourd’hui est très différent de ce qui était possible en 2010. Les organisations de standardisation du web et les développeurs de navigateurs repoussent constamment les limites du web et, par la même occasion, façonnent les mécanismes derrière cette technique. Le browser fingerprinting est un domaine fascinant qui en est encore à ses balbutiements. Avec cette thèse, nous contribuons à l’écriture des premières pages de son histoire en fournissant une vue d’ensemble du domaine, de ses fondations jusqu’à l’impact des nouvelles technologies du web sur cette technique. Nous nous tournons aussi vers le futur en explorant une nouvelle facette du domaine pour améliorer la sécurité des comptes sur Internet dans une période où le nombre d’attaques en ligne sur les bases de données ne cesse de croître. i ii RÉSUMÉ EN FRANÇAIS Comprendre le browser fingerprinting avec AmIUnique Depuis l’étude d’Eckersley qui a révélé le fingerprinting en 2010, les navigateurs web ont subi d’importantes transformations. Le développement de HTML5 a repoussé les limites de ce qui est possible sur Internet avec l’introduction de nouvelles interfaces de programmation comme le Canvas, WebGL ou Web Audio. La navigation sur mobiles a aussi explosé dans la dernière décennie avec la démocratisation des smartphones et des tablettes. Pour faire suite à l’étude Panopticlick de 2010 et pour comprendre le statut actuel du browser fingerprinting avec toutes ces évolutions récentes, nous avons lancé en Novembre 2014 le site AmIUnique.org. Quand un utilisateur s’y connecte, le serveur récupère l’empreinte du navigateur et la compare à toutes les empreintes récoltées précédemment. L’objectif du site web est double : • Récupérer de vraies empreintes pour comprendre leur composition et pour détecter les at- tributs les plus discriminants • Informer les utilisateurs du fingerprinting et plus généralement du traçage sur Internet Aux termes de cette étude en mai 2017, plus de 385 000 empreintes ont été récoltées. En février 2016, nous avons réalisé une analyse de 118 934 empreintes pour comprendre la diversité des appareils connectés à Internet, et certains des résultats obtenus nous ont surpris. Comparaison avec Panopticlick Pour comparer le jeu de données obtenues par le site AmIUnique avec celui de Panopticlick, nous avons calculé l’entropie de chaque attribut collecté. Les résultats ont été immédiats : on observe un niveau d’entropie similaire entre les deux études sauf pour la liste des polices de caractère et la liste des plugins. Ces chiffres s’expliquent par l’absence de plugins et de Flash sur les terminaux mobiles. Impact des nouveaux attributs Grâce aux données récupérées sur AmIUnique, nous avons été les premiers à enquêter sur l’impact de l’interface Canvas et WebGL. Pour les tests s’appuyant sur des rendus de canvas, l’entropie est dans le top 5 des attributs les plus discriminants. La force du canvas fingerprinting vient du fait qu’il s’appuie sur différentes couches du système : le navigateur, le système d’exploitation et même le matériel de l’appareil étudié. Pour les tests s’appuyant sur l’interface WebGL, on peut récupérer des informations exactes sur le modèle de la carte graphique utilisé. En revanche, le défaut majeur de cet attribut est qu’il n’est pas disponible dans tous les navigateurs. Bien que Chrome y donne accès par défaut, le navigateur Firefox masque la vraie valeur pour des raisons de sécurité. Fingerprinting de terminaux mobiles La question de la viabilité du browser fingerprinting sur des terminaux mobiles a été également étudiée. Vu que les utilisateurs ne conçoivent pas eux-mêmes leurs smartphones, existe-t-il une diversité suffisante des appareils mobiles pour pouvoir différencier un utilisateur d’un autre ? Si deux personnes achètent exactement le même modèle de téléphone, est-il possible de les distinguer ? À notre grande surprise, la réponse est oui. Cependant, là où les plugins et les polices de caractères étaient très discriminants sur les PCs de bureau, c’est une tout autre histoire pour les terminaux mobiles. Tout d’abord, les en-têtes user-agent sont beaucoup plus précis et détaillés sur smartphones. En plus de renseigner la plateforme et la version exacte du navigateur, certains appareils indiquent la version exacte du firmware utilisé. Certaines applications ajoutent même de nouvelles informations auxquelles un simple navigateur n’a normalement pas accès. Un exemple vient de l’application Facebook qui ajoute l’opérateur de téléphonie de l’utilisateur dans le user- agent. Toutes ces informations contenues dans le user-agent sont d’autant plus de données qui peuvent servir à différencier un appareil d’un autre. Enfin, le canvas fingerprinting sur terminaux mobiles est plus discriminant que sur PCs grâce à la présence d’émojis. Il n’est pas rare de voir un constructeur de téléphones fournir sa propre police d’émojis. Cette petite image qui représente une émotion facilite encore plus la distinction entre deux appareils. iii Concevoir des contremesures adaptées Défis Une contremesure est une solution qui empêche l’identification de terminaux par la collecte d’empreintes.