. Для начала вспомним, как осуществлялась защита документов Microsoft Word в Microsoft Office.
Прошлое и настоящее шифрования в Office
В Office, до версии 6.0 включительно, первым алгоритмом шифрования был обычный XOR. Конечно же, такой простейший алгоритм шифрования не обеспечивал никакой защиты, и любые пароли восстанавливались практически мгновенно. Вполне естественно, что соответствующие программы для взлома Microsoft Word и Microsoft Excel появились практически сразу. Более того, как отмечал один из авторов таких программ, ложное чувство безопасности гораздо хуже, чем ее отсутствие. И просил Microsoft улучшить защиту в Office.
Это и было сделано в последующих версиях Microsoft Office 97 и 2000. В данных продуктах использовались сильные криптоалгоритмы MD5 и RC4. Однако в связи с введением ограничений на экспорт сильной криптографии, действовавших в то время в США, криптоалгоритмы, применявшиеся за пределами США, не могли использовать ключи длиннее 40 разрядов. Это привело к искусственному ограничению ключей RC4 до 40 бит, а, следовательно, из 16 байт, полученных на выходе MD5, 11 просто затирались в 0, и из 5 значащих байтов и 11 нулей формировался ключ RC4. Это привело к возможности организации атаки методом перебора (методом brute force). Для расшифровки файла MS Word/Excel 97/2000 нужно перебрать максимум 240 ключей.
С учетом появления таблиц ключей (Rainbow tables) нужную атаку можно совершить за ограниченное время (от нескольких секунд до нескольких минут). Более того, появились сайты в Интернете, оказывающие подобные услуги, например www.decryptum.com (стоимость расшифровки одного файла составляет 29 долл.); программное обеспечение Guaranteed Word Decrypter (GuaWord) 1.7, Guaranteed Excel Decryptor (GuaExcel) 1.7 (производитель PSW-soft), Advanced Office Password Breaker (AOPB), Advanced Office Password Recovery (AOPR) (производитель Elcomsoft).
В Microsoft Office XP/2003 в качестве алгоритма шифрования по умолчанию был оставлен все тот же алгоритм с 40 разрядным ключом. Вместе с тем были внесены следующие изменения:
- алгоритм хеширования SHA1 (вместо MD5);
- ключ RC4 может иметь длину до 128 разрядов;
- длина пароля увеличена с 16 до 255 символов.
Другое дело, что в любом случае используемая схема шифрования и проверки паролей допускает высокую скорость перебора (до 1 000 000 паролей в секунду), как показано на экране 1.
Экран 1. Восстановление пароля файла Microsoft Word 2003 методом перебора |
В Office 2007 была применена новая схема шифрования, призванная бороться с высокой скоростью перебора паролей. В ней существуют принципиальные отличия от предыдущей версии:
- на смену алгоритму RC4 пришел алгоритм шифрования AES с длиной ключа 128 разрядов;
- вместо однократного хеширования пароль хешируется циклически 50 тыс. раз;
- возможно применение сторонних алгоритмов шифрования.
В результате принятых мер скорость перебора паролей составляет не более 200 паролей в секунду, что позволяет подобрать за разумное время пароли не длиннее 5–6 символов.
Вместе с тем стоит подчеркнуть, что с появлением программного обеспечения, использующего ресурсы видеокарты, скорость перебора вырастает до 5 тыс. паролей в секунду, что в любом случае явно недостаточно для полноценной атаки методом перебора (экран 2).
Экран 2. Атака перебором с учетом ресурсов видеокарты |
Что касается формата защищенных файлов, то его не назовешь простым и понятным. Ведь если установлен пароль на открытие файла, то фактически файл представляет собой OLE-контейнер, состоящий из информации о шифровании, зашифрованного потока и вспомогательной информации. Однако, несмотря на то что в нем, как и в блоке шифрования в Office XP/2003, содержится имя криптопровайдера, названия алгоритмов хеширования и шифрования, а также длина ключа и данные для проверки пароля и расшифровки, в Office 2007 жестко установлены следующие параметры:
- алгоритм шифрования AES с длиной ключа 128 разрядов;
- алгоритм хеширования SHA-1.
При этом шифрование и хеширование обеспечивает криптопровайдер Microsoft Enhanced RSA and AES Cryptographic Provider. Вместе с тем следует учесть, что при атаке последовательным перебором паролей скорость перебора катастрофически падает.
Изменился и алгоритм проверки паролей защиты документа от изменений с доступом только на чтение, а также книг и листов Excel. Раньше в документе хранился хеш пароля, состоящий из 2 байт. Соответственно было возможно его реверсирование в первый подходящий пароль. Сейчас же алгоритм хеширования определен записью в файле XML и там же определено количество итераций хеша.
Параметры защиты документов
Параметры защиты документов позволяют изменить способ шифрования файлов и текста с помощью функции защиты пароля. Существует два типа параметров защиты документов:
- глобальные параметры, применимые к Office Excel 2007, Office PowerPoint 2007 и Office Word 2007. Два глобальных параметра защиты документов описаны в таблице 1;
- параметры, зависящие от приложения, применимые только к Microsoft Office OneNote 2007.
Таблица 1. Глобальные параметры защиты документов |
Эти параметры можно найти либо на странице параметров пользователей «Изменить» центра развертывания Office, в разделе «Система Microsoft Office 2007», «Параметры безопасности», либо в узле «Конфигурация пользователя/Административные шаблоны редактора объектов групповой политики», в разделе «Система Microsoft Office 2007/Параметры безопасности».
Настройки конфиденциальности
Настройки конфиденциальности помогают защитить частные и конфиденциальные сведения. Мы можем использовать четыре основные категории настроек конфиденциальности в Office 2007. Параметры можно настроить в центре развертывания Office или посредством групповой политики. Четыре категории настроек конфиденциальности описаны ниже.
Параметр инспектора документов показан в таблице 2.
Таблица 2. Описание инспектора документов |
CLSID для модуля инспектора можно найти в записях реестра, которые находятся в следующих разделах реестра:
HKEY_LOCAL_MACHINE/Software/ Microsoft/Office/12.0/Excel/ Document Inspectors HKEY_LOCAL_MACHINE/Software/ Microsoft/Office/12.0/PowerPoint/ Document Inspectors HKEY_LOCAL_MACHINE/Software/ Microsoft/Office/12.0/Word/ Document Inspectors
Параметр «Инспектор документов» можно найти на странице параметров пользователей «Изменить» центра развертывания Office: Система Microsoft Office 2007 (компьютер)/Прочее.
Или же этот параметр можно найти в редакторе объектов групповой политики: Конфигурация компьютера/Административные шаблоны/Microsoft Office 2007 (компьютер)/Прочее.
Шифрование в Office 2010. Алгоритмы шифрования, применяемые в Microsoft Office 2010, зависят от алгоритмов, доступ к которым можно получить через интерфейсы API в операционной системе Windows. Office 2010, помимо поддержки Cryptography API (CryptoAPI), также поддерживает интерфейс CNG (CryptoAPI: Next Generation), который впервые стал доступен в Microsoft Office 2007 с пакетом обновления 2 (SP2).
При этом стоит учесть, что, используя CNG, можно добиться более динамичного шифрования и применять модули сторонних производителей. Если Office использует CryptoAPI, алгоритмы шифрования зависят от алгоритмов, доступных в провайдере службы криптографии (CSP), который входит в операционную систему Windows.
Список провайдеров службы криптографии, установленных на компьютере, содержится в следующем разделе реестра:
HKEY_LOCAL_MACHINE/SOFTWARE/ Microsoft/Cryptography/Defaults/Provider
В Office 2010 и Office 2007 с пакетом обновления 2 (SP2) можно использовать следующие алгоритмы шифрования CNG и другие криптографические расширения CNG, установленные в системе: AES, DES, DESX, 3DES, 3DES_112 и RC2. Алгоритмы хеширования CNG и другие криптографические расширения CNG можно использовать такие: MD2, MD4, MD5, RIPEMD-128, RIPEMD-160, SHA-1, SHA256, SHA384 и SHA512.
При шифровании документов в формате Open XML (DOCX, XSLX, PPTX и т. д.) алгоритмом шифрования по умолчанию выбран алгоритм AES (алгоритм шифрования, который был выбран Агентством национальной безопасности (NSA) в качестве стандарта для правительства США, поддерживается в операционных системах Windows XP с пакетом обновления 2 (SP2), Windows Vista, Windows 7, Windows Server 2003 и Windows Server 2008) с длиной ключа 128 разрядов, алгоритм хеширования — SHA1.
Параметры криптографии и шифрования. В таблице 3 перечислены параметры, которые позволяют изменить алгоритмы шифрования при использовании версий Microsoft Office, применяющих CryptoAPI.
Таблица 3. Алгоритмы шифрования |
В Office 2010, если требуется изменить параметр «Тип шифрования» для защищенных паролем файлов Office Open XML, сначала следует включить параметр «Задать совместимость шифрования» и выбрать параметр «Использовать формат прежних версий». Параметр «Задать совместимость шифрования» доступен в Access 2010, Excel 2010, PowerPoint 2010 и Word 2010.
В таблице 4 перечислены параметры, которые позволяют изменить алгоритмы шифрования при использовании Office 2010. Эти параметры применяются к Access 2010, Excel 2010, OneNote 2010, PowerPoint 2010, Project 2010 и Word 2010.
Таблица 4. Параметры изменения алгоритмов |
Помимо параметров CNG, указанных в предыдущей таблице, для Excel 2010, PowerPoint 2010 и Word 2010 можно настроить параметр CNG с именем «Использовать новый ключ при смене пароля», который позволяет указать, следует ли использовать новый ключ шифрования при изменении пароля. По умолчанию при изменении пароля новый ключ не используется.
Параметр «Отключить пароль для открытия пользовательского интерфейса» можно использовать, чтобы запретить добавлять пароли в документы и тем самым отключить шифрование документов. Этот параметр управляет тем, могут ли пользователи Office 2010 добавлять пароли в документы. По умолчанию пользователи могут добавлять пароли.
Совместимость с предыдущими версиями Office. Если требуется зашифровать документы Office, рекомендуется сохранить их в формате Open XML (DOCX, XLSX, PPTX и т. д.) вместо формата Office 97–2003 (DOC, XLS, PPT и т. д.). При шифровании двоичных документов (DOC, XLS, PPT) используется алгоритм RC4, что не рекомендуется! Так как число циклов повторного хеширования по умолчанию 100 000, скорость перебора паролей по умолчанию вдвое ниже, чем при незаконном доступе к документам Office 2007.
Таким образом, можно сделать несложный вывод: с точки зрения устойчивости к атакам прямого перебора пароли документов в Microsoft Office 2010 являются на сегодня наиболее эффективными.
Владимир Безмалый (vladb@windowslive.com) — специалист по обеспечению безопасности, имеет звания MVP Consumer Security, Microsoft Security Trusted Advisоr