Sicurezza Informatica

Informarsi in tempi di dittatura: siti oscurati e Tor

19/07/2011
By

Sentiamo spesso parlare di come molti governi del mondo bloccano l’accesso a siti sgraditi “oscurandoli”. Questo è il caso ovviamente della Cina, come si legge più volte in For the Win, ma anche di molti governi del medio oriente.

Proprio perché  in For the Win si legge molto spesso di personaggi che hanno metodi per bucare il “Grande Firewall Cinese”, ho pensato che fosse il caso di parlare di un programma che viene effettivamente usato per fare cose analoghe, e molto di più. Questo programma si chiama Tor e viene già citato in un altro libro di Cory Doctorow, fortunatamente già tradotto in italiano con il nome di “X” (edito Newton Compton. Il titolo inglese era “Little Brother”). Tor viene usato soprattutto da chi vuole rimanere anonimo sul web, cosa di cui parlerò in maggiore dettaglio in un prossimo articolo.

Il problema in realtà si estende un po’  a tutto il mondo (basti pensare alle molte proteste che sono state fatte in Australia in merito). Ovviamente possono esserci motivi validi per oscurare un sito, ma purtroppo non sono solitamente questi a prevalere in certi paesi. In ogni caso, non è dei motivi alla base dell’oscuramento dei siti internet che parleremo oggi, ma piuttosto di cosa viene fatto nei paesi più colpiti da questo problema per aggirare i blocchi governativi.

Ci sono molti modi di accedere ad un sito oscurato. In generale non è difficile trovare un qualche proxy che vada bene… In rete ce ne sono a palate.

Ho però deciso di usare questo post per introdurre qualcosa di più raffinato e che può garantirvi una grandissima privacy (se usato bene). Questo post è solo introduttivo e si concentra soprattutto sull’accedere a siti oscurati, ma, come ho detto, parlerò in post successivi di anonimato in rete e di come usare Tor al meglio.

A scanso di equivoci, questo sito non vuole spingervi a fare niente di illegale: questo articolo è qui solo per approfondire tecniche usate in altri paesi, dove la libertà di informazione è repressa estremamente più che in Italia.

Tor, di cui parlerò, non è un software pensato per usi criminali, anche se sicuramente ci sono persone che vengono considerate criminali dai loro governi per il solo fatto di esprimere la propria opinione e diffondere informazioni non approvate dal regime. L’anonimato fornito da Tor inoltre può venire utilizzato anche da veri criminali, ma non penso sia il caso dei lettori di questo sito.

Tor, The Onion Router

Per prima cosa, vorrei chiarire il seguente punto: Tor non viene utilizzato “solo” per aggirare le restrizioni imposte dai vari governi, ma soprattutto per proteggere il proprio anonimato in rete. Credo di averlo già scritto almeno tre volte, ma so che appena pubblicherò l’articolo qualcuno si lamenterà del fatto che ho parlato di un aspetto “secondario” rispetto a quello dell’anonimato.

Il fatto è che il tema dell’anonimato è  più complesso, soprattutto perché se si vuole essere sicuri di rimanere del tutto anonimi bisogna prendere alcune cautele in più che fare semplicemente partire Tor.
Questo è il motivo per cui ne parlerò in seguito: se si fallisce nel riuscire ad accedere ad un sito oscurato non ci succede niente di male, se si fallisce nel riuscire a rimanere anonimi… Beh, dipende dal motivo per cui si voleva rimanere anonimi.

Come funziona

Per proteggere l’anonimato dei propri utenti, Tor redirige il traffico attraverso una serie di “nodi”, messi a disposizione da utenti in tutto il mondo, modificando a brevi intervalli di tempo il percorso effettuato fra i nodi… Si parla di un cambiamento che avviene circa ogni dieci minuti, ma l’utente può forzare il cambiamento di percorso anche prima.

Bisogna ovviamente notare che il traffico di uscita non è criptato. Per cui se state davvero usando Tor per comunicazioni segrete (come può succedere sia ad una azienda che ad un attivista in un paese in cui è pericoloso esserlo) rimane importante usare altri sistemi di criptazione.

