> >

Новый EMET 3.0 – поддержка Windows 8 / Windows Server 2012 и не только

Привет.   В мае 2012 Microsoft наконец-то сделал новую версию своего hardening tool, являщегося абсолютно необходимым для установки на всех серверных (да и домашних) ОС семейства Microsoft. Нововведений относительно немного, но они стоят рассмотрения.   Что внутри Первым делом – ознакомьтесь с моей статьёй про EMET 2.1. Весь функционал – DEP, SEHOP, ASLR, NullPage, HeapSpray, […]

//cdn.atraining.ru/i/at300x300.jpg300300

Привет.

 

В мае 2012 Microsoft наконец-то сделал новую версию своего hardening tool, являщегося абсолютно необходимым для установки на всех серверных (да и домашних) ОС семейства Microsoft. Нововведений относительно немного, но они стоят рассмотрения.

 

Что внутри

Первым делом – ознакомьтесь с моей статьёй про EMET 2.1. Весь функционал – DEP, SEHOP, ASLR, NullPage, HeapSpray, EAF, MandatoryASLR, BottomUpASLR – остался тем же, основные добавления в версии 3.0 – улучшения управляемости, совместимости и удобства работы.
 

Оглавление

  • Переименование – много разных ASLR; ASLR, MandatoryASLR и BottomUpASLR
  • Официальная поддержка
  • Централизованное развёртывание
  • Упрощение конфигурации EMET: профили
  • Обновление с предыдущих версий
  • EMET Notifier
  • Расширенный синтаксис EMET_conf

 

Переименование – много разных ASLR

Наверняка Вы уже заметили по перечню, что есть ASLR, MandatoryASLR и BottomUpASLR.
 
Давайте упорядочим оные, опираясь на принятую в EMET терминологию.

ASLR

Когда этот термин идёт без дополнительных, то он обозначает режим работы данной технологии для всего, кроме компонентов ОС – компонентов и сервисов, например. Для них она вообще всегда включена, тут через EMET Вы ничего не сделаете.
 
Выбирая ASLR в режиме Disabled, Вы укажете системе, что надо включать ASLR только для компонентов ОС – для тех программ, которые разработаны с учётом этой технологии и поддерживают её, ASLR включаться не будет. Т.е. даже если программа запросит ASLR – её просьбу проигнорируют.
 
Вариант Opt In является стандартным – тогда, помимо компонентов ОС, ASLR будет применяться и к тем модулям, которые покажут поддержку данной технологии (например, скомпилированные Visual Studio 2010 с ключом /DYNAMICBASE), плюс явно выбранным в EMET модулям.
 
Вариант Always On для ASLR стандартно не доступен, но его можно включить так же, как в предыдущей версии – зайти в ветку реестра HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\EMET и выставить параметр EnableUnsafeSettings в единицу. В этом случае ASLR будет включён для всех исполняемых модулей вообще, что достаточно опасно на практике – я, например, сталкивался с ситуацией, что обновление драйверов устройства приносило с собой BSoD, так как новая версия некорректно поддерживала ASLR. Тут каждый решит для себя – если речь про виртуальную машину на базе Hyper-V, то я бы рекомендовал включать режим Always On, так как там ситуация с драйверами оборудования получше, и напороться на бета-драйвера, в которых ещё недоделана поддержка ASLR, практически невозможно, а вот полезный эффект от 100% ASLR всё ж явный.

MandatoryASLR

Данный термин обозначает следующее – даже если приложение никак не запрашивает ASLR, то, добавив его в список защищаемых EMET’ом приложений, Вы можете выбрать данный пункт и операционная система будет “форсированно” перемешивать при выделении блоки памяти, нужные для работы приложения. Это может привести к тому, что приложение завершится аварийно, поэтому надо рассматривать каждый конкретный случай отдельно, общего совета здесь нет.

BottomUpASLR

Так официально называют BUR, появившийся в EMET 2.1, информация про него есть в предыдущей версии статьи про EMET 2.1.

Официальная поддержка

