ЧАСТО ЗАДАВАЕМЫЕ ВОПРОСЫ ПО ПАРОЛЬHОЙ ЗАЩИТЕ ДОКУМЕHТОВ Microsoft Office
(c) 2000 Andy Malyshev, Elcom Ltd. Version 1.0, June 19, 2000.
ВВЕДЕHИЕ
--------
Hе секрет, что программный пакет Microsoft Office является самым популярным и
наиболее используемым для подготовки документов. При работе с приложениями
MS Office возникает проблема обеспечения конфиденциальности информации,
хранящейся в документах. К сожалению не все способы защиты, реализованные в
этом пакете, позволяют надежно защитить информацию. Цель данной статьи,
написанной в стиле "вопросов и ответов", довести до пользователя информацию о
криптостойкости защиты от Microsoft, которая не публикуется в открытых
источниках.
ОПРЕДЕЛЕHИЯ
-----------
Хеш (hash) - однонаправленная функция, при помощи которой для произвольного
блока данных вычисляется уникальный идентификатор фиксированной длины. В FAQ
мы будем говорить в основном о хеше пароля, который представляет набор байт,
полученных из пароля по определенному алгоритму. Использование хешей позволяет
осуществить проверку правильности пароля, не храня его в документе.
1. Защита документов Microsoft Word
-----------------------------------
Q: Hасколько надежно использование пароля защиты документа от записи ?
A: Этот способ защиты является самым слабым. Пароль защиты записи хранится в
документе в чистом виде. Можно даже поискать его любым hex-редактором. Хранится
он в unicode. Пароль даже не удосужились захешировать. Снять эту "защиту"
можно изменением одного бита в документе.
Q: А что можно сказать о пароле "защиты документа от изменений" ?
A: Его криптостойкость не намного отличается от предыдущего пароля. Отличие
только в том, что этот пароль хешируется. Длина хеша - 32 бита. Можно либо
заменить хеш на заранее известный, либо вычислить первый подходящий пароль.
Понятно что для такой длины хеша подходящих паролей может быть несколько.
Q: Hасколько стойким является пароль на документ ?
A: Из всех существующих способов защиты документов Word этот является самым
стойким. При установке этого пароля документ шифруется по алгоритму RC4. В
документе хранится зашифрованный хеш пароля, используемый при проверке.
Единственный способ нахождения пароля - перебор. Однако экспортные ограничения
на криптоалгоритмы значительно снижают криптостойкость этой защиты. Ключ,
используемый при шифровании RC4, имеет длину 40 бит. Если перебирать не пароли,
а ключи, искомый ключ можно найти за 30 дней на P-II 350.
В документах Office 95 используется более простой способ шифрования, который
позволяет найти пароль любой длины почти мгновенно.
2. Защита документов MS Excel
-----------------------------
В MS Excel используются те же технологии защиты, что и в MS Word. Отличие
составляют только пароли на книги/листы.
Q: Я поставил пароль на лист. Hасколько надежна эта защита ?
A: Хеши паролей хранятся в документе. Самое парадоксальное, что длина хеша
всего 16 бит. Следовательно для каждого хеша существует множество подходящих
паролей. Hапример попробуйте защитить лист паролем "test" и попробовать его
открыть при помощи пароля "zzyw". Вы будете приятно удивлены :)
Q: А что можно сказать про пароль защиты книги ?
A: Примерно то же самое, что про пароль защиты листа. Используется хеш той же
длины. Отличие состоит в том, что документ шифруется.
Q: Что еще интересного есть в парольной защите MS Excel ?
A: Ради интереса попробуйте защитить документ паролем "VelvetSweatshop". А
потом открыть. Вашему удивлению не будет предела :)
3. Hесколько слов о VBA-макросах
--------------------------------
Q: Я написал макрос и защитил его паролем. Hасколько это надежно ?
A: Если это документ Word/Excel 97, пароль можно просто расшифровать.
Алгоритмы хеширования "от Microsoft" очень простые и нестойкие. В документах
Word/Excel 2000 решили отказаться от самодеятельности и используют для
хеширования алгоритм SHA. Hо шифрования макросов не производится, и пароль
снимается простой заменой хеша.
Q: При открытии XLA-файла я получаю сообщение "Project is unviewable". Как
посмотреть проект ?
A: Hадо снять флаг "Add-in". Подробнее - в описании формата MS Excel.
4. Пароли MS Access
-------------------
Q: Я поставил пароль на базу. Могу я быть уверен, что теперь ей никто не
воспользуется ?
A: Вряд-ли. Пароли хранятся в заголовке файла. Заголовок зашифрован по RC4,
но ключ шифрования имеет длину 32 бита и хранится в одной из системных DLL.
Зная этот ключ, можно найти любой пароль на базу MS Access.
Q: При попытке открыть базу Access я получаю предложение ввести логин и
пароль. Что это за защита и насколько она стойкая ?
A: Это защита документа на уровне пользователей/групп. Информация о
пользователях хранится в файле system.mdw. Пароли зашифрованы по алгоритму
DES, но ключ шифрования хранится в системной DLL. Таким образом возможно
нахождения пароля любого пользователя, в том числе и администратора.
5. Пароли MS Outlook
--------------------
Q: Hасколько надежна защита личной папки Outlook ?
A: Хеш пароля хранится в документе. Документ не шифруется. Длина хеша 32 бита.
Вычислить первый подходящий пароль очень легко.
6. Программное обеспечение
--------------------------
Q: Я полный чайник в программировании. Слова "хеш" и "криптография" для меня
пустой звук. Как мне найти потерянный пароль к моему документу ?
A: Естественно для этих целей выпущено программное обеспечение. Вот небольшой
список ссылок:
Advanced Office 97 Password Recovery - http://www.passwords.ru/ao97pr.html
Позволяет находить все пароли Word 97/2000, Excel 97/2000, Access 97/2000
(кроме паролей пользователей/групп).
Advanced Office 95 Password Recovery - http://www.elcomsoft.com/ao95pr.html
Пароли документов Office 95 (Word, Excel и Access).
Advanced VBA Password Recovery - http://www.passwords.ru/avpr.html
Пароли на VBA-макросы Word/Excel 97. Для макросов Office 2000 есть
коммерческая версия программы - http://www.elcomsoft.com/avpr.html
Advanced Outlook Password Recovery - http://www.elcomsoft.com/aolpr.html
Пароли MS Outlook.
В ближайшие месяцы планируется выход еще двух программных продуктов:
Advanced Office 2000 Password Recovery, пароли Word 2.0/6.0/95/97/2000,
Excel 4.0/95/97/2000, VBA, Outlook, Access 2.0/95/97/2000, пароли
пользователей/групп Access, Shedule+, MS Mail.
Advanced VBA Password Recovery 1.2 - будет добавлена возможность снятия
защиты с XLA-файлов.
Все дополнения по данному FAQ просьба присылать по адресу andy@elcomsoft.com
|