Certains sites Web utilisaient la détection en mode navigation privée pour empêcher les utilisateurs de contourner les paywalls ou pour offrir aux utilisateurs de navigation privée une expérience de navigation différente.
Malheureusement, la solution de Google a conduit à deux autres méthodes qui peuvent toujours être utilisées pour détecter lorsqu'un visiteur est en navigation privée.
Tandis que Google souhaitait que les utilisateurs puissent naviguer sur le Web en privé et que leurs choix de modes de navigation soient également privés, ils ont comblé une faille en rendant l'API disponible dans les deux modes de navigation. Dans le cadre de cette correction, au lieu d'utiliser un stockage sur disque pour l'API FileSystem, ils utilisent un système de fichiers de mémoire transitoire en mode de navigation privée qui est effacé à la fermeture d'une session.
L'utilisation d'un système de fichiers en mémoire, cependant, crée deux nouvelles failles qui pourraient être utilisées pour détecter le mode de navigation privée, décrites ci-dessous.
Détection du mode navigation privée via des quotas de système de fichiers
Lorsque Google a fait en sorte que le mode Incognito utilise un système de fichiers temporaire utilisant la mémoire vive de l'ordinateur, une nouvelle méthode de détection a été ouverte, basée sur la quantité de mémoire réservée au système de fichiers interne utilisé par le navigateur.
Vikas Mishra, spécialiste de la sécurité, a constaté que lorsque Chrome allouait de la mémoire au système de fichiers de mémoire temporaire utilisé par le mode de navigation privée, son quota maximum était de 120 Mo.
« Sur la base des observations ci-dessus, les principales différences entre les quotas de stockage TEMPORAIRE entre les modes incognito et non incognito sont les suivantes: en cas de mode incognito, il existe une limite stricte de 120 Mo alors que ce n'est pas le cas pour la fenêtre non incognito. Et à partir du tableau ci-dessus il est clair que pour que le quota de stockage temporaire soit inférieur à 120 Mo en cas de mode non incognito, le stockage de périphérique doit être inférieur à 2,4 Go. Cependant, pour des raisons pratiques, il est prudent de supposer que la majorité des périphériques actuellement utilisés doivent avoir plus de 2,4 Go de stockage ».
Fort de cette connaissance, Mishra a mis au point un script qui interroge le quota attribué au système de fichiers du navigateur et, si la taille est inférieure ou égale à 120 Mo, il déduit que le navigateur est en mode incognito.
Détection du mode incognito via les timings d'accès
Lorsqu'il s'agit de lire et d'écrire des données, les systèmes de fichiers de mémoire sont toujours plus rapides que les systèmes de fichiers. Chrome ayant basculé vers un système de fichiers à mémoire en mode navigation privée, il est désormais possible de détecter la navigation privée en mesurant la vitesse d'écriture sur le système de fichiers.
Le chercheur Jesse Li a découvert cette nouvelle méthode de détection qui mesure une série d'écritures dans le système de fichiers du navigateur. Sur la base de la vitesse de ces écritures, un site Web pourrait théoriquement déterminer si le navigateur utilise le mode de navigation privée.
Contrairement à la recherche de Mishra, Li n'a pas mis au point une PoC complète de cette méthode, mais plutôt un script qui mesure la vitesse d'écriture et les affiche. C'est à quelqu'un d'autre de proposer les mesures appropriées pour déterminer le mode incognito avec cette méthode.
De plus, l'approche de Li nécessite de nombreuses écritures pour déterminer la vitesse du système de fichiers, ce qui entraînerait un processus de détection assez long.
Si vous souhaitez mesurer le système de fichiers écrit en mode incognito et en mode de navigation normale, Li a créé un script avec lequel vous pouvez jouer pour afficher les différences de vitesse d'écriture.
Li note que sa technique est plus lente et moins fiable que les techniques existantes. Cependant, il est également plus difficile de la rendre caduque en raison de la décision technique de stocker les données en mémoire plutôt que sur le disque. Il pense que le seul moyen de bloquer cette technique est que le mode Incognito et le mode normal utilisent le même stockage.
Des sites utilisent déjà ces nouvelles méthodes de détection
Malheureusement, les sites ont déjà commencé à utiliser la méthode de détection de quota de système de fichiers de Mishra pour déterminer si un visiteur est en mode de navigation privée. Comme le note le développeur de Microsoft Edge, Eric Lawrence, le New York Times est en train de tester cette méthode pour détecter à quel moment un visiteur passe en mode privé.
Cela se fait par un script qui montre clairement les recherches de Mishra utilisées.
Script utilisé pour détecter le mode Incognito
Les développeurs de Chromium travaillent sur un correctif pour les bogues de quota et de minutage, décrits comme les deux surfaces associées pour la détection en mode Incognito à l'aide de l'API Filesystem.
Sources : Eric Lawrence, Chromium, Vikas Mishra, Jesse Li
Et vous ?
Qu'en pensez-vous ?
Vous êtes-vous déjà servi du mode Incognito pour contourner un paywall ?
Êtes-vous déjà allé sur un site qui propose une expérience différente sur le mode Incognito ?
Que pensez-vous dans l'absolu de la détection d'un tel mode ?
En général pourquoi utilisez-vous ce mode ?