Perché permette di accedere a siti oscurati

Ora, fin qui non sembra che io abbia parlato di siti oscurati, ma in realtà il meccanismo che ho appena descritto riesce facilmente anche a farci accedere a siti oscurati: quello che infatti può essere inaccessibile per un computer in Iran, in Egitto, in Cina (o anche in Italia: qualche sito lo oscuriamo pure noi… Pensate a Piratebay o ai siti di gioco d’azzardo oscurati nel 2006) non lo è necessariamente anche per un computer in un’altra parte del mondo.
Una volta che si entra nel network di Tor non importa se sei in Iran: riuscirai lo stesso ad accedere a Facebook, Twitter e a tutti gli altri servizi che il tuo governo non vuole tenere alla tua portata.

Rimane però un problema: per permettere a tutti di potersi collegare tramite Tor, la lista dei nodi di ingresso deve essere pubblica (altrimenti il tuo computer non saprebbe a cosa collegarsi). Questo vuol dire che un governo dittatoriale può facilmente oscurare direttamente gli ingressi a Tor.
E’ per questo che non tutti i nodi di Tor sono pubblici, ma ce ne sono alcuni  studiati per essere efficaci anche dove il governo agisce attivamente per bloccare gli ingressi a Tor. Questi nodi, chiamati “bridge”, ponti, non sono rivelati solo su richiesta da parte di chi ne abbia bisogno.

Installazione e utilizzo di Tor
(senza prendere tutte le precauzioni necessarie ad essere certi di rimanere anonimi)

Installare Tor è semplicissimo. La pagina da cui potete scaricarlo è questa:

https://www.torproject.org/download/download.html.en

Se non avete voglia di smanettare troppo, le due opzioni che vi interessano sono:

Tor Browser Bundle
Visto il video presente nella pagina del download, servono poche spiegazioni. E’ un bundle che include tutto, anche Firefox, già configurato per navigare usando Tor (dovrete usare quello per collegarvi, non il vostro normale browser).
Non è necessaria nessuna installazione.

Vidalia
Vidalia ha ogni cosa necessaria per usare Tor, eccetto Firefox.
Per collegarsi usando Tor, supponendo voi abbiate Firefox (con Torbutton installato… Se per qualche motivo vi manca ancora aprite (con Firefox) questa pagina: https://www.torproject.org/torbutton/ e installate l’ultima versione “stable”), dovete per prima cosa fare partire Vidalia, aspettare che la barra verde in alto si riempia, premere il vostro Torbutton su Firefox e… fatto.

Un po’ di buona educazione

Tor viene usato da molte persone per motivi anche molto importanti (direi anche “di vita o di morte” se la frase non fosse troppo inflazionata). La banda è limitata. Quindi, se volete provare ad usare Tor, comportatevi civilmente e non usatelo per scaricare grosse quantità di dati che potreste benissimo scaricare in altra maniera.

Università e sicurezza telematica

10/07/2011
By

E’ ormai da qualche giorno che la versione italiana di LulzSec ha rilasciato le prove della sua intrusione nei database di diverse università italiane. Ho parlato qualche tempo fa di SQL injection, una delle tecniche di hacking che ricorre di più in questi attacchi, ma dalle varie analisi che si sono fatte in rete su questi database inizio a dubitare che per entrare nei database universitari serva davvero fare “hacking”.

Si può leggere infatti nei dati di questi database universitari (che vi ricordo essere illegale possedere… per cui se li trovate in giro non scaricateli) che in almeno una di queste università c’era un admin con account:

username: admin
password: pippo

Sembra ci siano un altro paio di abbinamenti nome utente/password scontati (fra gli admin… fra i normali utenti è peggio), ma questo è quello che salta più all’occhio
Ora, viene da chiedersi quale sicurezza possa esserci in un sistema in cui è l’admin ad avere una password del genere.

Detto questo, le password degli utenti non sembrano essere da meno. E’ piuttosto chiaro che nella maggior parte degli istituti hackati la password di default degli utenti fosse il cognome o il nome dell’utente, altro brutto segno.

Non so se l’Università di Genova, a cui sono iscritta, non è stata del tutto presa di mira oppure se è stata attaccata ed ha resistito, ma posso confermare che le password di default da noi sono codici alfanumerici, il che presuppone di sicuro un po’ più di attenzione alla sicurezza di quanta ce ne fosse in queste altre università.
Anche perché non basta chiedere a tutti gli studenti e ai professori di cambiare la propria password di default in qualcosa di più difficile da indovinare: qualcuno che non lo fa c’è sempre.

Ci sono poi, ovviamente, gli eccessi.
La rete di Informatica, sempre a Genova, richiede di cambiare password ogni certo numero di mesi ed ogni password deve avere almeno:

  • Un carattere maiuscolo
  • Un carattere minuscolo
  • Un numero
  • Un carattere speciale (i soliti: £$%&@#§!?^°)

Il risultato?
Beh, immagino sia un ottimo esercizio di memoria per tutti gli informatici, ma credo che molti semplicemente aggiungano in fondo un numero che aumentano ad ogni cambio di password (rendendo vano lo sforzo di fargliela cambiare), se la scrivano (cosa che rende il tutto dannoso) o se la dimenticano (il che crea disagi un po’ per tutti).

Io personalmente sono molto abituata ad utilizzare password alfanumeriche, che riesco a memorizzare piuttosto bene. Ma impararne una nuova ogni tot mesi, buttando via la vecchia? Se proteggesse del lavoro importante (se si trattasse del computer di un tribunale, di una banca, della polizia) lo farei, ma per il computer usato per le lezioni di laboratorio all’università ce n’è davvero bisogno?
Anche perché se qualcuno vuole accedere ai miei dati personali lo farà più facilmente crackando la password che uso per la posta o per facebook, da cui può certamente tirare fuori più informazioni (beh, magari da facebook non moltissime, nel mio caso).

Concludo con la lista delle università colpite…
Qualcuno di voi frequenta una di queste? Pensate che nella vostra università o sul vostro posto di lavoro la sicurezza informatica sia un problema che viene affrontato con serietà?

unisi.it
unisa.it
uniroma1.it
anotonianum.eu
econoca.it
uniba.it
unibocconi.it
unifg.it
unime.it
unimib.it
uniurb.it
unibo.it
unipv.it
unina2.it
unile.it
polimi.it
unito.it
unimo.it

LulzSecurity, hacking e SQL injection

02/07/2011
By

Nelle ultime settimane, con l’operazione #AntiSec lanciata da Anonymous e dal gruppo Lulzsecurity sono stati diffusi i dati contenuti in un numero incredibile di diversi database, la maggior parte appartenenti a “bersagli di alto profilo” come governi, dipartimenti di polizia (scandalose per il loro razzismo feroce le e-mail private scambiate fra i poliziotti dell’Arizona), banche, multinazionali…
Ma come hanno fatto?

Analizzeremo ora una delle tecniche più semplici e diffuse fra quelle usate durante l’operazione #AntiSec (e ampiamente usata anche altrove, ovviamente), la SQL injection.

Leggendo questo articolo non diventerete degli hacker (non è questo lo scopo), ma potrete farvi anche voi un’idea di quanto sia labile la sicurezza dei siti a cui affidiamo i nostri dati privati. Il fatto che queste cose siano ampiamente possibili deve farci indignare contro questi colossi che non hanno evidentemente abbastanza interesse alla propria sicurezza, alla nostra sicurezza.

Iniziamo da una vignetta presa da xkcd.


Traduzione:
Voce al telefono: “Buongiorno, siamo la scuola di suo figlio. Abbiamo qualche problema con i computer”
Mamma: “Oddio, ha rotto qualcosa?”
Voce al telefono: “In un certo senso… Ha davvero chiamato suo figlio Robert'); DROP TABLE Students; --?
Mamma: “Oh, sì. Lo chiamiamo piccolo Bobby Tables.”
Voce al telefono: “Beh, abbiamo perso tutti i dati sugli studenti di quest’anno. Spero sia contenta.”
Mamma: “E io spero che voi abbiate imparato a migliorare il controllo dei dati in input ai vostri database”


Cosa vuol dire tutto questo?
E cosa ha a che vedere con l’operazione #AntiSec?

Beh, la seconda domanda ha una risposta semplice: quello che ha fatto la mamma nella striscia di xkcd si basa sullo stesso principio che ha permesso a LulzSecurity e chiunque si sia unito all’operazione #AntiSec (come anche a un sacco di gente prima di loro) di avere accesso a database che avrebbero dovuto essere inviolabili.

Si tratta di una tecnica chiamata SQL injection, che colpisce i database di tipo SQL quando non vengono effettuati controlli sufficienti sui dati ricevuti in input dall’utente. Nella pratica, si tratta di inserire determinate stringhe di codice nei campi di qualche form a cui si ha accesso, ad esempio quelli di “nome utente” e “password” in maniera tale da ingannare il database facendogli eseguire dei comandi.
In realtà non sarebbe così difficile proteggersi da questi attacchi filtrando i dati inviati dall’utente, ma sembra che questa falla nella sicurezza sia sottovalutata da molte aziende.

Iniziamo dal nome di “Bobby Tables”, ovvero:

Robert'); DROP TABLE Students;--

Un nome piuttosto insolito, certamente, che è stato inserito in un database che si aspettava di ricevere un nome più normale, come ad esempio il semplice “Robert”. Tutto ciò che segue “Robert” in quella riga in realtà serve a dare una nuova istruzione al database, che a causa dell’apostrofo e della chiusura di parentesi non considera quanto segue come “parte del nome”, ma come un’istruzione a se stante.

Immaginiamo ad esempio che per inserire nel programma il nome di uno studente si passi attraverso una variabile $firstName, con un codice simile al seguente:

INSERT INTO 'Students' ('first_name') VALUES ('$firstName');

Ora, se non si fa nessun controllo su cosa inserisce l’utente nella variabile $firstName possiamo avere, come in questo caso,

$firstName=Robert'); DROP TABLE Students;--

Da cui il codice viene modificato nella maniera seguente:

INSERT INTO 'Students' ('first_name') VALUES ('Robert'); DROP TABLE Students;--');

Abbiamo insomma inserito un nuovo comando “DROP TABLE Students”… Formattando il tutto un po’ meglio:

INSERT INTO 'Students' ('first_name') VALUES ('Robert');
DROP TABLE Students; --');

Il carattere ‘ delimita le “stringhe” ovvero le parti di testo che vanno interpretate come testo e non come comandi. Per cui il ' dopo Robert “chiude” la stringa: Robert è la stringa, quello che segue è da interpretare come codice. ); chiude l’istruzione in corso.
In pratica, la prima riga inserisce Robert come nome nel database, mentre la seconda cancella tutto il database “Students”, facendo perdere i dati non solo su di lui, ma su tutti gli altri studenti presenti nel database.
Il “--” alla fine commenta il resto della linea.

Questo “attacco” è già abbastanza fastidioso, soprattutto se non si è fatto un backup del database di recente (cosa che ci ricorda ancora una volta che fare backup è BENE).
Però non si è limitati a dare la sola istruzione DROP TABLE: si possono dare altre istruzioni.

Spero di essere stata abbastanza chiara… E di non avere fatto errori nel codice di esempio ^_^
Se avete domande o correzioni da fare, non esitate!

Ricevi aggiornamenti via e-mail!

For the Win

Condividi!

http://www.wikio.it

Licenza

Licenza Creative Commons
The content on this website is licensed under a Creative Commons Attribuzione - Non commerciale - Condividi allo stesso modo 3.0 Unported License.
Unless otherwise indicated.

Bloggers' Rights at EFF