Begriff
Brute Force Attack
Warum wichtig?
Dieser Begriff ist ein Knoten im SengakujiWorks-Wissensnetz. Nutze Level 0 für die erste Einordnung, Level 1 für Praxis, Level 2 für technische Struktur und Level 3 für Grenzen, Fallstricke und Expertenkontext.
Wie knackt man ein Zahlenschloss (000-999), wenn man den Code nicht kennt?
Man probiert alle Zahlen aus.
000, 001, 002 ... 999.
Irgendwann muss es klappen.
Das ist Brute Force (Rohe Gewalt).
Keine Intelligenz, nur Fleiß.
Computer sind sehr schnell darin. Ein einfaches Passwort (passwort1) wird in Millisekunden erraten.
Merksatz: Eine Angriffsmethode, bei der durch systematisches Ausprobieren aller möglichen Kombinationen (z. B. von Zeichen für Passwörter) der korrekte Zugangsschlüssel ermittelt wird.
Als Verteidiger machst du es dem Angreifer schwer (Mathematik):
- Länge: Jedes Zeichen mehr erhöht den Aufwand exponentiell. 8 Zeichen sind in Stunden knackbar. 12 Zeichen dauern Jahrhunderte.
- Komplexität: Sonderzeichen vergrößern den Suchraum.
- Rate Limiting: Nach 3 falschen Versuchen sperrst du den Account für 5 Minuten. Das tötet jeden Online-Brute-Force-Angriff.
1. Dictionary Attack
Reines Brute Force (aaaa, aaab, aaac) ist dumm. Menschen nutzen echte Wörter. Hacker nutzen Wörterbücher (Listen mit Millionen häufiger Passwörter wie "123456", "iloveyou", "mustermann"). Das geht rasend schnell. Hybrid-Ansatz: Wörterbuch + Zahlen ("Sommer2023!").
2. Credential Stuffing
Hacker probieren nicht zufällige Passwörter. Sie nehmen E-Mail/Passwort-Listen aus anderen Hacks (z. B. LinkedIn Leak). Sie probieren diese Kombinationen bei Amazon, PayPal, Netflix. Da Menschen oft überall das gleiche Passwort nutzen, haben sie Erfolg. Gegenmaßnahme: 2FA (Zwei-Faktor-Authentifizierung).
3. GPU Crashing (Offline Attack)
Wenn der Hacker den Hash deines Passworts geklaut hat (Datenbank-Leak), hilft kein Rate Limiting. Er kann zu Hause auf seiner Grafikkarte (GPU) probieren. Eine moderne GPU (RTX 4090) schafft Milliarden Hashes pro Sekunde. Deshalb nutzen wir langsame Hashing-Algorithmen (Argon2, bcrypt), die absichtlich viel Rechenzeit/RAM brauchen, um GPUs auszubremsen.
1. Rainbow Tables & Salting
Brute Forcing im Offline-Szenario (GPU) erfordert, dass der Hacker für jeden Passwort-Versuch ("Apfel") den Hash generieren und mit dem Hash aus der geklauten Datenbank vergleichen muss.
Das kostet selbst bei GPUs viel Zeit.
Eine Rainbow Table ist eine vor-berechnete Tabelle von Millionen Klartext-Wörtern + fertigen Hashes. Der Hacker muss nichts mehr rechnen, er drückt STRG+F (Suchen) nach dem Hash in seiner Gigabyte-großen Tabelle.
Das Gegenmittel? Salting.
Man packt als Backend-Dev vor das gewählte Passwort des Users einen zufälligen String ("Apfel" -> "hjK8!_Apfel"). Weil das Wort für jeden User anders gewürzt ist, verpufft der Nutzen gigantischer universeller Rainbow Tables schlagartig, da der Hacker seine Tabelle jetzt nur für dein exaktes Salt für diese eine DB neu ausrechnen müsste.
2. O(n) und der Raum-Gegenwert (Entropy)
ITler berechnen die Stärke von Passwörtern mit der Entropie.
Es geht nicht um Länge, sondern um den "Pool" (die Art von Zeichen), hoch (^) die Länge.
Ein reines Ziffern-Passwort (wie eine PIN 0-9) der Länge 8 hat $10^8$ Varianten (100 Millionen). Auf einer Grafikkarte ein Witz (0.01s).
Ein alphanumerisches Passwort (a-Z, A-Z, 0-9, Symbole -> ~90 mögliche Zeichen) der Länge 12 hat $90^{12}$ Kombinationen).
Das sind 282.429.536.481.000.000.000.000 Varianten. Dafür bräuchten 100 Hochleistungs-Cluster noch jahrtausendelang Strom. Wir nennen dies kryptografisch sicher gegen Brute Force.
3. Botnets und Load Balancing beim Spraying
Für Brute-Force über das Netzwerk (beim Login von Outlook) hat das API Gateway meist ein hartes Rate Limit: "Sperre jede IP nach 5 Fails". Deshalb kaufen professionelle Hackergruppen Zugang zu Botnets (eine Million gehackter Kühlschränke und IoT (Internet of Things)-Cams). Jeder Versuch ("Max - passwort123") kommt dann parallel von einer völlig anderen globalen IP-Adresse. Für dein System sieht es nicht wie ein Angreifer aus, der hämmert (den das Rate Limit greifen würde), sondern wie Tausend verschiedene Menschen, von denen sich jeder halt nur einmal vertippt hat. Abwehr solcher Distributed-Angriffe funktioniert fast nur noch über Device-Fingerprinting oder CAPTCHAs.
Quick-Check
Wie lange dauert 8 Zeichen (a-z)?
Sekunden für einen PC.Key Stretching?
Technik, um Hashing langsamer zu machen. Man hasht das Passwort nicht 1x, sondern 100.000x (PBKDF2). Der User merkt die 0.1s Verzögerung kaum, aber der Hacker muss für jeden Versuch 100.000x mehr rechnen.Reverse Brute Force?
Password Spraying. Man probiert nicht 1000 Passwörter für einen User (fällt auf, Sperrung). Man probiert ein häufiges Passwort ("Winter2023!") für 1000 User. Oft erfolgreich und unauffällig.