19Aug

Spiegazione degli attacchi di forza bruta: come tutta la crittografia è vulnerabile

chiave-in-lock

Gli attacchi di forza bruta sono abbastanza semplici da capire, ma difficili da proteggere. La crittografia è matematica, e man mano che i computer diventano più veloci in matematica, diventano più veloci nel provare tutte le soluzioni e vedere quale si adatta.

Questi attacchi possono essere utilizzati contro qualsiasi tipo di crittografia, con vari gradi di successo. Gli attacchi di forza bruta diventano più veloci e più efficaci ogni giorno che passa quando viene rilasciato hardware più nuovo e più veloce.

Nozioni di base sulla forza bruta

Gli attacchi di forza bruta sono semplici da capire. Un utente malintenzionato ha un file crittografato, ad esempio il database delle password LastPass o KeePass. Sanno che questo file contiene i dati che vogliono vedere e sanno che c'è una chiave di crittografia che la sblocca. Per decrittografarlo, possono iniziare a provare ogni singola password possibile e vedere se questo si traduce in un file decrittografato.

Lo fanno automaticamente con un programma per computer, quindi la velocità con cui qualcuno può aumentare la crittografia aumenta quando l'hardware del computer disponibile diventa sempre più veloce, in grado di eseguire più calcoli al secondo. L'attacco a forza bruta potrebbe iniziare con le password a una cifra prima di passare alle password a due cifre e così via, provando tutte le possibili combinazioni finché non si lavora.

Un "attacco del dizionario" è simile e prova le parole in un dizionario - o un elenco di password comuni - invece di tutte le password possibili. Questo può essere molto efficace, dal momento che molte persone usano password così deboli e comuni.

Perché gli hacker non possono utilizzare i servizi Web a forza bruta

C'è una differenza tra attacchi brute-force online e offline. Ad esempio, se un utente malintenzionato desidera forzare la sua bruta forza nel tuo account Gmail, può iniziare a provare ogni singola password possibile, ma Google le interromperà rapidamente. I servizi che forniscono accesso a tali account accelerano i tentativi di accesso e vietano gli indirizzi IP che tentano di accedere tante volte. Pertanto, un attacco contro un servizio online non funzionerebbe troppo bene perché pochi tentativi possono essere fatti prima che l'attacco venga fermato.

Ad esempio, dopo alcuni tentativi di accesso non riusciti, Gmail ti mostrerà un'immagine CATPCHA per verificare che non sei un computer che tenta automaticamente le password. Probabilmente interromperanno completamente i tuoi tentativi di accesso se sei riuscito a continuare abbastanza a lungo.

gmail-captcha

D'altra parte, diciamo che un utente malintenzionato ha strappato un file crittografato dal tuo computer o è riuscito a compromettere un servizio online e scaricare tali file crittografati. L'utente malintenzionato ora ha i dati crittografati sul proprio hardware e può provare quante password desidera a suo piacimento. Se hanno accesso ai dati crittografati, non c'è modo di impedire loro di provare un numero elevato di password in un breve periodo di tempo. Anche se stai usando una crittografia forte, è a tuo vantaggio mantenere i tuoi dati al sicuro e assicurarti che gli altri non possano accedervi.

Hashing

Gli algoritmi di hashing potenti possono rallentare gli attacchi a forza bruta. In sostanza, gli algoritmi di hashing eseguono ulteriori operazioni matematiche su una password prima di memorizzare un valore derivato dalla password su disco. Se viene utilizzato un algoritmo di hashing più lento, richiederà migliaia di volte più lavoro matematico per provare ciascuna password e rallentare drasticamente gli attacchi a forza bruta. Tuttavia, maggiore è il lavoro richiesto, maggiore è il lavoro che un server o un altro computer devono eseguire ogni volta che l'utente accede con la propria password. Il software deve bilanciare la resilienza agli attacchi di forza bruta con l'utilizzo delle risorse.

Velocità della forza bruta

La velocità dipende tutto dall'hardware. Le agenzie di intelligence possono costruire hardware specializzato solo per gli attacchi a forza bruta, proprio come i minatori Bitcoin costruiscono il proprio hardware specializzato ottimizzato per l'estrazione di Bitcoin. Quando si tratta di hardware di consumo, il tipo di hardware più efficace per gli attacchi a forza bruta è una scheda grafica( GPU).Poiché è facile provare diverse chiavi di crittografia contemporaneamente, molte schede grafiche in parallelo sono l'ideale.

Alla fine del 2012, Ars Technica ha riferito che un cluster 25-GPU poteva violare tutte le password di Windows con meno di 8 caratteri in meno di sei ore. L'algoritmo NTLM utilizzato da Microsoft non era abbastanza flessibile. Tuttavia, quando NTLM è stato creato, ci sarebbe voluto molto più tempo per provare tutte queste password. Ciò non è considerato una minaccia sufficiente per Microsoft per rendere più forte la crittografia.

La velocità sta aumentando e in alcuni decenni potremmo scoprire che anche i più potenti algoritmi crittografici e le chiavi di crittografia che utilizziamo oggi possono essere rapidamente violati dai computer quantistici o da qualsiasi altro hardware che utilizzeremo in futuro.

25-gpu-password di cracking-cluster

Protezione dei dati dagli attacchi a forza bruta

Non c'è modo di proteggersi completamente.È impossibile dire quanto velocemente l'hardware del computer otterrà e se uno qualsiasi degli algoritmi di crittografia che utilizziamo oggi abbia punti deboli che saranno scoperti e sfruttati in futuro. Tuttavia, ecco le basi:

  • Mantieni i tuoi dati crittografati al sicuro laddove gli aggressori non possano accedervi. Una volta copiati i propri dati nel proprio hardware, possono provare gli attacchi a forza bruta contro di essi a loro piacimento.
  • Se si esegue un servizio che accetta accessi su Internet, assicurarsi che limiti i tentativi di accesso e blocchi le persone che tentano di accedere con molte password diverse in un breve periodo di tempo. Il software del server è generalmente impostato per farlo subito, poiché è una buona pratica di sicurezza.
  • Utilizzare algoritmi di crittografia avanzati, come SHA-512.Assicurati di non utilizzare vecchi algoritmi di crittografia con punti deboli noti facili da decifrare.
  • Usa password lunghe e sicure. Tutta la tecnologia di crittografia nel mondo non ti aiuterà se utilizzi la "password" o il famigerato "hunter2".Gli attacchi a forza bruta

sono qualcosa di cui preoccuparsi quando si proteggono i dati, si scelgono algoritmi di crittografia e si selezionano le password. Sono anche un motivo per continuare a sviluppare algoritmi crittografici più forti: la crittografia deve tenere il passo con la velocità con cui viene reso inefficace dal nuovo hardware.

Image Credit: Johan Larsson su Flickr, Jeremy Gosney