Cos'è un attacco brute-force?

Gli attacchi brute-force decifrano i dati provando ogni combinazione possibile, come quando un ladro vuole forzare una cassaforte provando tutte le combinazioni della serratura.

Share facebook icon linkedin icon twitter icon email icon

Attacco brute-force

Obiettivi di apprendimento

Dopo aver letto questo articolo sarai in grado di:

  • Differenziare gli attacchi brute-force da attacchi più sofisticati
  • Definire i punti di forza e le debolezze degli attacchi brute-force
  • Spiegare i modi migliori per proteggersi dagli attacchi brute-force

Cos'è un attacco brute-force?

Un attacco brute-force è un metodo per tentativi utilizzato per decifrare dati sensibili. Le applicazioni più comuni di questo tipo di attacco sono la decifrazione delle password e delle chiavi di crittografia (continua a leggere per ulteriori informazioni sulle chiavi di crittografia). Altri bersagli comuni degli attacchi brute-force sono le chiavi API e gli accessi SSH. Gli attacchi brute-force per decifrare le password spesso vengono eseguiti da script o bot che prendono di mira la pagina di accesso di un sito Web.

La differenza tra gli attacchi brute-force e altri metodi di decifrazione è che i primi non utilizzano una strategia intellettuale, semplicemente provano a usare diverse combinazioni di caratteri finché non trovano quella giusta. È un po' come quando un ladro prova ad aprire una cassaforte tentando tutte le combinazioni possibili di numeri.

Quali sono i punti di forza e le debolezze degli attacchi brute-force?

Il vantaggio principale degli attacchi brute-force è che sono relativamente semplici da fare e, con abbastanza tempo e senza una strategia di mitigazione da parte del bersaglio, funzionano sempre. Ogni sistema basato su password e chiavi di crittografia può essere violato con un attacco brute-force. Anzi, la quantità di tempo necessaria a un attacco brute-force per forzare un sistema è un dato utile per saggiarne il livello di sicurezza.

D'altra parte, gli attacchi brute-force sono molto lenti, dato che devono tentare ogni combinazione di caratteri possibile prima di raggiungere l'obiettivo. Questa lentezza aumenta quanto più aumentano i numeri di caratteri nella stringa bersaglio (una stringa è solo una combinazione di caratteri). Ad esempio, una password da quattro caratteri necessita di molto più tempo per essere decifrata con brute-force rispetto a una password da tre caratteri, e una da cinque caratteri molto più di una da quattro caratteri. Una volta superato un certo numero di caratteri, decifrare una password casuale con brute-force diventa inattuabile.

Brute Force Cracking Times

Se la stringa bersaglio è sufficientemente lunga, potrebbero volerci giorni, mesi o persino anni per decifrare una password adeguatamente casuale. Di conseguenza alla tendenza attuale di richiedere password e chiavi di crittografia più lunghe, gli attacchi brute-force sono diventati più difficili. Quando si utilizzano password e crittografie valide, gli aggressori in genere provano altri metodi, come l'ingegneria sociale o gli attacchi man-in-the-middle.

Come proteggersi dagli attacchi brute-force

Gli sviluppatori che gestiscono i sistemi di autorizzazione possono adottare misure come bloccare gli indirizzi IP che hanno generato troppi tentativi di accesso non riusciti e integrare un ritardo nel proprio software di controllo della password. Un ritardo di anche solo qualche secondo può avere un effetto debilitante sull'efficacia di un attacco brute-force.

Gli utenti dei servizi Web possono ridurre la propria vulnerabilità agli attacchi brute-force scegliendo password più lunghe e più complesse. Si consiglia inoltre di abilitare l'autenticazione a due fattori e di utilizzare password univoche per ciascun servizio. Se un aggressore è in grado di utilizzare brute-force per decifrare la password di un utente per un singolo servizio, potrà tentare di riciclare la stessa combinazione di login e password su molti altri servizi conosciuti. Questo metodo si chiama credential stuffing (sottrazione e uso illecito delle credenziali).

Inoltre, gli utenti dovrebbero evitare di inserire password o altre informazioni personali come numeri di carta di credito o informazioni bancarie in servizi Web che non proteggono i propri dati con chiavi di crittografia forti.

Cos'è una chiave di crittografia?

Le chiavi di crittografia sono stringhe casuali di bit generate per codificare e decodificare i dati. Una volta codificati i dati, questi hanno l'aspetto di una stringa di caratteri a caso, finché non vengono decodificati usando la chiave di crittografia corretta. Come per le password, le chiavi di crittografia possono essere decifrate usando gli attacchi brute-force, ma oggigiorno esistono chiavi di crittografia che necessitano di talmente tanto tempo per essere decifrate, usando computer moderni, da essere considerate indecifrabili.

Che differenza c'è tra la crittografia a 128-bit e a 256-bit?

Una chiave di crittografia più lunga è esponenzialmente più sicura di una più corta. Ad esempio, in una chiave di crittografia da 128-bit, ci sono 2128 combinazioni possibili da tentare in un attacco brute-force. Per la crittografia da 256-bit, si dovrebbero provare 2256 combinazioni diverse, il che richiederebbe 2128 volte la potenza di calcolo rispetto a una chiave da 128-bit (2128 =

340.282.366.920.938.463.463.374.607.431.768.211.456 combinazioni possibili)!

Per dare un'idea del significato di questi numeri, a un computer molto potente che può controllare migliaia di miliardi di combinazioni al secondo servirebbero comunque oltre 1096 anni per decifrare una chiave di crittografia da 256-bit (cioè 1 seguito da 96 zeri).

Dato che le chiavi di crittografia a bit alti sono praticamente immuni agli attacchi brute-force attuali, si consiglia a tutti i servizi Web che raccolgono le informazioni utente di crittografare i propri dati e le proprie comunicazioni con chiavi di crittografia da 256-bit. Cloudflare utilizza la crittografia TLS all'avanguardia per impedire gli attacchi brute-force, e ha anche lavorato per prepararsi a proteggere dai computer quantistici.