L’empreinte de navigateur est-elle une technique viable pour identifier les utilisateurs anonymes?


96

L’empreinte du navigateur est-elle une méthode suffisante pour identifier de manière unique les utilisateurs anonymes? Et si vous intégriez des données biométriques telles que des gestes de souris ou des modèles de frappe?

L’autre jour, j’ai rencontré l’expérience Panopticlick, EFF fonctionne sur les empreintes digitales du navigateur .

Bien sûr, j'ai immédiatement pensé aux répercussions sur la vie privée et à la manière dont cela pourrait être utilisé pour le mal. Mais d’un autre côté, cela pourrait être très utile et, à tout le moins, c’est un problème tentant.

Lors de mes recherches sur le sujet, j'ai trouvé quelques entreprises qui utilisaient les empreintes digitales de navigateur pour lutter contre la fraude. Et après l'envoi de quelques courriels, je peux confirmer qu'au moins un site de rencontre majeur utilise les empreintes digitales de son navigateur comme un mécanisme pour détecter les faux comptes. (Remarque: ils ont trouvé que ce n'était pas assez unique pour agir comme une identité lors de la montée en puissance de millions d'utilisateurs. Mais mon cerveau de programmeur ne veut pas les croire).

Voici une entreprise utilisant les empreintes digitales de son navigateur pour détecter et prévenir les fraudes:
http://www.bluecava.com/

Voici une liste assez complète d'éléments que vous pouvez utiliser comme identificateurs uniques dans un navigateur:
http://browserspy.dk/


6
Comment serait-il facile d'écrire un plugin pour votre navigateur préféré pour modifier l'empreinte de votre navigateur? J'imagine que si cela pouvait être fait, quelqu'un pourrait distribuer un tel plug-in qui vous permet de modifier votre empreinte digitale à volonté. Il pourrait même contenir des "profils" pré-chargés afin que tout un groupe d'utilisateurs puisse utiliser la même empreinte digitale ...
FrustratedWithFormsDesigner

1
Discussion sur le dépassement de capacité de la méta-pile associée à ce sujet sur Stack Exchange: implémentez une forme de prise d'empreinte de navigateur afin de vous aider à trouver des chaussettes

En ce qui concerne l'utilisation d'un plugin pour modifier l'empreinte du navigateur. Cet article IEEE ( de spectrum.ieee.org/computing/software/... ) soutient pourquoi cela pourrait être contre-productif
Pimin Konstantin Kefaloukos

Réponses:


91

Premièrement, je ne pense pas qu'il soit réaliste de s'attendre à ce que les utilisateurs désactivent JavaScript sur le Web moderne. Jetons donc un coup d'œil à ce que Panopticlick peut rassembler à l'aide de JavaScript uniquement, avec le score d'unicité de mon navigateur particulier:

  • Agent utilisateur (1 sur 4 184)
  • En-têtes HTTP_ACCEPT (1 sur 14)
  • Détails du plug- in de navigateur (1 sur 1,8 million)
  • Fuseau horaire (1 sur 24)
  • Taille de l'écran et profondeur de la couleur (1 sur 1 700)
  • Polices système (1 sur 11)
  • Cookies activés? (1 sur 1.3)
  • Test SuperCookie limité (1 sur 2)

La distinction pour l'unicité est clairement les plugins User Agent et Browser. Rappelez-vous que ces éléments sont utilisés ensemble pour former une empreinte de navigateur, ils sont donc plus puissants que les scores individuels. L'unicité cumulative est ici: 4,184 x 14 x 1.8 million x 24 x 1,700 x 11 x 1.3 x 2alias un très gros chiffre . C'est ... assez unique.

Flash est désactivé pour le moment, avec "cliquez pour activer". L'activation de Flash ajoute:

  • Polices système (1 sur 374k)

Flash est le deuxième élément détectable le plus unique, mais étant donné le nombre considérable de détecteurs JavaScript par défaut dans Panopticlick, je ne suis pas sûr que Flash soit nécessaire pour que ce type d’empreinte de navigateur fonctionne. Le simple fait d'activer JavaScript est suffisant.

Les empreintes digitales des navigateurs ne sont toutefois qu’une partie de l’histoire. Considérez la somme de tout ce que nous pouvons détecter d'utilisateurs anonymes, car tout peut fonctionner ensemble pour identifier des utilisateurs anonymes. Est-il difficile de rassembler et d'utiliser les données détectées?

  1. Détection des détails du navigateur, comme indiqué ci-dessus (facile)
  2. Adresse IP, qui a un niveau de fiabilité connu avec le pour et le contre (facile)
  3. Modèles de comportement des utilisateurs tels que l'utilisation (heure de la journée), la frappe, les mouvements de la souris ou des doigts, l'utilisation des mots (difficile, du côté serveur, du côté client)

