POC: tracking dei risultati di una ricerca tramite immagini

A seguito di una interessante discussione nata sulla quale avevo già detto la mia in precedenza, Carlo Beccaria ha condotto un minimo di indagine (sfruttando curl) e scoperto un paio di cose interessanti sul conto di Google.

Sono già alcune settimane che sto studiando e cercando documentazione in questo campo, ed ho ritenuto interessante condurre due ricerche personali ad ampliamento di quanto scoperto da Carlo.

In particolare ho eseguito richieste (tramite curl) a Google passandogli cookie diversi (uno dei quali mi è stato gentilmente regalato dal buon Vecna :P), o simulando user agent diversi.

La seconda ricerca che ho effettuato è alla base del titolo del post: sviluppare un sistema analogo a quello che sembrerebbe utilizzare Google (secondo la scoperta di Carlo Beccaria) per verificarne l’effettivo funzionamento.

Il frutto di queste ricerche (e della documentazione che sto raccogliendo), sarà presentato all’HANC Meeting del 3 e 4 marzo a Milano, e successivamente riproposto in sede OpenLabs.

Alcune cose però, posso cominciare a dirle già da buon inizio, perchè trattandosi di aspetti prettamente tecnici, non servono approfondimenti ulteriori.

Il quadro che emerge dalla prima ricerca è piuttosto chiaro. Come già mostrato da Carlo Beccaria nel post precedentemente citato, Google include la funzione clk solo quando lo User-Agent è Internet Explorer. Questo avviene indipendentemente dalla piattaforma (ho provato a simulare sia una piattaforma MacOSX che una piattaforma Windows Vista e Windows Media Center, e la funzione è sempre presente).

La stessa funzione però. non viene inclusa in tutti gli altri browser, ed in particolare in Firefox, neppure quando questo si trova su una piattaforma Windows.

Rimane da approfondire la possibilità che l’introduzione dell’estensione Firebug possa in qualche modo scatenare l’introduzione di questa funzione (e quindi del relativo meccanismo di tracking) anche con il browser della Mozilla Foundation.

Se qualcuno avesse informazioni che discordano con quanto qui riportato, è invitato a contattarmi affinchè le ricerche possano svilupparsi ulteriormente in questa direzione..

La seconda parte della ricerca, forse quella piu interessante da questo punto di vista, è l’implementazione pratica di uno script PHP che simulasse in dettaglio quando fatto da Google, comprensivo di un meccanismo di tracing delle query.

Lo script che trovate qui (sorgente), non fa altro che impostare un cookie (a meno che questo non sia già stato impostato in una precedente query), di validità simile a quella del cookie di Google. A fronte della query, viene scatenato l’inserimento di questa all’interno del database, e vengono mostrati dei fittizzi risultati.

Ognuno di questi risultati riporta una funzione (qq) di fatto simile alla clk di Google, ma scremata di una serie di informazioni, al fine di semplificarne la comprensione. Questa funzione, associata all’evento OnMouseDown, scatena la richiesta di un’immagine inesistente da parte del client, e mentre questi si dirige sul link selezionato, questa richiesta (corredata di id e numero di riga) viene memorizzata nel database, prima di restituire un errore 204 (empty content).

Con un secondo script ( sorgente) preparato ad-hoc, ho reso possibile guardare nel database (le qui specifiche sono qui), in modo che ognuno di voi possa verificare l’effettivo funzionamento del meccanismo.

Annunci

16 pensieri su “POC: tracking dei risultati di una ricerca tramite immagini

  1. stefano

    ciao giak!!!
    spero che tutto bene li a milano. Ti volevo chiedere se potevi riassumere in parole “povere” quello che hai scritto in quest’articolo….non c’ho capito ‘na mazza 😀 hehe.
    Ci sentiamo presto

    Rispondi
  2. alt-os Autore articolo

    Ciao Stè 🙂
    qui a Milano tutto a posto 😛
    L’articolo non era pensato per un pubblico “profano”, e mi sono lasciato prendere la mano. In parole molto povere: quando fai una ricerca con Google, questo può mettere in relazione una serie di dati: ha un tuo identificativo personale (PID) che il tuo browser web gli invia ogni volta che ti colleghi al suo sito, sotto forma di un cookie.
    A questo cookie loro possono associare quello che tu cerchi, l’ora a cui lo cerchi, il luogo da cui cerchi, e via dicendo una serie di informazioni.

    Quello che però non possono fare, è sapere quale dei link hai selezionato, perchè (solitamente) quando clicchi su un link il tuo browser va direttamente ad interpellare il sito di destinazione, senza ripassare da quello che ospitava il link.

    Per ovviare a questo problema, la pagina dei risultati della ricerca di Google è stata scritta di modo che, quando fai un click su uno dei link della ricerca, oltre ad andare al sito destinazione (come sempre), richiedi un’immagine a Google. Questa immagine naturalmente non esiste, ma tramite quella richiesta loro possono sapere quale link hai scelto, avere ancora una volta il tuo identificativo, e bla bla bla.

    Questo di per se non è male, ma ci deve far riflettere sulla quantità di informazioni che è possibile ricondurre a noi, in modo da essere coscenti dei rischi a cui questo ci espone, nella società dell’informazione 🙂

    Rispondi
  3. stefano

    ok, ho capito un po di piu. ma una cosa che non capisco e perche c’e gente che vuole che google sappia la pagina che hanno scelto…cioe non capisco il beneficio :S saro scemo io, boh

    Rispondi
  4. alt-os Autore articolo

    Forse il contrario 🙂 Non vogliono che Google lo sappia 🙂
    Devi pensare che nell’epoca in cui viviamo, il vero valore sta nell’informazione. Questa porta pubblicità mirata (quindi con maggior ritorno). Per un’azienda “dot com” non c’è nulla che valga quanto dati come quelli di cui Google può entrare in possesso, vista la sua posizione, l’intensivo uso che ne facciamo, e soprattutto la quantità (e qualità) dei dati che possono raccogliere da fonti diverse (maps, blog, mail, search…).

    Il problema, come dicevo, non sta in Google, ma nel fatto che se viene usato senza conoscere i rischi a cui ci espone, si rischia di esporsi troppo. Il Grande Fratello potrebbe essere molto piu presente di quanto non pensiamo…

    Rispondi
  5. alt-os Autore articolo

    Ci sono, solo che sono assolutamente inadeguate alle reali minacce che la rete rappresenta.
    Con l’idea del “bisogno di sicurezza”, si finisce l’annullare la privacy, annullando di conseguenza anche la sicurezza (si ha sempre l’idea che i dati raccolti finiscano nelle mani dello Stato che cosi può controllare… ma ricordo che non è lo stato che li raccoglie… e dati del genere, in mano ai terroristi, non rappresenta forse una ulteriore minaccia alla sicurezza?)

    Rispondi
  6. pupiddo

    Sincermante, pur non avendo la dimostrazioone pratica, ero convinto che google facesse ciò anche prima (ed immagino lo facciano anche altri motori di ricerca). Ero altresì convinto che il tutto funzionasse anche con Firefox(che uso sia da windows che da Ubuntu).Per questo tendo a cancellare i cookies ad ogni sessione e spesso (ma non sempre) uso torpark per confondere le info trasmesse.
    tutta questa paranoia però mi pare un pò “eccessiva”. Non avendo un account su google(gmail o altro) non sanno “chi sono” ma solo al più da dove mi collego (e con Torpark neanche quello!)e cosa scelgo dopo la ricerca.Quest’ultima cosa non può che essere utile agli utenti visto che migliora o può essere usata per migliorare gli algoritmi di ricerca.Certo la possono usare anche per mirare meglio sui link sponsorizzati (sui quali non clicco quasi mai!).Ma io non ci vedo un “pericolo” per la privaci in questo. Mi sbaglio?
    Secondo me un pericolo-privacy si configura se “sanno chi sono” (Nome Cognome ecc.) altimenti proprio non ce lo vedo. Proprio per questo non ho mai accettato inviti ad aprire un account gmail, visto che lì avrebbero potuto incrociare i dati veramente sensibili con la mia “vera” identità(a meno di registrarsi con nomi di fantasia ma non sò se si può fare e non ho mai provato).
    Aspetto le vostre opinioni.
    A presto

    Rispondi
  7. 4n1s

    Ciao, ho trovato interessante il tuo esperimento in php. In particolare ho provato ad aggirare il problema utilizzando un paio di funzionalità di privoxy, in particolare:

    + filter {js-annoyances} “to Get rid of particularly annoying JavaScript abuse”
    + fast-redirects “to Bypass some click-tracking URLs.”

    ma nessuna delle due ha portato ad alcun risultato. L’unico modo per evitare il tracking è stato disabilitare totalmente JS that is not so good..

    Questo con la version 3.05 di privoxy in mio possesso. Prossimamente proverò l’ultima (3.06), le cui (new) features dichiarano che è capace di: “Bypass many click-tracking scripts” (il “some” è quindi diventato un “many”) e vi farò sapere.

    Rispondi
  8. alt-os Autore articolo

    Puppido: Anche gli altri motori di ricerca lo fanno, eccome. Ma è anche normale che lo facciano, in qualche modo. Fa parte del loro businness! Semplicemente bisognerebbe che parlassero molto piu chiaro dell’uso che fanno dei dati che raccolgono. Perchè se li usano solo loro per stilare le fatture ai propri clienti, o per migliorare il servizio, che male c’è? Sicuramente un tale accentramento di dati può essere controindicato lo stesso, ma il problema sta proprio nel fatto che non sono chiari come dovrebbero in materia di Normativa Privacy… oltretutto c’è il problema della normativa nazionale di riferimento… che è quella Americana e qui mi fermo… 😛

    Sicuramente d’altra parte, gli strumenti che usi (tor in particolare) rendono piu difficile e meno fruttuoso il loro lavoro di tracking. Questo è poco ma sicuro. Ricordati però, che nome e cognome loro non lo recuperano solo dalla tua iscrizione… Non trovi il tuo nome cognome su NESSUNA pagina elencata tra i risultati di Google?
    Non hai mai cercato il tuo indirizzo di casa con Google Maps?
    Hanno molti piu dati di quanto non ci aspettiamo…

    Rispondi
  9. alt-os Autore articolo

    4n1s: l’esperimento che hai fatto è sicuramente molto interessante. E sono molto interessato ai risultati che riesci ad ottenere. Il problema che potrebbe porsi però, è che si tratta di un sistema di backtraking non convenzionale.
    Quello convenzionale è ad esempio quello di Yahoo! Search, che esegue un banale redirect. Già Live Search di Microsoft utilizza una tecnica molto simile a quella di Google Search. Mi chiedo se quell’estensione che usi non vada effettivamente ad agire solo sui veri e propri redirect…

    Rispondi
  10. 4n1s

    Ciao, privoxy non è un estensione, è un proxy vero e proprio (configurabile via browser) che filtra attivamente header e contenuto delle pagine in ingresso e delle richieste in uscita. La bellezza di questa soluzione è che si applica a prescindere dal browser, quindi funziona anche su browser senza supporto per le estensioni come IE6.

    Comunque ho provato con privoxy 3.0.6 ed in effetti niet..
    la +fast-redirect unita alla +filte js-annoyance non funziona con il tuo script che passa tranquillamente.
    Ho anche provato su google (modificando, sempre tramite privoxy, l’u.a. di firefox in quello di ie6) ed anche in questo caso niet.. il J.S. non viene filtrato e mi ritrovo con il bel clk in tutti i links:*(

    Mi sembra strano che i redirect di +fast-redirect e di +filter js-annoyance siano quelli convenzionali fatti lato server, dato che c’è un’altra opzione +filter redirect e dato che dichiarano che privoxy filtra molti “click-tracking script”, quindi degli script, comunque nel caso di google non funziona.
    Se avesse funzionato sarebbe stata una buona soluzione per gli utenti Windows/IE6.

    Ve beh, privoxy non è il solo proxy di questo tipo, si potrebbe verificare con altri, si potrebbero contattare gli autori del progetto segnalando la mancanza, o si potrebbe tentare una configurazione di privoxy che disabiliti gli script per google.com e li permetta per mail.google.com ; quest’ultima però non è una procedura straight-forward come la mera installazione di un proxy già preconfigurato per il filtering di quel tipo di script.

    Rispondi
  11. alt-os Autore articolo

    Interessante… davvero interessante…
    Privoxy è software libero? Nel qual caso, possiamo andare a guardare nel codice se c’è un qualche meccanismo di filtering che consenta di fare ciò… dopodichè, come dicevo a Puppino, il problema è altrove, cioè nell’uso che viene fatto di questi dati…

    Rispondi
  12. 4n1s

    Ciao,
    ovviamente è software libero: http://www.privoxy.org , io avevo iniziato ad utilizzarlo come compagno di giochi di TOR (se non sai cos’è e sei interessato alla privacy in rete ti consiglio MOLTO Vivamente: tor.eff.org e, se vuoi saperne di più: http://www.makeinstall.it/tor-internals-funzionamento-e-analisi-dellarchitettura.html ) e da allora ho scoperto che si può configurare in una infinità di modi per ogni esigenza.

    IMHO non è tanto un problema di utilizzo dei dati ma, a prescindere, di possesso di TROPPI dati: emails, appuntamenti (calendar), elenco completo file sul computer (google toolbar), numero di telefono (se ci si è registrati a gmail tramite telefonino), scritti (google writer), chat (gtalk), mappe satellitari e percorsi/indirizzi cercati (google maps), ricerche canoniche e scelte tra i risultati di ricerca, una copia cache del WWW, etc..
    neanche la cia sa tutte ste cose su così tante persone/organizzazioni/aziende..

    Per quanto riguarda l’utilizzo, qualsiasi sia, non mi sta bene, foss’anche per sapere qual’è il miglior regalo da inviarmi a natale.. non è giusto che una singola entità (per di più multinazionale e residente negli USA) possa sapere così tante cose di così tante persone/organizzazioni/aziende: google toolbar non dovrebbe inviare l’elenco dei file a google, google motore di ricerca non dovrebbe salvare le ricerche e non dovrebbe correlarle all’indirizzo email, non dovrebbero chiedere il n.di tel per registrarsi a gmail, e così via… invece no, google registra e correla tutto. Per il resto non ho nulla contro google, ma questa tendenza è IMHO insopportabile.

    Rispondi
  13. alt-os Autore articolo

    Possiamo discuterne… io la pensavo esattamente come te fino a poco tempo fa. In questo periodo però, sono impegnato in una ricerca che porta proprio in questa direzione: cercare di comprendere quali sono i nostri dati che un motore di ricerca (e Google è il piu usato, quindi la mia ricerca punta li) può raccogliere sul nostro conto (ti faccio notare che non è la Google Toolbar che lista i files, ma Google Desktop), e quali usi di chiara di poterne fare.

    Il panorama è davvero desolante, ma dopotutto Google ha pienamente ragione quando afferma che “tu utilizzi un servizio, e lo paghi.”. Non mediante una remunerazione economica immediata, ma tramite la possibilità che loro utilizzino i tuoi dati per portarti, ad esempio, pubblicità mirata. Se non vuoi, basta non usare il loro servizio! I dati, alla fin fine, glieli diamo noi, non se li vengono a prendere da soli…

    Sicuramente, e qui condivido pienamente con te, l’eccessivo accentramento di dati, moltiplica i rischi: rischio che questi vengano usati impropriamente, rischio che questi vengano trafugati e relativi danni…

    Però, ripeto, i dati glieli diamo noi, perchè la gente non si rende ancora conto del reale valore dei propri dati in questo nuovo mondo, e quindi accetta di buon cuore di utilizzare un servizio economicamente gratuito a fronte della possibilità che i dati raccolti finiscano nelle mani di chi gestisce il servizio (sempre che ne siano coscenti…)

    Un’opera di sensibilizzazione in materia è sicuramente importante, e la mia ricerca ha come preciso scopo proprio questo…
    Sono ancora in fase di studio (non hai idea della quantità di materiale che sto raccogliendo :/), ma penso che entro il 3/4 marzo sarà tutto pronto, e forse ho già un contatto anche per un articolo su un giornale a diffusione nazionale…

    PS: grazie per il link di approfondimento su Tor. Conoscevo già lo strumeneto, ma la sua architettura interna non l’avevo mai approfondita 🙂

    Rispondi
  14. 4n1s

    Ciao, riguardo al discorso “il possesso di troppi dati è un pericolo a prescindere” volevo risponderti in questa sede ma la risposta è risultata troppo lunga, sicché ho sintetizzato il mio pensiero all’indirizzo:

    http://themadkurt.giovani.it/diari/1042345/nella_tela_del_ragno.html

    PS: figurati, ho scritto quel documento perché tengo a far sapere quel che vi è scritto; purtroppo non è affatto tutto quel che ho capito di TOR (specialmente negli ultimi tempi ho studiato alcuni attacchi che rendono TOR una rete molto poco anonima), ma per motivi di tempo è il massimo che sono per ora riuscito ad inserirvi

    Rispondi
  15. alt-os Autore articolo

    Mi leggo il documento 🙂
    Purtroppo qualsiasi tecnologia, in un modo o nell’altro, diventa violabile. Questo per noi tecnici è assolutamente inevitabile e piu o meno uniformemente accettato, e solitamente si trovano delle soluzioni ai problemi, almeno temporanee (prima della violazione successiva).

    Questo non deve però farci dimenticare che noi abbiamo si le risposte ai problemi, ma queste poi dovrebbero essere messe in atto anche da coloro che non hanno capito che la stampante non stampa se il cassetto della carta è aperto (o peggio, vuoto).

    Sono queste le persone che si espongono (e di conseguenza espongono tutti noi) ai rischi maggiori…

    Rispondi

Rispondi

Inserisci i tuoi dati qui sotto o clicca su un'icona per effettuare l'accesso:

Logo WordPress.com

Stai commentando usando il tuo account WordPress.com. Chiudi sessione / Modifica )

Foto Twitter

Stai commentando usando il tuo account Twitter. Chiudi sessione / Modifica )

Foto di Facebook

Stai commentando usando il tuo account Facebook. Chiudi sessione / Modifica )

Google+ photo

Stai commentando usando il tuo account Google+. Chiudi sessione / Modifica )

Connessione a %s...