Brute Force

Avatar utente
Etabeta
Messaggi: 945

Brute Force

Messaggio #1 »

venerdì, 24. febbraio 2012, 11:34

Brute Force

Se non avete mai sentito parlare di BRUTE FORCE e siete particolarmente gelosi della vostra privacy, allora forse sarà bene vi prendiate un paio di minuti per leggere quanto segue:

Brute Force è un metodo per scoprire password o chiavi di registrazione tentando, in sequenza, tutte le possibili combinazioni di caratteri utilizzabili.

Non esiste alcun sistema di protezione in grado di resistere ad un attacco di questo tipo: per quanto possano essere complicata la password e robusto l'algoritmo di cifratura utilizzato, dopo un numero finito di tentativi (anche diversi milioni), si finirà per trovare la combinazione giusta che dà l' accesso ai dati protetti.

L'unica speranza, per la vittima, risiede nell'aver scelto una chiave sufficientemente lunga per cui il brute-forcing richieda un tempo di elaborazione così esteso da richiedere mesi, se non anni.
Il procedimento risulterà così troppo oneroso e (forse) indurrà l'attaccante a desistere.

Per avere un'idea approssimativa, basti pensare che una password di 5 caratteri alfanumerici (senza caratteri speciali) fornisce 36^5 possibili combinazioni, pari a 60.466.176 password.

Forse 60 milioni di parole possono sembrare tante, ma con l'utilizzo di un computer con caratteristiche adeguate (ad esempio un normale laptop dal costo di poche centinaia di Euro) la protezione può "saltare" in pochissimo tempo: nel caso in questione, basta meno di un secondo!

Utilizzando contemporaneamente lettere maiuscole e minuscole, il numero di possibili combinazioni sale a 62^5, pari a poco più di 916 milioni: in questo caso il tempo di elaborazione richiesto è di "ben" 1 minuto!

La costruzione di CPU sempre più veloci ed efficienti riduce progressivamente i tempi richiesti, obbligando alla scelta di password sempre più lunghe; a tutto questo si aggiunge il fatto che i Cracker ricorrono ad alcuni stratagemmi per ottimizzare al massimo la ricerca: ne elenchiamo qualcuno di seguito.

Brute-Forcing basato su dizionario:

Si basa sul fatto che molto spesso gli utenti meno smaliziati ricorrono a password relativamente "semplici" perchè costituite da parole prese dal linguaggio comune.

Si possono quindi ridurre drasticamente i tempi di ricerca costruendo una lista dei termini più usati (il cosiddetto "dizionario"; Anzi, non serve nemmeno costruirlo, dal momento che elenchi del genere si trovano già pronti in Internet: basta solo conoscere qualche informazione sulla vittima, ad esempio la sua nazionalità, e cercare in modo appropriato sui motori di ricerca.

La password "precipitevolissimevolmente", ad esempio, è lunga ben 26 caratteri.
Un brute-forcing tradizionale richiederebbe circa 10^36 anni (il numero si può scrivere come un "1" seguito da 36 zeri): tuttavia, utilizzando una dopo l'altra tutte le parole della lingua italiana, può essere agevolmente forzata.
Sapendo che un dizionario abbastanza completo comprende circa 200.000 voci, lasciamo ai lettori il piacere di scoprire il tempo impiegato dal normale laptop di cui si parlava poche righe sopra!

Se poi il Cracker conosce qualche informazione in più, può provvedere a compilare un dizionario "a tema" per limitare ulteriormente la ricerca: ad esempio, se il legittimo proprietario dei dati è appassionato di calcio, un dizionario ulteriormente ridotto, contenente i termini legati allo sport, potrebbe risultare molto utile.


Utilizzo della GPU in contemporanea alla CPU:
Questo trucco parte dal presupposto che in un computer la Graphics Processing Unit sia sfruttata appieno soltanto durante le sessioni di gioco: durante l'utilizzo normale per compiti d'ufficio, invece, questo processore ha un carico di lavoro vicino allo 0%.
Nonostante la GPU sia dedicata alla grafica, rimane pur sempre un processore, che oltretutto è specializzato nell'eseguire calcoli velocemente.
Proprio per sfruttare la situazione descritta sono stati creati programmi che dirottano tutto o parte del carico dell'elaborazione proprio al processore della scheda video.
Di fatto, l'effetto ottenuto è quello di aggiungere potenza di calcolo ad un normale elaboratore, con il conseguente aumento delle prestazioni generali di calcolo e quindi del numero di tentativi di forzatura che possono essere portati ogni secondo.


Ricorso al Cloud Computing:
Se la password da scoprire è molto lunga e contiene caratteri speciali, anche un computer molto potente potrebbe impiegare anni per portare a termine il compito.
Cosa succederebbe, però, se invece di un solo elaboratore se ne utilizzassero 20, oppure 100 contemporaneamente?
Stando a quanto dichiarato da alcuni hacker nel 2010, ricorrendo a gruppi di computer operanti in un Cloud, anche le password più lunghe e complicate possono essere scoperte in poche ore (se non in pochi minuti).
Addirittura, alcune aziende hanno iniziato a mettere a disposizione risorse Cloud al costo di pochi dollari l'ora proprio per questo scopo: l'intento è di aiutare i legittimi proprietario a (ri)entrare in possesso dei propri dati o del proprio account, ma è ben comprensibile la pericolosità di questi strumenti, in mano alle persone sbagliate.



Per chi, dopo aver letto questa pagina, desiderasse scoprire quanto è resistente la password scelta per proteggere le proprie informazioni riservate, esistono siti , come http://howsecureismypassword.net/
Il sito è il medesimo con cui sono stati calcolati i tempi d'elaborazione per gli esempi di questa pagina: una volta raggiunto, basta digitare una password nella casella al centro del display per scoprire quanto tempo impiegherebbe un normale computer da ufficio per individuarla.

Solo un consiglio: evitate di affidare la vostra sicurezza a password come "12345"! ;)

Si Ringrazia PC-Facile.com
Etabeta