|
StrumentiAltre lingue
|
CookieI cookie (letteralmente "biscottini") sono particolari informazioni trasmesse nell'intestazione HTTP. I cookie sono inviati dal sito web e memorizzati sul computer, anche sottoforma di file di testo. Sono quindi re-inviati al sito web al momento delle visite successive. Le informazioni all'interno dei cookie sono spesso codificate e non comprensibili. Furono inventati da Lou Montulli, al tempo impiegato della Netscape Communications Corporation.
[modifica] Applicazioni e problemi sulla privacyNel 1994 vennero utilizzati originariamente per controllo, dovevano documentare se i visitatori del sito di Netscape lo avevano già visitato. Nel 1995 la gestione dei cookie è stata integrata in Internet Explorer 2. L'introduzione dei cookie inizialmente non è stata conosciuta da un ampio pubblico, ma se ne iniziò a parlare dopo un articolo pubblicato sul Financial Times il 12 febbraio 1996. Il dibattito che si scatenò aveva come tema le implicazioni dei cookie sulla segretezza. I cookie furono oggetto di due udienze della Commissione degli Stati Uniti in commercio federale nel 1996 e nel 1997. Da queste date si incominciò a regolare gli utilizzi dei cookie. Oggi le applicazioni più comuni vanno dalla memorizzazione di informazioni sulle abilitazioni dell'utente alla tracciatura dei movimenti dell'utente stesso all'interno dei siti web che visita. Tali applicazioni hanno spesso sollevato dubbi da parte dei difensori della privacy dei navigatori, infatti un cookie potrebbe aiutarci nella navigazione oppure spiarci. In questo secondo caso rientrano molte catene di pubblicitari (che vendono pubblicità a molti siti differenti) i quali usano un cookie accluso all'immagine pubblicitaria per correlare le visite di uno stesso utente a più siti diversi, costruendo quindi una specie di profilo dei siti più graditi. Altri usi considerati convenienti perché utilizzano il cookie come servizio per l'utente sono per esempio la registrazione dei dati di una sessione per evitare la necessità di una nuova autenticazione in una visita successiva (come fa anche Wikipedia per i suoi utenti registrati), o per mantenere il contenuto del "carrello della spesa" nei siti di commercio elettronico. Anche il motore di ricerca più famoso del mondo, Google, spedisce un cookie che immagazzina dati riguardanti le ricerche, le parole chiave delle ricerche e le abitudini dell'utente. Più in dettaglio i diversi utilizzi dei cookie sono dunque:
Molti dei moderni browser permettono all'utente di decidere quando accettare cookies, ma respingere alcuni cookie non permette l'utilizzo di alcuni siti (prendiamo come esempio l'iscrizione ad un sito web come Wikipedia). Le impostazioni possono essere personalizzate per abilitarli o bloccarli sempre, entro un determinato periodo di permanenza, per filtrare i siti in base a Whitelist e Blacklist, e per filtrare cookies che sono utilizzati dallo stesso server o anche da link (spesso pubblicitari) a siti ospitati su server differenti. È da notare che il funzionamento dei cookie è totalmente dipendente dal browser di navigazione che l'utente usa: in teoria, tale programma può dare all'utente il controllo completo dei cookie e permettere o rifiutare la loro creazione e diffusione. In pratica, il programma di navigazione attualmente più diffuso, ovvero Microsoft Internet Explorer, ha solo una gestione rudimentale dei cookie, mentre alternative meno diffuse (come Opera o Mozilla) danno un maggiore controllo all'utente e permettono di accettare/rifiutare cookies da siti specifici. Anche altri programmi, da usare come proxy, permettono all'utente un grado maggiore di controllo su cosa succede. Un Tor o un proxy server hanno l'effetto finale, non di cancellare l'indirizzo IP, ma di farne apparire uno differente da quello del proprio computer. Nel caso di rilevazione dell'indirizzo IP, con questi accorgimenti, non si incontra alcuna limitazione nel numero di siti navigabili. [modifica] Caratteristiche tecnicheUn cookie è un header aggiuntivo presente in una richiesta (Cookie:) o risposta (Set-cookie:) HTTP: nel caso il server voglia assegnare un cookie all'utente, lo aggiungerà tra gli header di risposta. Il client deve notare la presenza del cookie e memorizzarlo in un'area apposita (in genere, si usa una directory dove ogni cookie viene memorizzato in un file). Il cookie è composto da una stringa di testo arbitraria, una data di scadenza (oltre la quale non deve essere considerato valido) e un pattern per riconoscere i domini a cui rimandarlo. È possibile impostare più cookie in una sola risposta HTTP. Il client rimanderà il cookie, senza alcuna modifica, allegandolo a tutte le richieste HTTP che soddisfano il pattern, entro la data di scadenza. Il server può quindi scegliere di assegnare il cookie di nuovo, sovrascrivendo quello vecchio. Il reinvio tramite pattern permette a tutti i sottodomini di un dato dominio di ricevere il cookie, se così si vuole. Il dato presente nel cookie è una stringa di testo ASCII, nella quale sono solitamente codificate informazioni come la data dell'ultima visita, il nome utente del visitatore, o qualunque altra cosa a discrezione del gestore del sito. I cookies identificano l'utente in base al programma utilizzato per accedere ad Internet, al computer e all'ID utente con il quale accede al proprio computer. Rispetto all'indirizzo IP, i cookies forniscono un'informazione in più: l'ID utente. Un indirizzo IP identifica il nodo di connessione, ossia singolo computer: se più persone utilizzano lo stesso computer per accedere a internet, anche con account diversi, l'indirizzo IP rimane invariato. Se la connessione è dial-up, l'indirizzo IP cambia ad ogni sessione, per cui diventa impossibile tracciare i movimenti dell'utente con questa tecnologia. Se la connessione è ADSL, l'indirizzo IP è permanente, ma, a differenza dei cookies, non è associabile all'ID dei vari utenti che possono condividere uno stesso computer. Tuttavia, se lo stesso utente (e account in Windows/Linux) apre un sito con browser differenti (es. Firefox e Internet Explorer), il sito non collegherà gli accessi alla stessa persona. Ogni browser ha infatti una propria cartella di cookies. Verificando l'indirizzo IP, e stabilendo dai cookies che l'account utente è il solito, il server è in grado di collegare gli accessi alla stessa persona. Un utilizzo combinato di cookies e indirizzo IP permette di tracciare la navigazione: collegandola alla stessa persona, con l'indirizzo IP, quando un cambiamento di browser porta a usare cookies differenti per entrare nello stesso sito; a persone diverse, con i cookies, quando più persone con un proprio account utente condividono lo stesso computer e sono tracciabili con un comune indirizzo IP. L'analisi di un indirizzo IP permette poi di ricostruire la zona geografica della chiamata, arrivando a determinare il Comune di residenza. Ciò parte dall'ipotesi che ogni Comune italiano ha mediamente una centrale telefonica, che è anche un POP di accesso a Internet, e che l'utente medio non utilizza proxy server, e si limita a comporre il numero unico nazionale del proprio ISP, non il numero telefonico di un particolare posto in un'altra località, che potrebbe essere lontana dalla sua residenza. Se l'indirizzo IP è dinamico, le prime cifre identificative resteranno invariate comunque ad ogni sessione, e la localizzazione sarà meno precisa (a livello di provincia/regione anziché Comune di residenza). Solamente l'ISP ha un log che collega gli indirizzi IP (e data e ora della connessione) al numero telefonico e quindi ad una persona: si tratta di un log che sono tenuti a conservare per legge e che non è pubblico. Combinando cookies e rilevazione dell'indirizzo IP, aumenta il numero di informazioni che si possono ottenere. Alcuni server adottano delle tecnologie sostitutive, per tracciare la navigazione degli utenti, e per gli altri scopi per i quali sono utilizzati i cookies. Tali tecnologie intervengono perché il sito non adotta i cookies oppure perché rileva che l'utente ha impostato delle limitazioni nel browser. I server che generano siti Web dinamici, in codice Php, aggiungono a tutti i link presenti in una pagina un identificativo di sessione. Si tratta di una stringa di numeri e lettere, inserita nel testo della pagina, oppure alla fine dell'indirizzo IP, in modo che non venga letta ed eseguita dal browser. Il link porterà ad aprire lo stesso sito, ma, cliccandovi sopra, il browser invierà al server anche questa stringa identificativa dell'utente. Una pagina dinamica ha un indirizzo IP di questo tipo:
Si tratta di un indirizzo dinamico ,in linguaggio PHP. La pagina Web che contiene un link a tale sito avrà un codice HTML <ahref="URL del sito>. La parte dell'indirizzo che segue il segno di "?" non viene eseguita dal browser, e può contenere un identificativo di sessione, senza modificare il sito che sarà aperto dal link. Stessa considerazione vale per l'indirizzo IP di una pagina statica. Aggiungendo "?" e una stringa di caratteri alla fine del link, viene aperto lo stesso sito. Una pagina Web può avere nei Favoriti, nel codice XML, in alcuni javascript, delle parti statiche. Queste parti sono caricate solamente una volta, alla prima apertura della pagina. Se la pagina è presente nella memoria cache, facendo un refresh (tasto F5) per aggiornarla, le parti statiche non saranno ricaricate. Queste parti si prestano ad ospitare informazioni persistenti, come un identificativo di sessione, nei link o nel testo della pagina, che viene inviato al server ogni volta che è aggiornata o si aprono i link che contiene. Un programma eseguito dal server andrà a scandire il codice HTML delle parti statiche, piuttosto che l'indirizzio IP dei link aperti, per memorizzare la stringa che identifica l'utente. [modifica] Come è fatto un cookieContrariamente a quanto comunemente si crede, un cookie non è un piccolo file di testo: può essere sì memorizzato in un file di testo, ma non necessariamente. Nel cookie solitamente possiamo trovare sei attributi:
[modifica] Manipolazioni sui cookieUna procedura di manipolazione sui cookie è la cookie poisoning. Consiste nel modificare i contenuti di un cookie (per esempio le informazioni personali salvate nel computer dell'utente) con il fine di eludere i meccanismi di sicurezza. Attraverso questa tecnica chi attacca può ottenere informazioni private e non autorizzate da un utente, nonché rubare la sua identità. I cookie immagazinati nel computer dell'utente hanno le informazioni che consentono alle applicazioni di autenticare la userID, monitorare i comportamenti e personalizzare i contenuti di un sito... Questi dati in genere sono crittografati, ma non sempre gli algoritmi sono sicuri per cui qualche utente con intenzioni malevoli potrebbe carpire i nostri dati e utilizzarli o modificarli. Secondo l’organizzazione The Open Web Application Security Project comunemente detta OWASP la manipolazione dei cookie è uno dei 20 attacchi più utilizzati dagli hackers soprattutto nei sistemi di e-commerce. [modifica] Collegamenti esterni
|