Cos'è Attacco Brute-Force?
Un attacco brute-force è un metodo crittoanalico che tenta di determinare una password, una chiave di cifratura o altro segreto provando sistematicamente ogni possibile combinazione finché non viene trovato il valore corretto.
Noto anche come: brute force, password cracking, exhaustive search
Gli attacchi brute-force sono la forma più semplice di attacco contro qualsiasi segreto: provare ogni possibilità. Contro un PIN a 4 cifre ci sono 10.000 combinazioni — banale per un computer. Contro una password di 8 caratteri minuscoli ci sono circa 209 miliardi di combinazioni — fattibile con hardware moderno. Contro una chiave di cifratura a 256 bit ci sono 2^256 possibilità — computazionalmente impossibile con qualsiasi tecnologia concepibile secondo le leggi fisiche conosciute.
In pratica, gli attaccanti eseguono raramente attacchi brute-force puri contro le password. Usano invece varianti ottimizzate: attacchi a dizionario (provando password e parole comuni), attacchi basati su regole (applicando trasformazioni comuni come l'aggiunta di numeri o la sostituzione di caratteri), credential stuffing (usando password divulgate da altre violazioni) e attacchi rainbow table (usando tabelle di lookup hash precalcolate). Queste tecniche sfruttano la prevedibilità delle password scelte dagli utenti per ridurre drasticamente lo spazio di ricerca.
Le difese contro gli attacchi brute-force operano su più livelli. Password robuste e chiavi di cifratura lunghe rendono la ricerca esaustiva impraticabile. Il rate limiting limita il numero di tentativi per unità di tempo. Le policy di blocco degli account bloccano l'accesso dopo ripetuti fallimenti. Le funzioni di derivazione delle chiavi come PBKDF2 e bcrypt rendono ogni tentativo computazionalmente costoso. Il salting previene gli attacchi di lookup precalcolati. Insieme, queste difese innalzano il costo di un attacco brute-force oltre qualsiasi soglia pratica.
Come Vaulted usa Attacco Brute-Force
Vaulted si difende dagli attacchi brute-force su più livelli. La chiave di cifratura AES-256-GCM è un valore casuale a 256 bit, rendendo la decifratura brute-force computazionalmente impossibile. Per i segreti protetti da passphrase, PBKDF2 con 100.000 iterazioni rende costoso ogni tentativo di indovinare la passphrase. Il rate limiting lato server (10 creazioni al minuto, 30 visualizzazioni al minuto per IP) impedisce tentativi automatici rapidi contro l'API. E i limiti di visualizzazione assicurano che un segreto venga eliminato definitivamente dopo un piccolo numero di accessi, chiudendo la finestra per ripetuti tentativi di indovinare.