Kako funkcioniraju Brute‑Force napadi
Zašto je duljina važna: primjeri izračuna i protumjere.
Kod Brute‑Force napada napadači pokušavaju pogoditi lozinku sustavnim isprobavanjem svih mogućih kombinacija znakova. Osnovna ideja je jednostavna: testirati što više kombinacija u sekundi – idealno na GPU-ovima ili u distribuiranim sustavima. To se naziva i iscrpnim pretraživanjem (iscrpno pretraživanje).
U praksi su takvi napadi nažalost često uspješni jer su mnoge lozinke prekratke , ograničene na mali broj skupina znakova (samo slova) ili se pojavljuju u popisima riječi. To drastično smanjuje prostor pretraživanja i olakšava pogađanje. Još važnije: razlikuju se online napadi (na obrasce za prijavu; tu pomažu rate limiting/blokade računa) i offline napadi (na ukradene hash vrijednosti lozinki; tu o vremenu potrebnom za napad odlučuju hash funkcija i jačina lozinke).
Razbijanje lozinki (offline) ≠ „dešifriranje“
Lozinke se ne dešifriraju, nego se pohranjuju kao hash vrijednosti i zatim traže metodom pogađanja + hashiranja (Brute Force, rječnički/maskirani napadi). Brzina računanja moderne opreme iznosi u milijardama u sekundi (za brze hash postupke), zbog čega su duge i sporim postupcima (npr. Argon2, scrypt, PBKDF2, bcrypt) hashirane lozinke presudne.
Povijesni i aktualni kontekst: RC5 projekt distributed.net demonstrira sirovu snagu iscrpnog pretraživanja na prostoru ključeva: 56-bitni ključ pronađen je 1997. nakon 250 dana, a 64-bitni 2002. nakon 1.757 dana. Trenutačno status proxyja za RC5-72 oko 2,38 bilijuna ključeva u sekundi (stanje: pristupljeno danas). To je brute-force napad na ključeve a ne hashiranje lozinki – ali zorno pokazuje koliko se distribuirana računalna snaga može skalirati.
Kombinacija i duljina lozinke
Sljedeći primjeri pokazuju utjecaj duljine i odabira znakova. Za ilustraciju se računa s 2 milijarde pokušaja u sekundi (vrlo snažno pojedinačno računalo; stvarne vrijednosti znatno variraju ovisno o hardveru i – u offline slučaju – postupku hashiranja).
Tipične skupine znakova:
- Brojevi (10: 0–9)
- Slova (52: A–Z i a–z)
- Posebni znakovi (≈ 32; ovisi o dopuštenom skupu znakova usluge)
Broj mogućih kombinacija dobiva se iz:
Važno: Tablica prikazuje maksimalno vrijeme pretraživanja. U prosjeku je stvarno vrijeme otprilike upola kraće. Osim toga, rječnički napadi te napadi pravilima i maskama znatno smanjuju prostor pretraživanja, dok spori postupci hashiranja lozinki efektivnu brzinu drastično smanjuju.
| 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 |
Zaključak: Svaki dodatni znak višestruko povećava prostor pretraživanja. Duljina nadmašuje pravila složenosti – osobito protiv Offline‑napadi – pod uvjetom da servisi koriste odgovarajuće, spore hash algoritme sa Salt.
Zaštita od Brute‑Force napada
Najučinkovitija mjera korisnika je dugačka, nasumična glavna lozinka odnosno lozinka u obliku fraze (npr. nekoliko nasumičnih riječi) – jedinstvena za svaki servis. Password Depot pomaže pri generiranju i prikazuje procijenjeno vrijeme napada koje uz duljinu/skup znakova uzima u obzir i slabosti povezane s rječnikom.
- Aktivirajte MFA/2FA (npr. TOTP aplikaciju ili hardverski token) – gdje je moguće, Passkeys su još bolji. Pogledajte upute BSI-ja.
- Bez ponovne upotrebe lozinki. Svaki račun treba vlastitu, snažnu lozinku.
- Duljina umjesto obavezne složenosti. Servisi bi trebali dopuštati duge lozinke/lozinke u obliku fraze (najmanje 64 znaka) i blokirati kompromitirane lozinke (blacklist).
- Spori hash algoritmi na strani poslužitelja (npr. Argon2, scrypt, PBKDF2, bcrypt) sa Salt i odgovarajućim faktorima rada; brzi hash algoritmi poput MD5/SHA‑1 nisu prikladni za pohranu lozinki.
- Rate‑Limiting/Throttling i zaključavanje: Online‑napade treba usporiti ograničenim brojem neuspjelih pokušaja, progresivnim vremenima čekanja i po potrebi CAPTCHA-om.
Osim toga, Password Depot otežava online pokušaje pogađanja lozinke tako što se nakon pogrešnih unosa obrazac za unos glavne lozinke nakratko zaključava – uz sve dulje vrijeme čekanja pri ponovljenim neuspjelim pokušajima.
Praktične smjernice za pružatelje usluga (tehničke timove)
- Prihvatite sve ispisive znakove, uključujući razmake/Unicode, i omogućite copy-&-paste.
- Implementirajte blok-liste (kompromitirane/uobičajene lozinke) i rate limiting uz jasne upute za korisnike.
- Pohranjujte lozinke isključivo kao saltirane, hashirane vrijednosti s sporim KDF-ovima i redovito provjeravajte work faktore.
Dodatni izvori
- NIST SP 800–63B (Rev. 4), Appendix: Strength of Passwords – duljina, pristupne fraze, offline napadi (milijarde hashova/sek.) i koncept rate limitinga.
- NIST SP 800–63B (Rev. 3) – između ostalog minimalna duljina, dopustiti duge lozinke (≥ 64), blockliste, omogućiti lijepljenje; Rate-Limiting/Throttling s ograničenjem na najviše 100 uzastopnih neuspjelih pokušaja.
- OWASP Password Storage Cheat Sheet – prikladne metode (Argon2, scrypt, PBKDF2, bcrypt), salt/work faktori.
- OWASP Authentication Cheat Sheet – smjernice za unos lozinke, duljinu, blockliste i mehanizme zaključavanja.
- BSI: Izrada sigurnih lozinki – uključujući duge/složene lozinke i pristupne fraze; praktični savjeti.
- BSI – priopćenje za medije 31.01.2025 – bez prisilnih redovitih promjena lozinki; prednost dati 2FA/Passkeys.
- distributed.net RC5 / trenutačni status proxyja – ogledni primjer za iscrpno pretraživanje i distribuiranu računalnu snagu.
Izrada sigurnih lozinki
Saznajte kako izraditi lozinke koje mogu odoljeti Brute-Force napadima.
Savjeti za sigurne lozinke