Поделиться через


Запуск антивирусной программы Microsoft Defender в песочнице

Область применения:

Платформ:

  • Windows

Хотите попробовать Defender для конечной точки? Зарегистрироваться для бесплатной пробной версии.

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

Microsoft Defender антивирусная программа со встроенными функциями антивирусной программы может работать в песочнице Windows с 26 октября 2018 г. Это было первое комплексное антивирусное решение с этой возможностью и продолжает лидировать в отрасли в повышении уровня безопасности.

Предварительные условия

Перед началом работы необходимо выполнить следующие требования:

  • антивирусная программа Microsoft Defender (активный режим)
  • Клиентские устройства Windows должны работать Windows 11 или Windows 10 версии 1703 или более поздней
  • Устройства Windows Server должны работать Windows Server 2025, Windows Server 2022, Windows Server 2019, Windows Server 2016

Зачем запускать антивирусную программу Microsoft Defender в песочнице?

Исследователи безопасности как внутри корпорации Майкрософт, так и за ее пределами ранее определили способы, с помощью которых злоумышленник может воспользоваться уязвимостями в средствах синтаксического анализа содержимого Microsoft Defender антивирусной программы, которые могут обеспечить произвольное выполнение кода. Чтобы проверить всю систему на наличие вредоносного содержимого и артефактов, антивирусная программа запускается с высокими привилегиями (Локальная система, NT Authority\SYSTEM), что делает ее мишенью для атак.

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

Реализация песочницы для антивирусной программы Microsoft Defender

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

Использование ресурсов также является еще одной проблемой, которая требует значительных инвестиций. Как привилегированный процесс, так и процесс песочницы должны иметь доступ к обновлениям аналитики безопасности, другим обнаружениям и метаданным исправления. Чтобы избежать дублирования и сохранить надежные гарантии безопасности, чтобы избежать небезопасных способов совместного использования состояния или ввести значительные затраты времени выполнения на передачу данных или содержимого между процессами, мы используем модель, в которой большинство данных защиты размещаются в сопоставленных в памяти файлах, которые доступны только для чтения во время выполнения. Это означает, что данные защиты могут размещаться в нескольких процессах без каких-либо накладных расходов.

Включение песочницы для антивирусной программы Microsoft Defender

Чтобы включить песочницу, можно выполнить следующие действия, задав переменную среды на уровне компьютера:

  1. Выполните следующую команду от имени администратора в PowerShell или CMD:

    setx /M MP_FORCE_USE_SANDBOX 1  
    

    Снимок экрана: средство Windows PowerShell для администраторов с сведениями о командлете для включения песочницы.

  2. Перезапустите устройство. После перезапуска вы увидите новый процесс помимо MsMpEng.exe, который находится MsMpEngCP.exe в следующих папках:

    Path Процесс Описание
    C:\ProgramData\Microsoft\Windows Defender\Scans MsMpEngCP.exe Процесс исполняемого содержимого службы защиты от вредоносных программ
    C:\Users\All Users\Microsoft\Windows Defender\Scans MsMpEngCP.exe Процесс исполняемого содержимого службы защиты от вредоносных программ

    Примечание.

    CP в MsMpEngCP.exe — это процесс содержимого.

Отключение песочницы

Чтобы отключить песочницу для антивирусной программы Microsoft Defender, выполните следующую команду от имени администратора в PowerShell или CMD:

setx /M MP_FORCE_USE_SANDBOX 0

Вопросы и ответы

Что происходит при отключении песочницы?

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

Как укрепляется процесс содержимого?

Процессы содержимого, которые выполняются с низкими привилегиями, также активно используют все доступные политики устранения рисков, чтобы снизить вероятность атаки на поверхность. Они включают и предотвращают изменения среды выполнения для современных методов устранения рисков эксплойтов, таких как защита от выполнения данных (DEP), рандомизация макета адресного пространства (ASLR) и Control Flow Guard (CFG). Они также отключают системные вызовы Win32K и все точки расширяемости, а также принудительно загружают только подписанный и доверенный код.

Производительность MDAV с включенной песочницей

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

Microsoft Defender антивирусная программа предпринимает оркестрированные усилия, чтобы избежать ненужных операций ввода-вывода, например, минимизация объема данных, считываемых для каждого проверяемого файла, имеет первостепенное значение для поддержания высокой производительности, особенно на более старом оборудовании (вращаемый диск, удаленные ресурсы). Таким образом, было важно сохранить модель, в которой песочница может запрашивать данные для проверки по мере необходимости, а не передавать все содержимое.

Надежность MDAV с включенной песочницей

Примечание.

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

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

Исправление MDAV с включенной песочницей

Наконец, значительная проблема с точки зрения безопасности связана с исправлением или дезинфекцией содержимого. Учитывая конфиденциальный характер действия (попытки восстановления двоичного файла в исходном содержимом предварительной версии), нам нужно было убедиться, что это происходит с высокими привилегиями, чтобы устранить случаи, когда процесс содержимого (песочница) может быть скомпрометирован, а дезинфекция может использоваться для изменения обнаруженного двоичного файла непредвиденными способами.

Что делать при устранении неполадок процесса MsMpEng.CP.exe, если он запускается и останавливается через несколько минут?

Соберите журналы диагностики поддержки и все соответствующие дампы или сведения о сбоях, если во время остановки процесса возникают связанные события отчеты об ошибках Windows (WER).