Какие типы шифрования доступны для приложений ms office
Использование КриптоПро CSP в Word/Excel из состава Microsoft Office 2003, 2007, 2010, 2013, 2016
Данная инструкция описывает порядок действий по конфигурации программ Word и Excel из состава Microsoft Office 2003, 2007, 2010, 2013, 2016, для создания и проверки электронных цифровых подписей документов. Цифровые подписи используют в тех случаях, когда требуется гарантировать подлинность, целостность и происхождение (авторство) документа, поэтому подписывать документ необходимо только в том случае, когда он окончательно готов.
Важно помнить: если после создания и подписи документ будет открыт в другой версии Microsoft Office Word/Excel, то ЭП документа проверится не всегда.
Ниже представлена таблица, в которой рассмотрены все варианты создания подписи: в Word/Excel с плагином и без него — и возможности проверки подписи в различных версиях Microsoft Office.
Документ открывается в:
Оглавление
1. Использование КриптоПро CSP в Microsoft OfficeWord/Excel 2003
1.1. Создание цифровой подписи
В главном меню выберите пункт Сервис → Параметры
В появившемся окне выберите закладку Безопасность и нажмите кнопку Цифровые подписи.
Появится окно цифровой подписи. Это окно позволяет пользователю добавить свои личные сертификаты, которые будут использоваться для формирования ЭП. Нажмите Добавить .
В появившемся окне представлен список сертификатов пользователя, установленных на компьютере.
Выберите сертификат и нажмите ОК.
Появится окно ввода пароля ключевого контейнера. Введите пароль, соответствующий контейнеру выбранного сертификата.
Если пароль введен неверно, повторите попытку. При успешном вводе пароля появится окно подтверждения подписи.
В результате подписания документа, в строке состояния в правом нижнем углу появится значок, свидетельствующий о том, что данный документ создан с ЭП.
Для проверки статуса подписи, нажмите на это значок.
1.2. Подписание документа, содержащего цифровую подпись
Для подписания документа, уже содержащего цифровую подпись, необходимо проделать шаги, аналогичные п1.
Во вкладке Сервис, выбрать Параметры. В появившемся окне на вкладке Безопасность, нажать кнопку Цифровые подписи.
Добавить сертификаты для подписания документа. Выделить сертификат и нажать ОК.
Нажатием двойного щелчка мыши на значке, свидетельствующем о подписи документа, на нижней панели задач, откроется окно Цифровая подпись. Это окно содержит информацию о подписях документа.
При внесении изменений в документ, подписи становятся недействительными, поэтому рекомендуется подписывать уже готовые документы.
Для просмотра статуса подписи, опять нажать на иконку в нижней части. Обе подписи будут недействительными.
Замечание:
При использовании отправителем и получателем одинаковой версии Microsoft Office совместимость форматов подписи обеспечивается при использовании версии КриптоПро CSP 3.0 и выше.
Если происходит открытие подписанного документа версии Microsoft Office Word 2003 в Microsoft Office Word 2007, то необходимо использовать КриптоПро CSP 3.6.1.
2. Создание цифровой подписи в Microsoft Office/Excel 2007 и 2010/2013/2016 с использованием «КриптоПро Office Signature»
2.1. Установка «КриптоПро Office Signature»
Установка продукта «КриптоПро Office Signature» производится на компьютер с программным обеспечением:
ОС: Windows XP/2003/Vista/2008/2008 R2/7 (32 или 64 бит);
Microsoft Office 2007 или Microsoft Office 2010 (32 или 64 бит);
КриптоПро CSP 2.0 и выше.
Установка производится путём запуска дистрибутива:
XMLDSigAddIn-win32.msi (для 32-битных версий MS Office)
XMLDSigAddIn-x64.msi (для 64-битных MS Office)
2.2. Создание и проверка ЭП
После завершения редактирования документа и сохранения документа можно добавить к документу ЭП.
Подписанный документ будет доступен только для чтения.
Если в подписанный документ нужно внести изменения, то все созданные ЭП следует удалить из документа.
Для создания ЭП в MS Office Word 2007 или Excel 2007:
В главном меню выберите пункт Подготовить, затем Добавить цифровую подпись (КРИПТО-ПРО)
Для создания ЭП в MS Office Word 2010 или Excel 2010:
На вкладке Файл в разделе Сведения нажмите кнопку Добавить цифровую подпись (КРИПТО-ПРО)
Затем появится окно подписания документа. Это окно позволяет пользователю указать свой личный сертификат, который будет использоваться для формирования ЭП. Один из сертификатов будет выбран автоматически.
Если нужно выбрать другой сертификат — нажмите кнопку Изменить. В появившемся окне представлен список сертификатов пользователя, установленных на компьютере.
Выберите сертификат и нажмите ОК. Если для доступа к ключевому контейнеру требуется задать пароль — появится окно ввода пароля.
Если пароль введен неверно, повторите попытку. При успешном вводе пароля появится окно о статусе подписания документа.
После подписи документа, в строке состояния окна документа появится значок, свидетельствующий о том, что данный документ имеет ЭП.
Для проверки статуса подписи, нажмите на этот значок, и справа появится вкладка Подписи, в которой указан статус подписи. Для просмотра состава подписи щелкните правой кнопкой мыши на строке подписи и выберите пункт Состав подписи.
Для более детального просмотра статуса, нажмите на значок ЭП в строке состояния, и справа появится окно, содержащее недействительный статус подписи.
Состав подписи можно посмотреть нажатием правой кнопки мышки
2.3. Подписание документа, содержащего цифровую подпись
Если документ уже содержит цифровую подпись, его можно подписать еще раз.
Для добавления новой ЭП в MS Office Word 2007 или Excel 2007:
В главном меню выберите пункт Подготовить, затем Добавить цифровую подпись (КРИПТО-ПРО).
Для добавления новой ЭП в MS Office Word 2010 или Excel 2010:
На вкладке Файл в разделе Сведения нажмите кнопку Добавить цифровую подпись (КРИПТО-ПРО).
Дальнейшие действия аналогичны созданию первой подписи.
В результате на вкладке Подписи появится еще одна действительная подпись.
Для просмотра состава подписи, щелкните правой кнопкой мыши на строке нужной подписи и выберите пункт Состав подписи.
2.4. Видимые строки подписи
2.4.1 Добавление строки подписи
На вкладке Вставка в группе Текст нажмите на стрелку рядом с кнопкой Строка подписи и в появившемся меню выберите Строка подписи (КРИПТО-ПРО).
Появится диалоговое окно Настройка подписи. В нём можно ввести информацию о лице, которое будет добавлять подпись. Эти сведения будут отображены в строке подписи в документе. Заполнять все пункты необязательно.
- в поле Предложенный подписывающий вводится ФИО подписывающего.
- в поле Должность предложенного подписывающего — название должности подписывающего.
- в поле Адрес электронной почты предложенного подписывающего — адрес электронной почты подписывающего
- в поле Инструкции для подписывающего можно ввести рекомендации или требования для подписывающего. Эти инструкции отображаются в диалоговом окне Подпись, в котором подписывающий будет ставить подпись.
- для разрешения самому подписывающему добавления комментариев в процессе создания подписи установите флажок Разрешить подписывающему добавлять примечания в окне подписи.
- для отображения даты подписания документа, установите флажок Показывать дату подписи в строке подписи.
Созданная строка подписи представляет собой графический объект, который можно переместить на любое место в тексте документа.
При необходимости можно повторить добавление видимой строки подписи в случае, если документ подписывается разными людьми.
2.4.2 Добавление подписи в строку подписания
Дважды щелкните мышью в документе по строке подписи, в которую требуется ввести подпись. Появится диалоговое окно Подписание
В верхней части окна можно просмотреть дополнительные сведения о создаваемой подписи нажав ссылку Дополнительные сведения о том, что подписывается.
При нажатии ссылки Выбрать рисунок можно добавить изображение, например, своей рукописной подписи.
Один из имеющихся на компьютере сертификатов будет выбран автоматически.
Для выбора другого цифрового сертификата для подписи нажмите кнопку Изменить и в окне Выбор сертификата выберите необходимый сертификат
Созданная подпись будет отображена в документе. Одновременно будет отображена вкладка Подписи, в которой приведен список подписей в документе. Созданная подпись будет находиться в разделе Действительные подписи. Незаполненная подпись — в разделе Требуемые подписи.
После того, как в документе появилась первая (или единственная) цифровая подпись, он автоматически помечается как окончательный и доступен только для чтения.
Если документ содержит единственную подпись, то на этом работа с ним заканчивается.
Если документ содержит несколько строк подписей для нескольких лиц, документ следует передать этим лицам для подписания.
Щелкните по кнопке Просмотр подписей, после чего на вкладке Подписи будет отображен список подписей в документе.
Для добавления подписи в строку подписи дважды щелкните по строке подписи в тексте документа или в панели Подписи нажмите правой кнопкой мыши на нужной строке подписи и выберите команду Подписать.
В окне Подписание введите необходимую информацию и нажмите кнопку Подписать
После создания последней подписи в документе в панели Подписи все подписи будут находиться в разделе Действительные подписи
2.4.3 Просмотр свойств подписи
В окне документа в панели Подписи щелкните по стрелке требуемой подписи и выберите команду Состав подписи. Можно также дважды щелкнуть мышью по строке подписи в тексте документа.
Свойства подписи буду отображены в соответствующем окне. Для просмотра сертификата, использовавшегося при создании подписи, нажмите кнопку Просмотр.
Подписанный документ, можно просматривать, печатать, выделять фрагменты и копировать их в буфер обмена.
Можно скопировать и строку подписи в другой документ, но эта строка подписи вставляется без цифровой подписи. Необходимо добавление подписи в строку подписи в новом документе.
При попытке сохранить подписанный документ под другим именем, появляется информационное окно:
Если нажать кнопку Да, все подписи в документе станут недействительными.
Документ, содержащий цифровые подписи, автоматически помечается как окончательный. При попытке снятия этой отметки появляется информационное окно.
Если нажать кнопку Да, то любое действие по редактированию документа приведёт к тому, что все подписи в документе станут недействительными.
Тогда в строках подписи появится текст Недействительная подпись. На вкладке Подписи данные подписи будут находиться в разделе Недействительные подписи.
Документ, содержащий недействительную подпись, можно подписать повторно.
Для этого на вкладке Подписи щелкните по стрелке недействительной подписи и выберите команду Подписать еще раз. Можно также щелкнуть правой кнопкой мыши по строке подписи в тексте документа и в контекстном меню выбрать команду Подписать еще раз.
Заново заполните окно Подписание и нажмите кнопку Подписать.
2.5. Открытие документа на компьютере без «КриптоПро Office Signature»:
При открытии документа с подписью на компьютере, где не установлен продукт «КриптоПро Office Signature» подпись будет отображаться как недействительная. При выборе пункта Состав подписи на вкладке Подписи будет выдано информационное окно:
Кнопка Дополнительные сведения об этом поставщике служит для перехода на веб-сайт производителя продукта «КриптоПро Office Signature», где можно скачать дистрибутив и установить «КриптоПро Office Signature».
Всем привет!
Этой статьей мы открываем цикл, посвященный исследованию безопасности компонентов Microsoft Office. Речь в материале пойдет о форматах данных, шифровании и получении символов.
Когда в компании Microsoft задумывался и разрабатывался масштабный пакет офисных программ Microsoft Office, вероятно, создатели надеялись на успех. Сложно сказать, могли ли они рассчитывать на его триумфальное шествие по миру впоследствии, на то, что продукт станет фактическим стандартом, а существование его растянется на десятилетия. Однако можно уверенно утверждать, что массивность приложений, количество человеко-часов, затраченных на создание, развитие, поддержку обратной совместимости компонентов продукта способствовали появлению «тяжелого наследия» в виде устаревшего, написанного десятилетия назад программного кода, составляющего ядро приложений даже в последних версиях пакета. Требования, которые предъявлялись к коду двадцать лет назад, изменились. Сегодня во главу угла ставится кроссплатформенность, масштабируемость и безопасность. При этом, расходы на значительные изменения в продукте таковы, что Microsoft предпочитает подход «не сломано – не трогай», и старательно обеспечивает обратную совместимость с самыми древними форматами документов. Не обходится и без определенного давления со стороны коммерческих и государственных структур, которые также медленно и неохотно обновляют свои технологические парки, предпочитая привычные средства в ущерб развитию и безопасности.
Покопавшись в дебрях обработчиков файлов Microsoft Office, мы готовы представить вам это небольшое исследование.
Component Object Model и хранение данных
Так может выглядеть использование приложением-контейнером разнородных компонетов независимо от их местоположения
На практике обычно подразумевается не столько сам стандарт, сколько его реализация в ОС семейства Windows. Первые версии COM были разработаны еще для 16-разрядных Windows в качестве основания для OLE (оно же теперь ActiveX). Изначальной целью разработки этих подсистем была возможность создания (!) составных документов Word и Excel для Windows 3.x, и они были выпущено на свет около 1991 года (в разных источниках даты расходятся).
Работая с приложением, пользователь изменяет изображение, содержимое окна браузера и строки в полях ввода. Само приложение взаимодействует с компонентами, вызывая их методы и устанавливая их свойства, иными словами, изменяя внутреннее состояние объектов, о внутреннем устройстве которых не имеет представления.
В один прекрасный момент пользователь решает сохранить проделанную работу и нажимает кнопку «Save». Перед нашим приложением стоит грандиозная задача — записать на диск набор данных в совершенно разных форматах, о большей части которых (и данных, и форматов) приложению ничего не известно, да и находятся они для него в недосягаемости! Именно для решения этой задачи специалисты Microsoft и разработали одновременно с COM и «родной» для Component Object Model формат файла Compound File Binary Format, а вместе с ним систему интерфейсов для взаимодействия с этим форматом и их реализаций, объединяемых под именем Structured Storage.
Структурированное Хранилище COM
Для универсального доступа приложений и компонентов к сложному, к тому же закрытому, формату CFBF, для прозрачной как для контейнера, так и для компонентов замены одного формата другим, были разработаны библиотечные интерфейсы IStorage и IStream и соответствующие API. Виртуальная структура данных, к которой получает доступ приложение посредством этих интерфейсов, представлена системой вложенных каталогов – Хранилищ (Storages), каждый из которых может содержать некоторое число последовательностей байтов – Потоков (Streams), в которых и хранятся данные.
Виртуальное представление формата CFBF (StructuredStorage)
Информация в потоках может храниться в любом удобном виде, включая текст, изображение в любом формате, зашифрованные или сжатые данные, или даже другие файлы CFBF. Не составляет труда поместить в поток и исполняемый код (в т.ч. вредоносный).
Используя соответствующие API (см. Structured Storage Reference в MSDN), приложение может создать файл-хранилище и предоставить каждому компоненту хранилище второго (третьего и т.д.) уровня или поток (несколько потоков) для сохранения состояния в любом формате. Контейнеру нет необходимости знать, в каком виде компонент запишет свои данные, а о размещении информации в файле позаботится стандартная библиотека. Когда необходимо загрузить сохраненное состояние, контейнер открывает хранилище и предоставляет загруженным компонентам возможность считать потоки по мере надобности.
- исключение необходимости для приложений сохранять многочисленные отдельные файлы для разных типов данных, в том числе, для экономии места на диске
- создание унифицированного интерфейса для работы с данными, облегчающего создание приложений, и, в особенности, COM-компонентов, работающих с составными документами
- возможность сохранять текущее состояние элемента данных в любой момент времени
- ускорение доступа к данным
Последний пункт требует отдельного рассмотрения. Разработка Структурированного Хранилища велась на заре развития COM (начало 90х годов), когда существующие аппаратные ресурсы предъявляли повышенные требования к быстродействию сложных систем, в том числе при чтении и записи дисковых файлов. Поэтому система хранения данных должна была быть максимально оптимизирована для быстродействия. Это исключало использование, к примеру, текстовых форматов, требующих значительной предварительной обработки. Напротив, двоичные форматы, позволяющие копировать данные в память с минимальными модификациями, имели преимущество.
Результатом стала дисковая реализация Структурированного Хранилища – формат составных двоичных файлов Microsoft (Compound File Binary Format). Долгое время формат оставался закрытым, спецификации были опубликованы производителем в 2006 году.
Формат CFBF представляет собой «файловую систему внутри файла» и имеет таблицу размещения файлов (FAT), таблицу секторов, директории и «потоки» — аналог дисковых файлов.
Техническое представление формата CFBF
- Ярлыки и списки быстрого доступа
- Кэш изображений и результатов поиска
- Файлы установки (msi и msp)
- «Заметки» Windows
Формат Compound Binary File в приложениях пакета Microsoft Office
Формат документов, используемый Microsoft Office, изначально также представлял собой CFBF.
Документ Word, открытый утилитой для просмотра Structured Storage
Современные версии пакета в качестве основного используют открытый, основанный на XML, формат OfficeOpen XML, однако поддержка CFBF не прекращается с целью поддержания совместимости. Необходимо заметить, что значительная масса кода, отвечающего за работу со старыми форматами документов, была разработана давно (около 20 лет назад).
Word | .doc | Legacy Word document; Microsoft Office refers to them as «Microsoft Word 97 2003 Document» |
.dot | Legacy Word templates; officially designated «Microsoft Word 97 2003 Template» | |
.wbk | Legacy Word document backup; referred as «Microsoft Word Backup Document» | |
Excel | .xls | Legacy Excel worksheets; officially designated «Microsoft Excel 97-2003 Worksheet» |
.xlt | Legacy Excel templates; officially designated «Microsoft Excel 97-2003 Template» | |
.xlm | Legacy Excel macro | |
PowerPoint | .ppt | Legacy PowerPoint presentation |
.pot | Legacy PowerPoint template | |
.pps | Legacy PowerPoint slideshow | |
Publisher | .pub | Microsoft Publisher publication |
Примеры устаревших, по-прежнему поддерживаемых форматов Office
Простой поиск по сайтам государственных структур и предприятий РФ (госзакупки, сайты административных единиц) обнаруживает обескураживающе большое количество официальной документации, выложенной в CFBF, зачастую созданной в древних версиях Office, например, 2003 года. Предоставим читателю провести этот опыт самостоятельно.
двоичный файл формата CFBF внутри документа OfficeOpenXML
Несмотря на то, что документы различных приложений Office основаны на CFBF, каждое хранилище состояний элементов OLE/ActiveX будет иметь свой собственный дополнительный формат. Нужно иметь ввиду, что они во многом сложились исторически и были оптимизированы для максимального быстродействия на слабых компьютерах.
Поддержка Хранилищ OLE форматом RTF
OLE-компонент отображения формул Microsoft EQUATION
Примером уязвимости, связанной с технологией COM Structured Storage, может служить CVE-2017-11882.
Уязвимость была обнаружена в компоненте Microsoft Office настолько древнем, что производителем были утрачены исходные коды компонента.
Для сохранения состояния элементы Редактора Формул (Microsoft Equation Editor) использовали потоки структурированного хранилища. Нарушение целостности данных в потоках приводило к многочисленным уязвимостям, первой обнаруженной из которых была CVE-2017-11882, найденная специалистами Embedi.
Поток структурированного хранилища элемента EquationEditor
Некоторые другие унаследованные двоичные форматы, используемые в пакете Microsoft Office
Графический фильтр EPS
Графический фильтр EPS представляет собой компонент Office, который отвечает за редактирование EPS-изображений. Они являются векторными и строятся при помощи интерпретации внутреннего языка Encapsulated PostScript (версия обычного PostScript с некоторыми ограничениями).
В силу своих особенностей этот язык поддерживает самые разнообразные конструкции и возможности. Благодаря чему уязвимости повреждения памяти в графическом фильтре EPS эксплуатируются достаточно легко. Богатство языка делает возможным использование техник HeapSpray (например, возможность использования циклов) и HeapFengShui (предсказуемость выделения памяти интерпретатором). Даже несмотря на то, что рендеринг изображения происходит на виртуальном принтере, а само исполнение программы «EPS» происходит в рамках изолированного интерпретатора, наличие благоприятных возможностей эксплуатации уязвимостей и старая кодовая база сделали EPS едва ли не самым распространенным вектором атаки офисных приложений.
Ввиду того, что модуль был изначально разработан компанией Access Softek, а затем передан компании Microsoft, в этом компоненте найдено и успешно эксплуатируется существенное число «неизвестных» уязвимостей. Например, в апреле 2017 года компанией FireEye Inc. были найдены уязвимости CVE-2017-0261 и CVE-2017-0262. Эти две уязвимости повреждения памяти позволили злоумышленникам построить READ/WRITE-примитивы, с помощью которых они и добились выполнения своего кода за пределами изолированного процесса («песочницы») интерпретатора PostScript. Злоумышленники могут читать и записывать произвольные участки памяти в адресном пространстве уязвимого процесса, а также могут выполнить, например, поиск необходимых ROP гаджетов для построения ROP-цепочки, делающей остальной шелл-код исполняемым.
В обоих случаях атакующие добивались исполнения произвольного кода похожим образом: создавали объект в памяти с контролируемым содержимым (это было возможно сделать при помощи R/W примитивов) и вызывали один из его методов при помощи функции PostScript.
Данные уязвимости в графическом фильтре «EPS» стали популярным вектором атаки. Причем настолько, что компания Microsoft в апреле 2017 разработала обновление, которое полностью отключает графический фильтр. Однако, патч применим только для версии MsOffice 2010 SP2 и выше.
Базы данных Access
- использование макросов VBA в качестве некоторых триггеров и хранимых процедур;
- возможность использования ссылок на другие базы данных;
- закрытость формата БД препятствует использованию существующих баз в других окружениях.
Первый недостаток весьма серьезный, поскольку VBA-макросы по своим возможностям равносильны обычным исполняемым файлам. По этой причине использование Access может стать проблемой для безопасности.
Пользователь должен доверять БД, с которой работает, и быть уверенным, что в ней не содержится вредоносный код, внесенный злоумышленником. В противном случае запрет исполнения макросов существенно сокращает функциональность приложения для работы с данными в таблицах и представлениями.
Файлы Личных Папок Outlook
Спецификация .ost не была опубликована, и формально доступ к файлу Offline Storage Table может осуществляться только посредством MAPI. На деле эти форматы очень схожи и редактирование .ost также возможно. Необходимо иметь ввиду, что синхронизация отредактированного содержимого файла Offline Storage Table с данными на сервере Exchange может привести к необратимой порче данных и утере значимой информации.
Файл владельца/OwnerFile
Проблема совместной работы над документами Office, расположенными в сетевых хранилищах, была когда-то решена при помощи временных файлов простого формата, так называемых OwnerFile. Если файл в данный момент заблокирован для редактирования, приложение ищет в той же директории файл с коротким именем формата «
$name.doc». Файл содержит имя пользователя, открывшего документ в ASCII и Unicode форматах, в обоих случаях под имя отведен фиксированный размер массива. При создании файла неиспользуемые байты массива заполняются мусорными значениями из памяти приложения, что потенциально может привести к раскрытию чувствительной информации (в целом, из-за размера файла вероятность этого невелика). Имя пользователя в файле владельца также легко подделывается.
Механизм шифрования офисных документов
Механизм парольной защиты документов впервые появился в пакете Office 95. В то время стойкости используемых алгоритмов шифрования уделялось мало внимания, как следствие, применялись алгоритмы, на которые существовали практически применимые атаки. Этот факт стал толчком к изменению механизма в последующих версиях офисных пакетов.
В таблице приведены в хронологическом порядке наиболее распространенные в данное время офисные пакеты и используемые в них по умолчанию алгоритмы шифрования.
Первая версия Microsoft Office вышла 1988 году. За прошедшие годы Microsoft Office превратился из простого текстового редактора в мощный пакет приложений и облачных сервисов с более чем 1,2 миллиардами пользователей, а форматы файлов Microsoft Office стали стандартом де-факто в документообороте. С выходом Word 2.0 в 1991 году в офисных продуктах Microsoft появилось шифрование. Некоторые виды паролей и по сей день можно просто удалить, но расшифровать зашифрованные файлы становится всё сложнее с каждым новым поколением Office. Сегодня мы расскажем о том, как эволюционировала защита данных в продуктах Microsoft Office.
Тип пароля | Приложение | Шифрование? | Скорость атаки |
Пароль на открытие | Все кроме Outlook | Да | В зависимости от версии |
Защита от записи | Word, Excel, PowerPoint | Нет | Мгновенно |
Защита документа | Word | Нет | Мгновенно |
Пароль Book | Excel | Нет | Мгновенно |
Пароль Shared Book | Excel | Нет | Мгновенно |
Пароль на таблицу | Excel | Нет | Мгновенно |
Пароль VBA | Нет | В зависимости от версии |
Word 2.0 – 95, Excel 4.0 – 95
В этих версиях Microsoft Office использовался простейший алгоритм XOR. Даже в момент выхода этой версии Microsoft Office этот тип шифрования считался имитацией защиты; расшифровать защищённые документы и тогда, и сейчас можно мгновенно; в длительных атаках нет никакой необходимости. Этот тип защиты продержался вплоть до версии Office 95 включительно.
Итог: мгновенная расшифровка.
Office 97 и 2000
На момент выхода Office 97 в компании Microsoft уже знали, каким должно быть шифрование. Тем не менее, Office 97 вышел с намеренно ослабленной защитой. Причиной стали экспортные ограничения США. В версии продукта для американского рынка пользователи могли самостоятельно настроить стойкое шифрование, однако этого почти никогда не происходило в силу ограничений совместимости.
С технической точки зрения в Office 97 использовался поточный шифр RC4 и функция хеширования MD5. Для защиты использовался 40-битный ключ и единственная итерация хеш-функции. На момент выхода такая защита считалась слабой; сегодня защищённые таким образом документы можно быстро расшифровать без использования аппаратных ускорителей и распределённых атака.
Шифрование в Microsoft Office 2000 идентично тому, которое использовалось в версии трёхлетней давности.
Итог: мгновенная расшифровка таблицами Thunder Tables либо исключительно быстрый перебор для восстановления оригинального пароля.
Office XP и 2003 с шифрованием по умолчанию
К 2000 году ограничения экспортного контроля были практически полностью сняты, однако Microsoft продолжала использовать слабое шифрование ещё несколько лет в двух поколениях офисных продуктов: Office XP и 2003. В этих версиях Microsoft Office по умолчанию используются алгоритмы шифрования и хеширования из Office 97. В результате большинство документов Office XP и 2003 можно расшифровать практически мгновенно с помощью Elcomsoft Advanced Office Recovery и таблиц Thunder Tables.
Использование внешних криптографических провайдеров не исправило ситуацию с шифрованием: защита в Office XP и Office 2003 как была, так и осталась очень слабой. Средний процессор Intel Core i7 потребительского уровня обеспечивает скорость перебора порядка 3 миллионов паролей в секунду. Графический ускоритель ускорит перебор в 250-500 раз в зависимости от оборудования; в современных условиях такая скорость перебора указывает на исключительно слабую защиту.
Итог: документы, сохранённые в режиме шифрования по умолчанию, расшифровываются мгновенно с использованием таблиц Thunder Tables. Атака на оригинальный пароль исключительно быстрая и не зависит от выбора провайдера криптографии.
Office 2007: появление стойкого шифрования
Спустя семь лет после снятия ограничений на экспорт стойкой криптографии в Microsoft отказались от использования 40-битного шифрования. Однако новая схема шифрования стала не единственным нововведением в Office 2007.
Вместо 40-битного RC4 и единственной итерации хеширования MD5 Microsoft использовала промышленный стандарт AES-128 и хеширование посредством 50,000 итераций SHA-1. Использование длинного ключа шифрования делает невозможными атаки на ключ. Теперь для расшифровки документа необходимо восстановить исходный пароль, что, в свою очередь, означает необходимость атаки методом полного перебора (или атаки на основе словаря, мутаций и т.п.)
Даже сегодня документы, зашифрованные с помощью Office 2007 (и не сохранённые в режиме совместимости), являются умеренно безопасными. Типичный процессор Intel Core i7 обеспечивает скорость восстановления около 1000 паролей в секунду, в то время как атаки с использованием графического процессора обеспечивают скорость перебора порядка 200,000 паролей в секунду (NVIDIA Tesla V100). Для восстановления паролей рекомендуем использовать интеллектуальные словарные атаки.
Итог: новый формат файла и новый метод шифрования. Мгновенная расшифровка документа невозможна. Скорость атаки средняя. Относительно сложные пароли требуют умных словарных атак.
Office 2010: вдвое безопаснее
В Office 2010 используется та же модель шифрования, что и в предыдущем поколении. Новый Office по-прежнему использует AES-128 для шифрования и SHA-1 для хеширования. Однако количество итераций хеширования было увеличено вдвое: с 50,000 в Office 2007 до 100,000 в Office 2010. Это было сделано для того, чтобы учесть эволюцию аппаратного обеспечения и обеспечить аналогичный уровень безопасности.
На сегодняшнем оборудовании скорость перебора паролей к файлам, сохранённым в Office 2010, составляет порядка 500 комбинаций в секунду на процессоре Intel Core i7. Использование графического ускорителя позволяет увеличить скорость атаки до 100,000 паролей в секунду (NVIDIA Tesla V100). На данном этапе атаки методом полного перебора становятся невозможными для всех паролей, кроме самых коротких; рекомендуется атака по словарю.
Итог: алгоритмы из Office 2007, но число итераций хеш-функции удвоено; скорость перебора падает вдвое в сравнении с Office 2007.
Office 2013, 2016, 2019
В последующих поколениях Office Microsoft продолжает увеличивать стойкость шифрования; созданные в новых версиях Office документы совместимы с более ранними версиями в обе стороны.
В Office 2013 были представлены новый метод шифрования (AES-256) и новый алгоритм хеширования (SHA-512). Office 2013, 2016 и 2016 используют шифрование AES-128 или AES-256 и 100,000 итераций SHA-512 для хеширования пароля. Это привело к резкому снижению скорости перебора, которая теперь составляет порядка 50 паролей в секунду на современном процессоре Intel Core i7. Использование графического ускорителя NVIDIA RTX 3090 увеличивает скорость восстановления примерно до 25,700 паролей в секунду.
Итог: скорость перебора упала ещё сильнее. Низкая скорость атак. Полный перебор с использованием графического ускорителя позволяет восстанавливать пароли длиной от 5 до 10 символов в зависимости от используемого набора символов. Более сложные пароли требуют продвинутых словарных атак, в то время как длинные и сложные пароли можно восстановить с использованием распределённых вычислений.
Моментальное снятие защиты
Для восстановления доступа к зашифрованным документам в старом формате DOC/XLS и новом формате DOCX/XLSX используется Advanced Office Password Breaker, предназначенный для быстрого снятия защиты паролем с документов в старых форматах DOC и XLS независимо от версии Microsoft Office, которая использовалась для сохранения файлов. Эти форматы файлов использовались по умолчанию в Microsoft Word 97/2000 и Excel 97/2000. Они остались форматом по умолчанию в Microsoft Office XP и 2003 (быстрое восстановление возможно только с настройками шифрования по умолчанию).
Вместо восстановления исходного пароля при помощи таблиц Thunder Tables атакуется 40-битный ключ шифрования, что позволяет гарантированно расшифровывать документы Microsoft Word 97/2000 и порядка 97% таблиц Excel.
Заключение
Стандарт шифрования, используемый в Microsoft Office 2007 и более поздних версиях, сделал мгновенное восстановление паролей и мгновенную расшифровку данных невозможным (если документ не был сохранен в старом формате в режиме совместимости). Для всех версий Microsoft Office, сохраняющих файлы с расширениями DOCX и XLSX, необходимо восстанавливать пароль вместо ключа шифрования.
Современные версии Microsoft Office хорошо защищены от лобовой атаки, что делает невозможными атаки методом полного перебора. Рекомендуем использовать интеллектуальные словарные атаки, ускорение с помощью графического процессора и распределённых вычислений.
Elcomsoft Distributed Password Recovery поддерживает аппаратное ускорение на большинстве современных видеокарт, позволяя использовать компьютеры, оборудованные до 8 графическими процессорами каждый. Доступен режим распределённых атак с использованием нескольких компьютеров или виртуальных машин.
Владимир Безмалый
Опользе перехода на Office 2010 написано немало, и повторять все аргументы, я думаю, не стоит. Сегодня мне хотелось бы рассказать о пользе такого перехода с точки зрения защищенности зашифрованных документов. Для начала вспомним, как осуществлялась защита документов Microsoft Word в Microsoft Office.
Прошлое и настоящее шифрования в Office
- алгоритм хеширования SHA1 (вместо MD5);
- ключ RC4 может иметь длину до 128 разрядов;
- длина пароля увеличена с 16 до 255 символов.
- на смену алгоритму RC4 пришел алгоритм шифрования AES с длиной ключа 128 разрядов;
- вместо однократного хеширования пароль хешируется циклически 50 тыс. раз;
- возможно применение сторонних алгоритмов шифрования.
- алгоритм шифрования AES с длиной ключа 128 разрядов;
- алгоритм хеширования SHA-1.
- глобальные параметры, применимые к Office Excel 2007, Office PowerPoint 2007 и Office Word 2007. Два глобальных параметра защиты документов описаны в таблице 1;
- параметры, зависящие от приложения, применимые только к Microsoft Office OneNote 2007.
Эти параметры можно найти либо на странице параметров пользователей «Изменить» центра развертывания Office, в разделе «Система Microsoft Office 2007», «Параметры безопасности», либо в узле «Конфигурация пользователя/Административные шаблоны редактора объектов групповой политики», в разделе «Система Microsoft Office 2007/Параметры безопасности».
Настройки конфиденциальности
Настройки конфиденциальности помогают защитить частные и конфиденциальные сведения. Мы можем использовать четыре основные категории настроек конфиденциальности в Office 2007. Параметры можно настроить в центре развертывания Office или посредством групповой политики. Четыре категории настроек конфиденциальности описаны ниже.
Параметр инспектора документов показан в таблице 2.
Таблица 2. Описание инспектора документов
CLSID для модуля инспектора можно найти в записях реестра, которые находятся в следующих разделах реестра:
HKEY_LOCAL_MACHINE/Software/ Microsoft/Office/12.0/Excel/ Document InspectorsHKEY_LOCAL_MACHINE/Software/ Microsoft/Office/12.0/PowerPoint/ Document InspectorsHKEY_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.
Читайте также: