Conclusioni

Test - Rompere una password usando la potenza delle moderne GPU.

Avatar di Tom's Hardware

a cura di Tom's Hardware

Conclusioni

Siamo rimasti sorpresi da questa prova di recupero di una vecchia password di un archivio WinZip.

Viviamo in un mondo dove la sicurezza dei dati non così certa (basta pensare al "caso" Sony), quindi è difficile non preoccuparsi delle implicazioni che nascono con schede grafiche sempre più potenti.

In passato non ci sarebbe stato modo di scoprire una password ASCII con una lunghezza di 10 caratteri in un periodo di tempo ragionevole. Era possibile solo con hardware particolare. Questo è ciò che fece la Electronic Frontier Foundation nel 1998 con il proprio Deep Crack. Al costo finale di quasi 250 mila dollari un gruppo di esperti di sicurezza realizzarono un sistema che poteva verificare circa 90 miliardi di password al secondo grazie a oltre 1800 AWT-4500 in tandem (maggiori dettagli qui).

Con la nostra workstation non potevamo arrivare a quel livello di prestazioni, ma oggi due GeForce GTX 570 in SLI sono in grado di vagliare circa 1,5 miliardi di password al secondo contro la codifica Zip 2.0. Si tratta di un sessantesimo delle prestazioni a meno di un centesimo del costo.

Ovviamente stiamo confrontando mele con pere. Dopotutto la codifica Zip 2.0 è vecchia, ma è chiaro che le architetture grafiche altamente parallele continueranno a offrire prestazioni sempre maggiori a prezzi più abbordabili, fino a quando saremo in grado di macinare 90 miliardi di password al secondo nelle dimensioni di un PC desktop.

Che cosa abbiamo imparato? Prima di tutto evitate Zip 2.0. È uno schema di codifica vecchio, ancora presente solo per scopi di compatibilità, e persino WinZip suggerisce di usare AES per far fronte ad attacchi brute force.

I tentativi mirati sono un'altra storia. Molte persone usano password che includono termini vere parole, che le rendono molto più vulnerabili ad attacchi di tipo "dizionario", non importa quale schema di codifica stiate usando. Il numero di parole è certamente nell'ordine delle centinaia di migliaia, ma una GeForce GTX 460 può gestire almeno 150.000 password al secondo contro la codifica AES. Persino se aggiungete alcune piccole variazioni, dovrete impiegare solo pochissimo tempo per rompere il proverbiale lucchetto. Perché? Perché una parola intera è funzionalmente uguale a una singola lettera, come la "a".

Dovreste evitare quanto segue se volete provare a rendere più sicuri i vostri file:

Evitate le parole del dizionario.  Una scheda come la GTX 460 ci mette poco a controllarle tutte.

Evitate le parole che alla fine sono seguite da numeri. Aggiungere un 1 alla fine di una password non la rende più sicura. Con un paio di GTX 570 e mezza giornata di lavoro si riesce a scoprire la password.

Evitate doppie parole o la semplice sostituzione di lettere. PasswordPassword raddoppia solo il numero di parole da cercare. È ancora abbastanza facile considerando la velocità con la quale si possono scansionare i file. Inoltre p@55w0rd non è una password sicura. I cracker conoscono le sostituzioni più comuni.

Evitate sequenze comuni dalla vostra tastiera. Non è difficile aggiungere la parola qwerty alle altre.

Evitate sequenze numeriche comuni. 314159 potrebbe essere facile da ricordare perché è il Pi greco che tutto abbiamo studiato. Ma è facile per voi tanto quanto per un eventuale cracker; anche loro sono andati a scuola dopotutto, e di solito erano anche piuttosto bravi.

Evitate qualcosa che sia legato personalmente a voi, come la  come la targa dell'auto, il codice fiscale, numero di telefono del passato, il compleanno e così via. Viviamo in un modo dove la maggior parte delle informazioni sono di pubblico dominio e se avete un account Facebook o Twitter l'ammontare dei dati disponibili sul web cresce.

