Anmelden mit
Registrieren | Anmelden

Fazit

Passwörter knacken mit GPU-Unterstützung?
Von

Der Versuch unser WinZip-Passwort zu retten hat für einige Überraschungen gesorgt. Wir leben in einer Welt, in der sichere Daten wohl doch nicht ganz so sicher sind wie geglaubt (siehe auch Sonys aktuelle Probleme mit dem PSN). Bedenkt man, dass GPUs immer leistungsfähiger werden, hat das natürlich auch Auswirkungen auf GPGPU-Berechnungen und –Anwendungen – da kann einem gerade beim Thema Passwortsicherheit schon ein wenig mulmig werden.

Früher hatte man absolut keine Möglichkeit ein zehnstelliges ASCII-Passwort in einem vernünftigen Zeitrahmen zu knacken. Dieses Unterfangen ließ sich nur mit spezieller Hardware angehen. Genau das hat die Electronic Frontier Foundation 1998 mit ihrem Deep Crack auch gemacht. Dieser aufs Passwortknacken spezialisierte Rechner kostete damals 250.000 US-Dollar und bestand aus mehr als 1800 AWT-4500-Chips, die parallel rechneten und so 90 Milliarden Passwörter pro Sekunde durchprobieren konnten.

Dieses Performance-Niveau bleibt uns auf unseren Office-Workstations leider verwehrt. Allerdings können zwei GeForce GTX 570-Karten in SLI immerhin ungefähr 1,5 Milliarden Zip 2.0-verschlüsselte Passwörter pro Sekunde ausprobieren. Im Vergleich zur Electronic Frontier Foundation ist das zwar lediglich 1/60 der Performance, die Kosten betragen mit 1/100 allerdings auch nur einen Bruchteil. Selbstverständlich vergleichen wir hier Äpfel mir Birnen. Die Zip 2.0-Verschlüsselung ist veraltet. Allerdings ist auch klar, dass massiv parallele Grafikarchitekturen auch weiterhin eine zunehmende Performance-Dichte zu Preisen ermöglichen werden, die auch für den Heimanwender erschwinglich sind. Die Zeit wird also kommen, wo man selbst mit einem Desktop-System in der Lage sein wird, 90 Milliarden Passwörter pro Sekunde durchzutesten.

Welche Lehren können wir aus dem heutigen Artikel ziehen? Zum einen sollte man von Zip 2.0 die Finger lassen. Es handelt es sich um ein älteres Verschlüsselungsschema, das nur aus Kompatibilitätsgründen unterstützt wird. Selbst WinZip empfiehlt zur Abwehr von Brute-Force-Angriffen die Verwendung von AES.

Anders sieht es bei gezielten Angriffen aus. Die meisten Anwender verwenden Passwörter, die aus Wörtern bestehen und deshalb für sogenannte Wörterbuch-Angriffe empfindlich sind. Dabei ist völlig unerheblich, welches Verschlüsselungsschema man benutzt. Die deutsche Sprache bietet einen Wortschatz zwischen 300.000 und 500.000 Wörtern. Allerdings kann man schon mit einer GeForce GTX 460 mindestens 150.000 Passwörter pro Sekunde an einem AES-Schlüssel ausprobieren. Selbst wenn man bei den Passwörtern ein paar Variationen berücksichtigt, dauert es lediglich einen Tag, bis man das sprichwörtliche Schloss geknackt hat. Das klingt erst einmal überraschend, hat aber eine simple Erklärung: Funktional gesehen kommt einem Wort die gleiche Rolle zu wie beispielsweise einem Buchstaben wie dem „a”.