Une seule chose qui me préoccupe avec le sniffing de navigateur seul est la facilité triviale pour les utilisateurs de changer de navigateur. Il existe au moins quatre grandes alternatives de navigateur gratuites sur la plupart des plateformes: Chrome, Opera, Firefox, Safari. Donc, pour interrompre la détection du navigateur, ou du moins l'interrompre, vous pouvez changer de navigateur fréquemment.

Il convient de mentionner les «SuperCookies» , car ils peuvent réellement fonctionner, même dans certains cas, même si vous changez de navigateur et même si JavaScript, HTML 5 Local Storage et Flash sont désactivés .

Un chercheur en protection de la vie privée a révélé le génie diabolique derrière un service d'analyse Web à but lucratif capable de suivre les utilisateurs de plus de 500 sites, même lorsque tout le stockage des cookies était désactivé et les sites visités à l'aide du mode de confidentialité du navigateur.

(Si vous êtes curieux, la version TL; DR est ce qu’ils font en exploitant les principes obscurs de l’en -tête ETag .)

Quoi qu'il en soit, pour revenir au navigateur renifleur - il existe deux choses quelque peu gênantes que les utilisateurs peuvent faire pour contourner ce problème:

  1. Changer constamment de navigateur.
  2. Toujours parcourir avec JavaScript et Flash désactivé.

Toutefois, si l'utilisateur ne sait pas que les paramètres de son navigateur sont détectés et utilisés dans le cadre de la méthode de détermination de leur empreinte digitale, je doute fortement qu'ils se donneraient forcément la peine de faire ces deux choses. C'est du travail.

Sur la base des données ci-dessus, je pense que le sniffing de navigateur peut aider à identifier l'internaute anonyme anonyme - mais il n'est efficace qu'en combinaison avec les autres éléments que nous détectons généralement chez les internautes anonymes comme IP Address.


7
+1 hacker. Vos parents savent-ils comment vous passez votre temps?
P.Brian.Mackey

2
"Tout d'abord, je ne pense pas qu'il soit réaliste de s'attendre à ce que les utilisateurs désactivent JavaScript sur le Web moderne." Je suis heureux qu'une solution NoScript simple arrête complètement mon suivi.
Arda Xi

93
"aka un VRAI GRAND NUMÉRO. C'est ... assez unique." Ce n'est unique que si ces fonctionnalités sont distribuées au hasard parmi les utilisateurs. Il est possible que la majorité des utilisateurs utilisent un sous-ensemble d'agents et de configurations de plug-ins beaucoup plus réduit. Existe-t-il des agents ou des configurations de plug-ins hautement corrélés? Si vous comptez sur cette caractéristique unique, vous devez examiner la répartition de ces fonctionnalités entre les utilisateurs, et pas seulement le meilleur scénario possible.
Charles E. Grant

3
@Arda Xi: Cela rend quand même une expérience de navigation gênante cependant ...;)
BoltClock

1
"Tout d'abord, je ne pense pas qu'il soit réaliste de s'attendre à ce que les utilisateurs désactivent JavaScript sur le Web moderne." Sincèrement, tu as tort. Avec l'adjonction noscript, il est facile de désactiver les scripts pour votre site Web inconnu tout en profitant du Web moderne sur des sites connus.
Arkh

11

Les empreintes de navigateur reposent sur un écosystème navigateur / appareil très hétérogène. Une chose à considérer est que nous nous dirigeons vers un écosystème de plus en plus homogène, du fait que de plus en plus de surfs se fait sur des smartphones et des tablettes / tablettes / tablettes qui ont tendance à être beaucoup moins fragmentés en ce sens. Les IPhones / iPads, par exemple, seront tous essentiellement identiques.


3
un excellent point et un peu triste. Mais c'est une réalité très probable.
Jeff Atwood

Le nombre d'iPhones et de modèles d'iPad est divergent.
JoJo

10

L’empreinte du navigateur est-elle une méthode suffisante pour identifier de manière unique les utilisateurs anonymes?

