Технология DEP в Office 2010

Автор: Topol Четверг, Май 3rd, 2012 Нет комментариев

Рубрика: Операционные системы

Привет, меня зовут Викас Малхотра (Vikas Malhotra), я работаю менеджером проекта по обеспечению безопасности в команде Office Trustworthy Computer (TWC). В этой статье я вкратце расскажу о нескольких изменениях в системе обеспечения безопасности, которые мы проделали в рамках технологии предотвращения выполнения данных (Data Execution Prevention или DEP). DEP — одно из множества новыхсредств защиты, добавленных нами в Office 2010 . Начнем с того, что такое DEP и как это касается вас как ИТ-профессионала или разработчика.


Что такое DEP?
DEP — это технология безопасности, представленная нами в Windows XP  SP2 и Windows 2003 Server SP1. Более общую информацию по DEP можно найти в этой статье из базы знаний Microsoft.

Когда программа запущена, для нее выделены страницы памяти. Страницам присвоен маркер, указывающий являются ли они исполняемыми или нет. Если страница отмечена как исполняемая, тогда код в пределах этого адресного пространства будет разрешен для запуска. Если же такого маркера у страницы нет, то код не разрешен для запуска. DEP же работает следующим образом: если код пытается выполниться внутри страницы, у которой нет маркера, разрешающего исполнение, DEP выдает исключение и завершает запущенный процесс.

Когда вредоносная программа проникает на ваш компьютер, первым делом она пытается внедрить свой код в области памяти вашего компьютера, в которые разрешена запись и исполнение. Затем программа пытается запустить этот программный код. Если это случится при запущенном DEP, вы увидите лишь аварийное завершение приложения Office: в целях безопасности Office остановит выполнение потенциальной вредоносной программы и закроет себя в целях сохранения вашей компьютерной безопасности.

Как мне узнать, работает ли программа с разрешенным DEP?
Наиболее простой метод — использовать диспетчер задач. В диспетчере задач убедитесь в наличии колонки DEP. Теперь, каждый запущенный процесс, поддерживаемый DEP, будет отмечен как «Enabled» . Для наглядности, рисунок ниже показывает запущенный процесс winword.exe:

Как DEP работает в Office?
Приложения Office, после загрузки вызывают функцию GetSystemDEPPolicy для определения политики DEP вашего компьютера. Этот API возвратит один из следующих результатов, определяющих поведение приложений:

  • AlwaysOn - ваши приложения Office будут всегда запускаться с разрешенным DEP. Нет никакого способа изменить это без модификации конфигурационного файла загрузки системы и перезапуска вашего компьютера.
  • AlwaysOff - ваши приложения Office будут всегда запускаться без поддержки DEP. Нет никакого способа изменить это без модификации конфигурационного файла загрузки системы и перезапуска вашего компьютера.
  • OptIn - каждое приложение Office может быть сконфигурировано в Trust Center (см. раздел ниже) для определения того, должно ли оно быть запущено с разрешенным DEP.
  • OptOut - каждое приложение Office может быть сконфигурировано в Trust Center (см. раздел ниже) для определения того, должно ли оно быть запущено без поддержки DEP.

Если определено, что приложение Office нуждается в поддержке DEP, тогда приложение вызывает [url=http://msdn.microsoft.com/en-us/library/bb736299(.aspx]SetProcessDEPPolicy[/url] для обеспечения постоянного разрешенного DEP в течение продолжительности жизни процесса. Делая это, мы также гарантируем, что все другие бинарные коды, загруженные в процессы Office, будут поддерживаться DEP.

Какие варианты конфигурации доступны мне как ИТ-специалисту?
Для 64-битной установки DEP всегда будет доступен для приложений Office. Для 32-битной установки вы можете настроить это, если хотите разрешить DEP, на уровне приложения в рамках Trust Center. Для приложений, поддерживающих режим защищенного просмотра, вы найдете опцию настройки DEP во вкладке Protected View. Для других приложений Office вы найдете параметры настроек во вкладке DEP:


Настройка параметров DEP для приложений Office, поддерживающих режим защищенного просмотра

Настройка параметров DEP для приложений Office, не поддерживающих режим защищенного просмотра[/center]
Если в Trust Center опция разрешения DEP скрыта, значит на вашем компьютере установлены политики AlwaysOn или AlwaysOff.

Возможность настройки опций Trust Center также доступна в шаблонах групповых политикик:

Как DEP может повлиять на приложения?
В большинстве случаев DEP не окажет никакого влияния на ваш код. Однако, если ваш код требует записи в области памяти без маркера на исполнение, а затем пытается запустить этот код (как делают компиляторы JIT), тогда у вас несколько вариантов. Первый — это переписать код. Если у вас нет доступа к исходному коду или изменение кода не возможно, тогда вы можете отключить DEP, используя команды, рассказанные ранее. В последнем случае используется функция VirtualProtect. VirtualProtect позволяет вам записать код в память страницы, отмеченную атрибутами Write и Execute. Как только вы произвели запись, атрибут Write может быть снят. Это послужит гарантией, что вы можете запустить свой код позднее, при этом исключение выдано не будет. Удаляя атрибут Write, вы получите гарантию, что вредоносные программы не смогут заразить область памяти.

На что похоже исключение DEP?
В большинстве случаев отказ DEP произойдет для установленных дополнение, а не самого приложения Office. Когда дополнение вызывает исключение DEP, приложение Office завершается и происходит обычный аварийный отказ. Когда приложение Office перезапустилось, вы увидите диалог следующего вида:

В этом примере мое дополнение ‘my vc test com add-in’ вызвало нестабильную работу Office. В данный момент у меня есть два выбора. Первый — заблокировать дополнение для загрузки, и второй — попытаться перезагрузить дополнение. Я рекомендую заблокировать дополнение и позволить Office произвести обычную загрузку. При загрузке приложения Office я заглянул в настройки моего дополнения и увидел причины, почему оно было заблокировано. На снимке ниже можно видеть, что дополнение было заблокировано пользователем после отказа выполнения данных.

В данном случае я рекомендовал бы сохранить дополнение заблокированным до тех пор, пока не выйдет более новую версию, не конфликтующую с DEP.

Итак, Office 2010 будет выпущен с разрешенным DEP. Data Execution Prevention — технология, которая помогает сохранить безопасность вашего компьютера, гарантируя, что код, не предназначенный для выполнения, никогда не получит этот шанс.

Источник: thevista.ru

Оставить комментарий

Чтобы оставлять комментарии Вы должны быть авторизованы.

Похожие посты