Wer seine Dateien also so gut wie möglich absichern möchte, sollte folgende Punkte beachten:

  • Keine Wörter aus dem Wörterbuch. Das Oxford Englisch-Wörterbuch enthält weniger als 300.000 Einträge, wenn man die aktuell benutzten Wörter, veraltete Begriffe und abgeleitete Wörter berücksichtigt. Für eine GeForce GTX 460 ist das ein Kinderspiel.
  • Keine Zahlen am Ende des Passworts. Die Zahl 1 ans Ende des Passworts anzuhängen macht es nicht sicherer. Man hat auch mit einem Zahlenanhang das gesamte englische Wörterbuch plus Zahlen mit zwei GeForce GTX 570s in einem halben Tag durch.
  • Keine Doppelwörter oder Austausch einzelner Buchstaben. Mit PasswortPasswort verdoppelt man lediglich die Anzahl der zu suchenden Wörter. Angesichts der Geschwindigkeit, mit der man mittlerweile Dateien suchen kann, ist das auch bei doppelter Anzahl noch recht einfach. Somit ist auch p@55w0rt kein sicheres Passwort. Passwort-Hacker kennen sämtliche Abkürzungen, weshalb man darauf verzichten sollte. 
  • Keine häufige Buchstaben-Reihenfolgen auf der Tastatur. Die per Wörterbuch getesteten Worte um „qwertz“ zu ergänzen ist auch nicht sonderlich schwer. Dies ist also eine weitere Abkürzung, die es zu vermeiden gilt.
  • Keine häufigen numerischen Reihenfolgen. Man mag sich 314159 leicht merken können, denn immerhin sind das die ersten Stellen von Pi. Allerdings lässt sich auch das leicht testen.
  • Nichts mit persönlichem Bezug, wie z.B. Nummernschild, Geburtstag, frühere Telefonnummer etc. Im heutigen Zeitalter sind viele solcher Angaben öffentlich zugänglich. Bei Anwendern mit einem Facebook- oder Twitter-Account wächst die Masse an Informationen zudem stetig an.

Verschlüsselung ist immer nur so gut wie das Passwort, das sie schützt. Genau hier liegt die Schwachstelle eines symmetrischen Passworts, bei dem der Verschlüsselungs-Key genau der gleiche ist wie der Entschlüsselungs-Key. Wer sich zu den paranoiden Anwendern zählt, dem bieten wahrscheinlich Lösungen auf PGP- oder Certificate-Basis das höchste Maß an Sicherheit. Im Alltag ist das allerdings nicht besonders praktisch, es sei denn man ist bereit auf PKZIP umzusteigen. Umso wichtiger ist es, ein ausreichend langes Passwort zu wählen.

Glücklichweise ist die Mathematik unser Freund. Wer sämtliche ASCII-Zeichen benutzt, dessen Passwortstärke beträgt 94(Passwort Länge), da jedes zusätzliche Zeichen ein Passwort 94 Mal sicherer macht. Erweitert man sein Passwort also um ein paar Stellen, ist eine Brute-Force-Angriff für Hacker praktisch “rechnerisch nicht machbar”. Wenn 7.298.831.534.994.528 mögliche Kombinationen (bei einem ein- bis neunstelligen Passwort) nicht ausreichen, um dem Anwender ein Gefühl der Sicherheit zu vermitteln, dann sollte man vielleicht ein zehnstelliges Passwort in Betracht ziehen, bei dem sich Hacker an 699.823.827.359.474.784 verschiedenen Kombinationen die Zähne ausbeißen können.

Laut unseren Tests kann man mit zwei Radeon HD 6990-Karten etwas mehr als 3 Millionen Passwörter pro Sekunde an einer mit AES verschlüsselten Datei auszuprobieren. Bei dieser Geschwindigkeit würde es 7.397 Jahre dauern, bis man mit der APP-Beschleunigung von AMD sämtliche ein- bis zehnstellige Passwörter ausprobiert hat. Selbst wenn es gelänge, die für die Suche benötigte Zeit zu halbieren, hätte man noch nichts gewonnen. Um die Zeit auf unter ein Jahr zu drücken, müsste man 7.397 dieser Rechner rund um die Uhr rechnen lassen.

Wer denkt, das sei illusorisch, der irrt. Selbst der Durchschnitts-Anwender könnte künftig auf solche parallele Rechen-Power zugreifen können, denn der nächste Schritt heißt Distributed Computing (verteiltes Rechnen). Parallel Password Recovery arbeitet bereits an einer Methode, GPU-beschleunigtes Berechnungen über mehrere Clients hinweg zu ermöglichen.

