Quando e perché le vostre password non sono sicure

Indice

password_decrypting_600x_394

In numerose realtà pubbliche e private mi è capitato di notare un errore molto comune, prettamente tecnico che, tuttavia, vanifica le disposizioni normative apparentemente seguite. Si tratta, in parole semplici, di “mischiare” i dati all’interno dei database. Dati che, ovviamente, hanno una sensibilità diversa e che quindi, in teoria, dovrebbero avere livelli di sicurezza diversi. L’origine di questo problema è doppio: ignoranza e speculazione. Vediamo come mai.

I dati personali iscritti in un sito devono essere protetti dalla 196/2003 (la legge sulla privacy). Tecnicamente questo significa che i vostri dati sono trattenuti all’interno di una base dati strutturata in modo idonei per raccoglierli. Poichè al vostro nominativo saranno associati, ipoteticamente, numeri di pratica o numeri simili (di protocollo, di articolo, di ordine, etc…), parte dei vostri dati deve essere visibile agli operatori che gestiscono le pratiche o che possono fornirvi assistenza. Parliamo di dati come nome, cognome, indirizzo, telefono. Tuttavia, quando voi sottoscrivete uno di questi moduli elettronici, generalmente lasciate anche una password. Ebbene, la password è uno di quei campi che non possono essere visibili agli operatori, neanche agli amministratori tecnici.

Dal punto di vista squisitamente informatico, infatti, la vostra password dovrebbe essere generata come segue:

  1. Vi viene chiesto di inserirne una per l’iscrizione al sito.
  2. La password da voi digitata viene cifrata usando un algoritmo tecnicamente non reversibile. Questo significa che una volta generata la stringa cifrata, è impossibile per chiunque risalire all’originale.
  3. La password viene memorizzata in un database non accessibile ai tecnici ma solo al sistema e utilizzata per le sole attività di autorizzazione/autenticazione.

Questa, però, è la teoria. La pratica è diversa.

Innanzitutto la password digitata viene cifrata, sì, ma con algoritmi deboli come i Message Digest (più comunemente chiamati MD) e, più precisamente, il MD-5. Questa tecnica di cifratura, molto rapida e diffusa, è stata più volte svelata vanificandone la sicurezza. Perché viene usata? Il MD-5 è considerato molto rapido come algoritmo di cifratura e particolarmente maneggevole all’interno delle applicazioni web. Chi sviluppa ha interesse a garantire un buon prodotto, largamente diffuso, che sia di qualità e rapidità ottimali per la vendita e la distribuzione. Pochi sono i prodotti che si avvalgono di algoritmi di cifratura diversi e di qualità più seria (seppur più lenta).

In moltissimi casi, purtroppo, la password non viene neanche cifrata e questo è l’aspetto più serio. Essa viene inviata, così come l’avete scritta, al server che effettua un semplice confronto e, nel caso sia corretta, vi fa accedere. Il problema è molteplice:

  1. Qualcuno potrebbe intercettare la password durante la trasmissione.
  2. La password potrebbe essere salvata in chiaro all’interno di un database separato rispetto i dati anagrafici e resa accessibile dagli operatori tecnici.
  3. La password potrebbe essere salvata in chiaro nello stesso database in cui sono contenuti gli altri vostri dati e resa accessibile a tutti gli operatori.

In tutti e tre i casi questa è una violazione molto seria delle più basilari norme di sicurezza che impongono che MAI la password di un utente venga rivelata ad estranei. Per questo motivo, chiunque dimentica la password, ne deve generare un’altra e non ottenere quella vecchia.

Crackare una password può essere legale se…il processo viene eseguito sotto forma di studio ed in modo casuale. Il sito MD5.net offre parametri di cifratura e decifratura ma attenzione bene leggete qui.

How do we crack MD5?
MD5 hashes are a result of running the message-digest 5 algorithm on a piece of data. This can be simple strings, passwords, or entire files.

What we have done is generate a massive list of MD5 hashes and their cooresponding string. We simply run the MD5 hash you input through our database to see if there is a match. If so, you have successfuly cracked the MD5 hash.

This tool is of course not 100%. There are passwords that we won’t be able to crack at this time. Although you would be suprised at the amount of hashes we are able to crack. So don’t wait, go ahead and give it a try right now.

Quando voi nel sito chiedete che venga generata una password, essa viene effettivamente creata secondo il MD-5 ma, al tempo stesso, viene salvata nei loro archivi. Per questo motivo, se chiedeste la decifratura, potreste ottenerla. La “prova provata” è stata questa.

Ho chiesto ad un sistema di generazione diverso da quello del sito MD5.net di effettuare delle cifrature. Questi sono i risultati (parola, stringa MD5, esito).

Parola: test
MD5: 098f6bcd4621d373cade4e832627b4f6
ESITO: DECIFRATA

Parola: HELLO
MD5: eb61eead90e3b899c6bcbe27ac581660
ESITO: DECIFRATA

Parola: satanarchibugiardinfernarcolico
MD5: 82f6682e94f16c195d56c144c326a7a0
ESITO: NON DECIFRATA

Il motivo per il quale l’ultima parola non è stata decifrata, è che non rientra in alcun tipo di database in possesso di MD5.net. Database che, se venduto, potrebbe bucare moltissimi portali nel mondo.

I criteri per la scelta delle password sono sempre gli stessi:

  • Più di 8 caratteri.
  • Alfa, numerico, simbolici, con maiuscole e minuscole.
  • Cambiata ogni 30-60 giorni.

Fate quindi molta attenzione anche ai messaggi che vi vengono inviati dal browser quando, dopo aver premuto il tasto di autenticazione o registrazione, vi compare l’avviso che state per inviare i dati in modalità non protetta.

Ma nessuno di noi (o quasi nessuno) lo fa veramente, anche perché le password da ricordare sono tante. Per questo oggi si parla di “fallimento” nel metodo password e si guarda con maggiore attenzione alla biometria che, però, potrebbe incorrere negli stessi problemi. L’occhio, l’impronta, vengono trasformate in stringhe numeriche che, se non memorizzate correttamente, potrebbero essere comunque reversibili e poi…provate a cambiarvi un’occhio o un’impronta.