Драйвер очистки Windows Defender допускает управление файлами и реестром из режима ядра

Windows Defender

Исследователь безопасности Джиржи Винопал опубликовал подробный анализ драйвера BTR.sys, входящего в состав Microsoft Defender. Этот компонент предназначен для удаления заблокированных файлов во время перезагрузки системы, однако его можно приспособить для выполнения произвольных операций с файлами и реестром на уровне ядра. Атакующий с административными привилегиями способен перенаправить возможности доверенного драйвера на отключение средств защиты и изменение системных данных.

Детали уязвимости

BTR.sys не является постоянным драйвером Windows. Он встроен в библиотеку MpEngine.dll и разворачивается только тогда, когда Defender выполняет действия по удалению после перезагрузки, например для очистки заблокированных вредоносных файлов. Драйвер получает случайное имя, регистрируется как временная служба, выполняет заданные операции и самостоятельно удаляет следы. В ходе анализа выяснилось, что эти особенности напоминают поведение вредоносных загрузчиков: случайные имена, конфигурация в альтернативных потоках данных, шифрование RC4 и самоудаление.

Исследование под названием BTR Reforged не опирается на классические уязвимости памяти или метод BYOVD, когда злоумышленник подгружает подписанный, но уязвимый сторонний драйвер. Вместо этого Винопал использовал недокументированные, но намеренно реализованные функции штатного компонента Windows. Драйвер не имеет обычного интерфейса ввода-вывода. Он читает зашифрованную транзакцию из альтернативного потока данных, путь к которому указан в параметре Args служебного ключа реестра. Конфигурация защищена шифром RC4 со встроенным в драйвер фиксированным ключом длиной 256 байт, а для проверки целостности применяется модифицированная контрольная сумма CRC-32.

Расшифрованные данные содержат последовательность команд, которые драйвер выполняет в режиме ядра. Поддерживаются удаление файлов и каталогов, перемещение файлов, удаление ключей и значений реестра, а также создание и изменение параметров реестра. В легитимном рабочем процессе Defender эти функции помогают удалять вредоносное ПО и следы его активности. Однако исследователи продемонстрировали, что администратор, способный загружать драйверы, может применить их для воздействия на защищенные файлы, конфигурации антивируса или точки сохранения в системе. Это скорее архитектурная проблема доверия, чем традиционная уязвимость, поскольку для атаки уже требуется высокий уровень доступа.

Для проверки выводов создан инструмент BTR_CLI. Он автоматически извлекает драйвер BTR.sys из локальной копии MpEngine.dll, формирует зашифрованную транзакцию, создает временную службу, выполняет операции и очищает артефакты. Тестирование проводилось на разных версиях Windows - от Windows 7 до Windows 11 25H2. Во всех случаях инструмент использовал драйвер, найденный в самой системе, без привлечения внешних исполняемых файлов. Интересно, что ключ RC4 и формат транзакций остаются неизменными во всех проанализированных версиях драйвера на протяжении более чем пятнадцати лет.

Особую опасность представляет время запуска BTR.sys. Драйвер не может работать на самом раннем этапе загрузки, так как зависит от файловой системы и других механизмов ядра. Однако он способен запускаться как системный драйвер в группе Boot Bus Extender, что создает так называемое золотое окно. В этот период файловая система уже доступна, а некоторые защитные компоненты и пользовательские службы еще не инициализированы. Тесты подтвердили, что BTR.sys может удалить исполняемые файлы защитных решений до того, как они будут запущены, и изменить ключи реестра, защищенные от изменений. Например, удаление службы WdFilter приводит к тому, что фильтр Defender не загружается при следующей перезагрузке.

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

Несмотря на такую классификацию, проблема заслуживает внимания защитников. Стандартные методы блокировки вредоносных драйверов по сигнатурам здесь не работают, потому что BTR.sys имеет цифровую подпись Microsoft и является легитимным компонентом системы. Специалистам рекомендуют сосредоточиться на поведенческом анализе. В частности, полезно отслеживать создание альтернативных потоков данных с именем changelist, загрузку драйверов с известными хэшами BTR.sys из необычных процессов, регистрацию случайных служб с параметрами, указывающими на такие потоки, а также изменения защищенных бинарных файлов. Быстрое создание и удаление файла BootClean.log тоже может служить индикатором активности.

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

Ссылки

Комментарии: 0