Brute-Force-Methode
aus Wikipedia, der freien Enzyklopädie
Die Brute-Force-Methode (von engl. brute = animalisch, brutal und force = Kraft, Macht) (deutsch: Methode der rohen Gewalt, auch: Exhaustionsmethode) ist eine Lösungsmethode für Probleme aus den Bereichen Informatik, Kryptologie und Spieltheorie, die auf dem erschöpfenden Ausprobieren aller (oder zumindest vieler) möglicher Fälle beruht.
Inhaltsverzeichnis |
[Bearbeiten] Informatik
Für viele Probleme in der Informatik gibt es keine effizienten Algorithmen. 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“ (engl. „brute force search“).
Die Brute-Force-Suche ist einfach zu implementieren und ist 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 „Knacken“ von Passwörtern.
Oft sind Passwörter als Hash-Funktionen verschlüsselt. Eine Berechnung des Passworts aus dem Hash-Wert ist nicht möglich. Ein „Cracker“ kann jedoch die Hash-Werte vieler Passwörter berechnen. Stimmt ein Wert mit dem Wert des hinterlegten Passwortes überein, hat er das (oder ein) passendes Passwort gefunden. Brute Force bedeutet hier also simples Ausprobieren von möglichen Passwörtern.
Aus dem oben genannten Zusammenhang zwischen Umfang des Problemes 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) die Aufwändigkeit des Brute-Forcens schnell ansteigt. Die Methode ist in der Praxis häufig erfolgreich, da die meisten Benutzer kurze und einfache, damit unsichere, Passwörter verwenden. Schon auf einem handelsüblichen Computer können mehrere hunderttausend Passwörter pro Sekunde ausprobiert werden.
Wird die Anzahl der auszuprobierenden Passwörter durch Reduktion der Möglichkeiten auf Einträge aus einem „Wörterbuch“ (bzw. Zusammensetzungen derer) eingeschränkt, spricht man auch von einem Wörterbuchangriff (engl. „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.
[Bearbeiten] Kryptologie
In der Kryptanalyse (auch: „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, sehr schnell 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ären. Allerdings gelten früher als sicher eingestufte Verfahren und Schlüssellängen heute als unsicher, da der Rechenaufwand eines Brute-Force-Angriffs mit neuer, leistungsfähiger und günstiger Hardware praktisch durchführbar geworden ist.
[Bearbeiten] Spieltheorie
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 Hardware dieser Methode eine natürliche Grenze.
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.