GPGPU e crittografia: una minaccia per la sicurezza?

Le moderne GPU mettono a disposizione un'enorme potenza di calcolo che, se opportunamente impiegata, può rapidamente scardinare il primo livello di sicurezza di un sistema: la password
di Gabriele Burgazzi pubblicato il 03 Marzo 2009 nel canale Sicurezza
86 Commenti
Gli autori dei commenti, e non la redazione, sono responsabili dei contenuti da loro inseriti - infoMagari....
In realtà la legge di Moore si riferisce al numero di transistor e nulla ha a che fare con le prestazioni...
Per stoccare una password, si prende una password inserita dall'utente, si calcola l'hash e lo si salva da qualche parte.
Anche se si conosce l'hash, ottenere la password è difficile perchè la funzione non è invertibile, allora entra in gioco il bruteforce:
Nei panni di un attaccante, se conosco l'hash, allora provo a calcolare l'hash di tutte le password che l'utente può aver digitato in modo esaustivo e vedo se l'hash corrisponde. Se corrisponde, ho trovato la password.
Le GPU sono in grado di calcolare l'hash in modo molto veloce ed è per questo che è preoccupante.
Aldilà della lunghezza dell'hash (che è importante solo se si vuole ottenere la password dalla chiave sfruttando una falla nell'algoritmo), è importante immettere password lunghe con caratteri speciali e non solo alfanumerici perchè se un attaccante si mette a fare bruteforcing, impiegherà davvero milioni di anni per scovarla.
Non ero aggiornato
[I]Il 1º marzo 2005 Arjen Lenstra, Xiaoyun Wang e Benne de Weger dimostrarono [2] la costruzione di due certificati X.509 con differenti chiavi pubbliche e lo stesso MD5 hash, di fatto una collisione. La costruzione funzionava sia per le chiavi private che per quelle pubbliche. Dopo pochi giorni Vlastimil Klima descrisse [3] un algoritmo migliorato, capace di costruire collisioni MD5 in poche ore su un singolo computer. Il 18 marzo 2006, Klima pubblicò un algoritmo [4] che riusciva a trovare una collisione in un minuto su un singolo computer, usando un metodo che chiamò "calls tunneling".[/I]
Per stoccare una password, si prende una password inserita dall'utente, si calcola l'hash e lo si salva da qualche parte.
Anche se si conosce l'hash, ottenere la password è difficile perchè la funzione non è invertibile, allora entra in gioco il bruteforce:
Nei panni di un attaccante, se conosco l'hash, allora provo a calcolare l'hash di tutte le password che l'utente può aver digitato in modo esaustivo e vedo se l'hash corrisponde. Se corrisponde, ho trovato la password.
Le GPU sono in grado di calcolare l'hash in modo molto veloce ed è per questo che è preoccupante.
Aldilà della lunghezza dell'hash (che è importante solo se si vuole ottenere la password dalla chiave sfruttando una falla nell'algoritmo), è importante immettere password lunghe con caratteri speciali e non solo alfanumerici perchè se un attaccante si mette a fare bruteforcing, impiegherà davvero milioni di anni per scovarla.
guarda che l'uso dei caratteri speciali non ha influenza su un attacco bruteforce, serve per evitare un attacco dizionario.
e cmq la potenza delle gpu è troppo limitata per decodificare in bruteforce una cifratura con le belotas come ad esempio una aes da 512-1024bit non bastano neanche i cluster per quelle
Poi, l'articolo parte in pompa magna, però poi manca la sostanza... la pagina che in sostanza dice "usate una password complessa se no ve la sgamano subito" insomma...
Il problema (grosso) secondo me si avrà quando saranno crakkabili in poco tempo filesystem e database crittati....
x la redazione...
che ne dite di fare un articolo sulla sicurezza, eventualmente anche con richiami alla legislazione, e fate vedere alla gente la differenza tra crakkare una password "parolad'ordine" oppure una md5(md5("n0Nr|u$c|r4|m4|4r|c0n0$c3rl4"
e cmq la potenza delle gpu è troppo limitata per decodificare in bruteforce una cifratura con le belotas come ad esempio una aes da 512-1024bit non bastano neanche i cluster per quelle
Oddio, per un brutforce limitare il numero caratteri da provare da 100 a poco più di 60 (maiuscole, minuscole e numeri) o addirittura a 36 (minuscole e numeri) accorcia notevolmente i tempi di elaborazione.
quello si ma di solito visto che il bruteforce è l'ultima spiaggia si provano cmq tutte le possibili combinazioni caratteri speciali inclusi XD poi va a fortuna, puoi impiegarci un milione di anni così come un minuto a craccare una password
password: 7.9s
p4ssw0rd: 1'17.2s
p4ss-w0rd!: ha finito senza trovarla
e cmq la potenza delle gpu è troppo limitata per decodificare in bruteforce una cifratura con le belotas come ad esempio una aes da 512-1024bit non bastano neanche i cluster per quelle
L'uso di caratteri speciali, come ha spiegato anche l'articolo, amplia il charset e quindi aumenta il numero di possibili password derivabili.
Dal momento che l'attacco bruteforce calcola l'hash per ogni password, aumentare il numero di possibili password aumenta anche il tempo di calcolo.
Se uso una password di 8 caratteri con maiuscole, minuscole, cifre e caratteri speciali allora l'attaccante dovrà scandagliare fra 62^8 possibili password. Se tolgo le maiuscole e le cifre l'attaccante avrà la vita facilitata perchè il numero di possibili password scende a 21^8
Non ho capito tu cosa intendi per decodificare in bruteforce, perchè il bruteforce è appunto l'approccio più semplice ma più costoso, cioè appunto controllare tutte le password possibili in modo esaustivo.
L'approccio di cui si parla sopra per la rottura di md5 è invece un approccio molto più raffinato. Ho una password criptata con md5 di cui conosco l'hash (di solito è facilmente ottenibile dalle basi di dati), mi trovo una collisione che produce lo stesso hash in un minuto e così ho una password diversa, ma che vale uguale perchè produce lo stesso hash. Ed ecco fatto che md5 non serve più a niente.
Devi effettuare il login per poter commentare
Se non sei ancora registrato, puoi farlo attraverso questo form.
Se sei già registrato e loggato nel sito, puoi inserire il tuo commento.
Si tenga presente quanto letto nel regolamento, nel rispetto del "quieto vivere".