Know-how / Wachtwoordbeveiliging

Zo werken brute-force-aanvallen

Waarom lengte telt: rekenvoorbeelden en tegenmaatregelen.

Bij brute-force-aanvallen proberen aanvallers een wachtwoord te raden door systematisch alle mogelijke tekencombinaties uit te proberen. Het onderliggende idee is eenvoudig: zo veel mogelijk combinaties per seconde testen – idealiter op GPU's of in gedistribueerde systemen. Dit wordt ook wel een uitputtende zoekactie (uitputtende zoekmethode).

In de praktijk zijn zulke aanvallen helaas vaak succesvol, omdat veel wachtwoorden te kort zijn, uit slechts enkele tekengroepen bestaan (alleen letters) of in woordenlijsten voorkomen. Dat verkleint de zoekruimte drastisch en maakt raden eenvoudiger. Nog belangrijker: er wordt onderscheid gemaakt tussen online-aanvallen (tegen loginformulieren; daar helpen rate limiting/accountvergrendelingen) en offline-aanvallen (tegen gestolen wachtwoordhashes; daar bepalen de hashfunctie en de wachtwoordsterkte de aanvalstijd).

Wachtwoorden kraken (offline) ≠ ‘decrypten’

Wachtwoorden worden niet gedecrypt, maar als hashwaarden opgeslagen en vervolgens met raden + hashen (brute force, woordenboek-/maskeraanvallen) gezocht. De rekensnelheid van moderne hardware ligt in de miljarden per seconde (voor snelle hashmethoden), waardoor lange en met trage methoden (bijv. Argon2, scrypt, PBKDF2, bcrypt) gehashte wachtwoorden doorslaggevend zijn.

Historische & actuele context: Het RC5-project van distributed.net demonstreert de ruwe kracht van uitputtend zoeken in een sleutelruimte: 56-bit werd in 1997 na 250 dagen gevonden, 64-bit in 2002 na 1.757 dagen. Momenteel toont de proxystatus voor RC5-72 ca. 2,38 biljoen sleutels per seconde (stand: opgevraagd op de huidige dag). Dit is bruteforce op sleutels en geen wachtwoord-hashing – maar het laat wel zien hoe sterk gedistribueerde rekenkracht schaalt.

Combinatie en lengte van het wachtwoord

De volgende voorbeelden tonen de invloed van lengte en tekenkeuze. Ter illustratie wordt gerekend met 2 miljard pogingen per seconde (zeer krachtige afzonderlijke computer; werkelijke waarden variëren sterk afhankelijk van de hardware en – in het offline-geval – de hashmethode).

Typische tekengroepen:

  • Cijfers (10: 0-9)
  • Letters (52: A-Z en a-z)
  • Speciale tekens (≈ 32; hangt af van de toegestane tekenset van de dienst)

Het aantal mogelijke combinaties wordt berekend als:

Mögliche Kombinationen = (Zeichenmenge)Passwortlänge

Belangrijk: De tabel toont de maximale zoektijd. Gemiddeld ligt de werkelijke tijd ongeveer op de helft. Bovendien verkleinen woordenboek-, regel- en maskeraanvallen de zoekruimte aanzienlijk, terwijl trage methoden voor wachtwoord-hashing de effectieve snelheid drastisch verlagen.

Passwort besteht ausMögliche Kombinationen (Formel)Benötigte Zeit (bei 2 Mrd./s)
5 Zeichen
3 Kleinbuchstaben, 2 Zahlen
(53) × 263 × 10217.576.0000,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

Conclusie: Elk extra teken vermenigvuldigt de zoekruimte. Lengte verslaat complexiteitsregels – vooral tegen Offline-aanvallen – mits diensten gebruikmaken van geschikte, trage hashmethoden met salt.

Bescherming tegen brute-force-aanvallen

De doeltreffendste maatregel voor gebruikers is een lang, willekeurig hoofdwachtwoord of een wachtwoordzin (bijv. meerdere willekeurige woorden) – uniek per dienst. Password Depot helpt bij het genereren en toont een geschatte aanvalstijd die naast lengte/tekenset ook kwetsbaarheden voor woordenboekaanvallen meeneemt.

  • MFA/2FA inschakelen (bijv. TOTP-app of hardwaretoken) – waar mogelijk zijn Passkeys nog beter. Zie BSI-richtlijnen.
  • Geen hergebruik van wachtwoorden. Voor elk account is een eigen, sterk wachtwoord nodig.
  • Liever lengte dan verplichte complexiteit. Diensten moeten lange wachtwoorden/wachtwoordzinnen toestaan (min. 64 tekens) en gecompromitteerde wachtwoorden blokkeren (blacklist).
  • Trage hashmethoden server-side (bijv. Argon2, scrypt, PBKDF2, bcrypt) met Salt en passende work factors; snelle hashes zoals MD5/SHA-1 zijn ongeschikt voor wachtwoordopslag.
  • Rate limiting/throttling & vergrendelingen: Online-aanvallen moeten worden afgeremd door een beperkt aantal mislukte pogingen, progressieve wachttijden en indien nodig CAPTCHA.

Daarnaast bemoeilijkt Password Depot online rate-pogingen door na foutieve invoer het invoerveld voor het masterwachtwoord kort te blokkeren – met oplopende wachttijd bij herhaalde mislukte pogingen.

Praktische aanwijzingen voor serviceproviders (technische teams)

  • Accepteer alle afdrukbare tekens, inclusief spaties/Unicode, en sta copy-&-paste toe.
  • Implementeer blocklists (gecompromitteerde/gangbare wachtwoorden) en rate limiting met duidelijke gebruikersinstructies.
  • Sla wachtwoorden uitsluitend op als gesalte, gehashte waarden met trage KDF's en controleer work factors regelmatig.

Verdere bronnen

Veilige wachtwoorden maken

Ontdek hoe u wachtwoorden maakt die bestand zijn tegen brute-force-aanvallen.

Tips voor veilige wachtwoorden