Mitigations windows что это

Обновлено: 02.07.2024

О программе

Enhanced Mitigation Experience Toolkit (EMET) работает совместно с решениями Microsoft или сторонних вендоров антивирусного ПО для усиления защиты от атак, которые нацелены на популярное и распространенное ПО: Internet Explorer, Office, Acrobat и Java

Что нового

Новое в версии 5.51

Релиз EMET 5.51 включает исправление ошибок, в том числе:

  • Падение интерфейса EMET 5.5 при автозагрузке
  • Непредвиденное предупреждение для BitLocker в EMET 5.5 при изменении настроек DEP

Новое в версии 5.5

EMET 5.5 включает следующие новые функции и обновления:

  • Совместимость с Windows 10;
  • Полная поддержка GPO для предупреждения последствий и добавлена возможность закрепления сертификатов;
  • Улучшения производительности EAF/EAF+;
  • Предотвращение установки недоверенных шрифтов для Windows 10;
  • Многочисленные исправления ошибок.

Системные требования

Полезные ссылки

Подробное описание

Enhanced Mitigation Experience Toolkit (EMET) позволяет справляться возможно с самой главной проблемой для пользователей Windows - защитой от атак нулевого дня.

Атаки нулевого дня - это новейшие угрозы, которые в силу своего малого возраста неизвестны установленным в системе антивирусам.

EMET является бесплатным автономным приложением безопасности, но не позиционируется как универсальное антивирусное решение. Компонент работает совместно с решениями Microsoft или сторонних вендоров антивирусного ПО для усиления защиты от атак, которые нацелены на популярное и распространенное ПО: Internet Explorer, Office, Acrobat и Java. EMET совместим со всеми современными версиями Windows, начиная от Vista SP2 и Windows Server 2003 SP2 и заканчивая Windows 10 и Windows Server 2012 R2.

Продукт прекрасно подготовлен для корпоративной среды, но по заявлениям Microsoft, инструмент можно использовать также для защиты домашних компьютеров.

Если Вы сталкиваетесь с выполнением заданий, которые связаны с конфиденциальной персональной информацией - заказы или интернет-банкинг - установка EMET 5 крайне рекомендуется.

Основные возможности Microsoft EMET

Data Execution Prevention (DEP, предотвращение выполнения данных) - функция безопасности, которая защищает даже те приложения, архитектура которых не была первоначально подготовлена для EMET. Продукт значительно расширяет системную защиту DEP. Технология DEP позволяет предотвратить атаки, которые сохраняют код в области памяти с помощью переполнения буфера. EMET резервирует определенные области компьютерной памяти для соответствующих типов программ. Например, память, отведенная для исполняемых файлов будет использоваться только для программ, служб и драйверов устройств. В этом случае киберпреступник не сможет использовать данные зоны памяти для скрытия вредоносного кода.

Structured Exception Handler Overwrite Protection (SEHOP, защита от перезаписи обработчика структурных исключений) - технология, впервые представленная в 2009, позволяет предотвращать атаки, которые выполняют перезапись обработчика структурных исключений - проще говоря, эксплойт “переполнения буфера”.

Address Space Layout Randomization (ASLR) - случайным образом меняет расположение в адресном пространстве ключевых компонентов приложений, затрудняя хакеру доступ к известных уязвимостям в коде приложений. Без ASLR приложения запускается в специальных зонах адресного пространства памяти. ASLR поддерживается Windows Vista и всеми последующими ОС семейства Windows.

Certificate Trust (Pinning): Мы до сих пор в значительной степени полагаемся на сертификаты безопасности в качестве превентивной меры защиты в сети. По умолчанию, EMET полагает, что некоторые безопасные сертификаты Socket Layer являются доверенными. Продукт также считает, что сайты Facebook, Skype, Twitter, Yahoo и Microsoft имеют надежные сертификаты. Сайты, чьи сертификаты не отвечают ожиданиям EMET, автоматически блокируются. Данная функция сможет выручить, например, когда пользователь попытается посетить фальшивый сайт Facebook.

ea304ee277b3a1395def79a7d45df8de.jpg

Данная статья является вводной для небольшого цикла, посвященного механизмам безопасности, предназначенным для противодействия успешной эксплуатации уязвимостей класса memory corruption в web-браузерах. В рамках этого цикла мы рассмотрим, какие механизмы и с какой целью внедряются разработчиками браузеров, и поговорим о том, как их можно было или до сих пор можно обойти.

  1. На уровне аппаратного обеспечения – (DEP, MPX, CFI, SMEP, SMAP, UMIP, …).
  2. На уровне операционной системы – реализовано создателями ОС. Например, SEHOP, ForceASLR. В случае ОС Linux может быть еще выполнено в виде дополнительного патча (Grsecurity).
  3. На уровне компилятора/линковщика – stack cookie, SafeSEH.
  4. На уровне приложения:
  5. Стороннего – EMET, Malwarebytes Anti-Exploit, HitmanPro, PaX и подобные реализации в различных антивирусах;
  6. Встроенного – реализовано прямо в исходном коде приложения.
  1. Усложнить (понизить стабильность техники)
  2. Сделать невозможной работу какой-то техники (Противодействие конкретной технике)
  3. Смягчить последствия (Изоляции от остальной системы, sandbox)
  • “Exploit Mitigation Improvements in Windows 8” с BlackHat USA 2012
  • “WINDOWS 10 MITIGATION IMPROVEMENTS” с BlackHat USA 2016

Данный цикл статей как раз и будет посвящен последней категории, т.н. app specific security mitigations. Появление этих механизмов обусловлено самой функциональностью приложения и особенностями его реализации, как правило, затрагивающими или реализующими собственные абстракции манипулирования памятью: собственная ВМ, собственный менеджер кучи, собственный скриптовый язык и т.д.

  • Браузеры
  • Редакторы документов (Word)
  • Виртуальные машины (JVM, Dalvik VM, ActionScript VM)

Поскольку браузеры — самые яркие (и, наверное, самые интересные) представители ПО, реализующие собственные механизмы безопасности от эксплуатации уязвимостей класса memory corruption, мы решили в нашем исследовательском центре сосредоточиться на них. Цикл статей будет посвящен: IE + Edge, Chrome и Firefox для настольных ПК под управлением ОС Windows на x86/x64 архитектуре. Список этих механизмов был взят из обновляемой подборки «Browser security mitigations against memory corruption vulnerabilities» : нашего друга Артура Геркиса , за что ему большое спасибо.

В 2011 году компания Accuvant LABS выпустила документ «Browser Security Comparison: A Quantitative Approach» , но уже много воды утекло с того момента, и браузеры серьезно изменились. Однако, ознакомиться с этой информацией все равно не лишне.

  • предотвращение непредусмотренного выполнения кода или данных
  • предотвращение проблем, связанных со временем жизни объекта
  • сохранение целостности кода, данных или метаданных
  • ограничение информации об адресном пространстве
  • ограничение возможностей атакующего (sandbox)

Для тех, кто хочет более подробно ознакомиться с успешными эксплоитами для браузеров, советуем обратить внимание на выступление “$HELL ON EARTH: FROM BROWSER TO SYSTEM COMPROMISE” ( презентация и whitepaper ) с BlackHat LasVegas 2016.

Как можно заметить, даже такие “бронированные” программы успешно атакуются с обходом всех механизмов защиты как ОС, так и их собственных. В итоге, исследователи обходят с десяток механизмов безопасности – в действительности, конечно, меньше, так как это сильно зависит от типа используемых уязвимостей. Например, не обходятся механизмы stack cookie с SafeSEH, SEHOP, если уязвимость UaF — поскольку природа уязвимости никак не связана со стеком, и данные механизмы не задействованы. Самую большую угрозу для браузеров представляют уязвимости типа use-after-free (UaF) — CWE-416 – тут все обусловлено сложностью браузеров. Поэтому неудивительно, что разработчики трудятся над созданием механизмов защиты, ориентированных на противодействие данному типу уязвимостей. Следующий момент, которому уделено также пристальное внимание (с точки зрения безопасности) создателями браузеров, это написание JIT (just-in-time) кода. Это связано с тем, что атакующий может использовать такой код для расположения своего шеллкода внутри JIT spray, который одновременно позволяет обойти как DEP, так и ASLR. Поэтому разработчики и стали «закручивать гайки» в этом направлении. Об этом мы также поговорим позже.