Все предыдущие версии EMET официально не поддерживались фирмой Microsoft. Примерно как, допустим, утилиты из Resource Kit’ов для Windows Server 2003 / 2000 – они вроде как есть, но если Вы ими что-то натворите, то все последствия являются Вашими личными проблемами. Теперь EMET 3.0 является поддерживаемым решением, поэтому наличие его на серверах можно считать обязательным.

Поддержка Windows 8 / Windows Server 2012

Новый EMET работает на новых ОС от Microsoft. Функционально в плане механизмов защиты ничего нового там не добавляется, но в отличии от EMET 2.1 он корректно управляет уже имеющимися возможностями.

Централизованное развёртывание

Теперь EMET можно разворачивать через групповые политики и SCCM. Это делает очень удобным включение его в обязательный комплект ПО для серверов. Для работы с групповыми политиками в каталоге, куда установился EMET, есть подкаталог Deployment\Group Policy Files, там есть файл EMET.admx и языковый модуль к нему EMET.adml. Скопируйте admx-файл в %WINDIR%\PolicyDefinitions, а adml – в %WINDIR%\PolicyDefinitions\en-us, и при открытии оснастки по управлению групповой политикой в разделе Computer Configuration\Administrative Templates\Windows Components увидите новый раздел с предсказуемым названием EMET.

Упрощение конфигурации EMET: профили

Теперь настраивать EMET ещё проще, т.к. создан механизм хранения настроек в xml-файлах профилей, лежащих в подкаталоге Deployment\Protection Profiles. Формат файла достаточно прост, можно открыть любой из них (например, All.xml) Блокнотом и убедиться, что особо расписывать там нечего, да и внутри документирован он более чем достойно. Из интересного стоит отметить нововведение в синтаксисе – теперь можно указывать не полный URL защищаемого приложения (вида C:\Windows\System32\arp.exe), а использовать wildcard – вида *\arp.exe, чтобы указать, что где бы не находился указанный файл, в момент запуска к нему надо применить все указанные настройки.

Обновление с предыдущих версий

EMET 3.0 ставится на EMET 2.1 без вопросов, все настройки сохраняются. С EMET 2.0 та же ситуация, багов не заметно. Также проверено, устанавливающийся через group policy EMET нормально заменяет собой ранее установленный вручную, и не имеет каких-либо проблем.

EMET Notifier

Теперь при логине пользователя запускается полезное приложение – EMET Notifier (можно запустить и вручную, файл называется EMET_notifier.exe и располагается в том же каталоге, куда установился EMET 3.0). Оно будет в режиме реального времени информировать о ситуациях нарушения одной из защитных мер, известных EMET, и уведомлять что такое-то приложение было остановлено по такой-то причине. Крайне полезная штука, так как раньше чтобы понять почему именно такое-то приложение было остановлено, необходимо было предпринять много различных неочевидных действий. Т.е. теперь вариант “добавил приложение в EMET -> запустил, попробовал выполнять различные действия -> упало, надо выяснить, почему именно” стал крайне несложным.

Расширенный синтаксис EMET_conf

Файл EMET_conf.exe был и раньше, но теперь у него больше интересного. Например, при помощи его можно форсированно переприменить настройки EMET. Для этого есть секретный ключ –refresh – он не указан в выводе команды EMET_conf /?, но если выполнить EMET_conf –refresh, то EMET форсированно применит настройки, которые в данный момент указаны для данной системы. Это удобно, потому что иногда возникает ситуация – через групповые политики настройки изменены, изменение уже “разошлось” по сети, а на целевой системе EMET уже запущен и выполняет те правила, которые ему указаны при загрузке. Применение этого ключа позволит, не перезагружая систему, применить новые настройки.

Откуда загружать?

http://www.microsoft.com/en-us/download/details.aspx?id=29851

Выводы

Хороший инструмент для предотвращения работы эксплойтов и злонамеренного ПО стал ещё лучше, проще в применении и теперь с гарантией является “must have” для любой ОС, включая самые новые Windows 8 и Windows Server 2012. Если ещё не установили его – устанавливайте смело.

Автор

@
info@atraining.ruAdvanced Training
//cdn.atraining.ru/i/at300x300.jpg300300

Полезные статьи

Возможно, вам будет также интересно почитать другие статьи про EMET на нашей Knowledge Base: