I cookie, di per sé, sono semplici file di testo che vengono creati sul sistema dell’utente che accede ad una pagina web utilizzando un browser. Il contenuto del cookie viene reinviato al server non appena l’utente torna successivamente a visitare la medesima pagina. All’interno dei cookie vengono memorizzate informazioni che permettono all’utente di evitare nuove operazioni di autenticazione su di uno stesso sito oppure consentono di annotare dati relativi alle preferenze di un utente, espresse durante la visita di un certa pagina web.
L’attenzione si è più recentemente spostata sui “Flash cookies“, file che possono essere creati da creatività Flash, inserite in una qualsiasi pagina, e che al momento non sono gestibili utilizzando la finestra delle opzioni del browser (come accade invece per i normali cookie). Per conoscere tutte le caratteristiche dei cookie Flash, suggeriamo innanzi tutto di consultare questo nostro articolo.
Sulla sua home page, il ricercatore Samy Kamkar ha presentato quello che ha voluto battezzare “evercookie“: si tratta di un meccanismo basato sull’impiego di molteplici tecniche (Flash cookies e vari sistemi per la memorizzazione dei dati concepiti utilizzando le specifiche HTML5) che mira ad identificare uno stesso utente in modo univoco. Kamkar ha realizzato addirittura un’API JavaScript capace di generare una sorta di “cookie immortale“. In parole povere, il codice JavaScript messo a punto da Kamkar riesce a scrivere in diverse locazioni di memoria, utilizzando simultaneamente numerose tecniche. Se uno o più dati vengono cancellati, le informazioni che permettono di risalire in modo univoco al medesimo utente vengono recuperati attingendo alle risorse ancora disponibili sul sistema client. In particolare, l’API di Kamkar si appoggia, per la memorizzazione dell’identificativo unico, non solo ai Flash cookies ma anche alla cosiddetta “PNG caching” ed “history caching“. Nel primo caso, l’identificativo viene stivato in un file PNG creato appositamente che alcuni browser sono in grado di leggere usando l’elemento “canvas” di HTML5.
Con l'”history caching“, invece, quando la pagina viene visitata per la prima volta ricorrendo al browser, il sito web codifica l’identificativo in un URL richiamato poi in background. Lo stesso identificativo può essere ricostruito a partire dalla cronologia del browser durante le visite seguenti.
Il ricercatore fornisce spiegazioni dettagliate sul funzionamento di tutti i meccanismi spiegando di aver realizzato la sua API a titolo meramente “provocatorio”. Il lavoro di Kamkar, conosciuto per aver sviluppato un worm per MySpace nel 2005, vuole stimolare – secondo quanto dichiarato dal ricercatore – a riflettere sulle problematiche che il web e la complessità delle tecnologie oggi utilizzate portano con sé.
E’ infatti altamente probabile che un utente con competenze medie non riesca a cancellare ogni volta tutte le componenti alle quale attinge l'”evercookie“. Lasciando sul sistema anche una di esse, lo stesso utente potrebbe essere riconosciuto ogniqualvolta dovesse visitare la stessa pagina web.
L’unico approccio per non essere tracciati dai “cookie immortali” come quello congeniato da Kamkar sembra essere l’utilizzo della cosiddetta “navigazione anonima”, supportata da tutti i principali browser. In questo caso, infatti, tutte le informazioni relative alla navigazione sul web vengono completamente rimosse al termine della sessione di lavoro.