Thèse de Romain Fouquet

Préserver la vie privée en ligne grâce au blocage de contenu

Le Web a connu une croissance constante depuis sa création en 1990. En parallèle de cette production permanente de contenu, le pistage des utilisateurs est apparu rapidement et s’est développé de manière tout aussi soutenue. Les utilisateurs sont alors suivis aussi bien entre les sites Web que dans leur comportement sur chaque page. Pour combattre ce pistage, les développeurs de navigateurs et d’extensions ont proposé différentes stratégies, de l’isolation des sites les uns par rapport aux autres jusqu’à demander aux utilisateurs la permission d’utiliser certaines fonctionnalités sensibles. Dans cette thèse, on s’intéresse à une de ces stratégies de protection côté client : le blocage de contenu. Le blocage de contenu consiste à empêcher le chargement ou l’exécution de certaines parties des pages Web, protégeant ainsi les utilisateurs de celles-ci. Les outils de blocage de contenu existants reposent surtout sur des listes de filtrage qui spécifient les parties des pages à bloquer. Cependant, elles souffrent de nombreux inconvénients : elles peuvent notamment être incomplètes ou incapables de cibler certains types de ressources. On présente quatre contributions pour améliorer la vie privée des internautes en modifiant le contenu des pages : 1. On mesure la dépendance au JavaScript d’éléments courants des pages Web et dans quelle mesure bloquer JavaScript permet d’améliorer la vie privée. On trouve que 43 % des pages Web de notre échantillon ne dépendent pas strictement de JavaScript et que 67 % des pages sont susceptibles d’être utilisables si l’on se préoccupe seulement du contenu principal de la page. 2. En s’appuyant sur les connaissances acquises concernant la casse des pages quand JavaScript est bloqué, on conçoit un ensemble de réparations pour corriger les cas courants de casse. On introduit le concept de User Browsing Intent (UBI) (intention de navigation) et, en se concentrant sur la UBI « read-only », on mesure à quel point ces réparations sont utiles dans le cas de cette UBI. 3. On propose un système côté serveur pour remplacer les composants d’interface dépendants généralement de JavaScript par des versions sans JavaScript, et on évalue les bénéfices de cette substitution, notamment d’un point de vue sécurité et de réduction de la consommation des terminaux. 4. On conçoit un algorithme de signature pour produire des signatures robustes de fonctions JavaScript et détecter le bundling (empaquetage) de fonctions de pistage provenant de scripts de pistage connus avec du code bénin. On trouve que 22.7 % des domaines de notre échantillon comprennent de telles fonctions de pistage, qui contournent ainsi, de fait, les outils de blocage existants. On propose finalement une technique pour bloquer ces fonctions de pistage tout en préservant les fonctionnalités du code environnant.

Jury

M. Romain ROUVOY Université de Lille Directeur de thèse M. Pierre LAPERDRIX CNRS Examinateur Mme Aurore FASS Stanford University Examinatrice M. Gilles GRIMAUD Université de Lille/CRIStAL Examinateur Mme Nataliia BIELOVA Inria Sophia Antipolis Rapporteure M. Olivier BARAIS IRISA Rapporteur

Thèse de l'équipe Spirals soutenue le 31/05/2023