Metodo forza bruta: offrire le password su un piatto d’argento
Anche se Apple non ha mai rilasciato comunicazioni ufficiali al riguardo, si può supporre che nel 2014 una semplice falla di sicurezza sia stata la rovina del suo servizio online di archiviazione iCloud. Si hanno sufficienti ragioni per pensare che la mancanza di una protezione efficace contro gli attacchi brute force abbia reso possibile il furto di foto private di diversi personaggi famosi, visto che poco dopo l’attacco sono state implementate le misure di protezione contro questo metodo. Da quel momento le misure di protezione prevedono che gli utenti abbiano al massimo dieci tentativi di inserimento della password, in seguito ai quali il login viene bloccato e il proprietario dell’account avvisato. Prima di questo scandalo hacker, si poteva continuare a provare ad inserire la password per un numero indefinito di tentativi, ragion per cui era solo una questione di tempo prima che un attacco forza bruta ben pianificato avesse successo.
Che cos’è davvero il metodo forza bruta?
Il termine forza bruta deriva dall’inglese “brute force” e descrive, in ambito informatico, un tipo di attacco per trovare password. Nel linguaggio comune può anche indicare un metodo basato sulla crittografia e sulla teoria dei giochi matematici per risolvere un problema. Il metodo deve il suo nome al fatto che si basa sul provare tutte le soluzioni possibili o più plausibili, per questo motivo è noto anche come “ricerca esaustiva”. Viene sempre usato quando non sono disponibili algoritmi migliori ed è particolarmente amato dagli hacker, che usano questa tecnica per decodificare le password e riuscire così ad accedere ai dati altrui. Per questo usano i software con un algoritmo semplice che prova rapidamente diverse combinazioni fatte di cifre, simboli e lettere fino ad una lunghezza massima definita.
Più corte sono le password, più velocemente vengono individuate attraverso il metodo forza bruta, ragion per cui anche la maggior parte dei sistemi di cifratura in generale consiglia password il più possibile lunghe e composte di diversi simboli. Dal momento che il tempo necessario per eseguire attacchi brute force non richiede più prestazioni del computer così elevate e possono essere eseguiti sempre più tentativi per un’unità di tempo, una protezione totale da questo metodo diventa quindi sempre più importante.
Perché non dovreste sottovalutare un attacco forza bruta
Considerata la natura rudimentale del metodo ci si aspetterebbe che vengano usate misure di protezione adeguate, ma non è sempre così. Potenzialmente è in pericolo chiunque ha un computer connesso a Internet. Se un hacker si è inserito una volta senza essere notato in un sistema, cosa che accade più spesso di quanto si ritenga possibile, probabilmente non è lontano dal carpire le vostre password. La maggior parte dei sistemi operativi gestiscono file e database, nei quali vengono salvati gli identificativi e le password dell’utente. Nei sistemi Windows si trovano ad esempio nel file .sam, mentre in quelli Unix di solito nel file .passwd o .shadow.
Sebbene le password che si trovano in questi file non siano in chiaro perché devono essere decifrate prima con l’aiuto di un algoritmo crittografico, l’hacker può comunque entrare in possesso dei file se non sono protetti abbastanza dagli accessi non autorizzati e creare così una copia del file per poi effettuare un attacco forza bruta, senza dover mantenere una connessione con il sistema della vittima. Infatti, sono fondamentalmente tre le variabili che influiscono sul tempo necessario perché l’attacco abbia successo:
- La durata di ogni singolo tentativo di immissione di una password
- La lunghezza della password
- La complessità delle password
La durata di ogni singolo tentativo di immissione di una password che permette di tentare più combinazioni possibili dipende dalle prestazioni del computer che l’hacker ha a disposizione. Migliori sono le prestazioni, tanto più velocemente viene effettuato un tentativo e inizia quello successivo. Lunghezza e complessità aumentano logicamente il numero delle combinazioni, dalle quali si compone una password, e quindi cresce anche il numero di possibilità da provare nel metodo forza bruta. Così la lunghezza e la complessità della password si riflettono sulla durata:
Set di caratteri | 26 caratteri | 72 caratteri |
---|---|---|
Tipi di caratteri | Lettere minuscole | Lettere minuscole e maiuscole, caratteri speciali e numeri |
Lunghezza massima della password | 8 caratteri | 8 caratteri |
Combinazioni possibili | ca. 209 miliardi | ca. 722 bilioni |
Velocità di calcolo | ca. 100 milioni di valori di hash per secondo | ca. 100 milioni valori di hash per secondo |
Durata del tentativo brute force | ca. 35 minuti | ca. 83 giorni |
La tabella mostra che un PC più moderno ha verificato in soli 35 minuti tutte le combinazioni possibili di una password semplice, che ricorre solo al set di caratteri di 26 lettere. Ma se si estende la password ai 72 caratteri, il metodo forza bruta con la stessa velocità di calcolo richiede circa 83 giorni.
Ma anche questo non è sufficiente: gli hacker possono accelerare la durata di un attacco brute force attraverso metodi come il dictionary attack, che usa una lista precompilata di parole più comuni, o usando tabelle arcobaleno (in inglese rainbow table), che fanno tentativi associando sequenze di parole comuni.
Come proteggersi dal metodo forza bruta
Non importa se un attacco forza bruta miri al file della password nel sistema, come nel caso di iCloud, o presupponga che l’hacker possieda l’ID Apple della vittima: gli eventi passati dimostrano chiaramente quanto sia importante proteggersi dai metodi di decriptazione invasivi. Nelle vostre password di sistema personali avete di regola il controllo, quindi puntate su combinazioni che contengano molti diversi tipi di caratteri, usate lettere maiuscole, minuscole, simboli e anche numeri per le vostre password. E ricordate che naturalmente è sempre valida la regola che più caratteri ha una password, tanto più è difficile decifrarla.
La situazione è più difficile quando si creano password per servizi online o simili, perché si è vincolati alle direttive del rispettivo fornitore. Sono tipiche una lunghezza massima di otto caratteri e spesso si è limitati all’inserimento di lettere e numeri, cosa che risulta poco soddisfacente se non sono state prese ulteriori misure di sicurezza. In una situazione di questo tipo, dovreste assolutamente sapere quali misure preventive il fornitore del servizio prende contro attacchi forza bruta. Se siete voi stessi i gestori di un servizio web con un meccanismo di login, questo compito rientra tra le vostre responsabilità. Sono possibili due tipi di approccio:
- proteggere il meccanismo di autentificazione
- configurare un’autentificazione a più fattori
La protezione del meccanismo di autentificazione dovrebbe essere una componente standard di ogni maschera di login ma, come lo scandalo di iCloud ha dimostrato, non è sempre così. Con il meccanismo di protezione delle autentificazioni si appesantisce il lavoro del software forza bruta, bloccando l’inserimento di una password per un determinato intervallo di tempo, dopo che è stata digitata una password sbagliata. Inoltre è possibile aumentare ulteriormente questo intervallo ad ogni inserimento errato. Si può anche fare un passaggio ulteriore, come quello che ha fatto Apple in fin dei conti, cioè bloccare completamente l’account dopo un certo numero di tentativi di login errati.
La possibilità di un’autentificazione a due fattori viene offerta da molti fornitori spesso in maniera opzionale perché complica parecchio il processo di registrazione, visto che oltre alla password diventa necessario anche un ulteriore passaggio come la risposta a una domanda segreta, l’inserimento di un PIN o un captcha. In questo caso si tratta di piccoli “test”, con i quali si dovrebbe constatare se chi tenta di accedere a un servizio sia un essere umano o un software che tenta il metodo forza bruta.
Come contrastare gli attacchi di forza bruta
In aggiunta alle misure proposte, ci sono ancora un paio di trucchi per la prevenzione da attacchi brute force. Il software degli hacker lavora di solito con diversi modelli di riconoscimento e così ad esempio un impedimento efficace è quando i messaggi di errore di default non rinviano direttamente al browser ma ad un sistema esterno, come un’altra pagina web. Alternative per i nomi dei campi dove si immette una password e il testo, al quale si viene rimandati dopo un tentativo di accesso, possono per lo meno creare problemi ad alcuni dei tool degli hacker. In ogni caso la sicurezza del vostro sito e le password aumentano quando usate una o più delle misure di protezione presentate qui contro gli attacchi forza bruta. Peraltro per alcune piattaforme o applicazioni ci sono anche specifiche estensioni o tool contro il metodo forza bruta. Il plug-in Jetpack, che dovrebbe facilitare innanzitutto la gestione dei siti WordPress, ha ad esempio integrato un modulo che dovrebbe impedire i pericolosi attacchi basandosi su di una blacklist. Gli indirizzi IP, che sono raccolti in questa lista, comprendono tutti quelli conosciuti che hanno sferrato degli attacchi brute force su pagine WordPress.