Sådan fungerer brute force-angreb
Hvorfor længden er vigtig: Beregningseksempler og modforanstaltninger.
Ved brute force-angreb forsøger angribere at gætte et kodeord ved systematisk at afprøve alle mulige tegnkombinationer. Den bagvedliggende idé er enkel: at afprøve så mange kombinationer som muligt pr. sekund – ideelt set på GPU'er eller i distribuerede systemer. Man taler også om en udtømmende søgning (exhaustive search).
I praksis er sådanne angreb desværre ofte succesfulde, fordi mange adgangskoder er for korte, er begrænset til få tegn (kun bogstaver) eller findes i ordlister. Dette reducerer søgeområdet drastisk og gør det lettere at gætte. Endnu vigtigere: Man skelner mellem online-angreb (mod login-formularer, hvor rate-begrænsning/kontospærring hjælper) og offline-angreb (mod stjålne adgangskode-hashes, hvor hash-funktionen og adgangskodens styrke afgør angrebstiden).
At knække adgangskoder (offline) ≠ »dekryptere«
Adgangskoder bliver ikke dekrypteret, men gemt som hashværdier og derefter søges med gætning + hashing</ em> (brute force, ordbogs-/maskeangreb). Den beregningshastighed for moderne hardware ligger i milliarder pr. sekund (for hurtige hash-procedurer), hvorfor lange og med langsomme procedurer (f.eks. Argon2, scrypt, PBKDF2, bcrypt) adgangskoder er afgørende.
Kombination og længde af passwordet
Følgende eksempler viser indflydelsen af længde og tegnsvalg. Til illustration beregnes der med 2 milliarder forsøg pr. sekund (meget kraftig enkeltcomputer; reelle værdier varierer stærkt afhængigt af hardware og – i offline-tilfælde – hash-procedure).
Typiske tegn grupper:
- Tal (10: 0–9)
- Bogstaver (52: A–Z og a–z)
- Specialtegn (≈ 32; afhænger af den tilladte tegnsæt for tjenesten)
Antallet af mulige kombinationer beregnes som følger:
Mulige kombinationer = (tegnmængde)adgangskodelængde
Vigtigt: Tabellen viser den maksimale søgetid. I gennemsnit er den faktiske tid cirka halvdelen. Desuden reducerer ordbogs-, regel- og maskeangreb søgeområdet betydeligt, mens langsomme adgangskode-hashprocedurer sænker den effektive hastighed drastisk.
| Adgangskoden består af | Mulige kombinationer (formel) | Nødvendig tid (ved 2 mia./s) |
|---|---|---|
|
5 tegn |
( 53) ×
263 × 102 = |
17.576.000 / 2.000.000.000 = |
|
7 tegn |
( 71) ×
261+6 = |
56.222.671.232 / 2.000.000.000 = |
|
8 tegn |
( 84) × ( 42 ) × 264
× 322 × 102 = |
19.653.623.808.000 / 2.000.000.000 = |
|
9 tegn |
( 92 ) × ( 73) × ( 42 ) ×
262+3 × 102 × 322 = |
9.197.895.942.144.000 / 2.000.000.000 = |
|
12 tegn |
( 123) × ( 94 ) × ( 53) ×
263+4 × 323 × 102 = |
7.295.525.784.083.496.960.000 / 2.000.000.000 = |
|
14 tegn |
( 144 ) × (
104) × ( 63 ) ×
264+4 × 103 × 323 = |
28.768.690.008.569.256.345.600.000 / 2.000.000.000 = |
Konklusion: Hvert ekstra tegn mangedobler søgeområdet. Længde slår kompleksitetsregler – især mod offline-angreb – forudsat at tjenester bruger egnede, langsomme hash-metoder med salt.
Beskyttelse mod brute force-angreb
Den mest effektive brugerforanstaltning er en lang, tilfældig masteradgangskode eller en adgangskodefrase (f.eks. flere tilfældige ord) – unik for hver tjeneste. Password Depot hjælper med genereringen og viser en anslået angrebstid, der ud over længde/tegnsæt også tager højde for svagheder i ordbogen.
- Aktivér MFA/2FA (f.eks. TOTP-app eller hardwaretoken) – hvor det er muligt, er adgangskoder endnu bedre. Se BSI-henvisninger.
- Ingen genbrug af adgangskoder. Hver konto skal have sin egen stærke adgangskode.
- Lang i stedet for obligatorisk kompleksitet. Tjenester bør tillade lange adgangskoder/adgangssætninger (mindst 64 tegn) og blokere kompromitterede adgangskoder (sortliste).
- Langsom hash-metode på serversiden (f.eks. Argon2, scrypt, PBKDF2, bcrypt) med salt og passende arbejdsfaktorer; hurtige hashes som MD5/SHA-1 er uegnede til adgangskodelagring.
- Ratebegrænsning/throttling og spærring: Onlineangreb skal bremses ved hjælp af begrænsede fejltilfælde, progressive ventetider og eventuelt CAPTCHA.
Derudover vanskeliggør Password Depot Online rateforsøg ved efter forkerte indtastninger kortvarigt at spærre indtastningsmasken for masteradgangskoden – med stigende ventetid ved gentagne fejlagtige forsøg.
Yderligere kilder
- NIST SP 800‑63B (Rev. 4), Appendix: Strength of Passwords – Længde, adgangskoder, offlineangreb (milliarder hashes/sek.) og ratebegrænsningskoncept.
- NIST SP 800‑63B (Rev. 3) – bl. a. minimumslængde, tilladelse af lange adgangskoder (≥ 64), sortlister, tilladelse af indsættelse; Rate‑Limiting/Throttling med begrænsning til maks. 100 på hinanden følgende fejlagtige forsøg.
- OWASP Password Storage Cheat Sheet – egnede procedurer (Argon2, scrypt, PBKDF2, bcrypt), salt/work-faktorer.
- OWASP Authentication Cheat Sheet – Retningslinjer for adgangskodeindtastning, længde, blacklister og spærringsmekanismer.
- BSI: Opret sikre adgangskoder – bl.a. lange/komplekse adgangskoder og adgangssætninger; praktiske tips.
- BSI-pressemeddelelse 31.01.2025 – ingen tvungne regelmæssige adgangskodeskift; foretræk 2FA/adgangskoder.
- distributed.net RC5 / aktuel proxy-status – Eksempel på udtømmende søgning og distribueret regnekraft.