Содержание статьи
![](/wp-content/themes/engine/img/warning-icon.jpg)
WARNING
Статья написана в исследовательских целях. Вся информация в ней носит ознакомительный характер. Она адресована специалистам по безопасности и тем, кто хочет ими стать.
EDPR
Наверняка ты уже сталкивался с продуктами компании Elcomsoft. Помню, еще в начале нулевых я тестировал их первые «отмычки» для документов формата Microsoft Office, разных архивов и все думал, когда они выпустят универсальную программу. Ее появление не заставило долго ждать. Поначалу Elcomsoft Distributed Password Recovery (EDPR) просто вобрала в себя прежние наработки, но уже с 2008 года получила самостоятельное развитие. Тогда в нее добавили поддержку GPGPU и постепенно интегрировали все новые плагины, оптимизированные для использования видеокарт в брутфорсе. Последняя (на момент обзора) версия 3.23.1059 содержит 36 плагинов, знает около семидесяти форматов зашифрованных файлов и работает практически в любой версии Windows.
![36 плагинов для взлома файлов большинства форматов](https://xakep.ru/wp-content/uploads/2017/08/135166/EDPR-about_mid.jpg)
Запустить EDPR можно как в десктопных версиях Windows (от 32-битной XP до 64-разрядной «десятки»), так и в серверных. Однако для ее самой востребованной функции — аппаратного ускорения перебора паролей на видеокартах Nvidia — требуется Windows 7, 8, 8.1 или 10 либо Windows Server 2003, 2008 или 2012.
Теоретически EDPR может использовать для перебора паролей не только ГП от Nvidia, но и другие графические чипы с универсальной шейдерной архитектурой, выпущенные за последние семь лет. Это игровые видеокарты Nvidia, начиная с GeForce GTX 4xx и новее, AMD Radeon серий HD 5000 — HD 8000, более современные AMD R9 и RX. Поддерживаются также профессиональные видеокарты (все серии Nvidia Quadro и AMD FirePro) и специализированные решения обоих производителей. Последние, кстати, обеспечивают большую скорость перебора в расчете на каждый затраченный ватт энергии. Особенно энергоэффективны для своего техпроцесса оказываются Nvidia GeForce GTX Titan, Tesla K10 и выше, а также AMD Radeon Pro Duo, R9 Nano и R9 Fury X.
Однако для многих алгоритмов восстановления паролей используется не OpenCL, а CUDA-оптимизация. Поэтому ускоренная обработка некоторых форматов в EDPR возможна только с использованием ГП Nvidia. К таким форматам относятся архивы ZIP и RAR, документы PDF, хранилища паролей в macOS, пароли учетных записей в Windows, хеши MD5 и некоторые другие.
ЦП и ГП
Вне зависимости от формата зашифрованных файлов, видеокарты всегда используются как ускорители для легко распараллеливаемых операций, в то время как основной код программы исполняется на ЦП. Поэтому всегда требуется выделять одно ядро процессора на каждую задействованную видеокарту. Лучше, если это ядро будет физическим (а не выделенным через гиперпоточность). Процессорозависимость здесь тоже наблюдается, но умеренная. Очевидно, что современные ГП в полной мере не раскрываются даже топовыми ЦП, поскольку развитие последних идет преимущественно по пути увеличения исполнительных блоков (ядер), а не частот и объема кеша на ядро. Однако за пределами 3,5 ГГц и кеша L2 в 2 Мбайт у ЦП разница в производительности одной и той же видеокарты составляет считаные проценты при непропорционально больших затратах энергии. Поэтому, на мой взгляд, разумнее соблюдать баланс между стоимостью и общей производительностью системы, чем просто гнаться за максимальным быстродействием любой ценой.
Железо
Чтобы убедиться во всеядности и скорости EDPR на собственном опыте, мы провели серию экспериментов. Первый сюрприз ждал нас еще на этапе сборки тестового стенда. Шустрых видеокарт не было в продаже, а заказывать из-за рубежа — слишком долго. Мы кинули клич по вендорам, но и они не смогли помочь. Свободных видеокарт просто не было ни у кого даже в представительстве Nvidia. Только в компании Inno3D нам пошли навстречу и отыскали нужную видюху.
На тесты мы изначально хотели взять как раз GTX 1070 сразу по нескольким причинам.
Во-первых, это очень сбалансированное решение — близкая к флагманской модель со всеми технологическими прелестями топового сегмента. Никаких урезанных регистров, полноценный кеш и шина памяти шириной 256 бит. При этом у GTX 1070 очень умеренный аппетит (тепловой пакет видеокарты составляет всего 150 Вт) и относительно скромные габариты. Из-за небольших размеров ее можно без проблем разместить в большинстве среднеформатных корпусов.
![Наш тестовый стенд](https://xakep.ru/wp-content/uploads/2017/08/135166/GTX1070_Tower_HDR_mid.jpg)
Видеокарта спокойно работает с простыми блоками питания мощностью от 400 Вт, но при длительной эксплуатации на 100%-й загрузке рекомендуется выбрать б/п от 500 Вт и с сертификацией 80 Plus любого уровня. Относительно низкая потребляемая мощность GTX 1070 избавляет от необходимости искать более дорогие блоки, которые сейчас тоже найти непросто. Алчные майнеры скупили всё!
Нам досталась видеокарта iChill GeForce GTX 1070 X4 с эталонной версией GeForce GTX 1070 Founders Edition — GPU GP104, 16-нм техпроцесс FinFET и 1920 потоковых процессоров (CUDA-ядер), объединенных в три кластера. Их базовая частота увеличена до 1620 (с референсных 1506 МГц) и автоматически увеличивается до тех пор, пока видеокарта укладывается в температурные ограничения. Забегая вперед, скажу, что в наших тестах ГП автоматически разгонялся до 2012 МГц (при референсном пределе режима boost 1822 МГц) и видеокарта работала исключительно стабильно даже при длительной 100%-й нагрузке.
![7,7 терафлопс с одной GTX 1070](https://xakep.ru/wp-content/uploads/2017/08/135166/7726_GFLOPs_mid.jpg)
Помимо характеристик ГП, заметное влияние на скорость перебора паролей оказывает и видеопамять. Здесь у iChill тоже все в порядке — 8 Гбайт памяти GDDR5 производства Micron с частотой 2 ГГц.
С эпизодическими пиковыми нагрузками в играх справляются даже самые дешевые видеокарты, а вот перебор паролей связан с длительной работой всех потоковых процессоров. Поэтому мы искали видеокарту с продвинутым охлаждением, но обязательно воздушным. Водяное требует отдельных заморочек, да и обходится в целом недешево. Система охлаждения iChill GeForce GTX 1070 X4 поначалу казалась мне похожей на ветряную мельницу (шутка ли — четыре вентилятора!), однако все они оказались малошумными.
![Равномерный и тихий продув](https://xakep.ru/wp-content/uploads/2017/08/135166/GTX1070_MG_3820_mid.jpg)
Фраза про четыре вентилятора у самой iChill X4 сначала сбила меня с толку. На фотографиях их явно было видно три, но почему тогда в названии фигурирует X4? Все оказалось просто: инженеры Inno3D решили поставить дополнительный вентилятор перпендикулярно трем основным. Он меньшего диаметра (50 мм вместо 92 мм) и охлаждает в основном силовые цепи VRM — самого ответственного узла современных видеокарт.
Без дополнительного охлаждения элементы силовых цепей новых видеокарт могут нагреваться до 120 °С и даже выше, поэтому отдельный вентилятор оказался вовсе не лишним. Помнишь, как горели первые GTX 1070 и 1080 от EVGA? Учиться лучше на чужих ошибках.
![Индикация температуры видеокарты](https://xakep.ru/wp-content/uploads/2017/08/135166/iChill-blue_mid.jpg)
Следить за температурой видеокарты помогает фирменный индикатор с подсветкой на RGB-светодиодах. По мере нагрева он меняет цвет с синего на зеленый, а затем на желтый и красный.
![Видеокарта под 100%-й нагрузкой](https://xakep.ru/wp-content/uploads/2017/08/135166/iChill-red_mid.jpg)
Приятным сюрпризом оказались габариты. Я уже привык, что каждая следующая видюха у меня крупнее предыдущей, но здесь все получилось наоборот. При сравнимой длине (305 мм у старой и 302 мм у новой) прошлая видеокарта занимала три слота из-за массивного радиатора. Тогда мне это казалось оправданным — больше металла, выше теплоемкость. Как еще отводить 200 Вт тепла?
Однако вентиляторы прежней видеокарты с трудом продували крупный радиатор на малых оборотах, а на высоких начинали заметно шуметь. У системы охлаждения iChill X4 другой концепт. Она занимает два слота (два с половиной, если считать рамку и фирменную подсветку), и при TDP 150 Вт этого вполне достаточно. Благодаря адекватным размерам алюминиевый радиатор остается довольно эффективным даже на малых оборотах — сказывается равномерный продув и применение тепловых трубок: двух по 8 мм и трех по 6 мм.
Если раньше в компактных версиях корпусов ATX MidiTower с трудом удавалось поместить даже одну трехслотовую видеокарту старой архитектуры Fermi, то теперь в них легко устанавливаются две с архитектурой Pascal — более шустрые и энергоэффективные. Правда, в таком случае все равно требуется дополнительное охлаждение — как минимум еще один корпусный вентилятор на фронтальной панели.
По умолчанию видеокарта настроена на максимальную производительность. Вот только программа EDPR дает совершенно нетипичную нагрузку, поэтому без твиков TDP периодически вылезало за 140% и система охлаждения работала на пределе. Стоило запустить фирменную утилиту Inno3D TuneIT и задать разумные ограничения, как все мгновенно встало на свои места. Вентиляторы раскручивались на 1300 об/мин, и TDP снова пришло в норму.
![Безопасные настройки для длительного перебора](https://xakep.ru/wp-content/uploads/2017/08/135166/TuneIT-2_mid.jpg)
Производитель указывает, что в системе охлаждения iChill X4 применяются вентиляторы HerculeZ с подшипниками, защищенными от попадания пыли и сертифицированными на длительную работу в круглосуточном режиме. Большую статистику использования я набрать не успел, но спустя примерно месяц работы на высоких оборотах акустический комфорт системы оставался на высоте.
Универсальная открывашка
В дистрибутив EDPR входят серверная часть, локальный агент и консоль управления. Основная работа по восстановлению паролей начинается с запуска EDPR Console. В этой консоли можно выбрать зашифрованные файлы и тип перебора паролей:
- по словарю;
- по маске;
- полный брутфорс.
Отдельно для атаки по словарю можно задать мутации: использование цифр, знаков пунктуации, смену регистра и так далее. Поэтому EDPR способен определить не только словарный вариант пароля, вроде password
, но и разные его модификации, вроде password123
или PaSSw0rd
.
Словарь можно указать любой или создать свой, но в составе EDPR уже есть целый набор отличных словарей: пять для английского языка, четыре для русского и один для немецкого.
![Набор предустановленных словарей в EDPR](https://xakep.ru/wp-content/uploads/2017/08/135166/EDPR_dicts_mid.jpg)
Дополнительно для алгоритмов шифрования с известной слабиной вместо перебора паролей в EDPR появляется опция подбора непосредственно ключа. Это в разы быстрее.
С атакой по маске все просто — если тебе известны какие-то символы пароля, например ты подсмотрел, что он начинается с a
, то просто вписываешь a
вместо первого символа маски (знака вопроса). Знаешь другие символы? Отлично! Заполняй их тоже.
Брутфорс в EDPR также максимально облегчен. Все символы разбиты на пять основных групп (строчные буквы, прописные буквы, цифры, знаки препинания и пробел), а частые сочетания (например, строчные буквы и цифры) можно задавать как отдельные группы и выбирать их из пресета. Для всех перебираемых паролей можно указать не только максимальную длину, но и минимальную. Это удобно, если ты твердо знаешь, что пароли с длиной менее N технически невозможно использовать в какой-то анализируемой системе.
На вкладке «Комментарий» можно посмотреть все данные о зашифрованном файле. Например, для тестового архива RAR старого формата указывается версия (RAR 3-4), алгоритм шифрования (AES) длина ключа (128 бит) и версия плагина, которым непосредственно выполняется перебор паролей (espr_rar.dll v.3.22.109). Там же можно увидеть дату и время создания задачи по выполнению аудита.
Продолжение доступно только участникам
Вариант 1. Присоединись к сообществу «Xakep.ru», чтобы читать все материалы на сайте
Членство в сообществе в течение указанного срока откроет тебе доступ ко ВСЕМ материалам «Хакера», позволит скачивать выпуски в PDF, отключит рекламу на сайте и увеличит личную накопительную скидку! Подробнее
Вариант 2. Открой один материал
Заинтересовала статья, но нет возможности стать членом клуба «Xakep.ru»? Тогда этот вариант для тебя! Обрати внимание: этот способ подходит только для статей, опубликованных более двух месяцев назад.
Я уже участник «Xakep.ru»