Следующая новость
Предыдущая новость

Windows 10 против шифровальщиков. Как устроена защита в обновленной Windows 10

17.11.2017 12:56

Содержание статьи

  • Старый новый защитник
  • Защита от эксплоитов
  • Защита от шифровальщиков
  • Эксперимент
  • Выводы

Этой осенью Windows 10 обновилась до версии 1709 с кодовым названием Fall Creators Update или Redstone 3. Среди множества изменений нас прежде всего заинтересовала улучшенная защита от неизвестных зловредов. В Microsoft приняли ряд мер для противодействия троянам-шифровальщикам и эксплоитам. Насколько же они оказались успешны?

Старый новый защитник

Все новое — это хорошо ребрендированное старое. В «осеннем обновлении для дизайнеров» встроенные компоненты защиты объединили в «Центре безопасности Защитника Windows». Даже программный файрвол стал называться «Брандмауэр Защитника Windows», но эти изменения — чисто косметические. Более существенные касаются новых функций, которые мы подробнее рассмотрим ниже.

Еще один старый-новый компонент, появившийся в Redstone 3, называется «Защита от эксплоитов». Windows Defender Exploit Guard, или просто EG, включается через «Центр безопасности Защитника Windows» в разделе «Управление приложениями и браузером».

Технически Exploit Guard — это бывшая служебная программа Enhanced Mitigation Experience Toolkit со слегка выросшим набором функций и новым интерфейсом. EMET появилась еще во времена Windows Vista, теперь же ее поддержка прекращена, а Exploit Guard занял ее место. Он относится к средствам продвинутой защиты от угроз (Advanced Threat Protection), наряду с менеджером подключаемых устройств Device Guard и защитником приложений Application Guard. Злые языки поговаривают, что в Microsoft изначально хотели представить общий компонент Advanced System Security Guard, но аббревиатура вышла совсем неблагозвучной.

Защита от эксплоитов

Exploit Guard — это всего лишь инструмент снижения риска, он не избавляет от необходимости закрывать уязвимости в софте, но затрудняет их использование. В целом принцип работы Exploit Guard состоит в том, чтобы запрещать те операции, которые чаще всего используются зловредами.

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

Поэтому настройка Exploit Guard — это такие же вилы, какими ранее было использование EMET. На моей памяти многие администраторы месяцами вникали в тонкости настроек, а затем просто прекращали использовать ограничительные функции из-за многочисленных жалоб пользователей.

Если же безопасность превыше всего и требуется закрутить гайки потуже, то самыми востребованным функциям Exploit Guard были (со времен EMET) и остаются:

  • DEP (Data Execution Prevention) — предотвращение выполнения данных. Не позволяет запустить на исполнение фрагмент кода, оказавшийся в не предназначенной для этого области памяти (например, в результате ошибки переполнения стека);
  • случайное перераспределение памяти — предотвращает атаку по известным адресам;
  • отключение точек расширения — препятствует внедрению DLL в запускаемые процессы (см. статью про обход UAC, где этот метод широко использовался);
  • команда DisallowChildProcessCreation — запрещает указанному приложению создавать дочерние процессы;
  • фильтрация таблиц адресов импорта (IAF) и экспорта (EAF) — не позволяет (вредоносному) процессу выполнять перебор таблиц адресов и обращаться к странице памяти системных библиотек;
  • CallerCheck — проверяет наличие прав на вызов конфиденциальных API;
  • SimExec — имитация выполнения. Проверяет перед реальным исполнением кода, кому вернутся вызовы конфиденциальных API.

Команды могут быть переданы через PowerShell. Например, запрет создавать дочерние процессы выглядит так:

Set-ProcessMitigation -Name исполняемый_файл.exe   -Enable DisallowChildProcessCreation 

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

Поэтому смысл от использования Exploit Guard будет только в том случае, если есть возможность задействовать сразу несколько защитных функций, не вызывая сбой хотя бы в работе основных приложений. На практике это редко удается. Вот пример профиля EG, конвертированного из EMET, который вообще вызывает сваливание Windows 10 в BSoD. Когда-то в «Хакере» была рубрика «Западлостроение», и Exploit Guard бы в нее отлично вписался.

Продолжение статьи доступно только подписчикам

Cтатьи из последних выпусков журнала можно покупать отдельно только через два месяца после публикации. Чтобы читать эту статью, необходимо купить подписку.

Подпишись на журнал «Хакер» по выгодной цене!

Подписка позволит тебе в течение указанного срока читать ВСЕ платные материалы сайта, включая эту статью. Мы принимаем оплату банковскими картами, электронными деньгами и переводами со счетов мобильных операторов. Подробнее о подписке

1 год

4790 р.

Экономия 1400 рублей!

1 месяц

515 р.

25-30 статей в месяц

Уже подписан?

Источник

Последние новости