Articoli

Fra sconcerto e magia, il browser che indovina il sesso

di Maurizio Boscarol

thumbnail

18

Ago

2008

Davvero basta un javascript su una pagina web per scoprire la nostra storia di navigazione? E davvero sono disponibili statistiche sul profilo demografico dei diversi siti? Quale affidabilità hanno questi sistemi? Siamo andati in cerca di risposte

La notizia, ripresa dalla stampa nostrana e internazionale, è di quelle a effetto: i siti sarebbero in grado di indovinare dal browser se l’utente è un maschio o una femmina. Tutto grazie ad uno script presente (e scaricabile) sul sito di Mark on Ads, che sarebbe in grado di capire quali siti abbiamo visitato, grazie alla history di navigazione mantenuta dal nostro browser. Lo script sfrutta poi un servizio terzo che offre dati demografici medi sui visitatori dei più importanti siti. Per ogni sito monitorato sono disponibili le percentuali di visitatori maschi e femmine. Lo script utilizza quelle stime per calcolare una presunta probabilità che, visitando determinati siti, il nostro profilo sia quello di un maschio o di una femmina.


La nostra storia siamo noi

Lo script che dà il via a tutto questo è SocialHistory.js, un’idea di Aza Raskin (figlio del celebre Jef Raskin, noto come l’”inventore del Mac”, nel senso di uno che ha lavorato alla Apple negli anni della sua progettazione, fornendo molte idee innovative, e come autore di “Interfacce a misura d’uomo”). Il quale sul suo blog si chiede: invece di offrire nei blog dei bookmarklet per facilitare la segnalazione degli articoli su decine di social network, molti dei quali magari non usati dall’utente, non sarebbe meglio offrire solo quelli da lui usati? Per esempio, sarebbe meglio (da un punto di vista di interfaccia utente, punto di partenza delle preoccupazioni di Aza) presentare solo quelli presenti nella history del suo browser, perché presumibilmente sono quelli che lui usa. Già, ma come accedere alla history del browser, un dato sensibile protetto dai browser per ragioni di privacy?

È semplice: usando un trucco. Un trucco in realtà scoperto un paio d’anni fa, che non espone l’intera history del nostro browser, ma consente, via javascript, di verificare se il browser abbia già visitato una serie di siti presenti in un elenco definito a priori. Come? È facile: basta creare dinamicamente (in un iframe) un elenco di link a quei siti, e controllare la pseudoclasse a:visited generata nel Dom per ciascuno di essi. In pratica, si controlla il colore dei link: quelli visitati saranno porpora, quelli non visitati saranno blu. Ecco fatto: senza accedere alla storia del browser, lo script può sapere quali dei siti presenti nell’elenco sono stati effettivamente visitati dall’utente.

La versione modificata da MarkOnAds prende come elenco di riferimento non i siti di social network, ma i primi 10.000 siti elencati da QuantCast, per scoprire quali sono presenti nella nostra storia di navigazione. Ed è improbabile che i browser correggeranno questo “buco”, perché significherebbe impedire agli utenti di distinguere i link visitati da quelli non visitati. Il trucco, in diverse versioni, è stato scoperto nel 2006 da Jeremy Grossman, che è il fondatore di WhiteHat Security e passa la vita a scoprire e tentar di protegger le aziende che lo pagano da potenziali buchi di sicurezza nella navigazione. Di questo trucco, che funziona con Explorer e Firefox, esistono diverse varianti, alcune persino (udite udite) che non fanno ricorso a Javascript. Tutte hanno però in comune una cosa: non consentono affatto di accedere all’elenco dei siti visitati dall’utente, ma solo di verificare quali siti contenuti in un elenco predefinito siano stati visitati da quell’utente. Senza peraltro sapere quando ci abbiamo acceduto e per quanto tempo/quante pagine (dati invece disponibili nella history).

Non voglio dire che dobbiamo esserne contenti, ma fa una bella differenza. La nostra storia di navigazione non è interamente esposta, se non al nostro Internet provider. O se non accediamo a tutti i siti da ricerche fatte con Google, naturalmente. O se non installiamo alcune estensioni per il browser che tracciano i nostri movimenti e le comunicano a servizi di statistiche. Insomma, ok: la nostra storia di navigazione, a meno che non ci attrezziamo, è già ampiamente tracciata. Ma non da questo semplice script, bensì da società note, che già usano questi dati in forma aggregata (a quanto ne sappiamo) per scopi svariati. C’è dunque un pericolo nuovo da questo script? No, che si sappia.


I dati di chi visita i siti

Il secondo punto è: davvero esistono servizi che possono sapere quanti maschi, quante femmine, quanti giovani, quanti vecchi, quanti colti, quanti ignoranti eccetera visitano tutti i siti? La risposta è: no. Però esistono servizi che fanno stime. Una stima è sempre relativa, ha margini di errore, è parziale. Ma le stime fanno andar avanti tutti i mercati da circa un secolo, dunque, forse, a ben guardare non fa molta differenza, e dovremmo rispondere di sì. Quantcast, il servizio che offre le stime sui siti di cui lo script in questione si avvale, è un servizio che ha comunque limiti precisi e alcuni non precisi:

  1. Offre stime sui profili demografici degli utenti negli Stati Uniti. Il che significa che i dati possono cambiare sensibilmente in un altro paese.
  2. Offre stime solo su siti di interesse statunitense. Ci spiace, ma non traccia ancora Apogeonline.
  3. Le stime sono calcolate a partire da due fonti: un panel di (dicono) molti milioni di utenti che condividono anonimamente le informazioni di navigazione con l’azienda, e un sistema di tracking statistico più tradizionale dei siti che aderiscono al programma. Le due fonti vengono comparate e corrette da un algoritmo interno, chiamato Mass Inference algorithm. Non abbiamo alcuna idea sul funzionamento e sulla precisione di questo algoritmo.

La conseguenza abbastanza ovvia è che le stime non valgono fuori dagli Stati Uniti, non valgono fuori dai siti monitorati, e anche quando valgono non abbiamo alcuna idea sui loro margini di errore. Per di più in molti dei siti controllati i due sessi hanno percentuali vicine al 50%, il che significa che, qualunque esso sia, il margine di errore è comunque massimo (un po’ come a far previsioni elettorali in Italia). Le stime compiute dal nostro orwelliano algoritmo indovina-sesso, dunque, sono poco più di un gioco. I problemi di privacy su Internet (ma anche fuori da Internet…) esistono, ma per il momento gli osservati speciali sono società ben note che conoscono e mantengono informazioni sulla nostra navigazione praticamente a vita, non uno script giocattolo che fa una comparazione con alcuni siti per sapere se per caso li abbiamo visitati. Circa la sicurezza, gli exploit possibili sono molti, ma non ne risultano legati a questo script.

Il fatto che la notizia venga data con particolare enfasi agli aspetti “magici” (il browser-senziente…) o pericolosi (la privacy, la sicurezza…) è piuttosto indicativo del nostro modo di immaginare (o di voler rappresentare) la tecnologia stessa. Questo, sì, ci rivela qualcosa della nostra società, dei sogni e delle paure collettive, ben prima che della nostra storia di navigazione.