Важно понимать, что у любого атакующего есть определенные цели, и он будет к ним идти по пути наименьшего сопротивления. Так, например, не всегда ему нужно выполнять свой собственный шеллкод и закрепляться в системе, получая доступ к данным других приложений. Если в этом нет необходимости, то не нужно обходить CFG и sandbox. При этом, он способен похитить какие-то данные доступные/хранимые браузером, или задействовать его же стандартный функционал, но в своих целях (например, подмена данных или изменение настройки браузера).

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

  • CWE-401 : Improper Release of Memory Before Removing Last Reference ('Memory Leak')
  • CWE-123 : Write-what-where Condition — write-what-where memory corruption примитива
  • Не контролируется, то что пишется
  • Возможно писать только NULL
  • Возможно только инкрементировать значение
  • Как-то ограничен диапазон адресов, куда мы можем писать

В цикле статей мы рассмотрим более специфичные техники обходов механизмов браузеров.

Уязвимости класса memory corruption были, есть и будут и их будут продолжать эксплотировать. Единственное со временем это все становится сложнее. И очень много зависит от природы уязвимости. Так что на компилятор, ОС, надейся, а сам не плошай.

Операционная система Windows 10 является одной из самых сложных и запутанных для начинающих пользователей. Прямо «из коробки» она просто работает, но если требуется настроить ее каким-то особым образом, то это может повлечь за собой множество проблем. Оказывается, что во всех компьютерах и прочих устройства, работающих на базе последней сборки этой ОС, есть скрытая от посторонних глаз настройках, которая значительно повышает скорость работы всей системы.

После обновления до Windows 10 Fall Creators Update (1709) все владельцы компьютеров и планшетов должны были заметить, что система стала работать ощутимо медленнее. Особенно сильно это заметно на компьютерах с обычными жесткими дисками (HDD) и слабеньким процессором. Сначала многие подумали, что дело в неправильно работающих драйверах видеокарты, которые после установки апдейта начали работать некорректно, однако эта гипотеза была очень быстро опровергнута.


Пользователи выяснили, что даже самые крутые 3D-игры на максимальных настройках не тормозят, тогда как многие системные программы в Windows 10 очень сильно «тупят». Наиболее сильно это заметно при работе с приложением «Проводник», который позволяет работать с файлами. Зачастую некоторые папки открываются по одной минуте, от чего многие пользователи в бешенстве.


Оказалось, что Microsoft добавила во все компьютеры на базе Windows 10 новую разработку под названием Control Flow Guard. Это своего рода специальная защита, направленная на борьбы с уязвимостями, связанными с повреждениями памяти. Защита защитой, но она в несколько раз снижает скорость работы всей операционной системы, причем отключить ее, на первый взгляд, невозможно.


К счастью, была обнаружена скрытая настройка, которая значительно повышает скорость работы всех компьютеров на Windows 10. Для этого необходимо запустить «Защитник Windows», а затем перейти в раздел «Управление приложениями и браузеров». Потребуется открыть подраздел «Параметры защиты от эксплойт», после чего отключить защиту CFG (Control Flow Guard). Чтобы все начало работать потребуется перезагрузить компьютер.


После выполнения этих действий и перезагрузки компьютера, он начнет работать в разы быстрее, поскольку фирменная система защиты Control Flow Guard перестанет использоваться. Зачем Microsoft принудительно включала эту настройку для всех – неизвестно, однако на форумах компании уже имеются десятки тысяч отзывов от пользователей, которые жалуются на медленную работу операционной системы Windows 10 из-за такого нововведения.

Защитные механизмы 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.

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

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

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

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

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

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

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

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

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

  • Deep Hooks — перехватываются не только критические API но и вызываемые ими функции;
  • Anti Detours — блокирует эксплойты запускающие копию функции и пропускающие первые байты API (пролог) и передающие управление на следующие инструкции.
  • Banned Functions — запрещает вызов API-функций из специального списка (в списке по умолчанию ntdll!LdrHotPatchRoutine).

Все настройки путем экспорта/импорта легко переносятся на другую систему, поэтому сконфигурировать большое количество систем очень просто. Конфигурация сохраняется в ветках реестра 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

Читайте также: