“Do Not Track” è pericoloso e inefficace – Nadim Kobeissi

Traduco da “Do Not Track” Dangerous and Ineffective – Nadim Kobeissi

Nel 2009, prima che diventassi seriamente coinvolto nella web security, uno standard chiamato Do Not Track venne proposto, standardizzato nel 2011 dal W3C, ed implementato in Internet Explorer, ed in seguito da Mozilla Firefox e Google Chrome.

Si presume che Do Not Track prevenga il tracciamento, probabilmente a scopo pubblicitario, della vostra attività online da parte dei siti web. Funziona facendo il modo che il vostro browser chieda gentilmente ad ogni sito web che visitate di non impostare cookie traccianti e cose simili.

Questo approccio pone pericolosi e reali problemi ed io non riesco veramente a credere che sia mai stato preso seriamente. Ora che è stato così diffusamente implementato e standardizzato, è diventato una minaccia su come la privacy in Internet viene percepita.

Il problema principale di Do Not Track è che tranquillizza gli utenti creando un senso di riservatezza completamente falso. Do Not Track funziona semplicemente chiedendo ai siti web visitati di non tracciarti – i siti web sono completamente liberi di ignorare questa richiesta, ed in molti casi è impossibile per l’utente accorgersi che le proprie richieste Do Not Track sono state, in realtà, scartate. Pertanto, quando l0utente abilita Do Not Track sul proprio browser, viene portato erroneamente a credere che non verrà più tracciato, anche dal punto di vista della sicurezza, la prevenzione ai tracciamenti che offre Do Not Track è inefficace.

In realtà, sia il motore di ricerca di Google, così come quello di Microsoft (Bing), ignorano le intestazioni Do Not Track nonostante entrambe le aziende abbiamo contribuito all’implementazione di questa caratteristica nei propri browser. Anche Yahoo Search ignora le richieste Do Not Track. Alcuni siti web ti informano gentilmente, comunque, del fatto che la tua richiesta Do Not Track è stata ignorata, e spiegano che questo viene fatto in modo da preservare le entrare che ricevono dalle pubblicità. Ma, di gran lunga, non tutti i siti lo fanno.

Do Not Track non è solo inefficace: è pericoloso, sia verso gli utenti, cullandoli con una falsa speranza di privacy, sia verso la corretta implementazione di una tecnica di protezione della privacy. La riservatezza non si ottiene chiedendo a chi ha il potere di violare la tua privacy di, gentilmente, non farlo – sacrificando così i guadagni delle pubblicità – ma si ottiene implementando delle misure preventive lato client. Per i browser sono disponibili esempi come HTTPS Everywhere della EFF (Electronic Frontiers Foundation), DoNotTrackMe della Abine, AdBlock e via dicendo. Queste sono le misure corresse da adottare da una prospettiva ingegneristica, in quanto tentano di proteggere la tua privacy che al sito web visitato piaccia o meno.

Do Not Track necessita di una seria revisione, sostituzione o semplice rimozione. Così com’è ora, la sua unica funzione è di promettere agli utenti che hanno una piccola o modesta conoscenza dei computer (la maggior parte del mondo) che stanno navigando riservatamente, mentre in realtà li scoraggiano dall’adottare delle reali soluzioni per la loro privacy che funzionino. Gli ingegneri che si occupano di privacy nel web e di sicurezza devono mettersi a discutere seriamente riguardo a questo.

Vedi anche:

Tor/polipo/privoxy/pdnsd: alcune note

Partendo dalla configurazione precedente, ho notato che, togliendo privoxy dalla catena, c’è un piccolo incremento di velocità. Privoxy crea un piccolo collo di bottiglia.

Cercando in rete, ho trovato una soluzione alternativa, per poter bloccare i banner pubblicitari direttamente con polipo. Il filtraggio, forse, non sarà efficiente come quello di privoxy, ma per molti potrebbe essere sufficiente.

Scaricate la easylist.txt di Adblock Plus, e convertitela usando uno di questi due script adblock2polipo.py (Python), adblock2polipo.rb (Ruby).

es:

./adblock2polipo.rb easylist.txt > forbidden

Un volta fatta la conversione, fate una copia di sicurezza del file /etc/polipo/forbidden e sostituitelo con quello appena creato.