Vorerst muss man sich allerdings keine allzu großen Sorgen machen, denn wie heißt es so schön? „Wo ein Wille ist, ist auch ein Weg.“ Seit es Schlösser gibt, gibt es auch jene, die versuchen, sie zu knacken. Wer etwas gerne sicher aufbewahren möchte, der muss wissen, wie leicht (oder schwer) es ist, das jeweilige Schloss zu knacken – das gilt für Wertgegenstände ebenso wie für Dateien im verschlüsselten Archiv. Genau da setzen Passwort-Recovery-Tools an. Überraschenderweise stimmt uns WinZip in dieser Hinsicht zu. Tom Vaughan, der Vizepräsident von WinZip, formuliert es so: „Ich betrachte die Hersteller von Passwort-Recovery-Tools als White Hats. Vielmehr sollten wir uns uns eben gerade um die Software Sorgen machen, von der wir gar nichts wissen (Software, die von Black Hats entwickelt wird, ist schneller und leistungsfähiger beim Knacken von Sicherheitsmaßnahmen, als man hätte voraussagen können).“

Es mag fast so klingen, als wollten wir unseren Lesern mit Horror-Geschichten Angst einjagen oder Informationen verbreiten, die nicht „da draußen“ herumschwirren sollten. Allerdings hoffen wir, dass unsere Leser anhand dieses Artikels erkennen, dass es die wirklich beeindruckende Software nicht im Laden zu kaufen gibt. Im Gegenteil, spezielle Kryptografie-Lösungen haben sich schon immer schneller entwickelt als die kommerziell erhältlichen Produkte. Wer nun in Sachen Passwortschutz ein ungutes Gefühl bekommen hat und sich besser absichern möchte, sollte diese grundlegenden Richtlinien bei der Erstellung eines Passwortes beachten:

Das Passwort sollte:

  • mindestens neun Zeichen lang sein
  • mindestens einen Großbuchstaben enthalten
  • mindestens einen Kleinbuchstaben enthalten
  • mindestens ein Sonderzeichen wie z.B. @ oder ! enthalten
  • mindestens eine Zahl enthalten

Mit diesen Regeln hat man zumindest eine faire Chance gegen Passwort-Knacker, die beliebig viele Versuche haben, ein Passwort zu finden. Im Endeffekt ist es aber eben nur eine Frage der Zeit, bis man eine Verschlüsselung geknackt hat. Deshalb verstehen Sicherheitsexperten auch, dass das vorrangige Ziel ist, Unbefugten so lange wie möglich Zugriff auf wichtige Daten zu verwehren, also den Aufwand für das Finden des Passwortes entsprechend hoch zu treiben. Braucht man 50 Jahre, um ein WinZip-Archiv mit Informationen zu aktuellen Aktienkursen zu knacken, ist die Information dann nicht mehr relevant. Generiert man also längere zufällige Passwörter, sorgt man für ein ähnlich hohes Sicherheitsniveau und muss sich nicht weiter unnötig Sorgen machen.

Alle 20 Kommentare anzeigen.
Auf dieser Seiten können keine Kommentare mehr abgegeben werden
Sortieren nach: Neueste zuerst | Älteste zuerst
  • Anonymous , 26. Juli 2011 09:06
    Sehr informativer Beitrag auch die Anleitung ist gut gelungen.
    Was ist heute schon sicher, wenn man die Hacker Attacken der letzten Monate im Netz verfolgt hat. Die Netzabsicherung kann noch so gut und modern sein einen Weg diese zu überlisten haben spezielle Hackergruppen aufgezeigt!
  • scaevola , 26. Juli 2011 10:18
    Hmm, sry aber schreibt statt "Keine Wörter aus dem Wörterbuch" vielleicht mal "Nicht nur ein Wort aus dem Wörterbuch"...Wenn wir mal von 3 Wörtern ausgehen braucht man bei einer Wörterbuchattacke die 1,5 Milliarden Kombinationen pro Sekunde probiert (um mal den höchsten Wert zu nehmen den ich im Artikel gefunden habe) immer noch ca 34 Jahre um das zu knacken (außer ich habe gerade falsch gerechnet)...dann rechne man mal noch den Komplexitätsgewinn durch verschiedene Trennzeichen drauf und nimmt vielleicht noch ein Wort mehr...
    siehe: http://www.baekdal.com/tips/password-security-usability

    Ansonsten: schöner Artikel
  • nick331@guest , 26. Juli 2011 12:00
    Warum benutzen Verschlüsselungshersteller eigentlich keine Methoden wie bcrypt um die Hash-Erstellung künstlich zu verzögern?

    Diese Hochrechnungen sind ja alle ganz nett zu lesen, aber müsste man in die Hochrechnungen nicht noch Moores Law oder eines dessen realistischeren Derivate berücksichtigen?

    Ansonsten fehlt mir in dem Artikel ein bisschen die Lösung des Problems. Das mag vielleicht gar nicht der Sinn des Artikels gewesen sein, aber ein kleiner Link zu einem Artikel in dem man liest, wie man sich jetzt ordentliche Passwörter erstellt bzw. merken kann, wäre schön gewesen.
  • teddds@guest , 26. Juli 2011 13:24
    Ich habe vor kurzem selber einen Vortrag zu diesem Thema gehalten. Allerdings verwendeteten wir noch die MD-5 Verschlüsselung.
    Dort gibt es mittlerweile Software die wirklich jenseits von Gut und Böse sind. Wen es interessiert einfach mal hier klicken:
    http://3.14.by/en/md5 BarsWF
    http://whitepixel.zorinaq.com/ WhitePixel (~28.6 billion password/sec)
  • smg72523889 , 26. Juli 2011 15:10
    @teddds:
    ich verwende bis jetzt immer md5 unter linux, heißt das nun ich sollte besser zu aes wechseln?
  • Bubbleman , 26. Juli 2011 17:53
    Wenn ich es richtig verstehe, dann ist die angegebene Dauer für das Knacken eines Passworts das Worst Case Szenario, also das dass gesuchte Passwort erst mit der letzten möglichen Kombination übereinstimmt. Das kann so sein. Es kann aber genausso sein, dass das Passwort schon mit dem ein millionsten Versuch gefunden wird.
  • vonnordmann , 27. Juli 2011 13:41
    @Bubbleman So ist es! Wenn Dein Passwort "0000000000000000" ist und der Bruteforce-Angriff mit den Zahlen beginnt, ist das Passwort _instantan_ geknackt... Also immer mit dem letztmöglichen ASCII-Zeichen ÿ beginnen ;) 
  • Strasser@guest , 27. Juli 2011 20:18
    Als ich mal selbst so ein Tool zur Veranschaulichung geschrieben habe, hatte ich gemerkt das WinRAR die Passworteingabe bei einem reinen Brute Force verzögert. Das müssen die Tools wohl umgehen. Ich musste dann auf Truecrypt ausweichen um das zeigen zu können was ich wollte.
  • Mr. J , 27. Juli 2011 22:06
    smg72523889@teddds:ich verwende bis jetzt immer md5 unter linux, heißt das nun ich sollte besser zu aes wechseln?


    MD5 ist ein Hashalgorithmus, AES ist ein Verschlüsselungsalgorithmus, was genau willst du denn überhaupt machen?

    MfG
    Mr. J
  • BlackBaretta@guest , 27. Juli 2011 22:46
    Wie erstelle ich den mit ASCII ein Passwort? Brauche ich dafür ein extra Programm? Bisher habe ich Passwörter immer mit Buchstaben, Zahlen und den Sonderzeichen über die Zweitfunktion erstellt.
  • derwolf92 , 28. Juli 2011 07:01
    War das eine Ernsthafte Frage?
    Rate mal was Buchstaben und Sonderzeichen sind. Richtig, der ASCII Code :) 
    Wäre aber auch cool sein Passwort in Hex oder Binärcode einzutippen.
  • checkmate , 28. Juli 2011 07:10
    @BB

    Mit ASCII sind hier 26 Groß-, 26 Kleinbuchstaben, 10 Zahlen und noch 32 Sonderzeichen gemeint, gesamt 94 der 127. Also nicht alle bzw. alle möglichen Zeichen die direkt eingebbar sind. (8836^1/2)
  • BlackBaretta2@guest , 28. Juli 2011 14:12
    @derwolf92:

    Jepp, ich meine das ernst.
    Denn wenn ich ALT 65 drücke, passiert bei mir gar nichts.
    Weder in Wordpad, Word oder hier beim schreiben. Funktionert das nur über den Num Lock? Es gibt immer noch Laptops die keins haben.

    @Checkmate:

    ASCII ist bei mir schon wieder ganz in Vergessenheit geraten, das die Auffrischung mal wieder nötig war.
  • teddds , 28. Juli 2011 15:24
    smg72523889@teddds:ich verwende bis jetzt immer md5 unter linux, heißt das nun ich sollte besser zu aes wechseln?



    Unter den neuen Linux Distrubs ist standardmäßig das Systempassword als AES-256 Hash in der passwd gespeichert. Wenn du wirklich noch ein altes Linux mit MD-5 Verschlüsselung hast bzw. du die standard Verschlüsselung wieder umgestellt haben solltest, ist das auch nicht ganz so tragig. Denn Linux nutzt nicht den standard-komformen MD-5 Verschlüsselungs Algorithmus sondern den UNIX-MD-5 Verschlüsselung Algo. Zum meinem Vortrag hatte ich eigene Bruteforcer entwickelt und dabei dauerte das Generiern des UNIX-MD5-Hashes knapp 10x länger als der des Standard-MD5 Hashes. Wer es aber wirklich drauf anlegt kommt damit aber auch ans Ziel.
  • dmmy1@guest , 30. Juli 2011 23:04
    Ist es möglich, den Erfolg von Brute Force-Angriffen zu vermeiden, indem durch das Programm, das die korrekte Kennworteingabe prüft, nach mehreren Fehlversuchen "Zwangspausen" generiert werden? Dann kann der Hacker waren bis zum Ende aller Zeiten.
  • Crewman , 1. August 2011 12:06
    @dmmy1
    Das Programm das die Kennwörter überprüft ist in diesem Fall gleichzeitig das Programm das die Kennwörter durchprobiert. Diese Möglichkeit besteht folglich nicht.

    Ich hatte voor kurzem in der Tat das Problem, dass ich ein WinRAR-Passwort vergessen hatte. ICh wusste nur, dass ich es aus einer bis zu ca. 25 stelligen Kombination meiner üblichen Passwörter zusammengesetzt hatte.
    Habe das Problem mit dem Programm cRARk gelöst. Dort gibts es alle Möglichkeiten nach einem Passwort zu suchen. Und selbst mit einem Core2Duo mit 1500pwd/sec war das Passwort 20stellige Passwort innerhalb von 2 Min gefunden. Selbstverständlich sind dafür viele Kenntnisse über das Passwort nötig, zeigt aber auch dass lange Passwort-Kombinationen nichts unbedingt sinnvoll sind.
    Sind einem Angreifer übliche Passwörter bekannt (z.B. durch einen Trojaner oder den physikalischen Zugriff auf nicht gesicherte und gespeicherte Browser-Kennwörter) so ist ein vermeintlich langes RAR-Passwort selbst ohne Massive Parallel Computing in kürzester Zeit möglich.
  • Tantris@guest , 17. August 2011 13:24
    Das beste Passwort bringt allerdings wenig wenn der Anwender selbst unüberlegt handelt (zB komprimiertes und verschlüsseltes 'Backup' vom kompletten Dokumentenordner). Alle Dateien, welche auch unverschlüsselt und öffentlich/standardmässig verfügbar sind, sind ein Sicherheitsrisiko. Aus vielen dieser Dateien lassen sich Patterns ableiten, nach welchen man im verschlüsselten Archiv suchen kann (denn man kennt ja bis auf's Bit genau die Lösung). Aus den möglichen Lösungen, wird per Vergleich mit anderen Partien des Archivs die Lösung isoliert, die Sinn ergibt. Ist zwar kompliziert, aber für Spezialisten in dieser Materie machbar (denen ist allerdings die Steuererklärung von Herrn Meier genau so egal wie die speziellen Souvenirfotos mit der Nachbarin als Frau Meier auf Kur war).
    Kurz gesagt, wenn wirklich sensible Daten zu schützen sind, dann sollen auch nur diese Daten in die verschlüsselte File, nichts was irgendjemand von anderer Stelle unverschlüsselt bekommen kann.
  • MKguest@guest , 27. August 2011 11:13
    @Redaktion
    Mich hätte ein Vergleich mit Cloud-Computing interessiert. WLAN-Passwörter können ganz einfach damit geknackt werden.
    Wenn genügend finanzielle Resourcen vorhanden sind, könnte man wahrscheinlich auch längere Passwörter einfach knacken
  • Sera@guest , 16. Mai 2012 01:09
    http://www.golem.de/news/kepler-gk110-groesster-chip-der-welt-mit-7-mia-transistoren-und-hyper-q-1205-91833.html
    das Erfordert in Zukunft wohl einen neuen Test oder ?
  • titanfx , 12. März 2013 11:38
    Dicker fail im Diagram.
    Die 5970 hat nicht 1600 Shader, sondern 3200. Da es zwei Chips zu je 1600 ( vliew5 ) sind.