Il brute force è un attacco informatico utilizzato per individuare una password sconosciuta, guadagnando così l'accesso a un sistema informativo. Esso può essere indirizzato a differenti tipologie di chiavi, come quelle utilizzate per accedere a siti web, agli account di posta elettronica o ai server.
A differenza del cosiddetto "guessing", ovvero la tecnica di intuire – anche attraverso strumenti psicologici – le credenziali di accesso, il brute force viene svolto da un software il quale, basandosi sul metodo "trial and error", prova ad individuare una password effettuando un elevato numero di tentativi.
Tale operazione è erroneamente accostata alla figura dell'hacker, anche se in realtà rientra più propriamente fra le modalità operative tipiche del cracker. A differenza dell'hacker, quest'ultimo tende a "spezzare" le protezioni piuttosto che ad aggirarle, senza basarsi sulla propria inventiva o sulle proprie conoscenze.
Brute force: la variante Dictionary
Esiste una particolare variante di brute force nota con il nome di "Dictionary attack". Essa è stata sviluppata con l'obiettivo di rendere più rapido il processo di ricerca delle password, e consente al software di provare a decifrare una chiave partendo da una worldlist, ossia un file contenente una serie di parole già generate. Le stringhe contenute in una wordlist sono raccolte facendo leva sul fatto che gli utenti tendano a scegliere chiavi di accesso non abbastanza complesse, prediligendo nomi di persone care, parole conosciute, password gia' utilizzate o sequenze di numeri molto semplici.
Le wordlist possono essere create autonomamente o scaricate da database presenti sul web e possono altresi' contenere password effettivamente gia' "rubate" e presenti in archivi sul web contenenti "leaks" di precedenti violazioni.
Brute force: come si esegue?
Un attacco brute force, quindi, è molto semplice da eseguire. Tutto quello che serve è un software capace di sfruttare al massimo la capacità di calcolo della macchina sul quale è installato, in modo da operare il maggior numero di tentativi nel minor tempo possibile.
Non esistono chiavi di crittografia che non possano essere decifrate. In base alla complessità della password tuttavia, i tempi di un attacco brute force possono rivelarsi anche molto lunghi.
Principali software per eseguire un attacco brute force
Esistono numerosi programmi capaci di sferrare questo tipo di attacco, ciascuno finalizzato ad individuare specifici tipi di chiave. Di seguito sono riportati i software ritenuti più veloci ed efficaci:
- JohnTheRipper (JTR) – è un software open source disponibile per Linux, Windows e Mac OS. Può eseguire attacchi brute force standard e dictionary attack. Oltre a individuare le password e i nomi utente, JTR permette di risalire al tipo di hash utilizzato.
- Hydra – è lo strumento più conosciuto per lanciare attacchi brute force. Esso risulta infatti indicato per individuare le credenziali di accesso per diversi protocolli, fra i quali rientrano SSH, MySQL, e molti altri.
- Hashcat – grazie alla capacità di sfruttare contemporaneamente la potenza di calcolo di CPU e GPU, è uno dei software più veloci per recuperare password. Come JTR, è è disponibile per tutti i sistemi operativi.
Altri software piuttosto comuni sono Medusa, Brutus, Aircrack-ng e Rainbow. La maggior parte di essi può individuare una password corrispondente a una parola contenuta in una wordlist entro un secondo.
Dopo aver scelto il software più adatto al proprio obiettivo e scaricato una o più wordlist quindi, è necessario avviare il tool e seguire le indicazioni.
Il brute force è efficace?
Abbastanza. Nonostante possa essere ritenuto in parte superato e non particolarmente sofisticato, questo tipo di attacco risulta ad oggi efficace se utilizzato per accedere a tutti quei siti che basano la propria sicurezza su cifrature obsolete, o che non prevedono un blocco dopo un numero massimo di tentativi d'accesso da parte dell'utente. In secondo luogo, questo tipo di attacco può essere considerato utile poiché si scontra spesso con vulnerabilità di origine umana: molte persone tendono infatti ad utilizzare password a bassa entropia, scegliendo parole o combinazioni alfanumeriche eccessivamente corte o facilmente prevedibili.
Come proteggersi da un attacco brute force?
Per ostacolare la riuscita degli attacchi brute force, gli amministratori di sistema devono implementare nelle proprie infrastrutture livelli di crittografia il più possibile robusti ed appartenenti allo stato dell'arte.
Una misura fondamentale per proteggersi dal brute forcing consiste anche nell'implementazione di Intrusion Prevention Systems in grado di intervenire bloccando l'accesso quando venga rilevato un numero di tentativi elevato in un breve lasso di tempo, rendendo cosi' piu' difficile l'automazione necessaria nel brute forcing.
Gli utenti possono invece proteggersi utilizzando un password manager, ossia un programma che permette di archiviare all'interno del proprio computer le credenziali di accesso in modo sicuro e crittografato. In questo modo, è possibile creare password con un elevato livello di entropia senza pero' doverle ricordare, proteggendo l'archivio delle credenziali con una sola password mnemonica scelta con cura e attenzione in base a forti criteri di sicurezza.