Как взломать запароленный RAR-архив

Многие из вас наверняка слышали о том, что rar-архив, зашифрованный хорошим паролем, взломать практически невозможно. Это правда. Многие знают, что существуют специальные программы для взлома зашифрованных паролем архивов. Это тоже правда. Но что-то здесь не вяжется, вам не кажется? Давайте разберемся в истинном положении вещей и немного расширим свои знания в этой области.

Начиная с версии 2.0 в RAR и WinRAR использовался собственный достаточно стойкий алгоритм шифрования. Уже с тех пор для взлома этих архивов не было известно иных способов, кроме обычного перебора (брутфорса). В то же время, собственные алгоритмы шифрования Zip и Arj не могли гарантировать конфиденциальность данных даже при использовании сложного пароля. Современные архиваторы (RAR версии 3.0 и выше, WinZIP версии 9.0 и выше, 7-zip) для шифрования архивов используют алгоритм AES (изначальное название – Rijndael), принятый в США в 2001 году в качестве передового стандарта шифрования. Данный алгоритм и по сей день считается одним из лучших, и если уж информация зашифрована по этому алгоритму толковым паролем, то ее расшифровка может оказаться непосильной даже для спецслужб.

И все же многие люди не могут поверить в то, что есть такие шифры, которые расшифровать невозможно. Теоретически, расшифровать можно все что угодно, вопрос лишь во времени и усилиях, которые для этого потребуются. Но не будем витать в облаках, а поговорим о практической стороне вопроса. Да, в некоторых алгоритмах шифрования архивов были найдены уязвимости, позволяющие при определенных обстоятельствах расшифровать зашифрованные данные за несколько часов и даже за несколько секунд. Однако большинство современных архиваторов используют проверенный алгоритм AES для шифрования запароленных архивов. Единственным известным способом взлома архивов, зашифрованных таким способом, является обычный перебор ключей, если только в реализации алгоритма разработчиками не были допущены ошибки. ОK, давайте разберемся, насколько реально подобрать пароль к такому архиву методом перебора.

Возьмем RAR как наиболее распространенный тип архива. Версия 3.0 и выше. На странице сайт присутствуют несколько программ, позволяющих максимально быстро подобрать пароль. Есть бесплатная консольная cRARk, есть и платные программы Advanced Archive Password Recovery (ARCHPR) и RAR Password Cracker. На английской версии сайта присутствует еще несколько программ, так что выбирать есть из чего. На мой взгляд, основного внимания заслуживают бесплатный и самый быстрый переборщик cRARk и дорогая, но очень удобная и универсальная ARCHPR. Для каждой программы на сайте указана средняя скорость перебора для различных процессоров и версий архивов. Эта цифра определяет количество паролей, проверяемых в секунду. Естественно, это значение – усредненное и на разных системах может ощутимо различаться. К примеру, на моем компьютере с процессором AMD Athlon 64 X2 4200+ и ОС Windows XP программа cRARk показала скорость в 79 паролей в секунду, а ARCHPR успевал обрабатывать лишь 59. На процессорах Intel Core 2 Duo можно достичь скорости в 140 паролей в секунду и выше. Так что, для простоты расчета, будем исходить из средней скорости перебора в 100 паролей в секунду.

Для расчета времени подбора пароля нам надо рассчитать количество возможных комбинаций. Если мы знаем, что в пароле использовались только маленькие либо только большие буквы латиницы, то нам надо число 26 (столько букв в английской азбуке) возвести в степень количества знаков предполагаемого пароля. Например, для трехзначного пароля, состоящего только из маленьких английских букв, количество вариантов будет: 26x26x26=17576. Если в трехзначном пароле присутствуют еще и цифры, то это будет уже 36 (26 букв + 10 цифр) в третьей степени 36^3=46656. Делим это значение на количество проверяемых паролей в секунду и получаем время в секундах. Для удобства представления я составил таблицу. Время указано для скорости 100 паролей в секунду.


Набор символовСимволов в наборе3 знака4 знака5 знаков6 знаков7 знаков8 знаков
ВариантовВремяВариантовВремяВариантовВремяВариантовВремяВариантовВремяВариантовВремя
Латиница в одном регистре26175763 минуты4569761 час 16 минут1188137633 часа30891577636 суток80318101762 с половиной года20882706457666 лет
Латиница в одном регистре + цифры36466568 минут16796164 с половиной часа60466176неделя21767823368 с половиной месяцев7836416409625 лет2821109907456900 лет
Латиница в обоих регистрах + цифры6223832840 минут1477633641 час3 с половиной месяца5680023558418 лет35216146062081110 лет21834010558489670 тысяч лет
916132832
Латиница в обоих регистрах + цифры + спецсимволы948305842 часа 18 минут780748969 суток73390402242 года 4 месяца689869781056219 лет6484775941926420 тысяч лет60956893854108102 миллиона лет


Конечно, время подбора пароля в таблице указано весьма и весьма приблизительное. В расчетах не учитывается то, что с каждым годом компьютеры становятся все более быстрыми и то, что для ускорения подбора критически важного пароля можно использовать распределенные вычисления в целой сети компьютеров или даже суперкомпьютеров. Однако и эти факторы в обозримом будущем не окажут существенного влияния на уменьшение времени подбора серьезного пароля, состоящего из 12 и более знаков, и содержащего цифры, спецсимволы и буквы обоих регистров. Не забывайте, что обычно пароли перебирают по возрастанию количества знаков: сначала однозначные, потом двухзначные и так далее. В этом случае следует суммировать время перебора для каждого N-значного пароля.

Обладатели современных видеокарт могут попробовать программу igrargpu, которая, используя вычислительные мощности видеокарты, может повысить скорость перебора паролей rar-архива до 2500 в секунду. Но даже в таком случае подбор хорошего восьмизначного пароля может занять вплоть до 80 тысяч лет. И если спецслужбам понадобится узнать пароль от вашего архива, им намного проще будет узнать его лично от вас проверенными веками способами, нежели понапрасну занимать драгоценное время специальных вычислительных сетей повышенного быстродействия.

Однако бывают и ситуации, когда программы для подбора паролей могут оказаться очень кстати. К примеру, вы помните часть установленного пароля, а забыли всего лишь несколько знаков; или вы точно уверены, что пароль был достаточно простой, и может быть подобран в разумные сроки. Платная программа ARCHPR поможет вам осуществить как простой перебор с указанием предполагаемого набора символов, так и перебор по маске (указываете известные вам символы пароля, а вместо неизвестных ставите вопросительные знаки «?»). Также может оказаться успешным перебор по словарю с использованием различных комбинаций: некоторые ведь до сих пор считают, что пароль вроде «gfhjkm» (слово «пароль», набранное в английской раскладке) является надежным =). Никогда сами не устанавливайте такие простые пароли на секретные данные! Опытные взломщики всегда используют перебор по словарю в первую очередь, в расчете на удачу. Поиск хорошего словаря для перебора паролей – отдельная задача, в этом вам помогут поисковые системы Интернета.

Если у вас нет денег на покупку ARCHPR, попробуйте cRARk последней версии. Он хотя и не столь удобен и поддерживает только rar-архивы, но в сравнении с конкурентами имеет максимальную скорость перебора. Использовать его не так трудно, как может показаться на первый взгляд. Распакуйте содержимое архива с программой в какую-нибудь папку, например: «C:\crark32». Для удобства поместите ваш зашифрованный rar-архив в ту же папку. В файле «russian.def» содержатся настройки подбора пароля с русскими комментариями. Создайте копию этого файла, переименуйте ее в «password.def» и откройте файл в текстовом редакторе. Строчки, начинающиеся с символа «#», являются закомментированными. По умолчанию не закомментирована только строчка, определяющая простейший перебор по маленьким английским буквам – «$a *». Для перебора по английским буквам обоих регистров вам надо будет закомментировать эту строчку и раскомментировать следующую – «# [$a $A] *». То есть в начале первой строчки вписать символ «#», а во второй – удалить его. Для добавления в набор цифр используется «$1», а для добавления спецсимволов – «$!». Определение «[$a $A $1 $!] *» укажет программе перебирать все символы этих наборов. Для запуска перебора в cRARk введите в командной строке команду «C:\crark32\ crark.exe archive.rar», где archive.rar – имя вашего запароленного архива. О прочих расширенных возможностях программы вы можете прочитать в файле crark.rus.txt.

Итак, мы с вами выяснили, что программы для подбора паролей действительно могут помочь вам подобрать пароль к зашифрованному архиву, но только в тех редких случаях, когда пароль простой, или если вы знаете пароль, но забыли в нем несколько символов. В остальных ситуациях программы для взлома запароленных архивов вряд ли смогут вам помочь. Исключение могут составлять архивы, зашифрованные очень старыми версиями архиваторов с ошибками в алгоритмах шифрования.

Хотелось бы отметить, что в зависимости от качества реализации того или иного способа шифрования в различных архиваторах или криптосистемах, необходимое для перебора паролей время может заметно изменяться как в сторону увеличения, так и в сторону снижения. Это время постепенно снижается и за счет роста вычислительных мощностей новых компьютеров, однако разработчики алгоритмов шифрования всегда оставляют огромный запас стойкости в своих алгоритмах из расчета на будущее, а новые стандарты шифрования принимаются заблаговременно.

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

BarMentaLisk, q@sa-sec.org

© Компьютерная газета :: главная страница