È capitato a tutti di trovarsi di fronte alla schermata di registrazione su un sito e rimanere fermi qualche istante per pensare a quale password scegliere. Se anche tu sei uno di quelli che usa sempre la solita scontata chiave d’accesso per tutti gli account, spero che con questo articolo riuscirò a farti dedicare poco tempo in più alla scelta della tua password.
Indice
La lista delle password proibite
Che tu ci creda o no, le 5 password più usate al mondo sono:
- 123456
- password
- 12345678
- qwerty
- 12345
Se anche tu usi una di queste password, preoccupati. Infatti violare una password così semplice al giorno d’oggi è questione di secondi.
Brute-Force Attack
Il metodo più semplice (ma non sempre il più veloce) è il Brute-Force Attack.
E’ un po come aprire il lucchetto di una valigia. Normalmente è composto da 3 rotori, ciascuno con numeri da 0 a 9. In totale ci sono 1.000 possibili combinazioni, iniziando dalla 000 per finire al 999. Supponendo di impiegare 1 secondo per ogni singola rotazione di un rotore, nella condizione peggiore (iniziare da 000 e la combinazione giusta è 999) ci impiegheremmo poco più di 16 minuti.
La stessa cosa succede in informatica. Prendiamo ad esempio una scheda grafica Radeon RX 580 Gaming X 8G di MSI dal costo di circa 350 €. Quando si tratta di operazioni parallele, per quanto una CPU a volte possa far bene, le ALU di una scheda video spesso fanno meglio. Questa scheda grafica crea circa 4,3 miliardi di combinazioni al secondo.
Prendiamo la password più usata, ovvero 123456. E’ composta da 6 cifre (da 0 a 9). Ci sono 106 possibili combinazioni. Alla scheda video basta meno di 1 ms per individuare la combinazione giusta. Anche se prendiamo la seconda password più usata, ovvero password le cose non migliorano più di tanto. Stavolta è composta da 8 lettere e considerando che le lettere dell’alfabeto sono 26, ci sono 268 possibili combinazioni. Nella peggiore delle ipotesi alla scheda video basta poco più di 48 secondi per individuare quella giusta.
# | Password | Lunghezza | Tipologia | Possibili Combinazioni | Tempo |
1 | 123456 | 6 | Numerica | 1.000.000 | 0,23 ms |
2 | password | 8 | Alfabetica | 208.827.064.576 | 48,56 ms |
3 | 12345678 | 8 | Numerica | 100.000.000 | 23,26 ms |
4 | qwerty | 6 | Alfabetica | 308.915.776 | 71,84 ms |
5 | 12345 | 5 | Numeria | 100.000 | 0,02 ms |
Consigli per complicare la vostra password
Se vogliamo complicare un po’ la vita a chi sta tentando di rubarvi la password, le strade sono 2:
- Aumentare il numero di caratteri
- Aumentarne la complessità aggiungendo dei caratteri speciali o delle lettere maiuscole
Prendiamo ad esempio la password starwars (è al 16° posto delle password più usate). Essendo composta da sole lettere, sarebbe individuata in 48 secondi. Se però la 5ª lettera la mettiamo in maiuscolo, otteniamo starWars. Non abbiamo aumentato il numero di caratteri, ma ora i possibili caratteri di ogni cifra sono 52: 26 lettere minuscole e 26 lettere maiuscole. In totale sono circa 53.459 miliardi di possibili combinazioni, decifrabili in poco più di 3 ore. Se volessimo complicare ancora di più la stringa, potremmo aggiungere un carattere numerico o un carattere speciale, facendo attenzione che normalmente i caratteri speciali consentiti sono solo questi: ! $ ? # = * + – . , ; :
# | Password | Lunghezza | Tipologia | Possibili Combinazioni | Tempo |
1 | starwars | 8 | Alfabetica | 208.827.064.576 | 45,56 s |
2 | starWars | 8 | Alfabetica | 53.459.728.531.456 | 3,5 h |
3 | starWars8 | 9 | Alfanumerica | 13.537.086.546.263.600 | 36 giorni |
4 | starWars# | 9 | Alfabetica + Carattere Speciale | 18.014.398.509.482.000 | 48 giorni |
In sostanza, più una password è lunga, più tempo ci vuole per scovarla. Però ricordarsi password lunghe e complesse non è semplice. Verrebbe quindi la tentazione di usare una password alfanumerica di 10 caratteri (con magari almeno una lettera maiuscola) che è facilmente memorizzabile. Per esempio, per scoprire la parola Hackeraggio, con un attacco brute-force ci vorrebbero 544 anni. In realtà però occorre molto meno tempo !
Lunghezza dalla parola | Possibili Combinazioni | Tempo |
8 | 53.459.728.531.456 | 3,5 h |
9 | 2.779.905.883.635.712 | 7 giorni |
10 | 839.299.365.868.340.000 | 6 anni |
11 | 73.786.976.294.838.200.000 | 544 anni |
Dictionary attack
Normalmente, prima di lanciare un attacco brute-force è conveniente provare con un attacco specifico, per esempio provando prima quelle stringhe di caratteri ritenuti più probabili. Generalmente questi attacchi hanno successo perché la maggior parte delle persone ha la tendenza a scegliere password semplici da ricordare e per lo più utilizza parole prese dalla propria lingua nativa. Ecco che la parola Hackeraggio verrà scovata in pochissimo tempo.
Qual è quindi la password perfetta ?
Non c’è una risposta giusta a questa domanda. I metodi di hacking sono molti e il più delle volte si possono avere attacchi con diverse tecniche combinate. Per esempio un hacker, prima di iniziare con un attacco brute-force, può partire da un elenco di parole probabili apportando alcune varianti per aumentare le probabilità di scovare la password:
- Tentare con la prima lettera (o con l’ultima) maiuscola
- Sostituire la lettera e con il numero 3, oppure la lettera o con in numero 0
- Aggiungere alla fine della stringa 4 numeri (molte persone mettono una data facile da ricordare) o 1 carattere speciale
Per concludere, i miei consigli sono:
- Non usare solo parole e/o numeri
- Non usare parole comuni, anche se di un’altra lingua (in particolare l’inglese)
- Non usare informazioni personali (data di nascita, segno zodiacale, nome di figli, del cane o del gatto)
- La lunghezza minima della password dovrebbe essere di 10 caratteri
- Usa sia lettere maiuscole che minuscole
- Usa anche caratteri non alfanumerici
- Non creare password simmetriche
- Non usare la stessa password per più account
- Se disponibile, attivare l’autenticazione a due fattori
Un suggerimneto: se volete testare la bontà della vostra password, vi consiglio di andare a visitare il sito di Kaspersky Password Check
Autore dell’articolo: Luca Bottosso