Защита Windows при помощи EMET

В ОС Windows на сегодня используется большое количество защитных технологий усложняющих атаку, но как правило, они не затрагивают остальные приложения. Enhanced Mitigation Experience Toolkit (EMET, microsoft.com/emet) упоминается практически во всех Security Advisory корпорации Microsoft, распространяются бесплатно, но встречается в реальных установках не так и часто.

Защитные механизмы EMET

Инструмент реализует 14 защитных техник усложняющих атак на Windows-системы от новых угроз, блокируя уязвимости в ПО и изменение потока выполнения кода. Для защиты используется техника inline patching кода защищаемых процессов, когда перехватываются и анализируются API вызовы. Ориентирован в первую очередь на устаревшие версии ОС и программы, которые по умолчанию не имеют таких механизмов.
Среди поддерживаемых технологий:

Остальные технологии по умолчанию активируются для всех приложений.

Настройка защитных механизмов для приложения

Настройка защитных механизмов для приложения

Кроме того в EMET реализована защита от ROP эксплойтов (Return Oriented Programming, обратно-ориентированное программирование) позволяющих обходить защиту ALSR + DEP передавая управление на определенный адрес. Это технологии Load Library Check, Memory Protection Check, Caller Checks, Simulate Execution Flow и Stack Pivot, производящие соотвествующие проверки. Правда не все ROP технологии доступны для 64-битных процессов.
Еще одна функция Certificate Trust (Pinning) реализована только для Internet Explorer и позволяет создавать правила проверки SSL/TLS сертификатов для определенных веб-ресурсов, предотвращая Man-in-Middle атаки. При обнаружении аномалии выдается предупреждение и соединение может разрываться. После установки уже содержатся профили для большинства популярных сервисов – сайт Microsoft, Microsoft Office 365, Skype, Twitter, Facebook и других.
Все указанные защитные механизмы активируются персонально для конкретных приложений (в Configure Applications), для четырех правил возможна установка для системы в целом (System Status). Это DEP, SEHOP, ASLR и Certificate Trust.

Четыре механизма защиты возможно активировать для всех

Четыре механизма защиты возможно активировать для всех

При нарушении защиты EMET останавливает процесс. С версии 4.0 появился дополнительный режим аудита (Audit Only) позволяющий при обнаружении проблемы фиксировать работу программы для дальнейшего анализа. Функция “Local Telemetry” позволяет сохранить дамп памяти в случае срабатывания процесса. Отчеты отправляются в журнал Event Log — Application Log и выводится в панели задача, через компонент EMET Agent (его видимость регулируется через GPO).

Установка и работа

EMET предоставляется бесплатно. Текущая версия 5.1 поддерживает работу в Windows Vista SP2-8.1, Windows Server 2003 SP2- 2012 R2 (релиз 4.1 совместим и с Windows XP SP3). В более ранних системах потребуется установить .NET Framework 4 и обновление KB2790907 (для IE10 в Windows 8).
Распространяется в виде MSI файла, который можно установить вручную, при помощи групповых политик или диспетчер конфигураций System Center Configuration Manager. Во время установки предлагается выбрать профиль: рекомендуемые настройки безопасности (Use Recommended Setting) или оставить текущие настройки (Keep Existing Setting) (рис.3). Фактически конфигурация профилей сохранена в одноименных XML файлах, размещенных в каталогах установки.

Выбор уровня защиты по умолчанию

Выбор уровня защиты по умолчанию

В версии 4 вместо Keep Existing Setting использовался вариант Maximum Security Settings, при котором все настройки защиты устанавливались на максимальный уровень. Это иногда приводило к проблемам в работе некоторых приложений, поэтому от этого очевидно отказались в угоду совместимости, а включение настроек безопасности переложено на плечи пользователя.
Программа имеет простой и понятный не локализованный интерфейс. Хотя программа вряд ли рассчитана на новичка, в любом случае необходимо понимать что делаешь, поэтому отсутствие локализации не мешает. Опции безопасности можно установить флажком в таблице, дважды щелкнув на процессе можно посмотреть опции с минимальным разъяснением и указать для некоторых специфические параметры (рис.4).

Настройка параметров защиты для процесса

Настройка параметров защиты для процесса

Глубина анализа задается при помощи трех флажков в Mitigation Setting (см.рис.1):

Все настройки путем экспорта/импорта легко переносятся на другую систему, поэтому сконфигурировать большое количество систем очень просто. Конфигурация сохраняется в ветках реестра HKLM\SOFTWARE\Microsoft\EMET и HKCU\SOFTWARE\Microsoft\EMET. В частности по умолчанию скрыты некоторые небезопасные настройки, которые можно открыть создав ключ установив EnableUnsafeSettings в 1. На самом деле скрытых возможностей много, все они опсаны в документации которая поставляется вместе с программой.
Кроме графического интерфейса возможно управление из командной строки (EMET_Conf.exe). Получаем список функций:

	> EMET_Conf --list
	> EMET_Conf —list_system

Включаем Mandatory ASLR для браузера Chrome (если опустить параметр то будут включены все защитные механизмы):

	> EMET_Conf --set «С:\Program Files\Google\Chrome\Application\chrome.exe» -MandatoryASLR

Ключи —export и —import позволяют соответственно экспортировать и импортировать настройки (сохраняются в XML файл).

***

EMET не является панацеей и не может 100% защитить систему, и лишь дополняет традиционные средства вроде антивируса и HIPS. Более того на сегодня известны метода обхода некоторых механизмов EMET, но реализация атаки в любом случае становится сложнее. Кроме того EMET требует некоторой подготовки от пользователя, который должен понимать что делать и выдаваемые сообщения. Возможны проблемы со совместимостью с рядом приложений, некоторых механизмов.

Теги: , ,

Понравилась статья? Оставьте комментарий или подпишитесь на RSS рассылку.

Комментарии

Комментариев пока что нет

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

(required)

(required)