ipotesi che dobbiamo fare:
* Set di caratteri: Il fattore più cruciale è ciò che i caratteri sono consentiti nella password. Considereremo alcuni scenari comuni:
* Solo lettere minuscole (A-Z): 26 possibili personaggi.
* Lettere minuscole e maiuscole (A-Z, A-Z): 52 Possibili caratteri.
* Lettere e numeri (A-Z, A-Z, 0-9): 62 possibili caratteri.
* Lettere, numeri e simboli (A-Z, A-Z, 0-9 e ~!@#$%^&* () _+=-`): Questo può variare a seconda dei simboli specifici consentiti, ma assumiamo circa 95 caratteri.
* Attacco bruto-forza: Supponiamo che il computer provi ogni possibile combinazione in sequenza. Questo è l'attacco più elementare.
* Velocità di cracking della password: La velocità con cui un computer può provare le password varia notevolmente a seconda dell'hardware (CPU, GPU), del software di cracking utilizzato e dell'algoritmo utilizzato per hash la password. Stimeremo una serie di velocità. Consideriamo le operazioni al secondo:
* lento: 1.000 password/secondo (un sistema molto vecchio o debole)
* Moderato: 1.000.000 di password/secondo (una CPU moderna decente)
* veloce: 10.000.000.000 di password/secondo (una potente configurazione GPU)
Calcoli
1. Combinazioni totali possibili:
Il numero di possibili password viene calcolato come:
`Dimensione del set di caratteri ^ Lunghezza password`
COSÌ:
* Minuscolo (26):26
* Lettere (52):52
* Lettere e numeri (62):62
* Lettere, numeri e simboli (95):95
2. Tempo medio per crack:
In un attacco a forza bruta, il computer, in media, troverà la password corretta a metà dell'elenco delle possibilità. Quindi, dividiamo il numero totale di combinazioni per 2 e quindi dividiamo per la velocità di cracking.
`Tempo medio =(combinazioni totali / 2) / velocità di cracking`
Risultati (in secondi):
| Set di personaggi | Combinazioni totali | Lento (1.000/sec) | Moderato (1.000.000/sec) | Veloce (10.000.000.000/sec) |
| ----------------------- | -------------------- | -------------------- | --------------------------- | ------------------------------
| Minuscolo (26) | 456.976 | 228 sec | 0,228 sec | 0,0000228 sec |
| Lettere (52) | 7.311.616 | 3656 sec | 3,65 sec | 0.000365 sec |
| Lettere e numeri (62) | 14.776.336 | 7388 sec | 7,38 sec | 0.000738 sec |
| Lettere, ecc. (95) | 81.450.625 | 40725 sec | 40,72 sec | 0,00407 sec |
Convertirsi in unità più comprensibili
* Secondi / 60 =minuti
* Minuti / 60 =ore
* Ore / 24 =giorni
| Set di personaggi | Lento (1.000/sec) | Moderato (1.000.000/sec) |
| --------------------------- | -------------------- | --------------------------- |
| Minuscolo (26) | 3,8 minuti | 0,228 millisecondi |
| Lettere (52) | 1,01 ore | 3.65 microsecondi |
| Lettere e numeri (62) | 2,05 ore | 7.38 microsecondi |
| Lettere, ecc. (95) | 11,3 ore | 40,72 microsecondi |
Considerazioni importanti:
* Algoritmi di hashing: Il tipo di algoritmo di hashing utilizzato per archiviare la password influisce in modo significativo sui tempi di cracking. Algoritmi di hash salting e forti come BCrypt, Argon2 o Scrypt rendono molto più difficile il crack, anche con un potente hardware. I calcoli sopra ritengono che l'attaccante possa testare direttamente le password. Se la password è ben perseguitata, devono eseguire il calcolo di hashing per ogni ipotesi, che rallenta drasticamente le cose.
* Attacchi del dizionario: Invece di forconi bruti, gli aggressori spesso provano prima parole, nomi e schemi comuni. Questo può essere molto più veloce.
* Tabelle arcobaleno: Le tabelle pre-computate di hash possono accelerare il cracking, in particolare per algoritmi di hashing più deboli.
* Limitazione della velocità: Molti sistemi implementano la limitazione della tariffa, che limita il numero di tentativi di password consentiti in un determinato periodo di tempo. Questo rallenta efficacemente gli attacchi di forza bruta.
in conclusione:
Una password di 4 caratteri può essere rotta molto rapidamente con hardware moderno, soprattutto se utilizza un set di caratteri piccolo (come solo lettere minuscole) e/o se l'hashing della password è debole. Una password con un set di caratteri più grandi (inclusi numeri e simboli) richiederà più tempo, ma può comunque essere vulnerabile. Questo è il motivo per cui i consigli sulle password moderni sono per password molto più lunghe e l'uso di algoritmi di hashing forti e ben saldati.
Domanda © www.354353.com