La matematica dietro il matching dei dispositivi tra sessioni
I fondamenti matematici del matching dei dispositivi attraverso segnali che cambiano — come l'analisi basata su IA riconnette i visitatori di ritorno nonostante il drift dei segnali.
Il fingerprinting del dispositivo affronta una sfida fondamentale: i segnali cambiano. I browser si aggiornano, gli utenti modificano le impostazioni, i font vengono installati e rimossi. Un confronto rigoroso tratterebbe ogni segnale cambiato come un nuovo dispositivo, distruggendo l'accuratezza dell'identificazione. Il nostro sistema di matching tra sessioni risolve questo usando tecniche basate su IA che quantificano la similarità invece di richiedere l'uguaglianza esatta.
Il problema: il drift dei segnali
Si consideri un dispositivo di cui è stato fatto il fingerprint ieri e che torna oggi dopo un aggiornamento del browser. La stringa user agent è cambiata. Due nuove feature CSS sono ora supportate. È stata aggiunta un'estensione WebGL. Il rendering canvas rimane identico (stessa GPU, stesso driver). Il fingerprint audio è identico. I parametri WebGL sono identici tranne che per la nuova estensione.
Con il matching esatto, questo dispositivo non verrebbe riconosciuto — il fingerprint combinato è cambiato. Ma intuitivamente sappiamo che è lo stesso dispositivo. I segnali hardware sono identici, e i cambiamenti software sono coerenti con un aggiornamento del browser. Il nostro sistema di matching tra sessioni formalizza questa intuizione.
Confronto basato su insiemi per i segnali di feature
Molti segnali del browser sono naturalmente rappresentati come insiemi: l'insieme delle feature CSS supportate, l'insieme dei font disponibili, l'insieme delle estensioni WebGL. Per questi segnali misuriamo la sovrapposizione usando metriche di similarità basate su insiemi. Per due insiemi A e B, calcoliamo il rapporto tra elementi condivisi ed elementi totali.
Un dispositivo con 45 feature CSS ieri e 47 oggi (con 44 in comune) ha un punteggio di similarità alto. Questo è sufficiente a indicare lo stesso dispositivo con un aggiornamento del browser. Un dispositivo completamente diverso potrebbe condividere solo 30 feature CSS, dando un punteggio di similarità molto più basso. La soglia tra «stesso dispositivo» e «dispositivo diverso» viene appresa da dati etichettati.
Generazione efficiente dei candidati
Calcolare la similarità tra ogni coppia di dispositivi sarebbe proibitivamente costoso su larga scala. Il nostro sistema di generazione dei candidati usa tecniche di indicizzazione avanzate che mappano elementi simili nello stesso bucket di ricerca con alta probabilità, permettendoci di trovare potenziali match in tempo costante.
Questo approccio elimina il 99,9% dei confronti nella fase di generazione dei candidati, rendendo il sistema efficiente anche su miliardi di profili di dispositivo.
Analisi basata su IA per i segnali complessi
Alcuni segnali non si scompongono ordinatamente in insiemi. I fingerprint canvas, l'output dell'elaborazione audio e i vettori di parametri WebGL sono dati complessi a cui il semplice confronto tra insiemi non si applica. Per questi segnali usiamo un'analisi basata su IA che mappa i profili di dispositivo in una rappresentazione in cui i dispositivi simili sono vicini tra loro.
Il modello di IA cattura relazioni non ovvie tra i segnali. Per esempio, apprende che un cambiamento nella stringa del renderer WebGL da un modello di GPU a una versione leggermente potenziata dello stesso modello rappresenta un upgrade di GPU sulla stessa macchina, mentre un cambiamento a un fornitore di GPU completamente diverso rappresenta un dispositivo del tutto diverso.
Combinare le tecniche
Il nostro sistema di produzione usa più tecniche in cascata. Primo, la generazione efficiente dei candidati identifica i potenziali match. Secondo, il confronto basato su insiemi fornisce una misura precisa della sovrapposizione per i segnali basati su feature. Terzo, l'analisi basata su IA valuta la similarità dei segnali dipendenti dall'hardware. Il punteggio di confidenza finale è una combinazione ponderata di tutti i metodi, con pesi messi a punto su dati etichettati.
Questa architettura a cascata è al contempo accurata ed efficiente. Il tempo totale di matching per un visitatore di ritorno è in media inferiore a 5ms.