Il fingerprinting del browser è una tecnica valida per identificare gli utenti anonimi?

96

Il fingerprinting del browser è un metodo sufficiente per identificare in modo univoco gli utenti anonimi? Cosa succede se si incorporano dati biometrici come gesti del mouse o schemi di digitazione?

L'altro giorno mi sono imbattuto in l'esperimento Panopticlick EFF è in esecuzione sulle impronte digitali del browser .

Naturalmente ho pensato subito alle ripercussioni sulla privacy e a come potrebbe essere usato per il male. Ma d'altra parte, questo potrebbe essere usato per un grande bene e, per lo meno, è un problema allettante su cui lavorare.

Durante la ricerca dell'argomento ho trovato alcune aziende che utilizzano il fingerprinting del browser per attaccare le frodi. E dopo aver inviato alcune e-mail posso confermare che almeno un importante sito di incontri utilizza il fingerprinting del browser come un unico meccanismo per rilevare account falsi. (Nota: hanno scoperto che non è abbastanza unico da fungere da identità quando scala fino a milioni di utenti, ma il mio cervello di programmatore non vuole crederci).

Ecco una società che utilizza le impronte digitali del browser per il rilevamento e la prevenzione delle frodi:
link

Ecco un elenco abbastanza completo di elementi che puoi utilizzare come identificativi univoci in un browser:
link

    
posta SMrF 29.11.2011 - 19:42
fonte

8 risposte

91

In primo luogo, non penso sia realistico aspettarsi che gli utenti abbiano JavaScript disabilitato nel web moderno. Diamo un'occhiata a ciò che Panopticlick può raccogliere solo tramite JavaScript, insieme al punteggio di unicità del mio particolare browser:

  • Agente utente (1 su 4.184)
  • Intestazioni HTTP_ACCEPT (1 su 14)
  • Dettagli plugin per browser (1 su 1,8 milioni)
  • Fuso orario (1 su 24)
  • Dimensioni dello schermo e profondità del colore (1 su 1.700)
  • Font di sistema (1 su 11)
  • Cookie abilitati? (1 in 1.3)
  • Test SuperCookie limitato (1 in 2)

Gli elementi distintivi per l'univocità sono chiaramente User Agent e Browser Plugin. Ricorda che questi elementi sono usati insieme per formare un'impronta digitale del browser, quindi sono più forti dei singoli punteggi. L'unicità cumulativa qui è: 4,184 x 14 x 1.8 million x 24 x 1,700 x 11 x 1.3 x 2 ovvero un NUMERO GRANDE VERO . Questo è ... piuttosto unico.

Al momento ho disattivato Flash, con "fai clic per attivare". L'abilitazione di Flash aggiunge:

  • Font di sistema (1 su 374k)

Flash fornisce il secondo elemento rilevabile più esclusivo, ma dato il numero enorme anche il rilevamento JavaScript predefinito in Panopticlick produce, non sono sicuro che Flash sia necessario per questo tipo di fingerprinting del browser. Basta abilitare JavaScript è sufficiente.

Il fingerprinting del browser è solo una parte della storia, però. Considera la somma di ciò che tutti possiamo rilevare dagli utenti anonimi, perché può tutti lavorare insieme per impronte digitali agli utenti anonimi. Quanto è difficile raccogliere e utilizzare i dati rilevati?

  1. Sniffing dei dettagli del browser, come mostrato sopra (facile)
  2. Indirizzo IP, che ha un livello noto di affidabilità con vantaggi e svantaggi (facile)
  3. Modelli di comportamento degli utenti come l'utilizzo (ora del giorno), la digitazione, i movimenti del mouse o delle dita, l'uso delle parole (duro, parte del server, parte del client)

Una cosa di cui mi preoccupo solo con lo sniffing del browser è la facilità con cui gli utenti cambiano i browser. Sulla maggior parte delle piattaforme esistono almeno quattro alternative di browser grandiose e gratuite: Chrome, Opera, Firefox , Safari. Quindi, per interrompere lo sniffing del browser, o almeno interromperlo, è possibile cambiare frequentemente i browser.

Vale la pena menzionare i cosiddetti SuperCookie qui poiché possono effettivamente funzionare, in alcuni casi , anche se cambi browser e anche se JavaScript, HTML 5 Archiviazione locale e Flash sono disabilitati .

