Visualizzazione post con etichetta Sicurezza. Mostra tutti i post
Visualizzazione post con etichetta Sicurezza. Mostra tutti i post

lunedì 23 gennaio 2012

Sicurezza: AES e il diario segreto (prima parte)

Il diario segreto

Un tempo il diario segreto si chiudeva con un lucchettino dorato e si nascondeva sotto il materasso. Oggi il diario si scrive con una applicazione di video scrittura (ad esempio Microsoft Word) e si lascia tranquillamente nella cartella “documenti” proteggendolo da occhi indiscreti con una password che ne impedisca la lettura.
Il file è al sicuro finché rimane dentro le mura domestiche in un Computer non collegato ad Internet. In tutti gli altri casi una semplice password sul documento non è sufficiente a proteggerlo. Esistono, infatti, parecchie applicazioni che danno una mano a chi "sbadatamente" ha dimenticato la password del proprio documento. Queste applicazioni si dicono di recupero password (password recovery) e sono le stesse applicazioni che possono essere utilizzate anche da coloro che non sono i proprietari del documento.

Prima di ricominciare a scrivere il diario con la penna e nasconderlo sotto il materasso, possiamo fare alcune considerazioni sulla sicurezza delle informazioni.

AES: i diari segreti della CIA

Se quello che confidiamo al diario può essere classificato come “top secret”, allora condividiamo lo stesso problema della CIA (o meglio della NSA, acronimo di National Security Agency): la protezione dei nostri dati. Come ha risolto l’agenzia per la sicurezza nazionale americana (NSA) il problema? Utilizzando la crittografia dei dati e affidandosi all’attuale metodo standard di cifratura: l’AES.

L’AES è, riprendendo l'esempio precedente, il lucchettino dorato che permette l’accesso ai dati solo a chi ha la chiave, o meglio, la parola chiave: la password.

Ma come un lucchetto può subire un attacco ed essere forzato con una cacciavite, così un file cryptato con AES può essere attaccato tentando di indovinare a tentativi la password. Questo metodo di attacco si dice attacco di forza bruta, il perchè non è difficile da indovinare. Se l’attacco riesce il file si dice forzato e il contenuto potrà essere letto in chiaro (cioè non più criptato).
La guerra tra lo spionaggio e il contro spionaggio è spietata e nel prossimo futuro ci sarà bisogno di un nuovo standard per mantenere al sicuro i dati anche nella ipotesi che l’AES non venga mai violato.

La password: la “chiave” del problema

Immaginiamo ora che il luchettino dorato sia un lucchetto con 3 cilindri come quello delle serrature a combinazione delle valigette. Un attacco di forza bruta richiederebbe, nella peggiore delle ipotesti, 1000 tentativi (da 000 a 999) per aprire la serratura (senza romperla, naturalmente). Ma basta aggiungere un cilidro alla serratura che i tentativi necessari diventano 10.000. Bene, la password funziona alla stessa maniera: più la password è lunga e causale, più è difficile da forzare.

Possiamo aver installato in casa nostra il più costoso sistema di allarme anti intrusione, ma se la password per aprire la porta principale è “1234”, la nostra casa non è affatto al sicuro. La forza di una catena si misura dal suo anello più debole e la password è un anello fondamentale della catena della sicurezza.

Lunghezza

Possiamo dire che la lunghezza minima di una password personale dovrebbe essere di almento 8 caratteri (in termini crittografici 8 caratteri corrispondono a una chiave lunga 64 bit, cioè 1 carattere = 8 bit, 8 bit x 8 caratteri=64 bit).

Casualità

La lunghezza, tuttavia, non è sufficiente. Anche utilizzando la password “precipitevolissimevolmente” un attacco di forza bruta basata sul vocabolario italiano (dictionary attack), romperebbe la protezione in poco tempo. Ecco per quale motivo è importante introdurre nella password anche dei numeri o dei caratteri non alfanumerici (es. il trattino “-” o la punteggiatura): la sicurezza della password crescerà in proporzione al numero delle combinazioni “casuali” da provare per poterla forzare.

Ma se l’attacco è fatto da tanti computer?

Difficilmente un privato riesce a far arrabbiare un cacker che gli scatena contro un attacco simultaneo da più computer. Più facilmente lo può fare una agenzia governativa Americana, soprattutto dopo che il cracker ha visto il film “Wargemes - giochi di guerra” del 1983; ecco per quale motivo i documenti “top sercet” sono protetti con metodi AES ancora più avanzati del classico AES-128 bit.
Il vostro diario segreto, quanto è segreto?

AES alla portata di tutti

WinZip

Cercando un po’ in giro si trovano diverse applicazioni che permettono di proteggere i file con lo standard AES. Per fare un esempio il WinZip (già menzionato dei post di compressione), oltre che comprimere file e directory, può criptare l’archivio compresso col metodo AES.

TrueCrypt

Più interessante, invece, è l’applicazione TrueCrypt che permette di creare un volume, cioè uno spazio di memoria criptato la cui dimensione e password sono configurabili dall’utente.
In pracia il volume altro non è che un grosso file dal contenuto criptato, che potrà essere montato solo da chi conosce la password e che, una volta che il computer verrà spento, viene automaticamente smontato, rendendo il contenuto inacessibile. I termini montare e smontare sono, in realtà, degli inglesismi del verbo to mount e to dismount, che possiamo tradurre con agganciare/sganciare o installare/rimuovere.
Una volta che TrueCrypt avrà montato il volume, lo visualizzerà nelle risorse di Windows come fosse un nuovo disco di memoria fisico (es. G:) e tutto ciò che sarà copiato nel volume sarà criptato e tutto ciò che dal volume verrà copiato all’esterno sarà decriptato, il tutto in modo totalmente trasparente per l'utente.

Un volume di TrueCrypt è quindi, un’area riservata personale dentro ad un supporto di memoria di massa di un Computer che potrebbe non essere il nostro (per esempio l’hard disk dell’ufficio).

Di cosa abbiamo parlato:
  • Applicazione di password recovery: applicazione che permette o di recuperare la password per aprire un file criptato o di forzare un file criptato.
  • protezione dei dati: scopo della crittografia.
  • AES (Advanced Encryption Standard): metodo di cifratura che richiede una password per offuscare i dati e la stessa password per de-offuscare i dati offuscati.
  • attacco: azione informatica di un hacker o cracker.
  • forzare un file criptato: rompere la protezione e riuscire a leggere in chiaro il contenuto.
  • File in chiaro: file non criptato.
  • attacco di forza bruta: un metodo di attacco che cerca di indovinare una password a tentativi (cioè in modo “brutale” o rozzo).
  • dictionary attack: attacco di forza bruta basato su un dizionario di possibili password (es. il dizionario della lingua italiana)
  • montare/smontare: termini inglesi mount/dismount, italianizzati per indicare l’azione di collegare/scollegare o installare/rimuovere su un computer, un dispositivo fisico (scherda di rete) o virtuale (file ISO visto come disco locale).
  • Volume di TrueCrypt: file criptato che una volta montato viene visto da Windows come un nuovo disco di memoria.

venerdì 20 gennaio 2012

Crittografia e gli EMO (prima parte)

Parlando di messaggi cifrati ci viene in mente storie di spie inglesi, missioni sotto copertura in piena guerra fredda o intrighi internazionali. Ma le soluzioni per trasmettere un messaggio senza che questi venga intercettato da persone “non autorizzate” si perde nella notte dei tempi ed è una storia molto affascinante, la storia della crittografia e della sua acerrima nemica: la crittoanalisi.

Parlare in codice

In realtà ognuno di noi mette in atto giornalmente e senza accorgersene, dei meccanismi di mascheramento della comunicazione; lo scopo non è solo quello di escludere altre persone dal dialogo con il nostro interlocutore e creare una sorta di privacy in luogo pubblico (parlare con il partner in dialetto calabrese in una sala d’aspetto milanese), ma anche quello di consolidare un rapporto esclusivo utilizzando un linguaggio “intimo” piuttosto che formale (gli innamorati ne sanno qualche cosa...) o quello di manifestare l’appartenenza ad un gruppo sociale separato dal resto del mondo (“ti lovvo fratello”) o una corporazione (“cazza la randa”).

Il modello di trasmissione e la sicurezza

Quando, tuttavia, parliamo di crittografia (unione di due parole greche che significa “scrittura nascosta”), intendiamo un sistema di offuscamento che permetta di passare un messaggio di testo da una persona A ad una persona B utilizzando canali ordinari di comunicazione (la posta, ad esempio) impedendo a chiunque altro di poter intendere il contenuto del messaggio o di forzararlo, cioè togliere l’offuscamento senza conoscere (o conoscendo solo in parte) il sistema di offuscamento.

Indipendentemente dal sistema di offuscamento, il modello di trasmissione è sempre lo stesso:
  1. Persona A compone il messaggio in chiaro; lo offusca (cioè lo cifra); lo invia alla persona B su canale ordinario;
  2. Persona B riceve il messaggio; rimuove l’offuscamento (cioè lo de-cifra); lo legge in chiaro.

Con il modello descritto, in cui il sistema di offuscamento è conosciuto solo dalla persona A e B, si avrà la sicurezza della:
  1. unicità del mittente di un messaggio offuscato;
  2. unicità del destinatario che potrà leggerlo;
  3. non alterazione del messaggio inviato durante il passaggio da A a B.
  4. non ripudiabilità del messaggio da parte del mittente, nel senso che il messaggio ricevuto da B non può essere partito da A il quale non può "non riconoscersi" come l'autore del messaggio. Per chiarire quanto detto facciamo un esempio: immaginiamo l'ordine "uccidi Tizio" che A invia a B; B è sicuro che l'ordine arriva da A in quanto è l'unico che conosce il codice utilizzato per offuscare il messaggio, di conseguenza A non potrà non riconoscersi come il responsabile dell'ordine.