Insomma, la solidità della password è un parametro determinante. Questa è la debolezza insita nei sistemi di sicurezza più comuni, e per questo molte banche, ma anche servizi e siti come Gmail o Facebook offrono la possibilità del doppio codice di accesso, inviato direttamente al cellulare del cliente o generato da una chiavetta in suo possesso.

Se siete ostinatamente paranoici, il massimo in termini di sicurezza probabilmente lo trovate nel PGP o nella codifica basata su certificati. Non si tratta certo di soluzioni pratiche per la vita di tutti i giorni, a meno che voi e la vostra azienda non siate disposti a migrare a PKZIP.

Questo è il motivo per cui la lunghezza di una password dovrebbe essere la preoccupazione primaria.

Fortunatamente la matematica è vostra amica (sì, lo è, non stiamo scherziamo). Se usate l'insieme dei caratteri ASCII completo otterrete una password resistentissima, perché ogni carattere aggiuntivo rende la password 94 volte più sicura. Aggiungendo alcuni caratteri extra alla vostra password  state rendendo agli hacker la vita complicata in un attacco di tipo brute force. Se 7.298.831.534.994.528 possibili combinazioni (in una password da uno a nove caratteri) non sono abbastanza per farvi stare tranquilli, usatene una da 10 caratteri, e darete agli hacker 699.823.827 359.474.784 combinazioni da provare.

Basandoci sui nostri test probabilmente si riescono a raggiungere poco più di 3 milioni di password al secondo contro la codifica AES con un paio di Radeon HD 6990. Questo significa che servono 7.397 anni per trovare password da uno a 10 caratteri usando l'accelerazione AMD. Persino raddoppiare la velocità non aiuterebbe molto. Per metterci meno di un anno dovreste creare 7.397 sistemi che lavorano a tempo pieno.

In futuro potrebbe essere possibile per un utente medio accedere a quella classe di potenza. Il computing distribuito è il passo successivo e Parallel Password Recovery sta già lavorando su un modo per abilitare l'accelerazione via GPU tra più client.

Comunque sia, non crediamo che sia una cosa da perderci il sonno. Una questione scientificamente entusiasmante, questo senza dubbio, ma come dice un vecchio adagio, "se c'è la volontà, c'è anche un modo".

Dopotutto da quando esistono i lucchetti esistono anche i grimaldelli. Se volete mantenere sicuro qualcosa, dovete capire quanto è facile (o difficile) scardinare il lucchetto. Questo è ciò che fanno gli strumenti di recupero password. Una tesi che trova d'accordo anche Tom Vaughan, vicepresidente di Winzip: "vedo gli sviluppatori di strumenti di recupero password con i cappelli bianchi, non neri (Hacker buoni e hacker cattivi, in parole molto povere, NdT). È il software che non conoscete che dovrebbe spaventarvi (software sviluppato da malintenzionati che è più veloce o capace di craccare la sicurezza rispetto a quello che avreste pensato)".

Potrebbe sembrare che stiamo facendo un po' di terrorismo mediatico o diffondendo informazioni di cui non dovremmo parlare. Non è naturalmente il nostro obiettivo, ma speriamo che queste pagine servano a far capire che non si sono software magici in commercio.

Le tecnologie di crittografia sono sempre un passo avanti rispetto ai software per la decodifica che si possono acquistare. Se volete stare al sicuro quindi basta seguire qualche semplice consiglio nel creare le proprie password, che devono:

- Essere di almeno nove caratteri di lunghezza.

- Contenere almeno una lettera maiuscola

- Contenere almeno una lettera minuscola

- Contenere almeno un carattere speciale, come @ o !

- Contenere almeno un numero

Queste regole vi daranno una possibilità di combattere contro gli hacker delle password. Gli hacker hanno un numero illimitato di tentativi di violare una password. Quindi superare la cifratura è davvero solo una questione di tempo. Ecco perché gli esperti di sicurezza sanno che il vero obiettivo è quello di scoraggiare l'accesso ai dati rilevanti. Se ci vogliono 50 anni per penetrare in un archivio WinZip che contiene informazioni sull'andamento della settimana scorsa delle nostro azioni, quell'informazione non è semplicemente interessante. Create password casuali più lunghe e sarete pressoché al sicuro.