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 (un’aggiunta)

Ho fatto alcune modifiche alla guida sulla privacy, aggiungendo delle configurazioni di Tor, che riducono leggermente i tempi di attesa ed una modifica a Polipo per far sì che la risoluzione dei nomi attraverso il proxy venga fatta su socks4a, anziché su socks5. Sembra che il protocollo 5, riduca la privacy permettendo a certe applicazioni di far trapelare informazioni sugli indirizzi da risolvere. (Sto comunque provando entrambi i protocolli. Non so quanto sia preoccupante il problema e se non sia stato già, sistemato. Usando per un po’ socks5, ho avuto l’impressione che fosse un po’ più veloce… Ma con Tor è difficile valutare obiettivamente la velocità.) Inoltre, ho testato una versione diversa della catena di proxy, invertendo privoxy e polipo, ma l’ho trovata più lenta della configurazione che avevo fatto inizialmente. Ad ogni modo, in coda alla guida ho aggiunto un paragrafo per spiegare come invertire i due proxy, nel caso qualcuno volesse provare.

Per migliorare ulteriormente la privacy durante la navigazioni, ho trovato due estensioni utili per Firefox:

NoScript: blocca ogni script presente sulle pagine. A differenza di Ghostery, non si basa su delle liste nere da tenere aggiornate, ma su una lista bianca che l’utente compilerà, mano a mano, inserendo i siti dei quali vuole che vengano eseguiti gli script. Permette, inoltre, di sbloccare temporaneamente gli script del sito aperto, in modo da farli eseguire solo in quell’occasione. È un estensione leggera, che permette di ripulire le pagine anche dalle poche schifezze che possono sfuggire a privoxy.

RefControl: ogni volta che cliccate sul link contenuto in un sito, il browser memorizza l’indirizzo della pagina che conteneva il link, chiamata “referrer”. Il sito a cui si giunge, può leggere quest’informazione dal vostro browser e capire da che sito provenivate. Questo, viene utilizzato spessissimo nelle statistiche di accesso ai siti. Volendo proteggere la propria privacy, anche quest’informazione andrebbe nascosta. RefControl premette di scegliere il comportamento di default del browser e di inserire delle regole per i siti desiderati. Ad esempio, è possibile impostare come comportamento di default di non rispondere quando viene chiesto il referrer (oppure di rispondere con un indirizzo inventato), ed inserire una serie di indirizzi per i quali il browser deve rispondere normalmente.

Vedi anche: tutti gli articoli che parlano di privacy su questo blog.

Come proteggere la propria privacy, aggirare la censura e navigare velocemente 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, se non migliori di quelle abituali. 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

Strage di schiavi cinesi: il New York Times smaschera Apple

Riporto da Libreidee:

Morti e feriti, disperazione, suicidi a catena: dietro l’iPhone, l’inferno. «Stay hungry, stay foolish», raccomandava il guru Steve Jobs. Detto fatto: il “New York Times” l’ha preso in parola e, con un’inchiesta già in odore di Premio Pulitzer, ha smascherato l’orrore: la Foxconn, succursale cinese della Apple, era un lager per lavoratori-schiavi. E ora, sotto la pressione dell’opinione pubblica, la “fabbrica della morte” ha riconosciuto le incredibili violazioni che in tutti questi anni hanno oppresso la salute e il portafoglio di più di un milione e duecentomila dipendenti, arricchendo Jobs e gli altri capitani dell’hi-tech: dalla Dell all’Hp. Tutto nasce dalla denuncia della Fair Labor Association, super-sindacato internazionale, che ha messo alle corde la compagnia statunitense: e ora Tim Cook, l’erede di Jobs, ha ammesso lo sfruttamento e si è fatto fotografare tra gli operai cinesi di Zhengzhou, promettendo di cancellare questa vergogna mondiale. Continua a leggere