Di cosa abbiamo parlato:
  • Crittografia: scienza che studia i metodi per rendere un messaggio offuscato in modo da non essere comprensibile a persone non autorizzate a leggerlo.
  • Crittoanalisi: la scienza che studia i metodi per chiarire "come" un messaggio è stato offuscato e carpirne il contenuto in chiaro.
  • Messaggio in chiaro: messaggio non offuscato, cioè comprensibile da tutti.
  • Canale ordinario: canale non protetto, cioè utilizzabile e intercettabile da tutti.
  • Cifrare: l'azione di offuscare un messaggio in chiaro.
  • Decifrare: l'azione di togliere l'offuscamento ad un messaggio cifrato in modo che possa essere letto in chiaro.
  • Forzare un codice: l'azione di decriptare un messaggio senza conoscere (o conoscendo solo in parte) il modo con cui è stato offuscato.
  • Ripudiabilità: quando il destinatario del messaggio non è certo di chi sia il mittente e il mittente potrebbe non riconoscere, nel messaggio ricevuto dal destinatario, il messaggio che ha inviato.

mercoledì 18 gennaio 2012

Captcha: e se una persona, in realtà, fosse un robot?

Forse vi sarà capitato in una pagina Internet, di trovarvi davanti ad una immagine contenente una o più parole, scritte magari in modo strano o disturbato, e alla successiva richiesta di digitare il contenuto in un campo... l'immagine che la pagina vi chiede di risolvere è un captcha e tra poco saprete a cosa serve.

Il film Blade Runner di Ridley Scott formula l’ipotesi di un modo dove gli esseri umani vivono insieme ai replicanti, androidi cioè organismi artificiali, che assomigliano in tutto e per tutto all’uomo ma hanno una vita limitata a 4 anni. I replicanti sono stati creati per sostituire l’uomo nei lavori più pesanti, pericolosi o moralmente degradanti (prostituzione).
Nel film viene inoltre introdotto il problema di distinguere l’umano dal replicante in quanto sulla terra vige il divieto di accesso ai replicanti e chi viola il divieto si trova alle calcagna gli agenti della squadra speciale denominata “Blade Runner”.

Nel film “per distinguere un replicante da un umano, il sospetto viene sottoposto ad un test per l'empatia denominato Voigt-Kampff, che consiste in un interrogatorio condotto con un dispositivo puntato sull'occhio dell'interrogato. Il replicante, di fronte alle domande pensate per suscitare un'emozione precisa nell'interrogato, tradisce la sua natura in seguito all'impossibilità, dovuta alla mancanza del bagaglio di esperienze tipico di un essere umano, di controllare le proprie emozioni. Per la riuscita del test sono infatti fondamentali i tempi di reazione alle domande.” (dalla voce “Blade Runner” su Wikipedia).

Anche in internet oggi certe aree sono riservate solo agli umani. No, non sono impazzito e non esistono (per il momento) gli androidi internauti; tuttavia esistono dei “replicanti” e si chiamano BOT (abbreviazione di robot). I BOT, come i replicanti di Blade Runner, eseguono operazioni pesanti e ricorsive al posto dell’uomo. Il rischio è che si possano sostituire all'uomo in ambiti riservati agli umani, come la creazione di account, post e commenti, su forum, blog e social network. Questi ambiti sono particolarmente "delicati" sul fronte della sicurezza informatica. Se i BOT avessero libero accesso a queste operazioni, infatti, i sistemi non sarebbero più al sicuro da spam (termine inglese che indica genericamente: “fare pubblicità indesiderata”) o attacchi malevoli (come portare al collasso un sistema inviando più richieste di quelle che è in grado di gestire).

Il test Voigt-Kampff oggi si chiama captcha e consiste nel richiedere l’inserimento di una o due parole (ciascuna fatta di lettere, numeri o insieme dei due) contenute in una immagine volutamente distorta e disturbata. Il captcha viene utilizzato come sbarramento prima della conferma di una operazione riservata agli umani. Se il test fallisce l’operazione non viene eseguita e viene inviato un messaggio di errore o un nuovo captcha da risolvere.
Con questo test si “presume” che solo un essere umano sia in grado di riconoscere la o le parole giuste, tuttavia sia il test che i sistemi (anti-captcha) che cercano di imbrogliare il test, basati sul principio del riconoscimento ottico dei caratteri (OCR, acronimo di “Optical Character Recognition”, cioè “riconoscimento ottico dei caratteri”), sono in continua evoluzione.

La battaglia dell’uomo contro i replicanti è appena iniziata.

Per un approfondimento: Google e reCaptcha.

Di cosa abbiamo parlato:
  • Captcha: immagine volutamente distorta e disturbata che contiene una o due parole fatta di lettere e numeri.
  • BOT: programmi utilizzati in internet.
  • Spam: termine inglese che indica genericamente: “fare pubblicità indesiderata”.
  • OCR: acronimo di “Optical Character Recognition” che indica i programmi di riconoscimento ottico dei caratteri utilizzati per convertire una immagine contenente un testo, in una sequenza di caratteri equivalenti.