Så fungerar brute force-attacker

Varför längden är viktig: beräkningsexempel och motåtgärder.

Vid brute force-attacker försöker angripare gissa ett lösenord genom att systematiskt prova alla möjliga teckenkombinationer. Grundidén är enkel: testa så många kombinationer som möjligt per sekund – helst på GPU:er eller i distribuerade system. Man talar också om en utmattande sökning (exhaustive search).

I praktiken är sådana attacker tyvärr ofta framgångsrika, eftersom många lösenord är för korta, begränsas till få teckengrupper (endast bokstäver) eller förekommer i ordlistor. Detta minskar sökområdet drastiskt och gör det lättare att gissa. Ännu viktigare: Man skiljer mellan onlineattacker (mot inloggningsformulär, där hjälper hastighetsbegränsning/kontospärrar) och offlineattacker (mot stulna lösenordshashar, där avgör hashfunktionen och lösenordets styrka attacktiden).

Att knäcka lösenord (offline) ≠ ”dekryptera”

Lösenord dekrypteras inte, utan lagras som hashvärden och sökes sedan med gissning + hashing</ em> (brute force, ordboks-/maskattacker). Den beräkningshastigheten hos modern hårdvara ligger i miljardområdet per sekund (för snabba hash-procedurer), varför långa och med långsamma metoder (t.ex. Argon2, scrypt, PBKDF2, bcrypt) hashade lösenord avgörande.

Kombination och längd på lösenordet

Följande exempel visar påverkan av längd och teckenval. För att illustrera detta beräknas 2 miljarder försök per sekund (mycket kraftfull enskild dator; verkliga värden varierar kraftigt beroende på hårdvara och – i offlinefall – hashmetod).

Typiska teckengrupper:

  • Siffror (10: 0–9)
  • Bokstäver (52: A–Z och a–z)
  • Specialtecken (≈ 32; beror på tjänstens tillåtna teckenuppsättning)

Antalet möjliga kombinationer beräknas enligt följande:

Möjliga kombinationer = (teckensnitt)lösenordets längd

Viktigt: Tabellen visar den maximala söktiden. I genomsnitt är den faktiska tiden ungefär hälften så lång. Dessutom minskar ordboks-, regel- och maskattacker sökområdet avsevärt, medan långsamma lösenordshashmetoder drastiskt sänker den effektiva hastigheten.

Lösenordet består av Möjliga kombinationer (formel) Tid som krävs (vid 2 miljarder/sekund)

5 tecken
(3 små bokstäver,
2 siffror)

( 53) × 263 × 102 =
17 576 000

17 576 000 / 2 000 000 000 =
0,008788 sekunder

7 tecken
(1 versal,
6 gemener)

( 71) × 261+6 =
56 222 671 232

56 222 671 232 / 2 000 000 000 =
28,111335616 sekunder

8 tecken
(4 små bokstäver,
2 specialtecken,
2 siffror)

( 84) × ( 42 ) × 264 × 322 × 102 =
19 653 623 808 000

19 653 623 808 000 / 2 000 000 000 =
9 826,811904 sekunder =
≈ 2,73 timmar

9 tecken
(2 versaler,
3 gemener,
2 siffror,
2 specialtecken)

( 92 ) × ( 73) × ( 42 ) × 262+3 × 102 × 322 =
9 197 895 942 144 000

9 197 895 942 144 000 / 2 000 000 000 =
4 598 947,971072 sekunder =
≈ 53,23 dagar

12 tecken
(3 versaler,
4 gemener,
3 specialtecken,
2 siffror)

( 123) × ( 94 ) × ( 53) × 263+4 × 323 × 102 =
7 295 525 784 083 496 960 000

7 295 525 784 083 496 960 000 / 2 000 000 000 =
3 647 762 892 041,74848 sekunder =
≈ 115 590,63 år

14 tecken
(4 stora bokstäver,
4 små bokstäver,
3 siffror,
3 specialtecken)

( 144 ) × ( 104) × ( 63 ) × 264+4 × 103 × 323 =
28 768 690 008 569 256 345 600 000

28 768 690 008 569 256 345 600 000 / 2 000 000 000 =
14 384 345 004 284 628,1728 sekunder =
≈ 455 812 387,64 år

Slutsats: Varje extra tecken multiplicerar sökområdet. Längd slår komplexitetsregler – särskilt mot offline-attacker – förutsatt att tjänster använder lämpliga, långsamma hash-metoder med salt.

Skydd mot brute force-attacker

Den mest effektiva åtgärden för användaren är ett långt, slumpmässigt huvudlösenord eller en lösenfras (t.ex. flera slumpmässiga ord) – unikt för varje tjänst. Password Depot hjälper till med genereringen och visar en uppskattad attacktid som förutom längd/teckensnitt även tar hänsyn till svagheter i ordboken.

  • Aktivera MFA/2FA (t.ex. TOTP-app eller hårdvarutoken) – där det är möjligt är passkeys ännu bättre. Se BSI-anvisningar.
  • Ingen återanvändning av lösenord. Varje konto behöver ett eget, starkt lösenord.
  • Långa lösenord istället för obligatorisk komplexitet. Tjänster bör tillåta långa lösenord/lösenordsfraser (minst 64 tecken) och blockera komprometterade lösenord (svartlista).
  • Långsamma hashmetoder på serversidan (t.ex. Argon2, scrypt, PBKDF2, bcrypt) med salt och lämpliga arbetsfaktorer; snabba hashmetoder som MD5/SHA-1 är olämpliga för lösenordslagring.
  • Rate‑Limiting/Throttling & Sperren: Onlineattacker måste bromsas genom begränsade felaktiga försök, progressiva väntetider och eventuellt CAPTCHA.

Dessutom försvårar Password Depot Online försök till hastighetsbegränsning genom att inmatningsmasken för huvudlösenordet spärras kort efter felaktiga inmatningar – med ökande väntetid vid upprepade felaktiga inmatningar.

Ytterligare källor