Corsi on-line
Chiudi
Newsletter:
  • Seguici su Facebook
  • Seguici su Twitter
  • Seguici su Google+
  • Seguici via RSS
  • Seguici col tuo Smartphone

Password cracking tramite Rainbow Tables

Articolo scritto da Marco Frison
Pagina 1 di 3

Abbiamo appena installato una nuova copia del nostro Windows, spendendo ore di lavoro per aggiornarlo con quel cumulo di patch comunemente detto Windows Update; scelta una robusta password alfanumerica cediamo a Morfeo, sicuri che il nostro sistema sia inviolabile.

Sicuramente molti si riconosceranno in questo esempio in cui si susseguono ore e ore spese per installare, configurare e aggiornare un sistema. A protezione del nostro lavoro poniamo diligentemente una password di dieci o più caratteri che ricordiamo a fatica perchè, consci di quanto sia rapido violare una password comune, abbiamo scelto una stringa difficile quale

%%3N1rvAn@!--
Un buon lavoro, meritorio di un giusto riposo; eppure questo sistema soffre di una debolezza che ne rende le password prone a un rapido cracking.

In questo articolo discuteremo il password cracking tramite rainbow tables, una tecnica che permette di velocizzare il cracking di credenziali di certi sistemi di diversi ordini di grandezza, presentandone le peculiarità e i limiti.

(L'articolo continua più sotto...)

Password e Hash

Prima di tutto, riflettiamo un attimo su come vengono generalmente memorizzate le nostre password: ovviamente non è desiderabile che queste informazioni sensibili siano conservate in chiaro pertanto tipicamente si preferisce utilizzare algoritmi di hashing che codificano le nostre password mediante funzioni matematiche non invertibili. Per coloro digiuni di analisi matematica, si ricorda che una funzione non invertibile è un'associazione tra due oggetti per cui non è possibile ottenere il dato di partenza tramite il solo risultato; riportato al nostro caso significa che non è possibile ottenere la password possedendo solo il valore generato dall'algoritmo di hashing (detto hash).

Sebbene molti pensino il contrario, un hash è tutt'altro che univoco e, al contrario, esistono infiniti valori che producono lo stesso hash; tuttavia in un buon algoritmo di hashing la probabilità che si trovino due stringe che producano lo stesso hash è minima, un valore infinitesimale, giustamente (in senso statistico) approssimabile a zero. Questo comporta che individuare una stringa che è codificata nello stesso hash in cui è codificata la nostra password è assolutamente improbabile.

Quando digitiamo la nostra password viene ricalcolato l'hash, mediante lo stesso algoritmo, ed è questo valore e non la password ad essere confrontata. In tal modo possiamo tranquillamente mantenere su file i nostri hash, sicuri che tra le centinaia di migliaia di miliardi di combinazioni possibili la nostra password sia inviolabile. Ovviamente un attacco che miri ad esaurire tutte le possibilità (detto "spazio delle chiavi") arriverà indubbiamente a trovare una stringa capace di produrre il nostro stesso hash ma, da quanto appena detto, la nostra assicurazione è che le combinazioni sono in numero tale da non permettere questa operazione in tempi ragionevoli.

Rainbow Tables

Introduciamo le rainbow tables; l'idea fu concepita negli anni ottanta dal matematico americano Martin Hellman, ma ha avuto la sua vera diffusione attraverso i successivi studi di Philippe Oechslin.

Alla base vi è una considerazione piuttosto semplice e intuitiva: "perchè calcorare ogni volta tutte i possibili hash sino a ricavarne uno che corrisponda alla password cercata?" Se avessi anzitempo calcolato e memorizzato ogni possibile combinazione in una sorta di elenco telefonico dell'algoritmo, potremmo in maniera più agile eseguire una ricerca nell'archivio e trovare l'hash giusto. Difatti il costo di un password cracking è principalmente funzione del calcolo degli hash, che ricordiamo essere prodotto di complessi algoritmi matematici; rispetto a quest'ultimo, il confronto tra stringhe per determinare se l'hash (la fase di ricerca) è corretto costituisce un costo temporale irrisorio.

Corsi
Corso ASP.NETCorso ASP.NET
Corso completo per la creazione di applicazioni Web. A partire da 49 €.
Corso Masterizzare CD e DVDCorso Masterizzare CD e DVD
Guida per masterizzare CD e DVD con programmi freeware. A soli 25 €.
Corso MS ExcelCorso MS Excel
Creare fogli elettronici e di calcolo. A soli 35 €.
Vedi anche...
Annunci

Mr.Webmaster

Pubblicità
Chi Siamo
Contattaci
Collabora
Note Legali
© 2003 - 2012 Mr.Webmaster - Il portale dei Webmaster Italiani - Tutti i diritti riservati | Powered by IKIweb Internet Media S.r.l. - PIVA 02848390122