Riavviate polipo.

Ora dovrete puntare il vostro browser o impostare il proxy di default alla porta di polipo (8123), invece che a quella di privoxy (8111). Per maggiori informazioni, fate riferimento alla precedente guida.

Se questa soluzione vi sembra preferibile, non vi resta che stoppare privoxy e toglierlo dai servizi all’avvio.

Aggiornamento 22/6/2012: L’aggiornamento di oggi del pacchetto polipo in ArchLinux, può causare dei problemi. Lo script di avvio richiede la presenza di un file di configurazione mancante. Nell’attesa che il problema venga risolto con un nuovo aggiornamento, pubblico la mia soluzione.

Creare il file /etc/conf.d/polipo.conf contenete

POLIPO_ARGS=' daemonise=true logFile="/var/log/polipo.log"'

Dato che in seguito all’aggiornamento, il demone verrà lanciato come utente nobody, se prima avevamo creato l’utente “polipo” e impostato il proprietario delle varie directory e file come “polipo”, dovremmo fare qualche modifica.

in /etc/rc.d/polipo cambiare la riga 22 da

sudo -u nobody /usr/bin/$daemon_name ${POLIPO_ARGS}

a

sudo -u polipo /usr/bin/$daemon_name ${POLIPO_ARGS}

Lanciare il comando

# chown -R polipo:polipo /var/run/polipo /var/cache/polipo /var/log/polipo.log

Aggiornamento 25/6/2012: In Arch, il pacchetto di polipo è appena stato aggiornato, quindi non è più necessario intervenire. Nel caso l’aveste fatto, dovrete eliminare o rinominare il file polipo.conf creato manualmente, prima di lanciare l’aggiornamento. Rimangono valide le istruzioni per l’esecuzione del demone con un utente dedicato, ma da quello che ho visto, ogni aggiornamento è sempre andato a cambiare i proprietari e lo script di avvio, vanificando le modifiche fatte manualmente. Se vi va bene che il demone venga eseguito con l’utente “nobody”, riportate il proprietario del file di log a “nobody.nobody” e non dovrete più cambiare nulla altro, se invece preferite eseguirlo con un utente dedicato, c’è la possibilità che dovrete ripetere le modifiche ad ogni successivo aggiornamento.

Aggiornamento 27/6/2012: Ho aggiornato la guida.

Come proteggere la propria privacy, aggirare la censura e navigare decentemente usando software liberi (Tor + Polipo + Privoxy + pdnsd)

Con questa guida cercherò di spiegare come configurare il proprio pc, in modo da avere i vantaggi della navigazione anonima tramite i proxy distribuiti di Tor, il filtraggio di banner e script fastidiosi o maliziosi dalle pagine dei siti, e contemporaneamente, mantenere un consumo di risorse ed una velocità accettabili. Per fare questo, userò una combinazione di programmi configurandoli per lavorare assieme, e farò delle modifiche alla configurazione predefinita del browser.

