Новый метод и демонстрационный инструмент под названием EDR-Freeze показывают, что обойти защитные решения можно даже из пользовательского режима, используя систему отчетов об ошибках Windows (WER).
Этот метод исключает необходимость в использовании уязвимого драйвера и позволяет переводить защитные инструменты, такие как системы обнаружения и реагирования (EDR), в неактивное состояние.
Используя систему WER в связке с API MiniDumpWriteDump, исследователь безопасности TwoSevenOneThree (Zero Salarium) нашел способ бессрочно приостанавливать работу процессов EDR и антивирусов.
Существующие методы отключения EDR основаны на методе «Bring Your Own Vulnerable Driver» (BYOVD), при котором злоумышленники используют легитимный, но уязвимый драйвер ядра и эксплуатируют его для повышения привилегий.
Основные недостатки атак BYOVD заключаются в необходимости доставить драйвер на целевую систему, обойти механизмы защиты от выполнения и затем удалить следы на уровне ядра, которые могут выдать операцию.
EDR-Freeze описывается как гораздо более скрытный метод: он не требует драйвера ядра, полностью работает из пользовательского режима и использует легитимные компоненты Windows, которые по умолчанию есть в системе.
Как работает EDR-Freeze
WerFaultSecure — это компонент системы отчетов об ошибках Windows, который работает с привилегиями Protected Process Light (PPL). Он предназначен для сбора дампов сбоев критически важных системных процессов с целью отладки и диагностики.
MiniDumpWriteDump — это API из библиотеки DbgHelp, создающее снимок («минидамп») памяти и состояния процесса. Во время этой операции все потоки целевого процесса приостанавливаются, а после завершения — возобновляют работу.
EDR-Freeze использует процесс WerFaultSecure, чтобы запустить вызов MiniDumpWriteDump, который временно приостанавливает все потоки целевого процесса на время записи дампа.
В этот момент злоумышленник приостанавливает сам процесс WerFaultSecure, из-за чего процедура так и не завершается, и защитное ПО остается в «замороженном» состоянии.
Исследователь выделяет 4 основных этапа атаки:
- Запустить WerFaultSecure как PPL-процесс.
- Передать параметры, указывающие ему собрать дамп нужного процесса по PID.
- Ожидать, пока целевой процесс будет приостановлен.
- Немедленно приостановить WerFaultSecure, чтобы целевой процесс так и не активизировался.
Исследователь также опубликовал инструмент EDR-Freeze на GitHub, реализующий эту цепочку, и протестировал его на Windows 11, версия 24H2 — успешно приостановив процесс Windows Defender.
Задание параметров (слева) и приостановка работы Windows Defender (справа) Источник: Zero Salarium
Исследователь подчеркивает, что это не эксплойт в классическом смысле, а особенность дизайна Windows — использование штатных компонентов MiniDumpWriteDump и WerFaultSecure в нестандартной цепочке.
Некоторые меры защиты все же возможны. Например, мониторинг вызовов WER, направленных на чувствительные процессы вроде LSASS или антивирусов. Исследователь Стивен Лим (Steven Lim) создал утилиту, отслеживающую связывание WerFaultSecure с процессами Microsoft Defender Endpoint.
Тем не менее, Microsoft может усилить защиту, реализовав блокировку подозрительных вызовов, ограничение по допустимым PID и фильтрацию параметров запуска.
Угрозы безопасности
• Инструмент EDR-Freeze позволяет отключать антивирусы через систему отчетов Windows
• Проверенная игра в Steam украла пожертвования у стримера, собиравшего средства на лечение
• Google исправил шестую по счету активно эксплуатируемую уязвимость «нулевого дня» в Chrome в этом году
• В Google Play были удалены 224 вредоносных приложения для Android из-за рекламного мошенничества
• Яндекс помог устранить уязвимость в движке V8 для браузеров на Chromium
• Apple выпустила исправления уязвимости «нулевого дня» для старых iPhone и iPad