What is a brute force attack?

Brute-Force-Angriffe knacken Daten, indem sie jede mögliche Kombination ausprobieren. Das ist wie bei einem Dieb, der einbricht und einen Safe knacken will, indem er jede Zahlenkombination ausprobiert.

Lernziele

Nach Lektüre dieses Artikels können Sie Folgendes:

  • Unterscheidung Brute-Force-Angriffe und komplexere Angriffe
  • Definition der Stärken und Schwächen von Brute-Force-Angriffen
  • Erklären Sie die besten Methoden zum Schutz vor Brute-Force-Angriffen

Link zum Artikel kopieren

Was ist ein Brute-Force-Angriff?

Ein Brute-Force-Angriff ist eine Versuch-und-Irrtum-Methode zur Entschlüsselung sensibler Daten. Die häufigsten Anwendungsgebiete für Brute-Force-Angriffe sind das Knacken von Passwörtern und das Knacken von Verschlüsselungscodes (lesen Sie weiter, um mehr zu Verschlüsselungscodes zu erfahren). Weitere häufige Ziele für Brute-Force-Angriffe sind API-Schlüssel und SSH-Logins. Auf Passwörter auf einer Anmeldeseite einer Website werden oft Brute-Force-Angriffe von Skripten oder Bots durchgeführt.

Was Brute-Force-Angriffe von anderen Knackverfahren unterscheidet, ist, dass Brute-Force-Angriffe keine intellektuelle Strategie anwenden; sie versuchen einfach, verschiedene Zeichenkombinationen zu verwenden, bis die richtige Kombination ermittelt wird. Das ist wie bei einem Dieb, der versucht, einen Zahlencode-Safe zu knacken, indem er jede mögliche Zahlenkombination ausprobiert, bis sich der Safe öffnet.

Was sind die Stärken und Schwächen von Brute-Force-Angriffen?

Der größte Vorteil von Brute-Force-Angriffen liegt darin, dass sie relativ einfach durchzuführen sind und bei ausreichend Zeit und fehlender Abwehrstrategie des Ziels immer funktionieren. Alle existierenden passwortgeschützten Systeme und Verschlüsselungscodes können mittels eines Brute-Force-Angriffs geknackt werden. Die Dauer, die zum gewaltsamen Eindringen in ein System benötigt wird, ist in der Tat eine nützliche Kennzahl, um das Sicherheitsniveau dieses Systems zu messen.

Andererseits sind Brute-Force-Angriffe sehr langsam, da sie jede mögliche Zeichenkombination durchlaufen müssen, bevor sie ihr Ziel erreichen. Diese Langsamkeit wird mit steigender Anzahl von Zeichen in der Zeichenkette des Ziels verstärkt (eine Zeichenkette ist lediglich eine Kombination von Zeichen). Beispielsweise dauert ein Brute-Force-Angriff bei einem vierstelligen Passwort deutlich länger als bei einem dreistelligen Passwort und bei einem fünfstelligen Passwort deutlich länger als bei einem vierstelligen Passwort. Sobald die Anzahl der Zeichen einen bestimmten Punkt überschreitet, wird ein erfolgreicher Brute-Force-Angriff auf ein ordnungsgemäß zufällig generiertes Passwort unrealistisch.

Wie lange dauert Brute-Force-Cracking

If the target string is sufficiently long, then it could take a brute force attacker days, months, or even years to decode a properly randomized password. As a result of the current trend of requiring longer passwords and encryption keys, brute force attacks are quite a bit more difficult. When good passwords and encryption are utilized, attackers typically try other methods of code breaking such as social engineering or on-path attacks.

So schützt man sich vor Brute-Force-Angriffen

Entwickler, die Autorisierungssysteme verwalten, können Vorkehrungen treffen, wie z. B. das Sperren von IP-Adressen, die zu viele fehlgeschlagene Anmeldungen verursacht haben, und das Integrieren einer Verzögerung in ihre Software zur Passwortüberprüfung. Schon eine Verzögerung von wenigen Sekunden kann die Wirksamkeit eines Brute-Force-Angriffs stark mindern.

Users of web services can decrease their vulnerability to brute force attacks by choosing longer, more complex passwords. It is also recommended to enable two-factor authentication and use unique passwords for each service. If an attacker is able to brute force a user’s password for one service, that attacker may try recycling the same login and password on many other popular services. This is known as credential stuffing.

Users should also avoid entering passwords or personal information such as credit card numbers or banking information with any web service that doesn’t protect their data with strong encryption keys.

Was ist ein Verschlüsselungscode?

Verschlüsselungscodes sind zufällig erzeugte Bitketten, die erzeugt werden, um Daten zu verschlüsseln und zu entschlüsseln. Sobald die Daten verschlüsselt wurden, erscheinen sie als eine Folge von zufälligen, ungeordneten Zeichen, bis sie mit dem richtigen Verschlüsselungscode entschlüsselt werden. Wie bei Passwörtern können auch Verschlüsselungscodes mit Brute-Force-Angriffen geknackt werden, aber heute gibt es Verschlüsselungscodes, bei denen das Knacken mit modernen Computern so lange dauern würde, dass sie als so gut wie unknackbar gelten.

Was ist der Unterschied zwischen 128-Bit-Verschlüsselung und 256-Bit-Verschlüsselung?

Ein längerer Verschlüsselungscode ist exponentiell sicherer als ein kürzerer. So gibt es z. B. bei einem 128-Bit-Verschlüsselungscode 2128 mögliche Kombinationen, die ein Brute-Force-Angreifer ausprobieren müsste. Ein Angreifer müsste bei einer 256-Bit-Verschlüsselung 2256 verschiedene Kombinationen ausprobieren, was eine 2128-mal höhere Rechenleistung erfordern würde als beim Knacken eine 128-Bit-Schlüssels! (2128 = 340.282.366.920.938.463.463.374.607.431.768.211.456 mögliche Kombinationen).

Damit Sie einen Eindruck davon erhalten, was diese Zahlen bedeuten: Ein leistungsstarker Computer, der Billionen von Kombinationen pro Sekunde überprüfen kann, bräuchte immer noch weit über eine Sexdezillion Jahre, um einen 256-Bit-Verschlüsselungsschlüssel zu knacken (eine Sexdezillion ist eine 1 gefolgt von 96 Nullen).

Da High-Bit-Verschlüsselungscodes praktisch immun gegen aktuelle Brute-Force-Angriffe sind, wird empfohlen, dass alle Webdienste, die Nutzerinformationen sammeln, ihre Daten und Kommunikationen mit 256-Bit-Verschlüsselungscodes verschlüsseln. Cloudflare verwendet die branchenführende TLS-Verschlüsselung zur Verhinderung von Brute-Force-Angriffen, und hat an Zukunftssicherungs-Projekten gegen Quantencomputing gearbeitet.