Cum funcționează atacurile de tip brute-force
De ce contează lungimea: exemple de calcul și măsuri de protecție.
În cazul atacurilor de tip brute-force atacatorii încearcă să ghicească o parolă prin testarea sistematică a tuturor combinațiilor posibile de caractere. Ideea de bază este simplă: testarea a cât mai multor combinații pe secundă – ideal pe GPU-uri sau în sisteme distribuite. Se vorbește și despre o căutare exhaustivă (căutare exhaustivă).
În practică, astfel de atacuri sunt, din păcate, adesea reușite, deoarece multe parole sunt prea scurte , se limitează la puține grupuri de caractere (doar litere) sau apar în liste de cuvinte. Acest lucru reduce drastic spațiul de căutare și face ghicirea mai ușoară. Și mai important: se face distincția între atacuri online (împotriva formularelor de autentificare, unde ajută limitarea ratei/blocarea contului) și atacuri offline (împotriva hash-urilor de parole furate, unde funcția hash și puterea parolei determină timpul necesar atacului).
Spargerea parolelor (offline) ≠ „decriptare”
Parolele nu sunt decriptate, ci sunt stocate ca valori hash și apoi sunt căutate prin ghicire + hashing (Brute Force, atacuri de dicționar/de tip mască). Viteza de procesare a hardware-ului modern este în intervalul de miliarde pe secundă (pentru algoritmi hash rapizi), motiv pentru care lungi și hash-uite cu algoritmi lenți (de ex. Argon2, scrypt, PBKDF2, bcrypt) sunt esențiale.
Referință istorică și actuală: proiectul RC5 al distributed.net demonstrează forța brută a căutării exhaustive într-un spațiu de chei: 56 de biți au fost găsiți în 1997 după 250 de zile, iar 64 de biți în 2002 după 1.757 de zile. În prezent, starea proxy-ului pentru RC5-72 cca 2,38 trilioane de chei pe secundă (la data accesării: astăzi). Acesta este brute force pentru chei și nu hashing de parole – dar ilustrează cât de mult poate scala puterea de calcul distribuită.
Combinația și lungimea parolei
Exemplele următoare arată influența lungimii și a setului de caractere. Pentru ilustrare, se pornește de la 2 miliarde de încercări pe secundă (un calculator individual foarte puternic; valorile reale variază semnificativ în funcție de hardware și – în cazul offline – de algoritmul de hashing).
Grupuri tipice de caractere:
- Cifre (10: 0–9)
- Litere (52: A–Z și a–z)
- Caractere speciale (≈ 32; depinde de setul de caractere permis de serviciu)
Numărul de combinații posibile rezultă din:
Important: Tabelul arată timpul maxim de căutare. În medie, timpul real este de aproximativ jumătate. În plus, atacurile de tip dicționar, bazate pe reguli și pe măști reduc semnificativ spațiul de căutare, în timp ce metodele lente de hashing al parolelor reduc drastic rata efectivă.
| Passwort besteht aus | Mögliche Kombinationen (Formel) | Benötigte Zeit (bei 2 Mrd./s) |
|---|---|---|
| 5 Zeichen 3 Kleinbuchstaben, 2 Zahlen | (53) × 263 × 10217.576.000 | 0,009 Sekunden |
| 7 Zeichen 1 Großbuchstabe, 6 Kleinbuchstaben | (71) × 261+656.222.671.232 | ≈ 28 Sekunden |
| 8 Zeichen 4 Kleinbuchstaben, 2 Sonderzeichen, 2 Zahlen | (84) × (42) × 264 × 322 × 10219.653.623.808.000 | ≈ 2,73 Stunden |
| 9 Zeichen 2 Groß-, 3 Kleinbuchstaben, 2 Zahlen, 2 Sonderzeichen | (92) × (73) × (42) × 262+3 × 102 × 3229.197.895.942.144.000 | ≈ 53 Tage |
| 12 Zeichen 3 Groß-, 4 Kleinbuchstaben, 3 Sonderzeichen, 2 Zahlen | (123) × (94) × (53) × 263+4 × 323 × 1027,30 × 1021 | ≈ 115.591 Jahre |
| 14 Zeichen 4 Groß-, 4 Kleinbuchstaben, 3 Zahlen, 3 Sonderzeichen | (144) × (104) × (63) × 264+4 × 103 × 3232,88 × 1025 | ≈ 455.812.388 Jahre |
Concluzie: Fiecare caracter suplimentar multiplică spațiul de căutare. Lungimea bate regulile de complexitate – mai ales împotriva Atacuri offline – cu condiția ca serviciile să utilizeze algoritmi de hash adecvați și lenți cu salt.
Protecție împotriva atacurilor de tip brute force
Cea mai eficientă măsură la nivel de utilizator este o parolă principală lungă și aleatorie sau o frază de acces (de ex. mai multe cuvinte aleatorii) – unică pentru fiecare serviciu. Password Depot ajută la generare și afișează un timp estimat de atac care ia în considerare, pe lângă lungime/setul de caractere, și vulnerabilitățile din dicționar.
- Activați MFA/2FA (de ex. aplicație TOTP sau token hardware) – acolo unde este posibil, Passkeys sunt și mai bune. Consultați informațiile BSI.
- Fără reutilizarea parolelor. Fiecare cont are nevoie de propria parolă puternică.
- Mai degrabă lungime decât complexitate impusă. Serviciile ar trebui să permită parole/fraze de acces lungi (min. 64 de caractere) și să blocheze parolele compromise (listă neagră).
- Algoritmi de hash lenți pe server (de ex. Argon2, scrypt, PBKDF2, bcrypt) cu Salt și factori de lucru adecvați; hash-urile rapide precum MD5/SHA-1 sunt nepotrivite pentru stocarea parolelor.
- Rate-Limiting/Throttling și blocări: Atacurile online trebuie încetinite prin limitarea încercărilor eșuate, timpi de așteptare progresivi și, dacă este cazul, CAPTCHA.
În plus, Password Depot îngreunează tentativele de ghicire online prin blocarea temporară a câmpului de introducere a parolei principale după introduceri greșite – cu timp de așteptare în creștere în cazul tentativelor repetate eșuate.
Recomandări practice pentru furnizorii de servicii (echipe tehnice)
- Acceptați toate caracterele imprimabile, inclusiv spațiile/Unicode, și permiteți copy & paste.
- Implementați liste de blocare (parole compromise/uzuale) și limitarea ratei cu indicații clare pentru utilizatori.
- Stocați parolele exclusiv ca valori salted, hash-uite cu KDF-uri lente și verificați periodic factorii de lucru.
Surse suplimentare
- NIST SP 800–63B (Rev. 4), Appendix: Strength of Passwords – lungime, fraze de acces, atacuri offline (miliarde de hash-uri/sec.) și conceptul de limitare a ratei.
- NIST SP 800–63B (Rev. 3) – printre altele, lungime minimă, permiterea parolelor lungi (≥ 64), liste negre, permiterea lipirii; limitarea ratei/throttling cu limitare la maximum 100 de tentative consecutive eșuate.
- OWASP Password Storage Cheat Sheet – proceduri adecvate (Argon2, scrypt, PBKDF2, bcrypt), salt/factori de lucru.
- OWASP Authentication Cheat Sheet – orientări privind introducerea parolei, lungimea, listele negre și mecanismele de blocare.
- BSI: Crearea de parole sigure – inclusiv parole lungi/complexe și fraze-parolă; sfaturi practice.
- BSI‑Presă 31.01.2025 – fără schimbări periodice forțate ale parolei; preferați 2FA/Passkeys.
- distributed.net RC5 / starea actuală a proxy-ului – exemplu ilustrativ pentru căutarea exhaustivă și puterea de calcul distribuită.
Crearea de parole sigure
Aflați cum să creați parole care rezistă atacurilor de tip brute-force.
Sfaturi pentru parole sigure