• Архив

    «   Март 2024   »
    Пн Вт Ср Чт Пт Сб Вс
            1 2 3
    4 5 6 7 8 9 10
    11 12 13 14 15 16 17
    18 19 20 21 22 23 24
    25 26 27 28 29 30 31
                 

Подбор паролей Excel с помощью Accent Office Password Recovery

Периодически в почту и на сайт сыпятся вопросы из серии: "Я забыл пароль на файл (книгу, лист). Помогите, что делать?" Приходится доступными фразами наставлять на путь истинный :) А недавно по счастливому совпадению разработчики из AccentSoft любезно предложили потестировать их продукт для решения подобных проблем - Office Password Recovery.

"Фишкой" этой программы, по словам авторов, по сравнению с кучей остальных программ подобного рода является способность подключать к перебору паролей графический процессор видеокарты (GPU). Даже для недорогих игровых видеокарт, GPU содержит несколько десятков параллельных конвейеров вычислений, что здорово ускоряет процесс.
Взялся за тесты. Меня, естественно, больше всего интересовала надежность защиты Excel-евских файлов, где пароли могут стоять:
  1. на листе (защита от редактирования данных в ячейках)
  2. на книге (защита листов от удаления-переименования-копирования и т.д.)
  3. на проектах VBA (защита от просмотра и редактирования макросов)
  4. на файле (защита доступа - пароли на открытие и/или изменение всего файла)
Сразу могу сказать, что первых два уровня защиты во всех версиях Excel откровенно слабые (в силу выбранного для них Microsoft'ом алгоритма защиты) и парольный хеш для них подбирался почти мгновенно. Нюанс, правда, в том, что подобранный пароль никогда не соответствовал исходному паролю (т.е. оригинальный пароль, который придумал автор, вы не узнаете), но защиту с листа и книги снимал на раз. Защита макросов тоже вскрывается практически мгновенно - программа просто убирает пароль с проекта VBA, даже не подбирая его, позволяя просмотреть и изменить код всех макросов:

7eb54eade7eb05e400556e05f5704df2.png

А вот с защитой файлов все сложнее. Дело в том, что защита файлов в Excel - это, по-сути, шифрование документа. Причем, в Excel 2007/2010 и Excel 2003 для этого используются разные криптоалгоритмы: в Excel 2000-2003 это алгоритм потокового шифрования RC4 с хешированием MD5 искуственно пониженным со 128 до 40 бит по-умолчанию, а в Excel 2007/2010 - симметричный алгоритм блочного шифрования AES с ключом 128 бит. Пароль на открытие для старого формата файлов Excel 2003 подбирался на моем домашнем ПК (Intel Core i5, 4Gb, Nvidia 8800GT) около 8 минут по стандартному сценарию атаки, мощно загружая при этом все ядра процессора и GPU:

7718e2a0bf7af6df622210f91e905457.png

Фактически, было перебрано 2.5 млрд. паролей по 3.5 млн. паролей в секунду. Простой 6-значный буквенно-цифровой пароль (nick77) подобран один-в-один. Неплохо.

Дальше - хуже, ибо тот же старый файл Excel 2003, но с чуть более сложным паролем со спецсимволами (Nick0la$) программа подобрать уже не смогла:

e8237fc14f5c07d300ee0c678de44935.png

А вот 128-битный AES в файлах нового формата Excel 2007/2010 оказался совсем стойким (обратите внимание на скорость подбора и ожидаемую длительность процесса - 1 день и 9 часов по стандартному сценарию):

421485460f061173420d80d804811296.png

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

b7c821ddaa6b12bf1649df4aa7b53944.png

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

Выводы

Выводы получились вполне ожидаемые:
  • Защитить информацию на листах и код макросов VBA невозможно.
  • Работайте в последних версиях Excel 2007/2010 - у них защита лучше.
  • В старом Excel 2003 в меню Сервис - Параметры - Безопасность - Дополнительно (Tools - Options - Security - Advanced) выставляйте не стандартный 40-битный, а продвинутый 128-битный алгоритм защиты.
  • Не делайте паролей только из цифр, буквы разного регистра и спецсимволы здорово добавляют надежности (даже для старых версий Excel)
И будет вам счастье, благолепие и полная безопасность. Ну, почти. А вообще, паролей лучше не забывать, а записывать их на специальную бумажку, которую клеить на монитор :)
Наверх