Brute-Force-Passwort-Cracking-Geschwindigkeit - Winrar

855
riseagainst

Ich vergaß vorübergehend ein Kennwort für eine Datei, die ich besaß, und verwendete eine Software namens KRyLack RAR Password Recovery, um mein Kennwort wiederherzustellen. Zum Glück (und leider nach dem Kauf dieser Software) habe ich mich an mein Passwort erinnert und konnte meine Datei öffnen.

Meine Frage bezieht sich auf die Geschwindigkeit der Passwörter, die diese Software pro Sekunde versucht - völlig aus Neugierde heraus. Ich bekomme das wahrscheinlich subjektiv für die Geschwindigkeit der Maschine, aber ich verwende einen i7, und zum Beispiel würde die Software auf ihrem Höhepunkt 13 Passwörter pro Sekunde versuchen. Warum ist das? Ich versuchte es mit einer Länge von 3 Zeichen, 4, 5, 9, 10 und die gleiche Geschwindigkeit wurde erreicht. Dies scheint eine auferlegte Grenze für einen Grund zu sein, liegt dies an einer gewissen Einschränkung von Winrar selbst oder ist es etwas anderes?

0
"Warum ist das so?" - Dies kann durch die Tatsache erklärt werden, dass das Programm Single-Threading war. GPU ist bei dieser Art von Lasten viel effizienter. Ramhound vor 6 Jahren 0
Die von Ihnen gewählte Software ist 32-Bit, möglicherweise 16-Bit, da 16-Bit-Betriebssysteme unterstützt werden. Außerdem unterstützt es definitiv keine GPU-Berechnung. Ramhound vor 6 Jahren 1
@Ramhound Also, das ist sicherlich anfällig für alles in einer Umgebung, die berücksichtigt werden muss, und das verstehe ich, und vielleicht waren meine Erwartungen weit davon entfernt. Und bedeutet dies, dass es nicht auf etwas anderes beschränkt ist als auf das Programm, das in 32/16-Bit-Software erstellt wird? Mit anderen Worten, dies wäre aus irgendeinem Grund keine von der Software explizit auferlegte Grenze. riseagainst vor 6 Jahren 0
Wenn es sich bei der Anwendung um einen Single-Thread handelt, bedeutet dies, dass Sie einen 32-Core-Prozessor einsetzen könnten, der mit einem einzelnen Kern mit derselben Frequenz (mehr oder weniger außerhalb von Architekturänderungen) identisch wäre. Wenn die Anwendung tatsächlich 16-Bit ist, ist dies aufgrund der Funktionsweise des Hash-Algorithmus auch ein Faktor für die Leistung. Die Antwort von Royce erklärt, warum der Einsatz einer CPU für einen Brute-Force-Angriff der falsche Ansatz zur Berechnung von PBKDF2-HMAC-SHA256-Hashes ist. Ramhound vor 6 Jahren 0

1 Antwort auf die Frage

2
Royce Williams

Der von WinRAR verwendete Algorithmus zum Hashing des Kennworts, das den Verschlüsselungsschlüssel schützt - PBKDF2-HMAC-SHA256 :

6. Changes in RAR 5.0 encryption algorithm:  a) encryption algorithm is changed from AES-128 to AES-256 in CBC mode. Key derivation function is based on PBKDF2 using HMAC-SHA256; 

... ist darauf ausgelegt, langsam zu sein und speziell gegen Angriffe mit hoher Geschwindigkeit offline zu sein ... obwohl die CPU tatsächlich langsamer ist:

$ hashcat -w 4 -O -b -D 1 -m 10900 hashcat (v4.1.0) starting in benchmark mode...  * Device #7: AMD FX(tm)-8350 Eight-Core Processor, 8034/32139 MB allocatable, 8MCU  Hashmode: 10900 - PBKDF2-HMAC-SHA256 (Iterations: 999)  Speed.Dev.#7.....: 21213 H/s (370.38ms) 

... als GPU:

$ hashcat -w 4 -O -b -D 2 -m 10900 hashcat (v4.1.0) starting in benchmark mode...  * Device #1: GeForce GTX 1080, 2028/8113 MB allocatable, 20MCU * Device #2: GeForce GTX 1080, 2028/8114 MB allocatable, 20MCU * Device #3: GeForce GTX 1080, 2028/8114 MB allocatable, 20MCU * Device #4: GeForce GTX 1080, 2028/8114 MB allocatable, 20MCU * Device #5: GeForce GTX 1080, 2028/8114 MB allocatable, 20MCU * Device #6: GeForce GTX 1080, 2028/8114 MB allocatable, 20MCU  Hashmode: 10900 - PBKDF2-HMAC-SHA256 (Iterations: 999)  Speed.Dev.#1.....: 1222.0 kH/s (478.00ms) Speed.Dev.#2.....: 1204.6 kH/s (484.15ms) Speed.Dev.#3.....: 1213.5 kH/s (481.70ms) Speed.Dev.#4.....: 1210.2 kH/s (482.47ms) Speed.Dev.#5.....: 1220.8 kH/s (477.90ms) Speed.Dev.#6.....: 1214.7 kH/s (480.94ms) Speed.Dev.#*.....: 7285.8 kH/s 

Diese Benchmarks setzen ideale Bedingungen voraus. Die reale Geschwindigkeit kann je nach Art des Angriffs in der Größenordnung der Hälfte dieser Geschwindigkeit oder darunter liegen.

Solange die Rate, mit der Kandidatenkennwörter generiert werden, hoch genug ist, und die systemeigene Hash-pro-Sekunde-Rate, die aufgrund des Algorithmus selbst und seiner Arbeitsfaktoren (Iterationen usw.) möglich ist, langsam genug ist, ist die Länge der Kandidatenkennwörter hat keinen Einfluss auf die Schätzrate.

Hallo Royce. Danke für die Antwort. Es ist ein bisschen zu technisch für mich, muss ich sagen. Warum ist es "langsam"? Und möchten Sie Ihre Berechnungen erläutern, wenn Sie Zeit haben? riseagainst vor 6 Jahren 0
@riseagainst - Warum es so gestaltet wurde, dass es langsam ist, liegt außerhalb des Umfangs Ihrer Antwort und es wäre unfair, Ihre Frage zu ändern, da diese Antwort unvollständig wäre. Der Grund, warum die PBKDF2-HMAC-SHA256-Berechnungen langsam waren, soll Brute-Force-Angriffe verhindern. Die technischen Details, warum dies so langsam ist, sind auf einer anderen StackExchange-Website angebracht, wahrscheinlich vorhandene Fragen, die diese Details enthalten. Ramhound vor 6 Jahren 0
@Ramhound Ich denke du meinst die Frage. Vielen Dank, dass Sie sich die Zeit genommen haben, ich verstehe jetzt ein bisschen besser und habe andere Beiträge zu PBKDF2-HMAC-SHA256 gefunden, die es besser erklären. Danke auch Royce für deine Antwort. riseagainst vor 6 Jahren 0