Миллиарды попыток взлома в секунду не оставляют хакерам ни единого шанса.
Исследователь кибербезопасности Йоханес Нугрохо разработал инструмент для расшифровки файлов, зашифрованных Linux-версией программы-вымогателя Akira. Этот инструмент использует мощность графических процессоров для подбора ключей и бесплатного восстановления данных.
Нугрохо начал работу над дешифровщиком после просьбы о помощи от друга. Он посчитал, что сможет восстановить файлы в течение недели, так как алгоритм Akira создаёт ключи на основе временных меток. Однако процесс оказался сложнее, чем ожидалось, и занял три недели. В общей сложности исследователь потратил $1200 на аренду графических процессоров, прежде чем добиться успеха.
В отличие от классических инструментов расшифровки, в которых пользователю необходимо ввести ключ, программа Нугрохо использует метод перебора. Akira создаёт уникальный ключ для каждого файла, используя текущую временную метку в наносекундах. Этот параметр становится основой для генерации ключа, который затем подвергается 1500 итерациям хеширования с SHA-256.
Так как Akira применяет четыре различных временных метки с высокой точностью, количество возможных комбинаций огромно, что делает перебор сложной задачей. Дополнительно процесс шифрования использует многопоточность, что усложняет установление точного времени шифрования конкретного файла.
Чтобы сузить диапазон поиска, Нугрохо изучил журналы работы системы, предоставленные другом. Анализ метаданных файлов и временных меток позволил создать прогнозируемые профили шифрования. Первые тесты на видеокарте RTX 3060 показали недостаточную производительность — всего 60 миллионов попыток расшифровки в секунду. Обновление до RTX 3090 также не принесло значительного улучшения.
Окончательно проблему удалось решить с помощью облачных сервисов RunPod и Vast.ai, которые предоставили необходимую вычислительную мощность. Для успешного взлома ключа исследователь задействовал шестнадцать видеокарт RTX 4090, завершив подбор ключа примерно за 10 часов. Однако при большом количестве зашифрованных файлов этот процесс может занять несколько дней.
По словам Нугрохо, его код ещё можно оптимизировать, и специалисты по GPU наверняка смогут добиться большей эффективности. Исходный код расшифровщика опубликован на GitHub с подробными инструкциями по восстановлению данных.
Перед использованием инструмента рекомендуется создать резервные копии зашифрованных файлов, так как попытки расшифровки с неверными ключами могут привести к их повреждению.