I programmi che utilizzerò sono:

  • Tor: un sistema di proxy distribuiti, che ci permetterà di ridurre parecchio la nostra tracciabilità da parte di provider e siti visitati. Oltre a questo, ci darà la possibilità di accedere a quei siti bloccati dalla censura dei filtri statali, come The Pirate Bay, oppure a quei siti che impediscono l’accesso in base al paese d’origine di chi vi accede, come la webradio Pandora. Tor è inoltre supportato ed utilizzato da molti programmi di chat e peer to peer.
  • Privoxy: un proxy senza cache che filtra i contenuti delle pagine. Elimina con una buona efficacia banner pubblicitari, popup, script e cookie traccianti. Lo scopo è simile a quello dell’accoppiata Ghostery + Karmablocker, di cui avevo già scritto. Il vantaggio di utilizzare un servizio locale di proxy, è l’indipendenza dal browser. Ovvero, posso avere il vantaggio dei filtri su qualsiasi browser che decida di usare, senza la necessità di cercare ed installare diverse aggiunte specifiche per ogni browser. In questo modo, posso mantenere il browser leggero, oppure utilizzare dei browser che non hanno a disposizione quei particolari addon. L’occupazione di risorse di privoxy, è molto inferiore a quella del solo Adblock plus, e permette di fare un filtraggio molto più efficace. Nelle prove fatte, comunque, ho riscontrato che una soluzione con privoxy è più lenta di una in cui vi sono solo tor, polipo, pdnsd ed il filtraggio di script e pubblicità è affidato ad addon di firefox come NoScript e Karmablocker. In alternativa, è possibile convertire e caricare le liste di AdBlock in Polipo a scapito, però, di un occupazione in memoria maggiore.
  • Polipo: un proxy con cache estremamente veloce ed efficiente. Servirà per velocizzare la navigazione, riducendo i tempi di attesa che Tor, per via del suo funzionamento, inevitabilmente introduce. Questo software è talmente leggero e veloce che, utilizzandolo al posto della cache di Firefox, che verrà disabilitata per evitare di fare un inutile doppio lavoro di caching, si può notare un visibile incremento di prestazioni. Anche in questo caso, utilizzando più browser diversi, si ha il vantaggio di avere una cache comune che velocizza gli accessi e riduce lo spreco di spazio su disco causato dall’avere più programmi diversi, ognuno con la propria cache separata.
  • pdnsd: un server dns che crea una cache locale su disco fisso. I vantaggi che porta questo software sono due. Protegge la privacy facendo passare le richieste di risoluzione dei nomi degli indirizzi attraverso Tor, rendendole quindi anonime e difficilmente loggabili dal provider. Migliora la velocità di risoluzione degli indirizzi grazie alla cache locale. Dopo un breve utilizzo, la maggior parte delle risoluzioni verranno fatte direttamente sul proprio pc, senza dover attendere i tempi di risposta, spesso lunghi, di server esterni. Anche questo, compensa la latenza che normalmente verrebbe introdotta da Tor. È possibile anche configurare dei server DNS secondari, nel caso la risoluzione dei nomi attraverso tor non funzionasse. In quel caso, le richieste non sarebbero più distribuite e difficili da tracciare, ma si tratterebbe di un compromesso che viene usato solo nei casi peggiori, mentre nel caso migliore, la richiesta verrebbe soddisfatta rapidissimamente dal proprio pc, senza neppure contattare un server esterno.

Le operazioni da fare non sono per nulla complicate. Personalmente ci sono riuscito andando per passi successivi e testando il funzionamento dei vari programmi mano a mano che li configuravo, in modo da rendermi conto subito di eventuali errori. Cercherò di mantenere la guida chiara e modulare, in modo da permettere a chi legge di testare mano a mano il funzionamento delle varie parti e, se preferisce, implementarne soltanto alcuni passaggi invece di tutti, o di potersi fermare a metà, mantenendo il sistema funzionante. Per poi, magari aggiungere gli altri passaggi quando vorrà. Nella maggior parte dei casi, bastano modifiche minime alle impostazioni predefinite. I motivi per cui sto scrivendo questa guida sono che in rete non ho trovato ancora una guida veloce e completa sull’integrazione di tutti questi programmi assieme, ma solo di alcuni (Tor + Polipo, oppure Tor + Privoxy, Privoxy + Polipo, pdnsd + Tor…), e che voglio mostrare quanto sia semplice migliorare di parecchio la protezione della propria privacy, ed al tempo stesso aggirare la censura, accedere ad un web di miglior qualità (per via del filtraggio di banner e script che rallentano e distraggono) e velocizzare la propria connessione.

Potete seguire la guida per intero, oppure prendere solo le parti che vi interessano, adattandole alle vostre esigenze (ad esempio, se non vi interessa la parte che riguarda Tor, ma volete velocizzare la navigazione con Polipo, pdnsd e le modifiche a Firefox). La filosofia di unix di avere programmi che fanno un solo lavoro, ma molto bene, e di poterli combinare, offre un grosso vantaggio quando si vogliono fare queste cose.

Avendo provato varie combinazioni di questi programmi, posso dirvi quali diano la miglior velocità e la miglior protezione. In linea generale, tenete presente che i componenti che rallentano sono quelli che si occupano della sicurezza, cioè tor e privoxy, mentre quelli che migliorano le prestazioni sono pdnsd e polipo. Quindi, la configurazione che offre meno sicurezza, ma migliori prestazioni, è polipo+pdnsd, mentre quella che garantisce maggiore sicurezza è quella completa, che descriverò in questa guida. Ho trovato un buon compromesso nella soluzione pdnsd+tor+polipo, caricando la blacklist di AdBlock in polipo, ed utilizzando gli addon di Firefox NoScript e RefControl. Fra i vari browser provati, Firefox, se configurato come indicato in questa guida, è stato il più veloce.

