Скорость взлома паролей грубой силы - Winrar

844
riseagainst

Я временно забыл пароль для своего файла и использовал программу KRyLack RAR Password Recovery, чтобы попытаться восстановить мой пароль. К счастью (и, к сожалению, после покупки этого программного обеспечения), я запомнил свой пароль и смог открыть свой файл.

Мой вопрос о скорости паролей, которые эта программа пытается в секунду - из любопытства. Я понимаю, что это, вероятно, зависит от скорости машины, но я использую i7, и, например, на пике, это программное обеспечение будет пробовать 13 паролей в секунду. Почему это? Я пробовал с длиной 3-х каратов 4, 5, 9, 10 и такая же скорость была достигнута. Это похоже на навязанный лимит по причине, это связано с некоторыми ограничениями на самом winrar, или это что-то еще?

0
«Почему это так?» - это можно объяснить тем, что программа была однопоточной. GPU гораздо эффективнее при таких нагрузках. Ramhound 6 лет назад 0
Программное обеспечение, которое вы выбрали, является 32-разрядным, фактически оно может быть 16-разрядным, поскольку оно поддерживает 16-разрядные операционные системы. Кроме того, он определенно не поддерживает вычисления на GPU. Ramhound 6 лет назад 1
@Ramhound Так, конечно, это восприимчиво ко всему в среде, которая должна быть принята во внимание, и я понимаю, и, возможно, мои ожидания были далеко. И значит ли это, что оно не ограничивается ничем иным, кроме программы, создаваемой в 32/16-битном программном обеспечении? Другими словами, это не было бы пределом, явно установленным программным обеспечением по некоторым причинам? riseagainst 6 лет назад 0
Если приложение является однопоточным, это означает, что вы можете запустить 32-ядерный процессор, и оно будет работать одинаково для одного ядра и работать на той же частоте (более или менее вне архитектурных изменений). Если приложение на самом деле 16-битное, то это также будет фактором производительности из-за того, как работает алгоритм хеширования. Ответ Ройса объясняет причину, по которой использование ЦП для атаки методом перебора является неправильным подходом для вычисления хешей PBKDF2-HMAC-SHA256. Ramhound 6 лет назад 0

1 ответ на вопрос

2
Royce Williams

Алгоритм, используемый WinRAR для хеширования пароля, защищающего ключ шифрования - 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; 

... разработан так, чтобы быть медленным и особенно устойчивым к высокоскоростным атакам в автономном режиме ... хотя процессор действительно будет медленнее:

$ 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) 

... чем 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 

Эти критерии предполагают идеальные условия. Реальная скорость может быть порядка половины этой скорости или меньше, в зависимости от типа атаки.

Пока скорость, с которой генерируются пароли-кандидаты, достаточно высока, а собственная скорость хэширования в секунду возможна из-за самого алгоритма и его рабочих факторов (итераций и т. Д.), Достаточно мала, длина паролей-кандидатов не влияет на скорость угадывания.

Привет Ройс. Спасибо за ответ. Должен сказать, он слишком технический для меня. Почему он «разработан, чтобы быть медленным»? И не могли бы вы, если бы у вас было время, объяснить ваши расчеты? riseagainst 6 лет назад 0
@riseagainst - Почему это было сделано медленно, выходит за рамки вашего ответа, и было бы несправедливо менять ваш вопрос, так как это сделало бы этот ответ неполным. Однако, почему вычисления PBKDF2-HMAC-SHA256 были спроектированы, чтобы быть медленными, состоит в том, чтобы предотвратить атаки грубой силы. Технические подробности того, почему это происходит медленно, будут уместны на некоторых других веб-сайтах StackExchange, вероятно, там есть вопросы, в которых есть эти подробности. Ramhound 6 лет назад 0
@ Ramhound Я думаю, ты имеешь в виду вопрос. Спасибо, что нашли время, теперь я немного лучше понимаю и нашел другие посты о PBKDF2-HMAC-SHA256, которые объясняют это лучше. Спасибо тебе, Ройс, за твой ответ. riseagainst 6 лет назад 0