Non, au mieux, il peut identifier uniquement un ordinateur . Il n’ya aucun moyen de faire la différence entre 2 ordinateurs nouveaux (et similaires) sur le même réseau (Same IP) sans cookie \ session.

Et si vous intégriez des données biométriques telles que des gestes de souris ou des modèles de frappe?

Cela ne semble pas réaliste. Celles-ci devraient être codées presque entièrement en JavaScript, car les "données bio-métriques" sont entièrement côté client. L'utilisateur peut simplement l'éteindre. De plus, à quoi ressembleront vos "données biométriques" pour un Perl Script?


Cela dit, utiliser ce genre de tactiques pour lutter contre la fraude est une bonne idée. Il n'est pas nécessaire que ce soit à 100%… toute réduction de la fraude est bonne, même si cela ne représente qu'une amélioration de 5%.

La lutte contre la fraude est progressive. Il n’existe pas de solution unique pour lutter contre la fraude. Ne cherchez même pas une.


EDIT: Pour répondre aux commentaires ci-dessous (et parce que cela est très pertinent), le fait que les empreintes digitales traitent des profils différents est, selon Mes croyances, un réseau NÉGATIF ​​*. C’est quelque chose qu’un utilisateur malveillant utilisera pour tromper le mécanisme de prise d’empreintes digitales, le fait que celui-ci ait le contrôle de toutes les variables utilisées lors de la prise d’empreintes digitales est en soi une faille grave .

* C’est pourquoi je dis au mieux qu’il est possible d’identifier un seul ordinateur, car c’EST MIEUX identifier un seul compte sur un ordinateur. Si vous pouvez faire les deux, c'est génial.


3
Les "données bio-métriques" pourraient également apparaître lorsque les utilisateurs accèderont au site, aux URL, à la fréquence, à la structure des mots et de la langue .. Aucun de ces éléments ne nécessite JavaScript
Jeff Atwood

2
Les empreintes digitales peuvent en effet identifier même des comptes différents sur le même ordinateur. Je connais l'anglais, le suédois et un peu d'espagnol. J'ai configuré mon Mac en conséquence. Lorsque Firefox demande une page, il envoie "Accept-Language: en-us, en; q = 0.8, sv; q = 0.5, es; q = 0.3". Ma femme ne connaît pas l'espagnol. Firefox sur son compte sur la même machine n'inclut pas le terme "es". Clairement, ce que vous dites n'est pas possible.
Andrew Dalke

Andy, Ce n'est pas parce que c'est votre profil d'utilisateur que vous êtes assis devant l'ordinateur.
Morons

4
Mor, votre affirmation "au mieux, elle peut identifier un ordinateur de manière unique" est incorrecte. Au mieux, il peut distinguer différents comptes sur le même ordinateur. S'il s'agit d'un compte en réseau, il peut être possible de distinguer deux comptes différents sur le même réseau. Que plusieurs personnes puissent utiliser le compte est une autre affaire.
Andrew Dalke

6

Je suis d’accord avec @vincentcr , mais j’ajouterais un environnement supplémentaire à prendre en compte: le réseau d’entreprise.

Ici, vous trouverez probablement plusieurs dizaines ou centaines d’utilisateurs (potentiels) possédant exactement le même navigateur, les mêmes plug-ins, les mêmes polices, etc. Les facteurs supplémentaires suggérés par @vincentcr échouent également ici: les adresses IP sont susceptibles d'être les mêmes si les utilisateurs sont derrière un pare-feu d'entreprise, de même que les emplacements signalés par les utilisateurs.

Même avec les gestes de souris et les modèles de frappe pris en compte, je doute que ces techniques puissent être utilisées pour identifier des utilisateurs uniques avec n'importe quelle forme de sécurité, et si vous voulez que les comptes d'utilisateurs puissent survivre à la modification du navigateur par l'utilisateur, vous devrez le sauvegarder. de toute façon avec un système d’authentification plus traditionnel.

Comme d’autres l'ont déjà dit, cela peut être utile pour détecter les spambots, etc. Par exemple, le plug-in WordPress "Bad Behavior" analyse les en-têtes HTTP (entre autres facteurs) pour tenter de détecter les spambots.


Très bon point. Bien que vous puissiez détecter des problèmes tels que le décalage d'horloge, ce qui varie d'un ordinateur à l'autre, et apparemment, vous pouvez accéder aux adresses IP réelles par le biais de flash. Il existe également une résolution du moniteur, qui vaut quelque chose mais qui est moins utile dans un environnement d'entreprise.
SMrF

4