Per la guida mi baserò su un’installazione di GNU ArchLinux, perché è la distribuzione che sto utilizzando ora. Quindi, chi utilizza altre distribuzioni potrebbe dover adattare la guida alla propria situazione. Probabilmente, per le distribuzioni derivate ed i fork, come Archbang e Chakra, si potrà seguire la guida senza dover adattare nulla. Fortunatamente, i pacchetti presenti in Arch sono quasi sempre “vanilla”, cioè esattamente come gli sviluppatori originali li hanno preparati, senza le personalizzazioni che molte altre distribuzioni fanno. Grazie a questo, qualsiasi distribuzione stiate usando, potere comunque dare un’occhiata all’esauriente wiki di Arch, trovandovi informazioni e guide utili. Se usate Debian e derivate, vi consiglio di leggere le note scritte nel commento di liv a questo post.

Gli stessi software sono disponibili anche per altri sistemi operativi. In quel caso, è probabile che dobbiate adattare maggiormente le istruzioni. Tuttavia, in sistemi chiusi e proprietari, come Windows o Mac OS, dei quali non si ha accesso al codice, non si può mai essere sicuri di ciò che facciano… Questo può essere un problema, se il vostro obiettivo è di proteggere la privacy, in quanto non potrete mai essere certi che non ci siano delle backdoor oppure che vengano inviate delle informazioni su di voi a terzi, a vostra insaputa. In quel caso, l’unica cosa che potete fare è di fiidarvi della “bontà” di chi ha prodotto il sistema che usate.

Attenzione però a non fidarvi troppo nemmeno delle soluzioni qui proposte, perché non potranno mai garantirvi una protezione perfetti. Riguardo a questo, vi segnalo una pagina di avviso della distribuzione live Tails, basata su Debian: Tails – Warning.

Continua a leggere

Scroogled – Cory Doctorow

Cercando di mettere ordine nella mia directory dove tengo libri vari, mi è saltato fuori questo breve racconto di Cory Doctorow, che non ricordavo nemmeno di avere.

Sono solo sei pagine nelle quali viene descritto un prossimo futuro possibile, il quale, perché si realizzi, è sufficiente che Google inizi ad utilizzare in modo diverso tutti i dati che ha già.

Un racconto distopico, che fa riflettere su quanto sia vano ed ingenuo fidarsi delle promesse di “non essere malvagio” fatte da chi ha già tanto potere su di te.

Il racconto si chiama Scroogled, gioco di parole tra “screw”, fottere, e Google.

Lo potete scaricare da qua: cory doctorow – scroogled

Aggiornamento 25/2/2012: Dal giorno 21 febbraio, Scroogle ha chiuso. Scroogle era un meta-motore di ricerca che permetteva di effettuare anonimamente ricerche su Google. Già da alcune settimane, le ricerche fatte attraverso Scroogle venivano bloccate da Google, e da diverso tempo, i sette server che fornivano il servizio erano stati presi di mira da diversi attacchi DDOS.

Vedi anche:

Libre projects

Vi segnalo questa bella paginetta dove vengono elencati una serie di progetti e servizi liberi. Un posto dove guardare se si cerca qualche servizio, prima di darsi alle alternative proprietarie.

http://libreprojects.net/

Grazie a liv, che me l’ha segnalato in un commento sul post di Duck Duck Go.

Con l’occasione, vi indico alcuni altri servizi, scoperti da stregaa e da liv.

Tutti questi servizi si caratterizzano per il rispetto nella riservatezza degli utenti, che non viene mai sacrificata in favore del profitto.

Aggiornamento 25/2/2012: Sulla wiki di Debian, nella sezione di FreedomBox, c’è una lunga pagina di alternative ai software si rete proprietari. Un’altra ottima lista, è segnalata dal link in fondo alla pagina.

Aggiornamento 11/3/2012: Apertium (motore di traduzione automatica)

Vedi anche: