Вопрос:

Ответ: Выключение функции защиты от атак ASLR может понадобиться для решения проблем совместимости со старыми приложениями. Выключить эту функцию для отдельного приложения можно с помощью утилиты Enhanced Mitigation Experience Toolkit (EMET), доступной для загрузки из центра загрузки Microsoft (см. врезку). Ранее ASLR можно было выключить на уровне всей системы с помощью параметра реестра MoveImages, но в Windows 7 этот параметр не работает.

С помощью EMET можно не только включать и выключать ASLR, но и управлять другими средствами защиты от атак, такими как функция предотвращения исполнения в области данных Data Execution Prevention (DEP). С помощью EMET можно включать и выключать компоненты для всех приложений в системе Windows – коллективно (на уровне всей системы) или по отдельности (на уровне конкретного приложения).

EMET имеет удобный графический интерфейс (EMET_GUI.exe) и командную строку (EMET_Conf.exe). Оба исполняемых файла находятся в установочном каталоге EMET (\Program Files\EMET).

После запуска графической утилиты EMET в верхней части экрана можно увидеть параметры настройки EMET на уровне всей системы, установленные для DEP, ASLR и Structured Exception Handler Overwrite Protection (SEHOP) (см. экран 1).

 

Параметры настройки EMET
Экран 1. Параметры настройки EMET

Для настройки параметров EMET на уровне отдельного приложения (например, для выключения ASLR для Google Chrome) нажмите кнопку Configure Apps в нижней части главного экрана EMET. Откроется экран конфигурации приложения (см. экран 2). В этом примере в файловой системе с помощью кнопки Add найден исполняемый файл chrome.exe и снят флажок MandatoryASLR. Для подтверждения изменения нажмите OK.

 

Экран конфигурации приложения
Экран 2. Экран конфигурации приложения

Чтобы выполнить ту же задачу из командной строки с помощью EMET_Conf.exe, введите следующую команду:

emet_conf --set «c:\program files\google\chrome\application\
chrome.exe» -MandatoryASLR

Обратите внимание на двойное тире перед set.

Последняя официальная версия EMET (EMET 3.0) включает интересный компонент EMET Notifier, на который указывает значок в виде замка в области уведомлений на панели задач Windows. EMET Notifier записывает относящиеся к EMET события в журнал событий Windows (источник события – EMET) и уведомляет пользователя о важных событиях EMET с помощью всплывающих подсказок в области уведомлений панели задач. Например, в случае аварийного завершения приложения, обусловленного одним из параметров EMET, определяющих выключение с целью предотвращения атаки, появляется подсказка с информацией о том, какое из приложений остановлено, и какой процесс предотвращения атаки вынудил EMET остановить приложение.

EMET 3.0 работает на следующих клиентских операционных системах: Windows XP SP3 и более новые версии, Windows Vista SP1 и более новые версии, а также Windows 7. С серверными продуктами EMET 3.0 можно использовать на Windows Server 2003 SP1 и более новых версиях, Windows Server 2008 и Windows Server 2008 R2. Загрузить EMET 3.0 можно с сайта Microsoft (www.microsoft.com/en-us/download/details.aspx?id=29851).

В середине прошлого года также была выпущена предварительная версия EMET 3.5 Tech Preview с поддержкой некоторых новых методик предотвращения атак, в частности, атак, использующих возвратно-ориентированное программирование (ROP). Однако версия 3.5 лишь позволяет разработчикам оценить риски сбоев из-за проблем совместимости приложений для новых методик предотвращения атак. К широкому внедрению в корпоративный сектор EMET 3.5 не готов. Загрузить EMET 3.5 можно из центра загрузки Microsoft (www.microsoft.com/en-us/download/details.aspx?id=30424).

Более подробную информацию об EMET можно найти в руководстве пользователя EMET, которое автоматически копируется в систему при установке EMET 3.0, а также в статье службы поддержки Microsoft «The Enhanced Mitigation Experience Toolkit» (support.microsoft.com/kb/2458544).

Экран 1. Параметры настройки EMET

Экран 2. Экран конфигурации приложения

Что такое Enhanced Mitigation Experience Toolkit (EMET)?

Джон Сэвилл

Откровенно говоря, я узнал об этом инструменте, только когда мне задали о нем вопрос. После некоторых изысканий я обнаружил, что это удобное в использовании средство защиты приложений от атак. Когда компилируется приложение, обычно можно выбирать параметры и включать определенные технологии обеспечения безопасности. Изменение сделанного выбора, например включение службы предотвращения выполнения данных Data Execute Protection, требует перестройки приложения. EMET позволяет развертывать средства безопасности без необходимости перестройки и обеспечивает приложениям дополнительную защиту от атак.

При запуске приложения на экране появляется информация о включенных технологиях и о состоянии активных процессов. Интерфейс позволяет настраивать всю систему или отдельные приложения, включая необходимые технологии защиты, как показано на экране А.

 

Состояние активных процессов
Экран А. Состояние активных процессов

Здесь для synchro.exe включены все технологии защиты. Теперь при запуске приложение будет защищено с помощью этих технологий, и при этом не требуется перекомпиляция. EMET – воистину благо для старых приложений, источник которых уже утрачен, но которые потенциально уязвимы для определенных типов атак. Стоит напомнить, что при включении технологий защиты от атак существует вероятность отказа некоторых функций приложения. Поэтому важно тестировать любое приложение, изменяемое с помощью EMET. Технология ЕMET доступна для загрузки по адресу www.microsoft.com/downloads/en/details.aspx?FamilyID=c6f0a6ee-05ac-4eb6-acd0-362559fd2f04. Кроме того, у Microsoft есть замечательный блог, где обсуждаются детали (/blogs.technet.com/b/srd/archive/2010/09/02/enhanced-mitigation-experience-toolkit-emet-v2-0-0.aspx).