Использование обычных бытовых видеокарт в качестве ускорителей перебора паролей давно не новость. До недавнего времени приобрести современную видеокарту могли либо те, кто планировал извлечь из этого прямую денежную выгоду, либо весьма обеспеченные пользователи. Сейчас наблюдается стремительное падение цен на актуальные модели видеокарт. Воспользовавшись этим, мы протестировали производительность ряда современных видеоускорителей на весьма специфической задаче: переборе паролей.
Модель безопасности современных средств защиты информации должна учитывать возможность подбора паролей злоумышленниками. Для замедления атак используются разные способы; самый простой и популярный из них — многочисленные (десятки и сотни тысяч, иногда — миллионы) итерации функции преобразования пароля в ключ. Чтобы взломать пароль, защищённый таким образом, нужны скорости, заметно превышающие возможности центрального процессора, даже если этот процессор — 16-ядерный Intel Core i9-12900K (кстати, его мы также протестировали). Требуемых скоростей можно достичь, запустив перебор не на центральном процессоре, а на мощных, а главное — многочисленных ядрах современных обычных игровых видеокарт.
Почему вычислительные возможности видеокарт настолько сильно превышают возможности центральных процессоров при сравнимом уровне энергопотребления и числе транзисторов? Дело здесь как в узкой специализации вычислений, так и в распараллеливании простейших операций на сотни потоков. Видеокарты способны выполнять некоторые простейшие целочисленные операции в десятках и сотнях потоков одновременно – но лишь для некоторых специфических видов вычислений, в число которых входит вычисление многих видов хэш-функций, которые, в свою очередь, применяются для преобразования текстового пароля в двоичный ключ шифрования. Большое количество вычислительных ядер (CU, Compute Unit) в видеокарте позволяет эффективно распараллелить нагрузку, достигнув подавляющего превосходства над обычным центральным процессором.
Таким образом, очевидно, что более мощные видеокарты, оборудованные большим количеством ядер CU (Compute Unit), смогут выполнять задачу по перебору паролей кратно быстрее. Также очевиден и следующий вывод:
Любая относительно современная дискретная видеокарта (а также очень и очень многие встроенные графические ядра) могут перебирать пароли значительно быстрее, чем центральный процессор. Использование даже очень старых видеокарт даёт зримое преимущество, чем и воспользовались наши разработчики, представив технологию асинхронных гетерогенных вычислений. Эта технология позволяет Elcomsoft Distributed Password Recovery одновременно использовать несколько установленных в систему графических сопроцессоров разных моделей и производителей, от современных до очень старых. С практической точки зрения поддержка гетерогенных вычислений позволяет добавлять, а не заменять видеокарты.
Сегодня мы протестируем современные видеокарты нижнего и среднего ценового сегмента. Сюда вошли следующие модели:
Все видеокарты, за исключением RTX 2070, были протестированы в системе на основе процессора Intel Core i9-12900K. Модель RTX 2070 установлена в рабочей станции с процессором Intel Core i5-8500. На результаты тестирования видеокарт центральный процессор влияет в минимальной степени, поэтому мы сочли результаты теста корректными.
Использовав в качестве тестовой нагрузки Elcomsoft Distributed Password Recovery, мы получили следующие результаты (цифры — число паролей в секунду, которые программа может перебрать на указанной аппаратной конфигурации).
Перебор паролей к архивам ZIP вопросов не вызывает; скорость атаки напрямую зависит от мощности видеокарты, рост производительности — практически линейный.
Архивы 7Zip демонстрируют аналогичный тренд — с поправкой на большее число итераций хэш-функции, использующихся для конвертации пароля в ключ шифрования:
А вот на хэш-функции SHA-256 цифры для карты RTX 2070 выбиваются из общего ряда. Точного объяснения этому факту у нас нет; дело может быть как в различиях в архитектуре тестируемых видеокарт, так и в том, что тестирование проводилось на разных компьютерах.
С учётом того, что в разных бенчмарках относительная производительность протестированных устройств различается (иногда — в несколько раз), а форматов файлов, которые не вошли в состав тестирования, и вовсе несколько сотен, дать однозначные рекомендации в отношении цены к производительности не удастся. По этой причине в качестве отправной точки мы выбрали тест WinZip/AES256 как один из наиболее прозрачных и оптимизированных для каждой платформы. В качестве цены использовались цены с немецких агрегаторов, деноминированные в евро.
Модель видеокарты | Скорость (паролей/сек) | Цена в евро | Соотношение цены/производительности |
GTX 1650 | 1440000 | 186 | 1,00 |
RTX 3050 | 1860000 | 297 | 0,81 |
RTX 3060 | 2650000 | 377 | 0,91 |
RTX 2070 | 3200000 | 478 | 0,86 |
RTX 3060 Ti | 3440000 | 549 | 0,81 |
Из этой и предыдущей таблиц можно сделать следующие выводы. Во-первых, рост производительности с повышением ценовой категории видеокарт — практически линейный, за исключением необъяснимого поведения карты RTX 2070 в тесте SHA-256. Во-вторых, среди протестированных бюджетных видеоускорителей в категории «цена/производительность» побеждает NVIDIA 1650, однако, лишь за счёт того, что эта достаточно старая модель доступна по очень низкой цене. Наконец, последнее: в рамках линейки NVIDIA RTX 30 мы рекомендуем покупать видеокарту той модели, которая доступна в рамках выделенного бюджета — за возможным исключением моделей на основе RTX 3090, использование которых сопряжено с повышенными требованиями к источнику питания и системам охлаждения и теплоотвода.
Производительное решение для восстановление паролей к десяткам форматов файлов, документов, ключей и сертификатов. Аппаратное ускорение с использованием потребительских видеокарт и лёгкое масштабирование до 10,000 рабочих станций делают решение Элкомсофт оптимальным для исследовательских лабораторий и государственных агентств.
Официальная страница Elcomsoft Distributed Password Recovery »