Word для Microsoft 365 Word для Microsoft 365 для Mac Word для Интернета Word 2021 Word 2021 для Mac Word 2019 Word 2019 для Mac Word 2016 Word 2016 для Mac Word 2013 Word 2010 Word для Mac 2011 Word Starter 2010 Еще…Меньше
Пароли необходимо вводить с учетом case и могут иметь длину не более 15 символов.
Если вы потеряли или забыли пароль, Word не сможет восстановить его. Храните копию пароля в безопасном месте или создайте надежный пароль, который сможете запомнить.
-
Перейдите в >файлов > защита > с помощью пароля.
-
Введите пароль, а затем еще раз, чтобы подтвердить его.
-
Сохраните файл, чтобы пароль вступил в силу.
-
Перейдите в >рецензии.
-
В разделе Безопасность можно выбрать, требуется ли вводить пароль для того, чтобы открыть документ, изменить документ или для того и другого. Введите каждый пароль повторно для подтверждения.
-
Нажмите кнопку ОК.
Важно:
Microsoft Office для Mac 2011 больше не поддерживается. Перейдите на Microsoft 365, чтобы работать удаленно с любого устройства и продолжать получать поддержку.
Обновить
-
В меню Word выберите пункт Настройки.
-
В ок Параметрывыберите безопасность .
-
В поле Пароль для открытия введите пароль и нажмите кнопку ОК.
-
В диалоговом окне Подтверждение пароля введите пароль еще раз, а затем нажмите кнопку ОК.
-
Нажмите кнопку Сохранить .
Word Online не можете зашифровать документ с помощью пароля и редактировать документы, зашифрованные с помощью пароля. Если вы хотите защитить файл паролем, нажмите кнопку Открыть в Word, чтобы открыть документ в классических версиях Word. После того как вы добавим защиту паролем, вам потребуется открыть документ с помощью классических программ Word.
Сброс пароля для ИТ-администраторов
Если вас беспокоит потеря доступа к защищенным паролем файлам Office пользователей в организации, возможно, вам будет необходимо использовать средство DocRecrypt. Обратите внимание, что средство DocRecrypt должно быть развернуто ДО того, как указанные файлы будут защищены паролем. DocRecrypt не сможет задним числом восстановить файлы, которые были защищены паролем до его развертывания. Дополнительные сведения см. в статье Удаление и сброс паролей файлов с помощью DocRecrypt.
Нужна дополнительная помощь?
Можно ли обойти парольную защиту в документах Microsoft Word? Зависит ли это от версии Word? Когда при этом можно сэкономить время и деньги?
Ответы в этой заметке.
Парольная защита в Microsoft Word
В Word реализовано несколько вариантов парольной защиты информации:
- Защита открытия документа
- Защита изменения документа
- Защита рабочей книги
- Защита VBA макросов
Все они, кроме «Пароля на открытие», не шифруют данные, а только ограничивают доступ к ним. Данные при этом можно просмотреть, распечатать, обработать макросами, но
их нельзя изменить. Зато такие «ограничительные» пароли можно мгновенно найти, заменить или удалить для всех версий Word.
«Пароль на открытие» — совсем другое дело.
Из этого пароля специальные алгоритмы (алгоритмы хэширования) вычисляют ключ шифрования, которым другие алгоритмы (алгоритмы шифрования) шифруют все данные doc/docx-файла. Не
зная пароль (или – ой, спойлер – ключ ;)), из зашифрованного Word файла невозможно прочитать никакие данные.
И как быть, если «Пароль на открытие» потерян? Ответ зависит от формата Microsoft Office, в котором был сохранён документ.
Удаление Пароля открытия из файла Microsoft Word
Существуют три, принципиальных по возможностям удаления пароля, деления версий формата:
- Microsoft Word 6/95 – пароль открытия всегда находится мгновенно
- Microsoft Word 97-2003 (40bit) – пароль искать не целесообразно, проще найти ключ шифрования и расшифровать документ не зная пароля
- Microsoft Word 2007-2021 – пароль открытия ищется только методом перебора, а его скорость можно увеличить за счёт GPU-ускорения на видеокартах AMD/NVIDIA
Пароль на открытие Word 6-95
Это устаревший формат, который встречается всё реже. Для защиты данных в нём применялась примитивная защита, пароль для которой всегда восстанавливается мгновенно, а успех
не зависит ни от длины, ни от сложности самого пароля.
Пароль на открытие Word 97-2003 (40-bit)
Пожалуй, наиболее распространённый на сегодня формат со своими недостатками в защите данных.
Для шифрования в нём используется очень короткий ключ. Это позволяет искать не пароль, а этот самый ключ и гарантирует 100%-ый успех в расшифровке данных. Ведь количество вариантов
ключа не меняется вне зависимости от сложности и длины оригинального пароля — оно всегда равно 240 (40 бит, вы помните, да?), а сколько при этом придётся проверить
паролей не известно…
Количество вариантов для проверки считается по формуле: число символов в степени длины пароля. То есть (для английского алфавита) это по 26 строчных и заглавных букв,
10 цифр, [допустим] 8 спецсимволов — в сумме 70 символов. И тогда для 7-ми символьного пароля вариантов будет уже в семь раз больше, чем вариантов ключа шифрования:
707 = 8235430000000 / 240 = 1099511627776
И это без гарантии успеха. А что если длина пароля, скажем, 9 символов?..
Вся эта история с лёгкостью и 100% гарантией успеха расшифровки 40-ка битных Word 97-2003 (к слову и Excel тоже!) не была бы полной, без упоминания
радужных таблиц.
Радужные таблицы содержат заранее просчитанные цепочки ключей шифрования, что в разы сокращает поиск нужного ключа практически без снижения процента успеха. На основе радужных
таблиц существуют и онлайн-сервисы для открытия зашифрованных Word файлов.
Рис.4: Радужные таблицы Пасковери в работе на ВерниДоступ.ру
Пароль на открытие Word 2007-2021
Формат набирает популярность и вместе с этим заканчивается время быстрой расшифровки Word файлов. Пароли приходится восстанавливать, то есть попросту перебирать варианты
один за другим в надежде, что нужный пароль попадётся в их числе за разумное время.
Помимо увеличения длины ключа шифрования (например, в Word 2013 он уже 256 бит и
такой ключ найти нереально), разработчики усложняют и алгоритмы хэширования, замедляя время
формирования ключа. При вводе правильного пароля это не заметно, но при переборе миллионов вариантов, падение скорости от версии к версии формата только растёт. Даже в высоко-оптимизированных
программах. Даже с GPU ускорением на видеокартах.
Условия успешного поиска «Пароля на открытие» для Word 2007-2021:
- манипулирование диапазоном проверки. Умение отсечь лишние проверки позволяет здорово сэкономить время при переборе вариантов. Для манипулирования используют
атаку с
мутациями по словарям, атаку по простой и позиционной маске. Мутация словарей
помогает охватить варианты намеренного изменения пароля из обычного слова, а позиционная маска задать возможные значения для каждой позиции в пароле - GPU ускорение на видеокартах NVIDIA/AMD. Задача поиска пароля отлично масштабируется и способна выполнятся на современных видеокартах. Чем
более производительные
видеокарты подключаются к поиску, тем выше скорость поиска и тем быстрее может быть достигнут успех - программы для восстановления паролей, заточенные на скорость поиска. Оптимизация в таких программах способна увеличивать скорость перебора вариантов в десятки раз. Поэтому
уделяйте особое внимание оценке возможностей программы-паролеломалки по скорости перебора паролей
Решение проблемы
Итак, как открыть зашифрованный Microsoft Word файл:
Word 6-95 – мгновенно восстановите пароль в программе начального уровня
Word 97-2003 – гарантированно расшифруйте файл онлайн максимум за 24 часа
Word 2007-2021 – используйте все способности профессиональных решений для восстановления паролей
Accent OFFICE Password Recovery для поиска паролей и ключей шифрования к документам Microsoft Office/OpenOffice всех версий (с GPU ускорением на видеокартах AMD/NVIDIA) |
22.01 | Скачать x86 (10032 Kb) |
Скачать x64 (11736 Kb) |
Passcovery Suite топовое решение с GPU ускорением для Microsoft Office и других популярных форматов (OpenOffice/LibreOffice, Adobe PDF, Zip/WinZip, RAR, TrueCrypt, Apple iOS, BlackBerry OS, WPA/WPA2) |
22.01 | Скачать x86 (16420 Kb) |
Скачать x64 (18996 Kb) |
Три вопроса о шифровании в Microsoft Word
❶ Могу ли я открыть защищённый паролем документ Word без пароля?
Да, если это Word документ, сохранённый в режиме совместимости Microsoft Office 93-2003 (doc-файл). Гарантированно расшифровать такой документ можно
онлайн (радужные таблицы), либо в программах Пасковери (поиск ключа шифрования). В результате
пароль исчезает, оставаясь неизвестным.
Это возможно только для данного формата файлов Word. В остальных случаях придётся искать aka восстанавливать забытый пароль.
❷ Как я могу удалить пароль из документа Word с защитой «только на чтение»?
Пароль защиты от редактирования удаляется в Accent WORD Password Recovery мгновенно для всех версий Microsoft Word. Эта защита не является стойкой и не шифрует данные.
Она просто защищает информацию и структуру документа от случайных изменений. Поэтому снять её можно мгновенно, вне зависимости от сложности пароля.
❸ Как мне декодировать Word документ?
Выбирайте одно из трёх решений, подходящее для версии вашего зашифрованного Word файла:
- Word 2-95 – мгновеное восстановление пароля в Accent WORD Password Recovery
- Word 97-2003 – гарантированная расшифровка в короткие сроки на ВерниДоступ.ру или в Accent OFFICE Password Recovery
- Word 2007-2021 – быстрый поиск пароля с GPU ускорением на видеокартах AMD/NVIDIA и с манипулированием диапазона проверки в Accent OFFICE Password Recovery или Passcovery Suite
A procedure should be followed for encrypting an MS word document. Encryption is nothing but protecting your document from a third party. First, let us look into the definition of encryption.
What is Encryption? How do we use Encryption?
-
The word encryption is derived from the Greek word Kryptos means hidden or a secret.
-
There are certain algorithms to use encryption like RSA algorithms and Diffie-Hellman key exchange algorithms.
-
These algorithms led to the use of encryption in commercial and consumer realms to protect data.
-
The password is the best example of encryption.
-
Encryption is used in sending data across all the networks and ATM is also one of the examples for encryption.
-
Plain text is referred to as data and to this plain text we apply encryption algorithms and perform encryption.
-
Now let’s look into the procedure of encrypting an MS Word Document in detail by step by step procedure.
-
Encrypting a Word Document.
-
The encryption offered by Microsoft is very strong.
-
It cannot be broken in extreme immediate future by cybercrime because it has high computational requirements.
-
In a word document, you need not to change the encryption length unless you have a specific reason to alter the settings.
-
Microsoft uses AES with a 128bit key, plus SHA1 salt and cipher block chaining for encryption.
-
Currently, no practical methods can break or crack the algorithm provided by Microsoft.
-
If you are using a Microsoft word 2007 version then follow the below steps.
Step 1 − Click office button on word and press Save as an option for saving the document.
Step 2 − A dialogue pops up on the screen asking to name the document and choose the location of the document.
Step 3 − After giving the name and location, there is an option called tools just below the document name section. Click on the tools option and choose general options.
Step 4 − Another dialogue pops up on the screen asking the file encryption options for this document. Enter a password in the space provided and protect the document by encryption by saving the settings.
If you are using a Microsoft Word 2010 or any advanced version then follow the below procedure for quick encryption.
Как легко зашифровать текстовый файл Microsoft Word на компьтере Mac или Windows, объяснило американское издание Business Insider.
Как отмечает автор статьи, шифрование полезно для тех людей, кто использует данное приложение при работе с конфиденциальной информацией. При этом сам способ очень прост.
Первый шаг — это открыть нужный файл Word, зайти во вкладку «Файл», где в разделе «Сведения» выбрать пункт «Защита документа» и подпункт «Зашифровать с использованием пароля». Далее в появившемся окне нужно ввести пароль, после чего подтвердить его.
После данной процедуры вордовский файл можно будет открыть только после введения назначенного пароля. Однако, предупреждает издание, следует помнить о том, что восстановить пароль в случае, если вы его забыли, невозможно.
8 февраля Microsoft признала проблемы с последними обновлениями Windows 10. Согласно отзывам пользователей, проблемы возникают после установки обновлений KB4598299 и KB4598301. Данные апдейты предназначены для новых версий ОС — 20H2, 2004 и 1909. Судя по сообщениям, в некоторых случаях наблюдается перезагрузка системы и появление «синего экрана смерти» (BSoD, Blue Screen of Death).
Время на прочтение
14 мин
Количество просмотров 13K
Всем привет!
Этой статьей мы открываем цикл, посвященный исследованию безопасности компонентов Microsoft Office. Речь в материале пойдет о форматах данных, шифровании и получении символов.
Когда в компании Microsoft задумывался и разрабатывался масштабный пакет офисных программ Microsoft Office, вероятно, создатели надеялись на успех. Сложно сказать, могли ли они рассчитывать на его триумфальное шествие по миру впоследствии, на то, что продукт станет фактическим стандартом, а существование его растянется на десятилетия. Однако можно уверенно утверждать, что массивность приложений, количество человеко-часов, затраченных на создание, развитие, поддержку обратной совместимости компонентов продукта способствовали появлению «тяжелого наследия» в виде устаревшего, написанного десятилетия назад программного кода, составляющего ядро приложений даже в последних версиях пакета. Требования, которые предъявлялись к коду двадцать лет назад, изменились. Сегодня во главу угла ставится кроссплатформенность, масштабируемость и безопасность. При этом, расходы на значительные изменения в продукте таковы, что Microsoft предпочитает подход «не сломано – не трогай», и старательно обеспечивает обратную совместимость с самыми древними форматами документов. Не обходится и без определенного давления со стороны коммерческих и государственных структур, которые также медленно и неохотно обновляют свои технологические парки, предпочитая привычные средства в ущерб развитию и безопасности.
Покопавшись в дебрях обработчиков файлов Microsoft Office, мы готовы представить вам это небольшое исследование.
Component Object Model и хранение данных
Начать стоит издалека, а именно с Объектной Модели Компонентов. Как вы, должно быть, знаете, Microsoft обожает делать свои продукты на основе этой технологии, и Microsoft Office не стал исключением.
Объектная модель компонентов COM — это стандарт, позволяющий ПО пользоваться сервисами, предоставляемыми другим ПО, независимо от того, где это ПО расположено (внутри одного процесса, в разных процессах или на разных компьютерах) и чем представлено (исполняемые файлы, управляемый код, или даже скриптовые языки). При этом программе-клиенту, называемой контейнером, не нужно вдаваться в подробности реализации сервиса (или компонента), достаточно знать его идентификатор класса, и, если такой зарегистрирован, хитроумная система маршалинга обеспечит прозрачное, бесшовное и довольно надежное взаимойдействие.
Так может выглядеть использование приложением-контейнером разнородных компонетов независимо от их местоположения
На практике обычно подразумевается не столько сам стандарт, сколько его реализация в ОС семейства Windows. Первые версии COM были разработаны еще для 16-разрядных Windows в качестве основания для OLE (оно же теперь ActiveX). Изначальной целью разработки этих подсистем была возможность создания (!) составных документов Word и Excel для Windows 3.x, и они были выпущено на свет около 1991 года (в разных источниках даты расходятся).
Представим приложение на C#, которое использует несколько элементов ActiveX (элементы ActiveX являются COM-компонентами, предназначенными для взаимодействия с пользователем; определение неточное, но точного, судя по всему, не существует). Приложение-контейнер загружает внутрипроцессный компонент, написанный на плоском C для отрисовки изображения, компонент внутри другого процесса на этом же компьютере для загрузки веб-страницы и форму ввода строковых данных, которую отрисовывает компонент, выпоняющийся на другом компьютере.
Работая с приложением, пользователь изменяет изображение, содержимое окна браузера и строки в полях ввода. Само приложение взаимодействует с компонентами, вызывая их методы и устанавливая их свойства, иными словами, изменяя внутреннее состояние объектов, о внутреннем устройстве которых не имеет представления.
В один прекрасный момент пользователь решает сохранить проделанную работу и нажимает кнопку «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
Существует несколько версий формата CFBF, все они должны поддерживаться последними версиями ОС в рамках обратной совместимости. Несмотря на то, что Структурированные Хранилища являются во многом «унаследованной» и морально устаревшей технологией, они представляют естественную встроенную систему хранения данных COM, а технология COM насквозь пронизывает «пользовательскую» часть ОС Windows. Значительный объем прикладных программ, в том числе Microsoft Office и многие встроенные приложения Windows, разрабатывались достаточно давно и содержат большой объем кода, требующего обратной совместимости, что затрудняет переход на современные универсальные открытые форматы. Как следствие, технология занимает прочное место и активно используется в современных версиях продуктов Microsoft.
В качестве примеров можно привести:
- Ярлыки и списки быстрого доступа
- Кэш изображений и результатов поиска
- Файлы установки (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 в приложениях Microsoft Office не ограничивается поддержкой унаследованных форматов документов, имеющих современные XML-аналоги. Приложение Microsoft Publisher все еще использует только документы формата CFBF. К CFBF относятся формат .msg сообщений Outlook.
Если документ формата Office Open XML включает элементы OLE, их текущее состояние может сохраняться в файлах CFBF. В этом случае документ будет содержать включения в виде двоичных Compound-файлов.
двоичный файл формата CFBF внутри документа OfficeOpenXML
Несмотря на то, что документы различных приложений Office основаны на CFBF, каждое хранилище состояний элементов OLE/ActiveX будет иметь свой собственный дополнительный формат. Нужно иметь ввиду, что они во многом сложились исторически и были оптимизированы для максимального быстродействия на слабых компьютерах.
[MS-DOC] | Word (.doc) Binary File Format | https://msdn.microsoft.com/en-us/library/office/cc313153.aspx |
[MS-XLS] | Excel Binary File Format (.xls) | https://msdn.microsoft.com/en-us/library/office/cc313154.aspx |
[MS-OXMSG] | Outlook Item (.msg) File Format | https://msdn.microsoft.com/en-us/library/cc463912(v=exchg.80).aspx |
[MS-OFORMS] | Office Forms (ActiveX) Binary File Formats | https://msdn.microsoft.com/en-us/library/cc313125.aspx |
Некоторые опубликованные спецификации форматов Office, основанных на Структурированном Хранилище
Поддержка Хранилищ OLE форматом RTF
Rich Text Format в целом считается довольно безопасным XML-подобным форматом. Однако, в свою реализацию специалисты Microsoft не могли не включить поддержку OLE/ActiveX. Документы RTF в приложениях Microsoft могут содержать и отображать встроенные элементы OLE и должны иметь возможность сохранять их текущее состояние. Для этого к формату были добавлены такие управляющие слова, как ‘obj’, ‘objclass’, ‘objdata’. Это позволяет дополнять RTF-документы зарегистрированными в системе элементами ActiveX. Работу с форматом для компонента обеспечивает подсистема OLE, исполняемый код ActiveX прозрачно для себя использует стандартные интерфейсы IStorage и IStream. Обеспечение безопасности документов ложится на приложение-контейнер, которое может использовать устаревший унаследованный код и не учитывать всех современных нюансов работы с ActiveX.
OLE-компонент отображения формул Microsoft EQUATION
Примером уязвимости, связанной с технологией COM Structured Storage, может служить CVE-2017-11882.
Уязвимость была обнаружена в компоненте Microsoft Office настолько древнем, что производителем были утрачены исходные коды компонента.
Для сохранения состояния элементы Редактора Формул (Microsoft Equation Editor) использовали потоки структурированного хранилища. Нарушение целостности данных в потоках приводило к многочисленным уязвимостям, первой обнаруженной из которых была CVE-2017-11882, найденная специалистами Embedi.
Поток структурированного хранилища элемента EquationEditor
Несмотря на то, что компонент по умолчанию запрещен к загрузке для документов .doc и .docx, из .rtf элемент загружался успешно, позволяя атакующему выполнить вредоносный код.
После безуспешных попыток вручную исправить уязвимости в исполняемом коде в отсутствие исходного кода, в Microsoft были вынуждены исключить компонент Редактора Формул из пакета Office.
Некоторые другие унаследованные двоичные форматы, используемые в пакете 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
Система управления БД Microsoft Access представляет собой мощный инструмент управления сравнительно небольшим объемом данных, например, реестром оборудования какой-либо организации. Access позволяет легко создавать отчеты на основе информации в базе данных. Также приложение можно использовать как front-end для управления другими СУБД, включая Microsoft SQL Server (при помощи ODBC-драйверов).
Приложение и формат БД разрабатывались очень давно и обладают рядом архитектурных недостатков:
- использование макросов VBA в качестве некоторых триггеров и хранимых процедур;
- возможность использования ссылок на другие базы данных;
- закрытость формата БД препятствует использованию существующих баз в других окружениях.
Первый недостаток весьма серьезный, поскольку VBA-макросы по своим возможностям равносильны обычным исполняемым файлам. По этой причине использование Access может стать проблемой для безопасности.
Пользователь должен доверять БД, с которой работает, и быть уверенным, что в ней не содержится вредоносный код, внесенный злоумышленником. В противном случае запрет исполнения макросов существенно сокращает функциональность приложения для работы с данными в таблицах и представлениями.
Файлы Личных Папок Outlook
Почтовый клиент пакета Microsoft Office использует собственный формат файла-хранилища для сообщений, пользовательской структуры папок, вложений, адресной книги и т.п. Это многоуровневый формат, тесно связанный с подсистемой MAPI, предоставляющей доступ к файлам личных папок посредством собственных интерфейсов.
Спецификация Outlook Personal Folders (.pst) была опубликована производителем: https://msdn.microsoft.com/en-us/library/ff385210.aspx.
Спецификация .ost не была опубликована, и формально доступ к файлу Offline Storage Table может осуществляться только посредством MAPI. На деле эти форматы очень схожи и редактирование .ost также возможно. Необходимо иметь ввиду, что синхронизация отредактированного содержимого файла Offline Storage Table с данными на сервере Exchange может привести к необратимой порче данных и утере значимой информации.
Файл владельца/OwnerFile
Проблема совместной работы над документами Office, расположенными в сетевых хранилищах, была когда-то решена при помощи временных файлов простого формата, так называемых OwnerFile. Если файл в данный момент заблокирован для редактирования, приложение ищет в той же директории файл с коротким именем формата «~$name.doc». Файл содержит имя пользователя, открывшего документ в ASCII и Unicode форматах, в обоих случаях под имя отведен фиксированный размер массива. При создании файла неиспользуемые байты массива заполняются мусорными значениями из памяти приложения, что потенциально может привести к раскрытию чувствительной информации (в целом, из-за размера файла вероятность этого невелика). Имя пользователя в файле владельца также легко подделывается.
сообщение MicrosoftWord при попытке открытия заблокированного документа
Механизм шифрования офисных документов
Механизм парольной защиты документов впервые появился в пакете Office 95. В то время стойкости используемых алгоритмов шифрования уделялось мало внимания, как следствие, применялись алгоритмы, на которые существовали практически применимые атаки. Этот факт стал толчком к изменению механизма в последующих версиях офисных пакетов.
В таблице приведены в хронологическом порядке наиболее распространенные в данное время офисные пакеты и используемые в них по умолчанию алгоритмы шифрования.
Версия | Хеширование | Шифрование |
Office 2003 | None | RC4 |
Office 2007 | SHA-1 x 50.000 | AES-128 |
Office 2010 | SHA-1 x 100.000 | AES-128 |
Office 2013 | SHA-512 x 100.000 | AES-128 |
Office 2016 | SHA-512 x 100.000 | AES-128 |
Несмотря на использование стойких алгоритмов шифрования, само шифрование документа производится не сразу после установки пароля на документ, а только после следующего сохранения документа. Учитывая количество атак, основанных на невнимательности пользователей офисного пакета, это довольно важный нюанс.
Также нельзя забывать, что реализация криптоалгоритмов является трудоемкой задачей даже для высококвалифицированных разработчиков, поэтому наличие ошибок в них исключать нельзя. Ярким примером такой ошибки, повлиявшей на защиту Excel документов является уязвимость в генерации ключей, исправленная патчем MS15-110.
Несколько слов об источниках информации для исследователя
Если вы решили всерьез заглянуть «под капот» Office, нелишней будет любая дополнительная информация, позволяющая понять назначение структур данных.
- Весьма полезны в этом плане уже упоминавшиеся спецификации форматов, любезно (хотя и под некоторым давлением) выложенные Microsoft. С ними можно ознакомиться на сайте MSDN:
https://msdn.microsoft.com/en-us/library/cc313105.aspx
Необходимо отметить, что эта документация содержит пробелы и неточности, так что ориентируясь исключительно на нее написать парсер документов довольно сложно. Зато из нее можно почерпнуть сведения о многих загадочных структурах и идентификаторах, выяснить их название. - VisualStudio 2010 SDK
Среди набора заголовочных файлов есть комплект для Microsoft Office, содержащий информацию об интерфейсах, типах, перечислениях и форматах вызова процедур: https://www.microsoft.com/en-us/download/details.aspx?id=2680 (требуется установленная VS2010).
Ознакомиться можно (например) здесь - Office 97
В исполняемых файлах современных версий пакета разделяемые библиотечные процедуры импортируются по ординалам. В ранних версиях Office они имеют внятные названия, по которым можно составить представление об их назначении. Номера ординалов в основном соответствуют современным (есть и различия!). - Office 2010
В исполняемых файлах Office 2010 содержится информация для динамической идентификации классов (RTTI), позволяющая установить имена классов и виртуальные таблицы интерфейсов. Для этого можно воспользоваться инструментами вроде Class Informer. Начиная с Office 2013, эта информация зашифрована. - offparser.dll
Компонент 64-разрядного Server 2003, содержащий упрощенные варианты реализаций классов и интерфейсов. В отличие от Office, символьная информация (.pdb) для этого модуля доступна для скачивания с сервера Microsoft. Позволяет получить имена методов, внутреннее строение экземпляров классов и названия CLSID и GUID. - OutlookExpress/Microsoft Mail
Почтовый клиент и почтовая подсистема, входящие в состав оперционной системы. Содержат упрощенный вариант MAPI (почтовая подсистема Outlook). Как и для других компонентов Windows, символьная информация доступна для скачивания. Часть кода этих компонентов содержится в опубликованных исходных кодах Windows.