A privacy researcher has revealed the evil genius behind a for-profit web analytics service capable of following users across more than 500 sites, even when all cookie storage was disabled and sites were viewed using a browser's privacy mode.

(Se sei curioso, la versione TL; DR è che lo fanno sfruttando i principi oscuri dell'intestazione ETag ).

Comunque, tornando allo sniffing del browser - ci sono due cose un po 'scomode che gli utenti possono fare per sconfiggere questo:

  1. Cambia costantemente browser.
  2. Cerca sempre con JavaScript e Flash disabilitato.

Tuttavia, se l'utente non sa che le sue impostazioni del browser vengono annusate e utilizzate come parte del metodo per impronte digitali, dubito che altamente debbano necessariamente prendersi la briga di farlo due cose. È un lavoro.

In base ai dati di cui sopra, credo che il annusamento del browser possa aiutare a identificare il tipico utente Internet anonimo, ma è efficace solo in combinazione con le altre cose che in genere rileviamo da utenti Internet anonimi come IP indirizzo.

    
risposta data 29.11.2011 - 21:08
fonte
11

Il fingerprinting del browser si basa su un ecosistema di browser / dispositivo molto eterogeneo. Una cosa da considerare è che ci stiamo muovendo verso un ecosistema sempre più omogeneo man mano che si fa sempre più surf su smartphone e tablet / pad che tendono ad essere molto meno frammentati in questo senso. Ad esempio, IPhones / iPads appariranno sostanzialmente identici.

    
risposta data 30.11.2011 - 15:44
fonte
10

Is browser fingerprinting a sufficient method for uniquely identifying anonymous users?

No, in migliore può identificare univocamente un computer . In nessun modo può distinguere tra 2 nuovi (e simili) computer sulla stessa rete (stesso IP) senza cookie \ session.

What if you incorporate biometric data like mouse gestures or typing patterns?

Questo non sembra realistico. Questo dovrebbe essere codificato quasi interamente in JavaScript poiché i "dati bio-metrici" sono tutti client-side. L'utente può semplicemente spegnerlo. Inoltre, quali saranno i tuoi "dati biometrici" per un Perl Script ?

Detto questo, l'utilizzo di questo tipo di tattiche per combattere le frodi è una buona idea, non deve essere al 100% .. qualsiasi diminuzione delle frodi è buona, anche se è solo un miglioramento del 5%.

La lotta contro la frode è incrementale, non esiste una soluzione unica per combattere le frodi, non ti preoccupare nemmeno di cercarne una.

EDIT: Per rispondere ai commenti qui sotto (e perché è molto rilevante), il fatto che le impronte digitali trattino profili diversi è, a mio parere, un NEGATIVO * netto. Questo è qualcosa che un utente malintenzionato userà per ingannare il meccanismo delle impronte digitali, il fatto che l'utente abbia il controllo su tutte le variabili utilizzate nel rilevamento delle impronte digitali è un difetto grave di per sé .

* Ecco perché dico al meglio che può Identificare un singolo computer, perché è MEGLIO quindi identificare un singolo Account su un Computer. Se riesci a fare entrambe le cose, è grandioso.

    
risposta data 29.11.2011 - 19:59
fonte
6

Sarei d'accordo con @vincentcr , ma aggiungerei un altro ambiente da considerare: la rete aziendale.

Qui è probabile trovare molte decine o centinaia di (potenziali) utenti con lo stesso identico browser, plug-in, caratteri ecc. I fattori aggiuntivi @ vincentcr suggerisce anche di non riuscire qui - Gli indirizzi IP sono probabilmente gli stessi se gli utenti sono dietro un firewall aziendale, come lo sono le posizioni segnalate dagli utenti.

Anche con i gesti del mouse e i pattern di digitazione presi in considerazione, dubito che queste tecniche possano essere utilizzate per identificare gli utenti unici con qualsiasi forma di sicurezza e, se si desidera che gli account utente siano in grado di sopravvivere all'utente che cambia browser, si avrebbe comunque eseguirne il backup con un sistema di autenticazione più tradizionale.

Sebbene, come altri hanno già detto, potrebbe essere un po 'utile nel rilevare spambots e simili. Ad esempio, il plug-in di WordPress "Bad Behavior" analizza le intestazioni HTTP (tra gli altri fattori) in un tentativo di rilevare spambot.

    
risposta data 29.11.2011 - 22:48
fonte
4

Anche se esiste un numero enorme di combinazioni, non tutte sono distribuite uniformemente.

Pensa a quante persone su, ad esempio, un macbook, useranno semplicemente la configurazione del grezzo. O quelli che non installano mai alcun plugin: sospetto che siano la maggioranza degli utenti.

E all'estremità estrema, hai il segmento di dispositivi in più rapida crescita: utenti di telefoni cellulari e tablet, in particolare iPhone e iPad, in cui sei ridotto a due sole variabili: numero di versione e versione.

Quindi potrebbe essere un buon euristico se combinato con altri fattori (come l'indirizzo IP o la posizione quando disponibile), ma non molto più di questo.

    
risposta data 29.11.2011 - 21:50
fonte
3

Utilizzando il fingerprinting del browser è possibile identificare un singolo utente sul Web e l'unico inconveniente è che è necessario rendere javascript obbligatorio per ogni utente.

Funziona su due principi:

  1. Rileva l'impronta digitale del browser basata su 8 parametri
  2. Rileva se qualcuno ha cambiato la propria impronta digitale modificando qualsiasi parametro.

Il successo delle impronte digitali dipende dal secondo principio; per rilevare se qualcuno ha cambiato l'impronta digitale.

Per ulteriori informazioni, prova il codice disponibile . Devi sviluppare un tuo algoritmo per rilevare un utente che ritorna perché l'algoritmo utilizzato dal link non è al 100% efficiente al momento.

    
risposta data 06.11.2012 - 04:02
fonte
2

Alcuni browser possono anche essere identificati tramite HSTS Supercookies.

Qui è dove puoi incorporare una pagina con richieste a set casuali di risorse sicure e non sicure per ciascun visitatore, quindi monitorare lo schema delle loro richieste in una visita di ritorno. Se ciascuna risorsa viene richiesta nello stesso modello, è possibile utilizzare tali informazioni per identificare l'utente.

Sono particolarmente utili per l'identificazione di iPhone / iPad che altrimenti avrebbero più di un'impronta digitale generica del browser. Questo approccio non è così utile per Internet Explorer in cui HSTS non è supportato.

Questo articolo spiega l'approccio; link

Questo articolo fornisce un buon esempio di come sfruttare i Supercookies di HSTS per identificare gli utenti; link

    
risposta data 06.05.2015 - 12:56
fonte
0

Javascript non è obbligatorio a ci sono molti altri parametri da sniffare da PHP. Detto questo, il 99% degli utenti ha JS quindi perché preoccuparsi

Le impronte digitali possono fornire un'identificazione abbastanza unica? Credo di sì. E così dice www.visitor-intelligence.com con la sua filosofia di screening successiva. Pensaci.

La tua galassia privata personale non è grande come il nostro intero pianeta.

Quanti capelli alti, capelli castani, occhi azzurri con un accento francese camminano nella tua strada? Su una scala planetaria, milioni. Ma scommetto che sarebbe davvero unica nella tua strada (o visitando il tuo negozio).

A meno che non abiti a Champs Elysees. Quindi guarda più vicino. È snella e cammina come una modella? Indossa una borsetta costosa? Va bene, ora è totalmente unica: -)

Guardare puramente le intestazioni è sbagliato perché include il numero di versione del browser e altri parametri molto variabili.

Ora siamo su Chrome 27 e su Firefox 21. Stiamo aggiornando la versione dei browser senza nemmeno accorgercene.

Ora, anche l'elenco completo dei plugin è del tutto sbagliato. Prova questo: installa firefox, installa acrobat reader, quindi installa Chrome. Scommetto che il lettore di acrobat non verrà visualizzato nell'elenco dei plug-in di Chrome: -)

Quindi ... La linea di fondo è: se si cerca un sistema di identificazione decente per un negozio di dimensioni standard, allora il rilevamento delle impronte digitali è abbastanza lungo, e persino più stabile dei cookie (io personalmente cancello quasi tutti i miei biscotti quasi ogni giorno).

Solo i miei 2 centesimi

    
risposta data 18.06.2013 - 15:15
fonte

Leggi altre domande sui tag