it-swarm.dev

Ist der Browser-Fingerabdruck eine praktikable Technik zur Identifizierung anonymer Benutzer?

Ist der Browser-Fingerabdruck eine ausreichende Methode, um anonyme Benutzer eindeutig zu identifizieren? Was ist, wenn Sie biometrische Daten wie Mausgesten oder Tippmuster einbeziehen?

Neulich bin ich auf das Panopticlick-Experiment gestoßen , das EFF auf Browser-Fingerabdrücken ausführt .

Natürlich dachte ich sofort an die Auswirkungen auf die Privatsphäre und wie sie für das Böse verwendet werden könnten. Auf der anderen Seite könnte dies sehr gut genutzt werden, und zumindest ist es ein verlockendes Problem, daran zu arbeiten.

Während ich das Thema recherchierte, fand ich einige Unternehmen, die Browser-Fingerabdrücke verwendeten, um Betrug anzugreifen. Und nachdem ich ein paar E-Mails verschickt habe, kann ich bestätigen, dass mindestens eine wichtige Dating-Site Browser-Fingerabdrücke als einen Mechanismus zum Erkennen gefälschter Konten verwendet. (Hinweis: Sie haben festgestellt, dass es nicht eindeutig genug ist, um bei der Skalierung auf Millionen von Benutzern als Identität zu fungieren. Aber mein Programmiererhirn möchte ihnen nicht glauben.).

Hier ist ein Unternehmen, das Browser-Fingerabdrücke zur Aufdeckung und Verhinderung von Betrug verwendet:
http://www.bluecava.com/

Hier ist eine ziemlich umfassende Liste von Dingen, die Sie als eindeutige Bezeichner in einem Browser verwenden können:
http://browserspy.dk/

98
SMrF

Erstens halte ich es nicht für realistisch, zu erwarten, dass Benutzer JavaScript im modernen Web deaktiviert haben. Schauen wir uns also an, was Panopticlick allein über JavaScript zusammen mit der Eindeutigkeitsbewertung meines jeweiligen Browsers erfassen kann:

  • User Agent (1 in 4.184)
  • HTTP_ACCEPT-Header (1 in 14)
  • Details zum Browser-Plugin (1 zu 1,8 Millionen)
  • Zeitzone (1 in 24)
  • Bildschirmgröße und Farbtiefe (1 zu 1.700)
  • Systemschriftarten (1 in 11)
  • Cookies aktiviert? (1 in 1.3)
  • Eingeschränkter SuperCookie-Test (1 zu 2)

Die herausragenden Merkmale für die Einzigartigkeit sind eindeutig User Agent- und Browser-Plugins. Denken Sie daran, dass diese Elemente zusammen verwendet werden , um einen Browser-Fingerabdruck zu bilden, sodass sie mehr als so stark sind wie die einzelnen Bewertungen. Die kumulative Einzigartigkeit hier ist: 4,184 x 14 x 1.8 million x 24 x 1,700 x 11 x 1.3 x 2 aka a WIRKLICH GROSSE NUMMER . Das ist ... ziemlich einzigartig.

Ich habe Flash im Moment deaktiviert, mit "Klicken zum Aktivieren". Durch Aktivieren von Flash wird Folgendes hinzugefügt:

  • Systemschriftarten (1 in 374k)

Flash bietet das zweitwichtigste erkennbare Element, aber angesichts der enormen Anzahl, die selbst die standardmäßige JavaScript-Erkennung in Panopticlick erzeugt, bin ich mir nicht sicher, ob Flash erforderlich ist, damit diese Art von Browser-Fingerabdruck funktioniert. Es reicht aus, nur JavaScript zu aktivieren.

Browser-Fingerabdrücke sind jedoch nur ein Teil der Geschichte. Betrachten Sie die Summe dessen, was wir von anonymen Benutzern alles erkennen können, da alles zusammenarbeiten kann, um anonyme Benutzer mit Fingerabdrücken zu versehen. Wie schwierig ist es, die erkannten Daten zu sammeln und zu verwenden?

  1. Browser-Detail-Sniffing, wie oben gezeigt (einfach)
  2. IP-Adresse, die ein bekanntes Maß an Zuverlässigkeit mit Vor- und Nachteilen aufweist (einfach)
  3. Benutzerverhaltensmuster wie Nutzung (Tageszeit), Tippen, Maus- oder Fingerbewegungen, Word-Nutzung (schwer, einige serverseitig, einige clientseitig)

Eine Sache, über die ich mir beim Browser-Sniffing Sorgen mache, ist, wie einfach es für Benutzer ist, den Browser zu wechseln. Es gibt mindestens vier großartige und kostenlose Browser-Alternativen Die meisten Plattformen: Chrome, Opera, Firefox, Safari. Um das Schnüffeln des Browsers zu unterbrechen oder zumindest zu unterbrechen, können Sie häufig den Browser wechseln.

Es lohnt sich erwähnt sogenannte SuperCookies hier, da sie in einigen Fällen tatsächlich funktionieren können , selbst wenn Sie die Browser wechseln und auch wenn JavaScript, HTML 5 Local Storage und Flash deaktiviert sind .

Ein Datenschutzforscher hat das böse Genie eines gewinnorientierten Webanalysedienstes aufgedeckt, der Benutzer auf mehr als 500 Websites verfolgen kann, selbst wenn der gesamte Cookie-Speicher deaktiviert war und Websites im Datenschutzmodus eines Browsers angezeigt wurden.

(Wenn Sie neugierig sind, ist die TL; DR-Version, dass sie dies tun, indem sie obskure Prinzipien des ETag-Headers ausnutzen.)

Wie auch immer, zurück zum Browser-Schnüffeln - es gibt zwei etwas unbequeme Dinge, die Benutzer tun können, um dies zu verhindern:

  1. Wechseln Sie ständig den Browser.
  2. Surfen Sie immer mit deaktiviertem JavaScript und Flash.

Wenn der Benutzer jedoch nicht weiß, dass seine Browsereinstellungen abgehört und als Teil der Methode zum Fingerabdruck verwendet werden, bezweifle ich sehr , dass sie sich notwendigerweise die Mühe machen würden diese beiden Dinge tun. Es ist Arbeit.

Basierend auf den oben genannten Daten glaube ich, dass Browser-Sniffing helfen kann, den typischen anonymen Internetbenutzer zu identifizieren - aber es ist nur in Kombination mit den anderen Dingen wirksam, die wir normalerweise von anonymen Internetbenutzern erkennen wie IP-Adresse.

92
Jeff Atwood

Browser-Fingerprinting basiert auf einem sehr heterogenen Browser/Geräte-Ökosystem. Eine zu berücksichtigende Sache ist, dass wir uns in Richtung eines immer homogeneren Ökosystems bewegen, da immer mehr auf Smartphones und Tablets/Pads gesurft wird, die in diesem Sinne viel weniger fragmentiert sind. IPhones/iPads sehen zum Beispiel alle im Wesentlichen identisch aus.

11
pap

Ist der Browser-Fingerabdruck eine ausreichende Methode, um anonyme Benutzer eindeutig zu identifizieren?

Nein, am besten kann es einen Computer eindeutig identifizieren. Es gibt keine Möglichkeit, zwischen zwei neuen (und ähnlichen) Computern im selben Netzwerk (gleiche IP) ohne Cookie\Sitzung zu unterscheiden.

Was ist, wenn Sie biometrische Daten wie Mausgesten oder Tippmuster einbeziehen?

Das scheint nicht realistisch. Dies müsste fast vollständig in JavaScript codiert werden, da "biometrische Daten" ausschließlich clientseitig sind. Der Benutzer kann es einfach ausschalten. Wie sehen Ihre "biometrischen Daten" für einen Perl Script Aus?


Abgesehen davon ist es eine gute Idee, diese Art von Taktik zur Betrugsbekämpfung anzuwenden. Es muss nicht 100% sein. Eine Verringerung des Betrugs ist gut, auch wenn es nur eine Verbesserung von 5% ist.

Der Kampf gegen Betrug ist inkrementell, es gibt keine einzige Lösung, um Betrug zu bekämpfen. Suchen Sie nicht einmal nach einem.


BEARBEITEN: Um auf die folgenden Kommentare zu antworten (und weil dies sehr relevant ist), ist die Tatsache, dass Fingerabdrücke unterschiedliche Profile behandeln, meiner Meinung nach ein Netto-NEGATIV *. Dies ist etwas, das ein böswilliger Benutzer verwendet, um den Fingerabdruckmechanismus zu täuschen, das die Tatsache, dass der Benutzer die Kontrolle über alle beim Fingerabdruck verwendeten Variablen hat, ist an und für sich ein schwerwiegender Fehler.

* Deshalb sage ich bestenfalls, dass es einen einzelnen Computer identifizieren kann, weil das BESSER ist, als ein einzelnes Konto auf einem Computer zu identifizieren. Wenn Sie beides können, ist das großartig.

10
Morons

Ich würde @ vincentcr zustimmen, aber eine weitere zu berücksichtigende Umgebung hinzufügen: das Unternehmensnetzwerk.

Hier finden Sie wahrscheinlich viele Dutzend oder Hunderte von (potenziellen) Benutzern mit genau demselben Browser, denselben Plugins, denselben Schriftarten usw. Die zusätzlichen Faktoren @ vincentcr schlagen vor, dass auch hier ein Fehler auftritt - IP-Adressen sind wahrscheinlich die Dies gilt auch, wenn sich die Benutzer hinter einer Unternehmensfirewall befinden, ebenso wie die von den Benutzern gemeldeten Standorte.

Selbst wenn Mausgesten und Tippmuster berücksichtigt werden, bezweifle ich, dass diese Techniken verwendet werden können, um eindeutige Benutzer mit irgendeiner Form von Sicherheit zu identifizieren, und wenn Sie möchten, dass Benutzerkonten den Benutzerwechsel im Browser überleben können, müssen Sie sie unterstützen ohnehin mit einem traditionelleren Authentifizierungssystem.

Obwohl, wie andere gesagt haben, es bei der Erkennung von Spambots und dergleichen etwas nützlich sein kann. Zum Beispiel analysiert das WordPress Plugin "Bad Behaviour" HTTP-Header (unter anderem), um Spambots zu erkennen.

6
Ian Renton

Selbst wenn es eine große Anzahl von Kombinationen gibt, sind sie nicht alle gleichmäßig verteilt.

Überlegen Sie, wie viele Personen beispielsweise auf einem MacBook nur die Standardkonfiguration verwenden. Oder diejenigen, die niemals ein Plugin installieren: Ich vermute, das sind die meisten Benutzer.

Und am äußersten Ende haben Sie das am schnellsten wachsende Segment von Geräten: Benutzer von Mobiltelefonen und Tablets, insbesondere iPhones und iPads, bei denen Sie nur auf zwei Variablen reduziert sind: Marke und Versionsnummer.

In Kombination mit anderen Faktoren (z. B. IP-Adresse oder Standort, sofern verfügbar) ist dies möglicherweise eine gute Heuristik, aber nicht viel mehr.

4
vincentcr

Mithilfe des Browser-Fingerabdrucks können Sie einen einzelnen Benutzer im Web identifizieren. Der einzige Nachteil besteht darin, dass Sie Javascript für jeden Benutzer obligatorisch machen müssen.

Es funktioniert nach zwei Prinzipien:

  1. Erkennen Sie den Fingerabdruck des Browsers anhand von 8 Parametern
  2. Ermitteln Sie, ob jemand seinen Fingerabdruck geändert hat, indem Sie einen Parameter ändern.

Der Erfolg des Fingerabdrucks hängt vom zweiten Prinzip ab. um festzustellen, ob jemand den Fingerabdruck geändert hat.

Für weitere Informationen versuchen Sie einfach den verfügbarer Code . Sie müssen Ihren eigenen Algorithmus entwickeln, um einen wiederkehrenden Benutzer zu erkennen, da der von https://panopticlick.eff.org/ verwendete Algorithmus derzeit nicht 100% effizient ist.

3
chetan

Einige Browser können auch über HSTS Supercookies identifiziert werden.

Hier können Sie eine Seite mit Anfragen an zufällige Sätze sicherer und nicht sicherer Ressourcen für jeden Besucher einbetten und dann das Muster ihrer Anfragen bei einem wiederkehrenden Besuch überwachen. Wenn jede Ressource im selben Muster angefordert wird, können Sie diese Informationen verwenden, um den Benutzer zu identifizieren.

Diese sind besonders nützlich, um iPhone/iPads zu identifizieren, die ansonsten eher einen generischen Browser-Fingerabdruck hätten. Dieser Ansatz ist für Internet Explorer nicht so nützlich, wenn HSTS nicht unterstützt wird.

Dieser Artikel erklärt den Ansatz; http://www.radicalresearch.co.uk/lab/hstssupercookies/

Dieser Artikel bietet ein gutes Beispiel für die Nutzung von HSTS Supercookies zur Identifizierung von Benutzern. https://nakedsecurity.sophos.com/2015/02/02/anatomy-of-a-browser-dilemma-how-hsts-supercookies-make-you-choose-between-privacy-or-security/

2
Matt

Javascript ist nicht obligatorisch, da es viele andere Parameter gibt, die von PHP aus abgerufen werden können. Das heißt, 99% der Benutzer haben JS, warum also die Mühe machen

Kann der Fingerabdruck eine hinreichend eindeutige Identifizierung ermöglichen? Ich glaube schon. Und so sagt www.visitor-intelligence.com mit seiner sukzessiven Screening-Philosophie. Denk darüber nach.

Ihre persönliche private Galaxie ist nicht so groß wie unser ganzer Planet.

Wie viele große Mädchen mit braunen Haaren und blauen Augen und französischem Akzent gehen in Ihrer Straße spazieren? Auf Planetenebene Millionen. Aber ich wette, sie wäre ziemlich einzigartig in Ihrer Straße (oder wenn Sie Ihren Laden besuchen).

Es sei denn, Sie wohnen in Champs Elysees. Dann schau genauer hin. Ist sie schlank und geht wie ein Model? Trägt sie eine teure Handtasche? Also gut, sie ist jetzt total einzigartig :-)

Es ist falsch, nur die Header zu betrachten, da sie die Versionsnummer des Browsers und sehr variable Parameter enthalten.

Wir sind jetzt bei Chrome 27 und Firefox 21. Wir aktualisieren die Browserversion, ohne es zu merken.

Das Betrachten der vollständigen Plugin-Liste ist ebenfalls völlig falsch. Versuchen Sie Folgendes: Installieren Sie Firefox, installieren Sie den Acrobat Reader und dann Chrome. Ich wette, der Acrobat Reader wird nicht in Ihrer Chrome Plugin-Liste :-) angezeigt

Also ... Fazit: Wenn Sie nach einem anständigen Identifikationssystem für ein Geschäft in Standardgröße suchen, ist der Fingerabdruck weit genug und sogar stabiler als Cookies (ich persönlich lösche fast jeden Tag alle meine Cookies).

Nur meine 2 Cent

0
user2435894