Охарактеризуйте особенности реализации microsoft всех типов защиты документов word и excel
Если Вы пользуетесь Microsoft Office 2007 и обеспокоены безопасностью своих документов, то следует вспомнить, что в этот пакет, а так же в операционную систему, уже встроено множество технологий, помогающих надежно защитить документы от несанкционированного доступа, перехвата при передаче, способных разграничить доступ к документам для разных пользователей. Навряд ли большинство пользователей применяет что-то большее, нежели чем установку пароля на документ, по-этому я напомню о всех видах защиты.
Шифрование документа силами Microsoft Office 2007
Собственно, самый популярный метод защиты, которым пользуются все – установка пароля. Файл невозможно прочитать, если не знаешь пароль. Сейчас существует множество программ-ломалок, которые сделаны для вскрытия паролей, не все и не всегда из них эффективны, однако возможность взлома не исключена.
Цифровая подпись
Цифровая подпись – это примерно то же самое, что и обычная подпись, заверенная нотариусом. Только цифровая подпись не заверяется нотариусом, а выдается специальной организацией – Центром сертификации.
Центр сертификации (ЦС). Коммерческая организация, выпускающая цифровые сертификаты, отслеживающая, кому они были назначены, подписывающая сертификаты для удостоверения их подлинности и следящая за истечением срока действия выпущенных сертификатов и их отзывом.
Цифровую подпись можно добавить в документ как видимую, так и не видимую (сюрприз!). Да, чтобы получить ее, нужно обратиться в стороннюю организацию, однако это единственный законный способ закрепить за собой авторство и защитить документ от кражи и изменений. Следует помнить, что цифровые подписи, вставленные в документ Microsoft Office 2007, не имеют обратной совместимости в документами для программ предыдущих версий.
Теперь перейдем от технологий, встроенных в офис, к технологиям, имеющимся в Windows XP и выше.
Information Rights Management
IRM — это служба управление правами на доступ к данным, предназначенная для приложений Microsoft Office, связанная со службой Rights Management Services – службой управления правами. Служба Windows RMS обеспечивает сквозную защиту и контроль над тем, кто имеет возможности читать, печатать, изменять, пересылать или копировать документы.
Наряду с технологиями, позволяющими шифровать данные при передаче, есть и локальное шифрование информации.
Encrypting File System
И еще одна технология, позволяющая локально шифровать данные, появившаяся в Windows Vista – BitLocker. Она позволяет шифровать системный диск полностью, тем самым защищая содержимое от атак с выключением, которые рассчитаны на получение данных в обход операционной системы.
BitLocker использует алгоритм AES с ключом 128 бит. Для большей надежности длину ключа можно увеличить до 256 бит с помощью групповых политик или через поставщик инструментария управления Windows (WMI) для BitLocker.
Надеюсь, что этот пост расширит Ваш взгляд на способы сохранения документов. Кстати, Вы не знаете, как (где, у кого) можно получить цифровую подпись в России и Украине?
Защита информации встроенными методами прикладных программ (на примере некоторых компонент MS Office) осуществляется в следующих направлениях:
• разграничение доступа к данным;
• борьба с вирусами (макровирусами).
Предусматривается разграничение доступа на двух уровнях:
• уровень файла в целом (книги Excel или документа Word);
• уровень его компонент (листа и пр.).
Защита файла от просмотра и редактирования. Для защиты файла в целом может быть использована защита паролем. Круг пользователей, имеющих возможность открывать файл и использовать содержащиеся в нем данные, можно ограничить, установив пароль на просмотр файла или сохранение внесенных изменений.
Можно установить два отдельных пароля, один из которых необходимо будет вводить для открытия и просмотра файла, а другой — для внесения изменений в файл и их сохранения.
Свойства паролей MS Office:
пароль может включать в себя буквы, цифры и специальные символы;
длина пароля не может быть более 255 символов;
при указании пароля учитывается точное написание слова, и различают строчные и прописные буквы;
пароль не будет отображен в окне диалога. Вместо каждого символа пароля в окне диалога будет отображен символ подстановки (звездочка);
при задании пароля всегда появляется второе окно диалога, в котором пароль следует повторить. Пароль воспринимается системой только, если в обоих окнах он введен одинаково.
С этой целью можно выполнить следующие действия:
• перейти по меню Сервис\Параметры\Безопасность (рис. 3.7);
• выполнить одно или оба следующих действия:
— если требуется, чтобы пользователи вводили пароль для возможности просмотра, ввести пароль в поле Пароль для открытия и нажать кнопку ок;
— если требуется, чтобы пользователи вводили пароль для возможности сохранения изменений, ввести пароль в поле Пароль разрешения записи и нажать кнопку ОК;
• по запросу ввести пароль еще раз для подтверждения и нажать кнопку Сохранить.
Снять установленную с помощью пароля защиту в дальней шем можно только в случае, если пароль известен. Необходимо открыть файл (рис. 3.8), выбрать команду ФайлХСохранить как.
Рис. 3.8. Определение/снятие паролей при сохранении файла (книга Excel)
В появившемся окне диалога Сохранение документа нажать кнопку Сервис и в развернувшемся меню выбрать команду Об щие параметры. В открывшемся окне диалога Параметры со хранения удалить пароль и сохранить файл под тем же именем.
В режиме сохранения (меню ФайлХСохранить как) так же, как и в меню Сервис\Параметры\Безопасность, может быть определен пароль для файла. Кроме того, в обоих режимах при нажатии кнопки Дополнительно может быть вызвано меню ус тановки шифрования содержания файла.
Защита книг и листов Excel. В MS Excel предусмотрено не сколько уровней защиты, позволяющих управлять доступом к данным MS Excel и их изменением
Функциональные возможности MS Excel для скрытия данных, защиты листов и книг паролями не предназначены для защиты данных или важных сведений в Excel. Они используются для более понятного представления сведений, скрывая сведения или формулы, которые могут сбить с толку некоторых пользователей. Эти средства служат также для предотвращения случайного изменения данных пользователями.
Скрытые или защищенные паролем данные в книгах Excel не шифруются . При наличии времени пользователи могут получить и изменить все сведения книги, к которым они имеют доступ. Чтобы предотвратить изменение данных и обеспечить безопасность важных сведений, ограничьте доступ ко всем файлам Excel, содержащим подобные сведения, сохранив их в расположениях, доступных только пользователям, прошедшим проверку.
В Excel существует несколько уровней защиты:
Защита на уровне книги. Можно применить защиту к элементам книги и защитить файл книги от просмотра и внесения изменений. Если книга является общей, можно запретить ее монопольное использование и предотвратить удаление журнала изменений.
Защита элементов книги. Можно запретить добавление и удаление листов или отображение скрытых листов. Кроме того, можно запретить изменение размеров или положения окна, на строенного для отображения книги. Действие такой защиты распространяется на всю книгу.
Защита общей книги. Общую книгу можно защитить, запретив ее монопольное использование или удаление журнала изменений книги. Если требуется назначить пароль для удаления данного типа защиты, необходимо применить защиту перед установлением совместного доступа к книге. Применение защиты автоматически включает режим совместного доступа к книге. При снятии защиты отключается режим совместного доступа к книге и удаляется сохраненный журнал изменений.
Другим вариантом является защита совместного доступа к книге и журнала изменений без использования пароля. Данный тип защиты можно применить, если к книге уже открыт совместный доступ. В этом случае снятие защиты не приведет к отмене совместного доступа или удалению журнала изменений.
Защита на уровне листа. Можно защитить элементы листа, например ячейки с формулами, запретив доступ к ним всем пользователям, или предоставить доступ отдельным пользователям к определенным диапазонам.
Защита элементов от всех пользователей. Можно запретить вставку, удаление и форматирование строк и столбцов, изменение содержимого заблокированных ячеек или перемещение курсора на заблокированные или разблокированные ячейки.
По умолчанию все ячейки листа заблокированы. Перед тем как защитить лист, можно двумя способами разблокировать ячейки, в которые пользователям требуется вводить данные.
Чтобы разблокировать ячейки для всех пользователей, следует использовать вкладку «Защита диалогового окна», «Формат ячеек». Чтобы разблокировать ячейки для определенных пользователей, следует использовать диалоговое окно Разрешить изменение диапазонов. Любые заданные в этом диалоговом окне диапазоны, для которых не установлен пароль, также разблокированы для всех пользователей. Ячейки, оставленные заблокированными, станут защищенными только после защиты листа.
Другими свойствами и элементами листа , доступ к которым можно ограничить всем пользователям, являются гиперссылки, сортировка, автофильтрация, графические объекты и сценарии. Действие такой защиты распространяется на всех пользователей и целые листы, а не на отдельных пользователей или диапазоны данных.
На листах диаграмм можно защитить содержимое диаграммы от внесения изменений, кроме того, можно защитить любые графические объекты на листе, например поля, от изменения или удаления. Защищенный лист диаграммы обновляется всякий раз при изменении исходных данных диаграммы.
Предоставление доступа к защищенным диапазонам определенным пользователям. При использовании операционной системы MS Windows 2000 можно разрешить определенным пользователям редактировать определенные ячейки или диапазоны. Эти пользователи смогут редактировать ячейки, даже если они заблокированы. Ограничения доступа вступают в силу только после защиты листа.
Пользователи, определенные в диалоговом окне Разрешения для, могут редактировать диапазон, не вводя пароль. Другие пользователи будут получать запрос на ввод пароля и после его ввода смогут редактировать диапазон. Если ячейка принадлежит нескольким диапазонам, ее смогут редактировать пользователи, имеющие полномочия на редактирование всех диапазонов. Если пользователь пытается одновременно редактировать несколько ячеек, обладая полномочиями на редактирование лишь некото рых из них, ему будет предложено выделить и отредактировать ячейки по очереди.
Защита от макровирусов
Макровирусы оформляются как макрокоманды (макросы или VBA-модули) и могут передаваться с одного компьютера на другой в составе документов, шаблонов или надстроек .
Активизируется такой вирус, как правило, в момент открытия документа или запуска макроса.
Чтобы поставить заслон на пути проникновения макровирусов на компьютер, в MS Office предусмотрены встроенные средства контроля документов и возможность подключения внешних антивирусных программ (от сторонних поставщиков).
Чтобы снизить риск заражения файлов MS Office макровирусами, следует установить высокий или средний уровен ь безопасности и использовать цифровые подписи. Эти средства контроля проверяют только загружаемый документ и не выполняют проверки всех документов, хранящихся на компью тере. Эту задачу решают специальные антивирусные программы (такие, как DrWeb, ESET, Norton Antivirus и др.).
Уровни безопасности.
MS Office предусматривает следующие уровни безопасности, помогающие снизить риск заражения макровирусами:
Очень высокий — разрешается запуск только макросов, установленных в надежных расположениях. Все остальные подписанные и неподписанные макросы отключаются. Для полного отключения всех макросов можно задать уровень безопасности «Очень высокая» и отключить макросы, установленные в надежных расположениях. Чтобы отключить макросы, установленные в надежных расположениях, сле дует в меню Сервис\Макрос\Безопасность (рис. 3.12) перейти на вкладку Надежные издатели и С Н Я Т Ь флажок Доверять всем установленным надстройкам и шаблонам. При этом также будут отключены все надстройки СОМ, DLL-файлы смарт-тегов и макросы;
Высокий — разрешается выполнение только макросов, имеющих цифровую подпись и полученных из надежных источников. Доверять следует только ответственным источ никам, выполняющим перед подписанием макросов их проверку антивирусным сканером. Выполнение неподпи санных макросов автоматически запрещается, и файл от крывается без каких-либо предупреждений;
Средний — при обнаружении макроса из источника, не входящего в список надежных, выводится предупреждение. При открытии файла пользователь может разрешить или запретить выполнение макросов. Если файл может содержать вирус, выполнение макросов следует отключить;
Низкий — этот уровень безопасности следует выбирать только при полной уверенности в безопасности всех открываемых файлов и надстроек, поскольку он отключает защиту от макровирусов и автоматически разрешает выполнение макросов при открытии файлов.
По умолчанию задан высокий уровень безопасности. Когда задан средний или высокий уровень безопасности, пользователь может управлять списком надежных источников макросов. При открытии файлов или загрузке надстроек, содержащих макросы, разработанные любым из надежных источников, выполнение этих макросов автоматически разрешается.
Уровень зашиты от макровирусов устанавливается в меню Сервис\Макрос\Безопасность на вкладке Уровень безопасности. При любом уровне безопасности, если на компьютере установлено антивирусное программное обеспечение, совместимое с MS Office 2003, перед открытием книги, содержа щей макросы, выполняется их проверка на наличие известных вирусов.
В MS Office 2003 и более поздних версиях выполняется проверка всех файлов XML, связанных с файлами XSL для потенциально опасных сценариев. Если задана Высокая степень безопасности, выполнение этого сценария отменяется. Если для макросов задана Средняя степень безопасности, пользователю выдается запрос о необходимости запуска сценария в файлах XSL. Если задана Низкая степень безопасности, сценарий выполняется.
Цифровая подпись.
В MS Office 2003 используется технология Microsoft Authenticode, дающая возможность ставить цифровую подпись на файлы или проекты макросов. Цифровая подпись на макросе подтверждает, что макрос получен от подписавшего его разработчика и не был изменен.
При открытии файла или загрузке надстройки, содержащей макрос с цифровой подписью, цифровая подпись появляется на компьютере как сертификат. В сертификате указан источник макроса, а также дополнительные сведения об идентификации и целостности этого источника. Цифровая подпись может и не гаран тировать безопасность макроса, поэтому сам пользователь дол жен принять решение о доверии макросу с цифровой подписью. Например, можно доверять макросу, подписанному знакомым человеком или хорошо известной организацией. При отсутствии уверенности в надежности источника файла или надстройки, со держащей макрос с цифровой подписью, перед включением мак росов следует внимательно изучить источник, а лучше отключить выполнение макросов в целях безопасности. Если макросам из определенного источника всегда можно доверять, при открытии файла или загрузке надстройки можно добавить их разработчика в список надежных источников.
Разработчики могут добавлять к макросам цифровые подпи си в редакторе Visual Basic. При открытии файла, содержащего подписанные макросы, выводится запрос о том, следует ли счи тать надежными все макросы, получаемые из данного источни ка. В случае утвердительного ответа владелец сертификата до бавляется в список надежных источников. Перед принятием та кого решения следует изучить цифровой сертификат, в частности просмотреть поля Кому выдан и Кем выдан, чтобы определить, является ли источник сертификата надежным, а за тем по значению поля Действителен с определить, является ли сертификат текущим. Сертификат может также содержать такие сведения, как адрес электронной почты или Web-узла пользова теля, получающего этот сертификат.
После добавления частного лица (или организации) в список надежных источников Microsoft Office разрешает выполнение макросов, подписанных этим надежным источником, без вывода предупреждения системы безопасности. Однако записи из спи ска надежных источников можно удалять.
Сертификат, использованный для создания этой подписи, подтверждает, что этот макрос или документ действительно по лучен от подписавшего его лица, а подпись подтверждает, что он не был изменен. Выбор уровня безопасности макросов влияет на возможность запуска макросов в зависимости от наличия в них цифровой подписи разработчика, входящего в список доверен ных источников.
После установки цифрового сертификата появляется воз можность подписывать файлы и проекты макросов.
Всем привет!
Этой статьей мы открываем цикл, посвященный исследованию безопасности компонентов 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 или удалить его . Как закрыть доступ к приложенияя Microsoft Word, Excel или PowerPoint, а также к документам других приложений пакета.
Введение
Наряду с операционной платформой «Windows 10» особо востребованным программным приложением корпорации является пакет разнонаправленных программ «Microsoft Office» , позволяющий создавать, редактировать, распространять и успешно взаимодействовать с различными типами документов (например, тексты, электронные таблицы, базы данных и т.д.), полноценно задействованными для удовлетворения личных и деловых потребностей.
И несмотря на тот факт, что пользователи гарантированно уже используют пароль для защиты своей учетной записи и файлов в операционной системе «Windows 10» от несанкционированного доступа, существует множество причин, по которым также может дополнительно потребоваться установить пароль для защиты документов «Microsoft Word» , «Microsoft Excel» или «Microsoft PowerPoint» . Например, пользователям может потребоваться поделиться документом с конфиденциальной информацией и убедиться, что только один доверенный получатель имеет к нему доступ. Возможно, пользователи постоянно сохраняют документы в «OneDrive» или другом облачном хранилище и желают добавить дополнительный уровень защиты на случай взлома учетной записи. Или рабочий процесс пользователей организован таким образом, что к компьютерному устройству, на котором храниться документ, могут иметь физический доступ многие сторонние пользователи, и, следовательно, необходимо закрыть при помощи пароля свободное взаимодействие.
Независимо от причины, приложения «Microsoft Office 365» , а также «Microsoft Office 2019» , «Microsoft Office 2016» и более ранние версии пакета офисных программ, содержат параметры для быстрого шифрования документов с помощью пароля.
И далее в нашей статье мы покажем, как защитить документ «Microsoft Office» с помощью пароля, а также как удалить, при необходимости, существующий пароль из готового документа.
Как установить пароль для любого документа пакета приложений «Microsoft Office»
Чтобы зашифровать исходный документ, ограничив к нему доступ сторонних лиц, и добавить секретный пароль в приложениях «Microsoft Word» , «Microsoft Excel» или «Microsoft PowerPoint» , входящих в стандартный набор программ «Microsoft Office» , пользователям предстоит выполнить простой алгоритм последовательных действий.
Microsoft Word является текстовым редактором, который наиболее популярный в мире. Такой успех объясняется огромной функциональностью этого редактора и удобность его реализации. Также этот редактор имеет свою систему безопасности, о которой мы поговорим в этой статье.
Защита документов Microsoft Word
Редактор разрешает поставить ЭЦП и парольную защиту на два вида документа:
- Пароль для модификации документа
- Пароль для открытия документа
Microsoft Word разрешает вводить пароли длиной до 15 символов. Оба пароля запрашиваются при открытии документа. При отказе ввода пароля для модификации документа, документ открывает в режиме чтения. Пароль для открытия документа есть основой для создания ключа шифрования, который шифруется по алгоритму RC4. Также можно установить дополнительные степени защиты над документом:
- Фиксирование исправлений и записей. Все исправления фиксируются и отмечаются, впоследствии чего они могут быть приняты или отвергнуты автором или редактором документа.
- Запрещение изменений, кроме комментариев. При просмотре документа можно добавлять только комментарии.
- Изменение документа запрещено, но разрешено вводить данные в выбранные формы.
Защита VBA-модулей
Встроенный язык программирования VMA добавляет возможности к и так огромному выбору функций в форматах документов Microsoft. VBA-макросы являются практически не ограниченными, так как из макроса можно вызвать функции динамических библиотек, что дает доступ к компьютера в пределах прав конкретного пользователя. Защита содержимого VBA-программ необходима к примеру:
- для сохранения интеллектуальной собственности, которой есть VBA-программа
- для сохранения целостности этой программы от модификаций
Защита VBA-модулей
Язык VBA разрешает создавать различные действия при наступлении определенных событий с помощью макросов. Для Microsoft Word это:
К примеру, если в документе есть макровирус AutoOpen, то при открытии данного документа автоматически выполнится код макроса AutoOpen. Такой макрос может находится в шаблоне. Такие макросы выполняют свой код без ведома пользователя. Такой принцип используется макровирусами для распространения и активизации. Для примера рассмотрим классический макровирус:
- Макровирус содержится в макросе AutoOpen некоего документа Doc.xdoc
- Когда пользователь открывает документ, макровирус выполняет функции, а также копирует себя в макросы AutoOpen, AutoNew шаблона Doc.xdoc
- При открытии незараженого документа макрос копирует себя в новый документ
Microsoft Word предлагаю цифровые сертификаты в виде защиты от макровирусов. Реализация цифровых сертификатов основана на том, что при открытии документа который содержит VBA-модули, реализуется проверка электронной подписи VBA-модуля. Макросы блокируются, так как их подпись будет неверная.
Проблемы защиты документов Microsoft Word
Подсистема безопасности Microsoft Word имеет ряд недостатков. Начиная с паролей, то любая парольная защита в сравнении и генерированого пароля на основе крипрографического ключа имеет ряд недостатков:
- Пользователи могут небрежно относится к паролям, и вводить употребляемые фразы.
- Часто используют краткие пароли, что разрешает быстрее проводить атаку грубой силы.
Также проблемы безопасности усугубляется следующими аспектами:
- Шифрование RC4 который используется для шифрование документов, имеет ключ длинной до 128 бит. Microsoft Word ограничивает пароль до 15 символов, что означает длину пароля 9 байт. Тем самым эффективная длина ключа в 2 раза меньше чем предусмотрено алгоритмом RC4.
- Можно использовать односимвольные пароли
- Существуют утилиты автоматического подбора пароля для Microsoft Word.
Отсутствие реальной защиты VBA-модулей
Для анализа защиты VBA-модулей была реализована возможность создать макрос в документе, который ставит русский язык для выделенного фрагмента:
Затем было поставлен пароль на этот документ от просмотра содержимого. Затем было просмотрен этот документ в редакторе DOS, и была видна следующая картина:
- SelectionZo0 A ©Ä LanguageIDис0 A ©Ä wdRussian=W0 A ©Ä NoProofing^]0 ÆA ©Ä Applicatione*0 A ©Ä CheckLanguageщ¯0 ¨
Видно, что отсутствует реальная защита VBA-макроса от просмотра. Совет таков, что VBA-макросы выносит максимально во внешние DLL.
Читайте также: