Lockdown – Cory Doctorow

Traduzione. Se trovate errori o avete qualche suggerimento per migliorarla, scrivete pure nei commenti. Potete scaricare una versione in testo semplice da questo sito: Lockdown – Cory Doctorow (ITA) – Pastebin.com

Lockdown

La prossima guerra sul computer general-purpose.

di Cory Doctorow

Questo articolo è tratto da un discorso al Chaos Computer Congress a Berlino, dicembre 2011.

I computer general-purpose (ad uso generico) sono sbalorditivi. Sono così sbalorditivi che la nostra società ha ancora difficoltà a venire a patti con essi, a capire il loro scopo, come accoglierli e come affrontarli. Questo ci riporta a qualcosa di cui potreste essere stufi di leggere: copyright.

Ma pazientate, perché ciò riguarda qualcosa di molto importante. L’aspetto delle guerre del copyright, ci da indizi sull’imminente lotta riguardo al destino del computer general-purpose stesso.

Al principio, avevamo il software confezionato e le sneakernet (lo scambio di dati a mano, mediante supporti removibili). Avevamo floppy disk in bustine ziploc, in scatole di cartone, appesi sui ganci dei negozi e venduti come caramelle e riviste. Erano eminentemente suscettibili di duplicazione, venivano duplicati velocemente e diffusamente, e questo con gran dispiacere delle persone che producevano e vendevano software.

Ed ecco il Digital Right Management nelle sue forme più primitive: chiamiamolo DRM 0.96. Introducevano segnali fisici che il software doveva trovare – danni deliberati, chiavi hardware, settori nascosti – e protocolli di domanda-risposta che richiedevano il possesso di grossi ed ingombranti manuali che erano difficili da copiare.

Fallirono per due ragioni. Primo, perché erano commercialmente impopolari, perché riducevano ai legittimi acquirenti l’usufruibilità del software. I compratori onesti risentivano della non funzionalità dei loro backup, odiavano la scarsità di porte libere lasciate delle chiavi hardware, ed erano irritati dalla scomodità di doversi portare appresso dei grossi manuali quando volevano far girare il loro software. In secondo luogo, ciò non fermò i pirati, che trovarono banale modificare il software ad aggirare le autenticazioni. Le persone che prendevano il software senza pagarlo, non venivano toccate.

Tipicamente, quello che accadeva era che un programmatore in possesso di tecnologia ed esperienza sofisticate quanto quelle del fornitore del software stesso, poteva fare reverse-engineering del software e farne circolare delle versioni craccate. Anche se sembra una cosa altamente specializzata, in realtà non lo era. Capire cosa un programma recalcitrante stava facendo ed indirizzarlo per aggirare i difetti dei supporti, faceva parte delle competenze di base per i programmatori di computer, specialmente in una era di fragili floppy disk e nei primi rozzi giorni dello sviluppo del software. Le strategie anti copia divennero solo più pesanti con il diffondesi delle reti; una volta avute le BBS, i servizi online, i gruppi di discussione in USENET e le mailing list, l’esperienza delle persone che capivano come sconfiggere questi sistemi di autenticazione, poteva venire “impacchettata” in software piccoli come i file di crack. Con l’aumentare della capacità della rete, le immagini di dischi già craccati o gli stessi eseguibili, potevano circolare per conto proprio. Continua a leggere

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

Siamo prevedibili

Ho scritto molto spesso riguardo alla profilazione degli utenti ed a quanto questa venga sottovalutata.

In questo articolo avrete un esempio ed altre spiegazioni a confutazione del frequente ragionamento che sento spesso fare: "Non mi importa che aziende e governi raccolgano dati su di me o che mi traccino, perché non ho nulla da nascondere".

È un ragionamento che manca il nocciolo del problema, cioè come la molte dei dati viene usata e se fidarsi o meno di chi li raccoglie e mette in relazione. Siamo sicuri che verranno sempre usati in modo lecito? Che non ci saranno mai cambiamenti nelle politiche di uso dei dati?

[...]come ha fatto la polizia olandese a piazzare gli autovelox esattamente dove i limiti di velocità vengono più violati? L’ha scoperto il quotidiano “Algemeen Dagblad”: la società TomTom ha fornito al governo olandese i dati sulla velocità degli automobilisti raccolti dai suoi sistemi di navigazione gps, e la polizia se ne è servita per identificare i punti “caldi”. Ossia per prevedere ciò che sarebbe avvenuto.

Chi si sarebbe mai aspettato che i dati raccolti dai navigatori satellitari potessero venire usati per piazzare autovelox nel punti più profittevoli? Quanti avrebbero comprato un gps, se al momento dell’acquisto gli avessero detto che durante l’uso sarebbero stati raccolti dati per capire, fra le altre cose, dove mettere degli autovelox in modo più efficiente per poter stanare più persone possibile? Forse questo possibile uso non era stato previsto, inizialmente, nemmeno dalla ditta costruttrice, ma quando se n’è presentata l’occasione, è stata semplicemente sfruttata. Di fatto, chi raccoglie i nostri dati, non è nemmeno in grado di garantire che questi non verranno mai usati per scopi imprevisti (ma magari sgradevoli per noi), semplicemente perché col passare del tempo potrebbero cambiare alcune politiche, interessi, influenze dall’alto, mentre i nostri dati rimarrebbero comunque a disposizione di qualunque possibile utilizzo.

Questo è un esempio banale e tutto sommato "innocuo", ma pensiamo ad esempio all’uso che viene fatto dei social network dai corpi di polizia, per sapere in anticipo come si organizzeranno manifestanti e dissidenti e in quali strade passeranno.

Continua a leggere

Anche Capitan Ovvio capisce cos’è Facebook

Un paio di settimane fa un servizio di Report, ed ora lo dice anche Assange. Chi crede a qualcosa solo se lo dice la televisione o qualche persona famosa, adesso può dirsi accontentato.

Da Il Fatto Quotidiano: Assange: “Facebook è il più grande strumento di spionaggio al mondo”

anche gli iscritti al social network sono direttamente coinvolti nel processo di dossieraggio: infatti, aggiunge Assange, “tutti dovrebbero capire che quando aggiungono i loro amici su Facebook, stanno lavorando gratis per aiutare l’intelligence degli Stati Uniti a costruire il proprio database”.

Da Nonciclopedia: Capitan Ovvio

Se voglio sapere tutto su di te, contatti orientamento politico, religioso, reti di amicizie e via dicendo, posso arrestarti ed interrogarti, intercettare le tue comunicazioni coattamente… oppure posso inventarmi Facebook. Nei primi casi, le persone s’incazzeranno e riconosceranno l’abuso, nell’altro caso, ti daranno tutte le informazioni spontaneamente e serenamente, sentendosi anche gratificati. I primi casi siamo in grado di riconoscerli e rifiutarli, l’ultimo invece, ancora no.

Non venitemi a dire che siete persone oneste e non avete nulla da nascondere, perché questo non conta nulla. L’onestà è necessaria da entrambe le parti, ed una volta che i dati sono memorizzati e messi in relazione fra loro, nessuno può garantire che chi li possiede agirà sempre in modo corretto, o che qualcuno non lo forzerà ad agire scorrettamente. È un atto di fede quello che fate. Conoscete davvero così bene quelli a cui date le vostre informazioni personali da fidarvi fino all’eternità, o per lo meno fino alla perdita dei dati da tutti i dischi di tutti i server ridondati e da tutti i backup?

A chi crede che sia sufficiente non utilizzare il proprio vero nome nella registrazione, consiglio la lettura di due articoli. Il netizen è unico e distinguibile. Più approfondito e tecnico: A Primer on Information Theory and Privacy

Continua a leggere