Мы уже много раз писали и про EMET [1, 2, 3, 4] и про «Расширенный защищенный режим» (EPM) работы браузера Internet Explorer 10+ [1,2], и про 64-битные процессы для вкладок [1, 2], и про нововведения Windows 8/8.1 [1], в которых используется защита от эксплуатации. Несмотря на то, что Microsoft, в последнее время, уделяет достаточно усилий для того, чтобы встроить защиту от эксплойтов в Windows, многие введенные настройки оказываются выключены по умолчанию. Очевидно, что практикуемый компанией подход заключается в том, что она ставит совместимость приложений с ОС на первое место, а включение настроек безопасности оставляет на плечи пользователей (из-за декларируемых проблем совместимости).
![](https://habrastorage.org/r/w780q1/getpro/habr/post_images/f71/b07/e48/f71b07e4877fda2d7ad642648c8542c3.jpg)
Например, в недавнем посте на MSRC для SA 2963983 содержится следующее предложение.
Это при том, что компания выпустила в прошлом году обновление MS13-088 (см. KB2907803), которое отключает использование EPM по умолчанию для Internet Explorer 11 с формулировкой:
Таким образом, перед первоначальным использованием Internet Explorer обязательно проверяйте включены ли у вас соответствующие настройки безопасности, которые компания декларирует как «основные, чтобы быть в безопасности», но которые отключены по умолчанию.
![](https://habrastorage.org/r/w1560/getpro/habr/post_images/30f/94b/f21/30f94bf21e534daf9f49f71c82f00ac7.png)
Рис. IE11 на Windows 8.1 с установленным MS13-088, слева вручную установлены security-опции, потом была активирована функция восстановить настройки по умолчанию.
Аналогичные настройки существуют и в EMET.
![](https://habrastorage.org/r/w1560/getpro/habr/post_images/bf9/07e/80e/bf907e80e74e8a5133e5e3a5eef9911c.png)
Рис. EMET v4.1 Release в режиме «Maximum security settings», настройка «Deep Hooks» отключена. Используется для блокирования действий эксплойта к CVE-2014-1776. См. More Details about Security Advisory 2963983 IE 0day.
![](https://habrastorage.org/r/w1560/getpro/habr/post_images/456/b75/b13/456b75b13db6a234489795949bd181a1.png)
Рис. EMET v5.0 TP, по умолчанию активны настройки «Deep Hooks» и ASR.
Мы еще не останавливались подробно на EMET 5.0 TP, пользователи могу скачать его с сайта MS Security TechCenter. Эта версия содержит две новые опции, которые называются Attack Surface Reduction (ASR) и Export Address Table Filtering Plus (EAF+). Как видно на скриншоте выше ASR включен для Internet Explorer и может использоваться для предотвращения эксплуатации CVE-2014-1776. В силу того, что эта версия EMET имеет статус Technical Preview, компания поставляет его с уже включенной настройкой «Deep Hooks».
Attack Surface Reduction
В более узком смысле ASR применяется к Internet Explorer и использует установленные для браузера уровни URL Security Zones для того, чтобы запрещать или разрешать исполнение плагинов, например, Oracle Java или Adobe Flash Player в зависимости о того, какую зону посещает пользователь. В более широком, применяется к приложениям для того, чтобы принудительно запрещать для них активацию соответствующих плагинов, которые могут использоваться для эксплуатации.
![](https://habrastorage.org/r/w1560/getpro/habr/post_images/efe/fd0/998/efefd09987febf754790ab7461dce502.png)
Рис. URL Security Zones (Зоны), которые различает IE и которые используются для EMET Attack Surface Reduction.
Основной смысл ASR EMET для IE заключается в том, что он разрешает использовать потенциально небезопасные плагины Java и Flash Player для веб-сайтов, которые находятся в сети организации (интранет) и запрещает их для интернет, где содержимое может быть потенциально небезопасным. Кроме этого, плагины разрешается использовать в зоне Trusted (Надежные сайты), см. ниже.
По умолчанию EMET 5.0 TP включает ASR для следующих приложений:
Блокирование плагинов производится по маске, либо по полному имени библиотеки.
![](https://habrastorage.org/r/w1560/getpro/habr/post_images/d6a/561/c48/d6a561c485da54f8080a7c8391b67f63.png)
Рис. ASR для IE блокирует активацию в браузере Java (npjpi*.dll, jp2iexp.dll), Vector Markup Language DLL (vgx.dll) (см. SA 2963983) и Flash Player (flash*.ocx).
ASR в EMET 5.0 TP может работать только для трех вышеперечисленных программ.
![](https://habrastorage.org/r/w1560/getpro/habr/post_images/221/852/9a3/2218529a3239e6b2ac6cff2d951c5506.png)
Настройка зоны задается параметром реестра asr_zones, который может принимать следующие значения: Local (0), Intranet (1), Trusted (2), Internet (3), Untrusted (4).
В такой конфигурации, при попытке открыть в Word или Excel документ со встроенным объектом Flash Player (SWF), он будет принудительно заблокирован (либо пользователь будет уведомлен, см. Application Configuration — Stop on exploit или Audit only).
Export Address Table Filtering Plus
Настройка, требующая более детального технического рассмотрения, см. Announcing EMET 5.0 Technical Preview. Расширяет имеющуюся настройку EAF, которая используется для защиты от шелл-кода и разрешает доступ к экспортам модулей системных библиотек (kernel32.dll & ntdll.dll) только коду известных EMET исполняемых модулей.
EAF+ добавляет в список проверяемых библиотек и kernelbase.dll (список может расширяться, см. настройку нижу).
![](https://habrastorage.org/r/w1560/getpro/habr/post_images/fab/853/156/fab8531567e3f5e53d7e34f06dc95737.png)
Рис. EAF+ активирована по умолчанию для EMET 5.0 TP. Но при этом используется только для браузера Internet Explorer, см. скриншот ниже.
![](https://habrastorage.org/r/w1560/getpro/habr/post_images/aff/3c4/c26/aff3c4c26165600abaf8274bd548a8f9.png)
Рис. По умолчанию EAF+ активирован только для IE и настроен на защиту таблиц экспорта kernelbase, kernel32 и ntdll от кода следующих модулей: Image Rendering DLL (mshtml.dll), Flash Player объекты (flash*.ocx), JScript DLL (jscript.dll), VBScript DLL (vbscript.dll) и Vector Markup Language DLL (vgx.dll). Модули использовались в атаках для построения цепочек ROP.
EAF+ также блокирует доступ к таблицам импорта для подозрительного кода, который уже был использован в атаках (например, см. IE CVE-2013-3163 и CVE-2014-0322) при доступе к адресам экспортов через код ActionScript (SWF). См. опцию EAF+.
Обычный EAF активирован для всех приложений из списка, см. параметр Application Configuration -> Other -> EAF и используется для защиты только kernel32 и ntdll.
![](https://habrastorage.org/r/w1560/getpro/habr/post_images/fa3/663/c56/fa3663c56725b71647d0abe1169d3187.png)
Рис. EAF в EMET 4.1 Release активен по умолчанию для всех процессов и используется для блокирования несанкционированного доступа к EAT (таблицам экспорта) библиотек kernel32 и ntdll.
![](https://habrastorage.org/getpro/habr/post_images/f71/b07/e48/f71b07e4877fda2d7ad642648c8542c3.jpg)
Например, в недавнем посте на MSRC для SA 2963983 содержится следующее предложение.
Our initial investigation has revealed that Enhanced Protected Mode, on by default for the modern browsing experience in Internet Explorer 10 and Internet Explorer 11.
Это при том, что компания выпустила в прошлом году обновление MS13-088 (см. KB2907803), которое отключает использование EPM по умолчанию для Internet Explorer 11 с формулировкой:
During the preview releases of Windows 8.1 and Internet Explorer 11, we enabled Enhanced Protected Mode by default in both the desktop and immersive modes of Internet Explorer. This was done so that we could receive feedback and data about sites that use add-ons that are incompatible with Enhanced Protected Mode.
Таким образом, перед первоначальным использованием Internet Explorer обязательно проверяйте включены ли у вас соответствующие настройки безопасности, которые компания декларирует как «основные, чтобы быть в безопасности», но которые отключены по умолчанию.
![](https://habrastorage.org/getpro/habr/post_images/30f/94b/f21/30f94bf21e534daf9f49f71c82f00ac7.png)
Рис. IE11 на Windows 8.1 с установленным MS13-088, слева вручную установлены security-опции, потом была активирована функция восстановить настройки по умолчанию.
Аналогичные настройки существуют и в EMET.
![](https://habrastorage.org/getpro/habr/post_images/bf9/07e/80e/bf907e80e74e8a5133e5e3a5eef9911c.png)
Рис. EMET v4.1 Release в режиме «Maximum security settings», настройка «Deep Hooks» отключена. Используется для блокирования действий эксплойта к CVE-2014-1776. См. More Details about Security Advisory 2963983 IE 0day.
![](https://habrastorage.org/getpro/habr/post_images/456/b75/b13/456b75b13db6a234489795949bd181a1.png)
Рис. EMET v5.0 TP, по умолчанию активны настройки «Deep Hooks» и ASR.
Мы еще не останавливались подробно на EMET 5.0 TP, пользователи могу скачать его с сайта MS Security TechCenter. Эта версия содержит две новые опции, которые называются Attack Surface Reduction (ASR) и Export Address Table Filtering Plus (EAF+). Как видно на скриншоте выше ASR включен для Internet Explorer и может использоваться для предотвращения эксплуатации CVE-2014-1776. В силу того, что эта версия EMET имеет статус Technical Preview, компания поставляет его с уже включенной настройкой «Deep Hooks».
Attack Surface Reduction
В более узком смысле ASR применяется к Internet Explorer и использует установленные для браузера уровни URL Security Zones для того, чтобы запрещать или разрешать исполнение плагинов, например, Oracle Java или Adobe Flash Player в зависимости о того, какую зону посещает пользователь. В более широком, применяется к приложениям для того, чтобы принудительно запрещать для них активацию соответствующих плагинов, которые могут использоваться для эксплуатации.
![](https://habrastorage.org/getpro/habr/post_images/efe/fd0/998/efefd09987febf754790ab7461dce502.png)
Рис. URL Security Zones (Зоны), которые различает IE и которые используются для EMET Attack Surface Reduction.
Основной смысл ASR EMET для IE заключается в том, что он разрешает использовать потенциально небезопасные плагины Java и Flash Player для веб-сайтов, которые находятся в сети организации (интранет) и запрещает их для интернет, где содержимое может быть потенциально небезопасным. Кроме этого, плагины разрешается использовать в зоне Trusted (Надежные сайты), см. ниже.
По умолчанию EMET 5.0 TP включает ASR для следующих приложений:
- MS Internet Explorer;
- MS Excel;
- MS Word.
Блокирование плагинов производится по маске, либо по полному имени библиотеки.
![](https://habrastorage.org/getpro/habr/post_images/d6a/561/c48/d6a561c485da54f8080a7c8391b67f63.png)
Рис. ASR для IE блокирует активацию в браузере Java (npjpi*.dll, jp2iexp.dll), Vector Markup Language DLL (vgx.dll) (см. SA 2963983) и Flash Player (flash*.ocx).
ASR в EMET 5.0 TP может работать только для трех вышеперечисленных программ.
![](https://habrastorage.org/getpro/habr/post_images/221/852/9a3/2218529a3239e6b2ac6cff2d951c5506.png)
Настройка зоны задается параметром реестра asr_zones, который может принимать следующие значения: Local (0), Intranet (1), Trusted (2), Internet (3), Untrusted (4).
В такой конфигурации, при попытке открыть в Word или Excel документ со встроенным объектом Flash Player (SWF), он будет принудительно заблокирован (либо пользователь будет уведомлен, см. Application Configuration — Stop on exploit или Audit only).
Export Address Table Filtering Plus
Настройка, требующая более детального технического рассмотрения, см. Announcing EMET 5.0 Technical Preview. Расширяет имеющуюся настройку EAF, которая используется для защиты от шелл-кода и разрешает доступ к экспортам модулей системных библиотек (kernel32.dll & ntdll.dll) только коду известных EMET исполняемых модулей.
EAF+ добавляет в список проверяемых библиотек и kernelbase.dll (список может расширяться, см. настройку нижу).
![](https://habrastorage.org/getpro/habr/post_images/fab/853/156/fab8531567e3f5e53d7e34f06dc95737.png)
Рис. EAF+ активирована по умолчанию для EMET 5.0 TP. Но при этом используется только для браузера Internet Explorer, см. скриншот ниже.
![](https://habrastorage.org/getpro/habr/post_images/aff/3c4/c26/aff3c4c26165600abaf8274bd548a8f9.png)
Рис. По умолчанию EAF+ активирован только для IE и настроен на защиту таблиц экспорта kernelbase, kernel32 и ntdll от кода следующих модулей: Image Rendering DLL (mshtml.dll), Flash Player объекты (flash*.ocx), JScript DLL (jscript.dll), VBScript DLL (vbscript.dll) и Vector Markup Language DLL (vgx.dll). Модули использовались в атаках для построения цепочек ROP.
EAF+ также блокирует доступ к таблицам импорта для подозрительного кода, который уже был использован в атаках (например, см. IE CVE-2013-3163 и CVE-2014-0322) при доступе к адресам экспортов через код ActionScript (SWF). См. опцию EAF+.
...this mitigation will block read access attempts to protected export table addresses when originated from modules commonly used for probing memory using memory corruption vulnerabilities.
Обычный EAF активирован для всех приложений из списка, см. параметр Application Configuration -> Other -> EAF и используется для защиты только kernel32 и ntdll.
![](https://habrastorage.org/getpro/habr/post_images/fa3/663/c56/fa3663c56725b71647d0abe1169d3187.png)
Рис. EAF в EMET 4.1 Release активен по умолчанию для всех процессов и используется для блокирования несанкционированного доступа к EAT (таблицам экспорта) библиотек kernel32 и ntdll.