160422 Letture

Che cosa sono i cookie: la verità su come gestirli, rimuoverli e difendere la privacy sul web

L'utilizzo ben poco rispettoso dei cookie Flash "profetizzato" da Bruce Schneier è di recente divenuto più comune con la nascita dei cosiddetti "evercookie". L'appellativo è stato scelto per descrivere l'abilità di questa particolare tipologia di cookie nel continuare ad essere "operativi" ed "utilizzabili" anche qualora l'utente dovesse richiederne l'eliminazione.
Rispetto ai cookie di tipo tradizionale ed ai cookie Flash di per sé, gli "evercookie" possono essere considerati una vera e propria minaccia per la privacy degli utenti anche sulla base dell'obiettivo primario a cui guardano: impedire la loro rimozione dai sistemi client.

Più che come un singolo cookie, l'"evercookie" può essere pensato come un meccanismo studiato per individuare in modo univoco un utente facendo leva sull'impiego di molteplici tecniche differenti (Flash cookie e vari sistemi per la memorizzazione dei dati utilizzando le specifiche HTML5).

Il merito di aver portato la pubblica attenzione su un tema delicato come quello degli "evercookie" spetta a Samy Kamkar, un ricercatore conosciuto per aver sviluppato un worm per MySpace nel 2005. Kamkar ha spiegato di aver messo a punto il suo esempio di "evercookie" nel giro di poche ore con l'intento di stimolare gli utenti a riflettere sulle nuove problematiche che il web e la complessità delle tecnologie oggi utilizzate portano con sé, soprattutto in materia di privacy.


Kamkar ha addirittura realizzato un'API JavaScript capace di automatizzare e semplificare la generazione di un "evercookie".

Diversamente rispetto ad un cookie tradizionale, che può essere agevolmente rimosso agendo, per esempio, sulle impostazioni del browser il cookie immortale "evercookie" è molto più difficoltoso da eliminarsi e mette in campo diversi espedienti per rendere più complicata la sua completa rimozione. Sì, perché come i tentacoli di un mostro mitologico, anche l'evercookie è in grado di autorigenerarsi se almeno uno dei suoi componenti resta memorizzato sul sistema client dell'utente.

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 di un identificativo in grado di riconoscere l'utente, non solo ai Flash cookies ed ai cookie Silverlight, ma anche a tecniche quali "PNG caching" ed "history caching". Nel primo caso, l'identificativo viene stivato in un file PNG creato appositamente e 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.
È altamente improbabile che un utente con competenze medie riesca a cancellare ogni volta tutte le componenti alle quale attinge l'"evercookie": così, lasciando sul sistema anche una di esse, lo stesso utente potrebbe essere riconosciuto ogniqualvolta dovesse visitare la stessa pagina web.
La semplice rimozione del contenuto della cache del browser (eliminazione dei file temporanei) e dei cookie non consente infatti di mettersi alle spalle l'"evercookie" che dovesse essere stato eventualmente generato sul proprio sistema.

La procedura per eliminare tutte le componenti di un "evercookie"

Per cancellare definitivamente l'"evercookie", la procedura consigliata consiste, innanzi tutto, nel cancellare i cookie Flash seguendo la procedura precedentemente illustrata. Se si preferisce usare il sito web di Adobe, basta collegarsi con questa pagina e cliccare sul pulsante "Elimina tutto" (è eventualmente possibile rimuovere i singoli cookie Flash selezionadoli quindi scegliendo "Elimina sito web").


Ovviamente la procedura va eseguita solamente se sul browser in uso è stato installato il plugin Flash Player. La pagina web consente di eliminare rapidamente i Flash cookie senza dover visitare la cartella nella quale sono memorizzati (solitamente, %appdata%\Macromedia\Flash Player\macromedia.com\support\flashplayer\sys\ in Windows).


Qualora si fosse installato il pacchetto Microsoft Silverlight e quindi il browser web potesse caricare componenti realizzati utilizzando tale tecnologia, è necessario accedere a questo sito web, quindi visualizzare una qualunque cratività Silverlight. Suggeriamo, per esempio, di collegarvi con questa pagina, cliccare con il tasto destro del mouse sul video visualizzato all'interno della pagina e scegliere la voce Silverlight.


A questo punto per eliminare tutti i cookie Silverlight, è sufficiente selezionare la scheda Archiviazione applicazione quindi cliccare sul pulsante "Elimina tutto" premendo infine .

È bene ricordare che se si agisce sui pulsanti "Elimina tutto", sia nel caso di Flash che nel caso di Silverlight, alcuni siti web potrebbero non operare più nel modo atteso. Si potranno certamente continuare a visualizzare file video distribuiti sul web attraverso l'uso della tecnologia Flash o Silverlight ma, ad esempio, si perderanno le informazioni relative, ad esempio, agli "scores" ottenuti con il proprio videogioco preferito.


Come ultimo passo, è indispensabile accedere alla finestra per la cancellazione dei file temporanei del browser e rimuovere tutto il contenuto della cache (cookie tradizionali compresi).


A questo punto è indispensabile chiudere e riaprire il browser web.

Samy Kamkar ha messo a punto una pagina dimostrativa che consente all'utente di prendere coscienza del problema "evercookie".
Collegandosi con la pagina allestita dal ricercatore quindi cliccando sul pulsante Click to create an evercookie, la pagina web metterà in atto una serie di espedienti che porteranno alla generazione di un "evercookie" sul sistema dell'utente.

Ricaricando la medesima pagina, dopo qualche secondo di attesa, dovrebbe essere proposto un ID compreso tra 1 e 1000. Se si prova a cancellare la cache del browser, tornando sulla medesima pagina di test, verrà visualizzato - con buona probabilità - sempre il medesimo numero identificativo.
Nel caso in cui venisse visualizzato l'attributo "undefined", l'operazione compiuta (cancellazione della cache) è sufficiente per mettersi al riparo da eventuali siti traccianti dal momento che sul sistema non è presente né Flash Player né Microsoft Silverlight.

Seguendo i quattro passi sopra illustrati, sarà possibile cancellare definitivamente tutte le componenti dell'"evercookie" di test. In questo modo, riaprendo il browser web e tornando a visitare la pagina predisposta da Kamkar dovrebbe essere esposta l'indicazione "undefinied" accanto a ciascuna delle voci indicate.

La dizione "Cookie found: uid = undefined" conferma il fatto che il sistema client non è più "riconoscibile" in modo univoco.

  1. Avatar
    Giorgio da Prato
    17/04/2013 11.03.06
    ho letto, molto velocemente per desso, questi articoli poichè ho "perso" un riconoscimento da un sito che mi era di una certa utilità
    ho infatti cancellato TUTTI i cookies ma avevo eseguito, da questo sito, una serie di scelte che
    mi ritrovavo sempre ripresentate e che ora dovrò rifare
    ho constatato che con l'utilizzo appropriato di CCleaner (selezione dei coookies da mantenere) in effetti non si perdono le informazioni di riconoscimento del proprio PC
    (in precedenza avevo eseguito la pulizia, sempre con CCleaner, SENZA utilizzare questa opzione)

    Chiedo questo:
    è possibile sapere dove, e con quale nome, il cookie che interessa mantenere è registrato ?
    (magari copiandolo su un altro PC posso ritrovarmi le stesse scelte, senza doverle rifare ...)
Che cosa sono i cookie: la verità su come gestirli, rimuoverli e difendere la privacy sul web - IlSoftware.it - pag. 4