Esperimento: decifrare una password usando la scheda grafica

di Andrew Ku - pubblicato martedì 30 agosto 2011 alle 08:00

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.

 torna indietro
 
 
Ultimi articoli
sicurezza e networking
AMD Radeon
Nvidia GeForce

Commenti dei lettori (46)

Aggiungi un tuo commento
1/5 avanti   
deidara80 30/08/2011 08:27
+10
Molto interessante l'articolo. complimenti.

dal manuale di Z-zip:

7-Zip also supports encryption with the AES-256 algorithm. This algorithm uses a cipher key with length of 256 bits. To create the key, 7-Zip uses a derivation function based on an SHA-256 hash algorithm. A key derivation function produces a derived key from a text password defined by the user. To increase the cost of an exhaustive search for passwords, 7-Zip uses a big number of iterations to produce the cipher key from the text password.

Tips for selecting password length
Here is an estimate of the time required for an exhaustive password search attack, when the password is a random sequence of lowercase Latin letters.

We suppose that one user can check 10 passwords per second and an organization with a budget of about $1 billion can check 10 billion passwords per second. We also suppose that the processor in use doubles its performance every two years; so, each additional Latin letter of a long password adds about 9 years to an exhaustive key search attack.

The result is this estimate of the time to succeed in an attack:


http://i51.tinypic.com/29m7xq1.png

quindi 14 caratteri e qualunque cosa abbiate fatto andrà in prescrizione prima che la NSA riesca a decriptare
Adrythebest 30/08/2011 08:37
+3
Le schede grafiche hanno un enorme potenziale, possono essere usate non solo per craccare le password di archivi, ma anche per craccare reti wireless con attacchi dizionario. Sono una manna dal cielo per i cracker.
Comunque ottimo articolo, molto ben articolato e ben spiegato
ZEB-DEMON 30/08/2011 08:48
0
Ottimo articolo, mi ha interessato molto, soprattutto bazzicando il mondo bitcoin, dove la risoluzione di HASH con GPU è all'ordine del giorno (infatti inizialmente leggevo gli esempi con schede Nvidia e mi chiedevo cosa aspettavate a mettere sotto qualche 6990 in parallelo ).

Cmq, fortunatamente all'aumentare della potenza di calcolo, migliorano anche i metodi di sicurezza.. Come abbiamo visto, WinRar e WinZip si basano ancora su SHA-1 quando abbiamo SHA-2 già molto + potente (andiamo dai 160bit dello SHA-1 ai 384/512 dello SHA-2) e nel 2012 si sceglierà l'algoritmo da usare per lo SHA-3 ( http://it.wikipedia.org/wiki/Secure_Hash_Algorithm), poi aggiungere qualche SALT aiuta e non poco (soprattutto da attacchi brute force su base dizionario/tabelle rainbow).

Certo, poi come abbiamo visto (e come lulz ci ha fatto vedere) molti sistemi (se non sono in chiaro ) usano ancora MD5 e la cosa diventa "tragica"..

Quindi, ribadendo (come fine articolo ricorda) che il migliore sistema di sicurezza inizia da noi (con la bontà della password), cercate di non usare "Password" come password
BillJobs 30/08/2011 08:52
-4

 Originariamente inviata da Adrythebest

Le schede grafiche hanno un enorme potenziale, possono essere usate non solo per craccare le password di archivi, ma anche per craccare reti wireless con attacchi dizionario. Sono una manna dal cielo per i cracker.
Comunque ottimo articolo, molto ben articolato e ben spiegato




E per chi gli viene craccata la rete wireless è pure una manna dal cielo?
lughi 30/08/2011 08:53
+14
Articolo interessante, si può mandare il link ai sistemisti sony?

Quanta cattiveria di prima mattina
delta08 30/08/2011 08:57
+16

 Originariamente inviata da deidara80



quindi 14 caratteri e qualunque cosa abbiate fatto andrà in prescrizione prima che la NSA riesca a decriptare



LOL , magari ti mandano a casa Sam Fischer per rubarti l'hdd e dopo 20 anni scoprono che dentro quel file Zip al posto dei piani per chissà quale attentato terroristico ci trovano i salvataggi di Deus Ex
enri09 30/08/2011 09:16
+3
Cito da pagina 4:

 Originariamente inviata da redazione

Winzip e WinRar non hanno questa lussuria.



Forse volevate dire lusso....
demon77 30/08/2011 10:00
0
Complimenti, un articolo molto interessante.
Ero davvero curioso di avere degli "ordini di grandezza" per quanto riguarda la decifratura di una password!

Ora mi ritengo più che soddisfatto!
Manolo De Agostini 30/08/2011 10:07
0

 Originariamente inviata da enri09

Cito da pagina 4....



Ciao, sistemato. Grazie!
Dav1de 30/08/2011 11:00
0
punto 1: ARTICOLO SPETTACOLARE

punto 2: come mai gmail non permette di utilizzare caratteri ASCII per la gestione delle password? (ho provato con € e $ e non me li prende)

punto 3: il brute forcing funziona potrebbe funzionare anche con gli account gmail? oppure dopo un tot di password sbagliate il sistema ti impedisce di riprovare per tot minuti? e se sì (per un utente medio come me), è possibile che un hacker/cracker riesca ad aggirare la regola dei tot minuti?

grazie a chiunque voglia rispondere
1/5 avanti   
Devi essere collegato scrivere un commento!
Accesso utenti
Nome utente:
Password:
Correlazioni
 
Continua a seguirci!
Informazioni su Tom's Hardware
Tom's Hardware fa parte di Bestofmedia Network
Copyright ©2013 Bestofmedia. Tutti i diritti riservati
P.Iva 04146420965
Clicca per i dettagli