Même s'il existe un grand nombre de combinaisons, elles ne sont pas toutes réparties de manière égale.

Imaginez combien de personnes sur un macbook, par exemple, n'utiliseront que la configuration de stock. Ou ceux qui n'installent jamais de plugin: je suppose que ce sont la majorité des utilisateurs.

Et à l'extrême, vous avez le segment d'appareils dont la croissance est la plus rapide: les utilisateurs de téléphones mobiles et de tablettes, en particulier les iPhones et les iPads, pour lesquels vous ne disposez que de deux variables: la marque et le numéro de version.

Cela peut donc être une bonne heuristique lorsqu'il est combiné à d'autres facteurs (tels que l'adresse IP ou l'emplacement, le cas échéant), mais pas beaucoup plus que cela.


3

En utilisant les empreintes digitales du navigateur, vous pouvez identifier un utilisateur individuel sur le Web. Le seul inconvénient est que vous devez rendre javascript obligatoire pour tous les utilisateurs.

Cela fonctionne sur deux principes:

  1. Détecter l'empreinte du navigateur en fonction de 8 paramètres
  2. Détecter si quelqu'un a changé son empreinte digitale en modifiant n'importe quel paramètre.

Le succès des empreintes digitales dépend du deuxième principe; pour détecter si quelqu'un a changé d'empreinte digitale.

Pour plus d'informations, essayez simplement le code disponible . Vous devez développer votre propre algorithme pour détecter un utilisateur précédent, car l'algorithme utilisé par https://panopticlick.eff.org/ n'est pas efficace à 100% pour le moment.


1
«pas efficace à 100%» ou peut-être «non efficace à 100%»? Pourriez-vous élaborer sur ce point?
Martijn Pieters

2

Certains navigateurs peuvent également être identifiés via Supercookies HSTS.

C'est là que vous pouvez intégrer une page avec des requêtes à des ensembles aléatoires de ressources sécurisées et non sécurisées pour chaque visiteur, puis surveiller le schéma de leurs requêtes lors d'une visite précédente. Si chaque ressource est demandée selon le même modèle, vous pouvez utiliser ces informations pour identifier l'utilisateur.

Celles-ci sont particulièrement utiles pour identifier les iPhone / iPad qui auraient autrement une empreinte générique de navigateur. Cette approche n'est pas très utile pour Internet Explorer où HSTS n'est pas pris en charge.

Cet article explique la démarche. http://www.radicalresearch.co.uk/lab/hstssupercookies/

Cet article fournit un bon exemple d'utilisation de HSTS Supercookies pour identifier les utilisateurs. https://nakedsecurity.sophos.com/2015/02/02/anatomy-of-a-browser-dilemma-how-hsts-supercookies-make-you-choose-between-privacy-or-security/


0

Javascript n'est pas obligatoire car il y a beaucoup d'autres paramètres à renifler depuis PHP. Cela dit, 99% des utilisateurs ont JS, alors pourquoi

Les empreintes digitales peuvent-elles fournir une identification unique suffisante? Je le crois. C'est ce que dit www.visitor-intelligence.com avec sa philosophie de sélection successive. Pensez-y.

Votre galaxie privée personnelle n’est pas aussi vaste que l’ensemble de notre planète.

Combien de grandes filles aux yeux bleus et aux cheveux bleus avec un accent français se promènent dans ta rue? À l'échelle de la planète, des millions. Mais je parie qu'elle serait assez unique dans votre rue (ou dans votre magasin).

A moins d'habiter aux Champs Elysées. Puis regarde de plus près. Est-elle mince et marche comme un modèle? Est-ce qu'elle porte un sac à main cher? D'accord, elle est totalement unique maintenant :-)

Regarder uniquement les en-têtes est une erreur car cela inclut le numéro de version du navigateur et des paramètres plus très variables.

Nous sommes maintenant sur Chrome 27 et Firefox 21. Nous mettons à jour la version des navigateurs sans même nous en rendre compte.

Maintenant, regarder la liste complète des plugins est également tout à fait faux. Essayez cela: installez firefox, installez Acrobat Reader, puis installez Chrome. Je parie qu'Acrobat Reader ne figurera pas dans votre liste de plugins Chrome :-)

Donc ... Bref, si vous recherchez un système d’identification décent pour un magasin de taille standard, les empreintes digitales suffisent et sont encore plus stables que les cookies (personnellement, je supprime tous les cookies presque tous les jours).

Juste mes 2 cents

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.