Brute-Force-Methode

aus Wikipedia, der freien Enzyklopädie
(Weitergeleitet von Bruteforce)
Wechseln zu: Navigation, Suche
Brute-Force ist eine Weiterleitung auf diesen Artikel. Für den Film mit dem gleichnamigen Originaltitel siehe Zelle R 17.

Die Brute-Force-Methode (von englisch brute force ‚rohe Gewalt‘) bzw. Methode der rohen Gewalt, auch Exhaustionsmethode (von lateinisch exhaurire ‚ausschöpfen‘), ist eine Lösungsmethode für Probleme aus den Bereichen Informatik, Kryptologie und Spieltheorie, die auf dem Ausprobieren aller (oder zumindest vieler) möglichen Fälle beruht. Auch der Begriff erschöpfende Suche (engl. exhaustive search) ist in Gebrauch.

Informatik[Bearbeiten]

Für viele Probleme in der Informatik sind keine effizienten Algorithmen bekannt. Der natürlichste und einfachste Ansatz zu einer algorithmischen Lösung eines Problems besteht darin, einfach alle potenziellen Lösungen durchzuprobieren, bis die richtige gefunden ist. Diese Methode nennt man „Brute-Force-Suche“ (englisch brute-force search).

Die Brute-Force-Suche ist einfach zu implementieren und dazu bestimmt, die korrekte Lösung zu finden. Allerdings steigt der Aufwand an Rechenoperationen proportional zur Anzahl der zu probierenden, möglichen Lösungen, wobei die Anzahl dieser möglichen Lösungen mit steigendem Umfang der Probleme häufig exponentiell ansteigt.

Ein wichtiger Anwendungsbereich findet sich in der Computersicherheit. Ein oft angeführtes Anwendungsbeispiel für die Brute-Force-Methode ist hier das Brechen oder umgangssprachlich „Knacken“ von Passwörtern.

Oft sind Passwörter mit Hilfe von kryptographischen Hashfunktionen verschlüsselt. Eine direkte Berechnung des Passworts aus dem Hashwert ist praktisch nicht möglich. Ein Cracker kann jedoch die Hashwerte vieler Passwörter berechnen. Stimmt ein Wert mit dem Wert des hinterlegten Passwortes überein, hat er das (oder ein anderes, zufällig passendes) Passwort gefunden. Brute Force bedeutet hier also simples Ausprobieren von möglichen Passwörtern. Vordefinierte Hashlisten häufig verwendeter Passwörter nennt man Rainbow Table.

Aus dem oben genannten Zusammenhang zwischen Umfang des Problems und benötigten Rechenoperationen lässt sich für das Beispiel des „Passwortknackens“ der Schluss ziehen, dass mit steigender Passwortlänge oder steigender Anzahl an möglicherweise im Passwort vorhandenen Zeichen (Alphabet ohne Zahlen, mit Zahlen, mit Sonderzeichen) der Aufwand der Brute-Force-Methode schnell ansteigt. Die Methode ist in der Praxis häufig erfolgreich, da die meisten Benutzer kurze und einfache, damit unsichere Passwörter verwenden. Mit entsprechenden Werkzeugen können schon auf handelsüblichen Mittelklasse-Computern Millionen Passwörter je Sekunde ausprobiert werden.

Wird die Anzahl der auszuprobierenden Passwörter durch Reduktion der Möglichkeiten auf Einträge aus einem „Wörterbuch“ (oder Zusammensetzungen derer) eingeschränkt, spricht man auch von einem Wörterbuchangriff (englisch dictionary attack).

Aufgrund der schnell steigenden Rechenleistung heutiger Rechner können diese zunehmend mehr Möglichkeiten pro Zeiteinheit durchprobieren. Somit sind immer längere Passwörter oder solche aus einer größeren Vielzahl an verwendeten Zeichen für einen ausreichenden Schutz gegen die Brute-Force-Methode erforderlich.

Gegenmaßnahmen beinhalten unter anderem die Verwendung von Key-Stretching oder Salts. Beim Key-Stretching wird durch wiederholte Iteration eines Hashes (PBKDF2) oder durch komplizierte Vorbereitungsmaßnahmen für die Ausführung eines Algorithmus (bcrypt) die Rechenzeit zur Berechnung des finalen Hashwertes vergrößert, oder durch intensiven Speichergebrauch die Ausführung auf schnellen ASICs oder FPGAs, die beide nur über vernachlässigbaren Speicher verfügen, verhindert (scrypt[1]). Der Salt, der mit dem Passwort konkateniert wird, dient dazu, die Erstellung von Rainbow-Tables durch Vergrößerung des Urbildbereichs zu verhindern. Der Schlüssel wird also durch gewisse Methoden „gestreckt“, sodass ein Passwort mit Key-Stretching mit geringerer Komplexität dennoch rechenäquivalent zu einem komplexeren Passwort ohne Key-Stretching ist.

Eine andere Gegenmaßnahme besteht in der Verwendung extrem langer, zufällig generierter Passwörter, die man sich nicht mehr merkt sondern in einer Kennwortverwaltung hinterlegt. Auf diese Weise reduziert man die Zahl der für Brute Force anfälligen Schwachstellen auf eine einzige, nämlich das Hauptkennwort der Kennwortverwaltung.

In der Praxis werden Brute-Force Angriffe auch dadurch erschwert, dass die Zahl der Versuche begrenzt ist und nach einigen erfolglosen Passworteingaben der Zugang gesperrt wird oder weitere Versuche erst nach einer Wartezeit möglich sind.[2] Trotzdem wurde im September 2014 bekannt, dass z.B. Apple in seiner icloud längere Zeit solche einfachen Maßnahmen nicht implementiert hatte und zumindest einfache Brute-Force Attacken möglich waren.[3] [4]

Kryptologie[Bearbeiten]

In der Kryptoanalyse, also dem Teilgebiet der Kryptologie, das sich mit der Entzifferung von verschlüsselten Geheimtexten befasst, kann die Methode verwendet werden, um alle möglichen Schlüssel „exhaustiv“, das heißt erschöpfend durchzuprobieren. Man spricht bei dieser vollständigen Schlüsselsuche von einem „Brute-Force-Angriff“ (engl. brute force attack) oder auch von der „Exhaustionsmethode“.

Die Reihenfolge der Probe-Schlüssel wird gegebenenfalls nach ihrer Wahrscheinlichkeit ausgewählt. Dies ist jedoch bei (pseudo-) zufällig generierten Schlüsseln wenig hilfreich. Die Schlüssellänge spielt eine entscheidende Rolle: Mit zunehmender Länge des Schlüssels steigt der Umfang des Schlüsselraums, also der Menge aller möglichen Schlüssel, exponentiell an. Es ist hier nach den Regeln der Wahrscheinlichkeit zu erwarten, dass im Mittel die Hälfte aller möglichen Schlüssel des Schlüsselraums ausprobiert werden muss, bis der verwendete Schlüssel gefunden ist.

Angriffe dieser Art auf moderne Verschlüsselungsalgorithmen bei Verwendung ausreichend langer Schlüssel sind in der Praxis aussichtslos, da der erforderliche Rechenaufwand (und damit Zeit- und/oder Kostenaufwand) zu groß wäre. Da die Leistung moderner Hardware immer mehr steigt und sich der Zeitaufwand für das Durchprobieren aller Schlüssel einer bestimmten Länge dadurch erheblich reduziert, muss die minimale Schlüssellänge ausreichend groß gewählt werden, um einen Angriff durch Exhaustion sicher zum Scheitern zu verurteilen.

Spieltheorie[Bearbeiten]

In der Spieltheorie, beispielsweise beim Computer-Schach, ist die Brute-Force-Methode eine Strategie, in der der Variantenbaum bis zu einer gewissen Tiefe vollständig durchsucht und analysiert wird. Eine Bewertungsfunktion für jede der dabei auftretenden Stellungen dient dabei zur Entscheidungsfindung für den besten Zug.

Der Aufwand für die Brute-Force-Methode wächst exponentiell mit der verwendeten Maximaltiefe der Stellungssuche. Damit setzt auch hier die jeweilige Leistung der Hardware dieser Methode ihre Grenzen.

Die Brute-Force-Methode kann durch unterschiedliche Ansätze verfeinert werden, wodurch erhebliche Verbesserungen erreicht werden können. Ein Beispiel ist die Alpha-Beta-Suche. Dabei wird berücksichtigt, ob beim Schachspiel ein Zug in einer bestimmten Suchtiefe durch einen bestimmten Gegenzug widerlegt werden kann. Wird dies erkannt, dann ist es sinnlos, nach noch besseren Widerlegungen zu suchen. Auf diese Weise kann viel Rechenzeit eingespart werden.

Eine andere Methode ist, ab einer gewissen Tiefe nur noch „forcierte“ Abwicklungen zu betrachten. Im Schach wären dies etwa Schachgebote oder Schlagzüge.

Weblinks[Bearbeiten]

Einzelnachweise[Bearbeiten]

  1. https://www.tarsnap.com/scrypt.html
  2. Die Kunst der Täuschung. mitp/bhv, 10 July 2012, ISBN 978-3-8266-8689-4, S. 343.
  3. http://www.dailydot.com/technology/apple-icloud-brute-force-attack-march/
  4. http://www.golem.de/news/find-my-iphone-apple-weiss-seit-monaten-von-icloud-schwachstelle-1409-109448.html