Защита DMA для ядра

Защита прямого доступа к памяти ядра (DMA) — это функция безопасности Windows, которая защищает внешние периферийные устройства от несанкционированного доступа к памяти.

Устройства с горячей заменой PCIe, такие как Thunderbolt, USB4 и CFexpress, позволяют пользователям подключать классы внешних периферийных устройств, включая графические карты, к своим устройствам с помощью usb-интерфейса plug-and-play. Эти устройства с поддержкой DMA могут получать доступ к системной памяти и выполнять операции чтения и записи без участия системного процессора. Эта возможность является причиной исключительной производительности устройств PCI, но она также делает их уязвимыми к атакам DMA с помощью drive-by.

Атаки DMA с помощью диска — это атаки, которые происходят в то время, когда владелец системы отсутствует и обычно занимает всего несколько минут с простыми и умеренными средствами атаки (доступным, готовым оборудованием и программным обеспечением), для которых не требуется дизассемблирование устройства. Например, злоумышленники могут подключить USB-подобное устройство, когда владелец устройства находится в перерыве, и уйти со всеми секретами на компьютере или внедрить вредоносную программу, которая позволяет им иметь полный контроль над устройством удаленно при обходе экрана блокировки.

Примечание.

Функция защиты DMA ядра не защищает от атак DMA через 1394/FireWire, PCMCIA, CardBus или ExpressCard.

Защита Windows от атак DMA с помощью дисков

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

По умолчанию периферийные устройства с DMA Remapping несовместимые драйверы будут заблокированы для запуска и выполнения DMA до тех пор, пока авторизованный пользователь не войдет в систему или не разблокирует экран. ИТ-администраторы могут изменить поведение по умолчанию, применяемое к устройствам с переназначение несовместимых драйверов DMA с помощью MDM или групповых политик.

Взаимодействие с пользователем

Если включена защита DMA ядра:

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

Требования к выпуску и лицензированию Windows

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

Windows Pro Windows Корпоративная Windows Pro для образовательных учреждений/SE Windows для образовательных учреждений
Да Да Да Да

Права на защиту прямого доступа к памяти ядра (DMA) предоставляются следующими лицензиями:

Windows Pro/Pro для образовательных учреждений/SE Windows Корпоративная E3 Windows Корпоративная E5 Windows для образовательных учреждений A3 Windows для образовательных учреждений A5
Да Да Да Да Да

Дополнительные сведения о лицензировании Windows см. в статье Обзор лицензирования Windows.

Совместимость системы

Для защиты DMA ядра требуется поддержка встроенного ПО UEFI, а безопасность на основе виртуализации (VBS) не требуется.

Защита DMA ядра несовместима с другими контрмеры атак BitLocker DMA. Рекомендуется отключить контрмеры атак BitLocker DMA, если система поддерживает защиту DMA ядра. Защита DMA ядра обеспечивает более высокий уровень безопасности системы, чем меры противодействия атакам BitLocker DMA, сохраняя при этом удобство использования внешних периферийных устройств.

Примечание.

Поддержка повторного сопоставления DMA для графических устройств была добавлена в Windows 11 с моделью драйвера WDDM 3.0; Windows 10 не поддерживает эту функцию.

Проверьте, включена ли защита DMA ядра

Системы, поддерживающие защиту DMA ядра, будут включать эту функцию автоматически, не требуя настройки пользователя или ИТ-администратора.

С помощью параметров Безопасность Windows можно проверка, включена ли защита DMA ядра:

  1. Откройте Безопасность Windows.

  2. Выберите Сведения об > изоляции ядра безопасности > устройства Защита доступа к памяти

    Снимок экрана: защита DMA ядра в Безопасность Windows.

    Кроме того, можно использовать классическое приложение "Сведения о системе" (msinfo32.exe). Если система поддерживает защиту DMA ядра, для параметра Защита DMA ядра будет задано значение ON.

    Снимок экрана: защита DMA ядра в сведениях о системе.

    Если текущее состояние защиты DMA ядраOFF, а Hyper-V — виртуализация включена во встроенном ПО— НЕТ:

    • Перезагрузка в параметрах UEFI
    • Включение технологии Виртуализации Intel
    • Включение технологии Виртуализации Intel для операций ввода-вывода (VT-d)
    • Перезагрузка системы в Windows

    Примечание.

    Если функция Windows Hyper-V включена, все связанные с Hyper-V функции будут скрыты, а гипервизор обнаружен. Компоненты, необходимые для Hyper-V, не будут отображаться в нижней части списка. Это означает, что Hyper-V — виртуализация, включенная во встроенном ПО , имеет значение ДА.

    Включение виртуализации Hyper-V в встроенном ПО (IOMMU) требуется для включения защиты DMA ядра, даже если встроенное ПО имеет флаг индикаторов защиты DMA ядра ACPI , описанный в разделе Защита DMA ядра (защита доступа к памяти) для изготовителей оборудования.

    Если состояние защиты DMA ядра остается выключенным, система не поддерживает защиту DMA ядра.

Сведения о системах, которые не поддерживают защиту DMA ядра, см. в статье О контрмерах BitLocker или Thunderbolt 3 и Безопасности в операционной системе Microsoft Windows для других средств защиты DMA.

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

Предотвращает ли защита DMA ядра атаки DMA на диск во время загрузки?

Нет, защита DMA ядра защищает только от атак DMA с помощью диска после загрузки ОС. За защиту от атак через порты Thunderbolt 3 во время загрузки отвечает встроенное ПО или BIOS системы.

Как проверка, поддерживает ли определенный драйвер повторное сопоставление DMA?

Не все устройства и драйверы поддерживают повторное сопоставление DMA. Чтобы проверка, если определенный драйвер включен в DMA-remapping, проверка значения, соответствующие свойству Политики повторного сопоставления DMA, на вкладке Сведения устройства в диспетчер устройств*. Значение 0 или 1 означает, что драйвер устройства не поддерживает повторное сопоставление DMA. Значение 2 означает, что драйвер устройства поддерживает повторное сопоставление DMA. Если свойство недоступно, драйвер устройства не поддерживает повторное сопоставление DMA. Проверьте экземпляр драйвера для тестируемого устройства. Некоторые драйверы могут иметь различные значения в зависимости от расположения устройства (внутренние и внешние).

Снимок экрана: сведения об устройстве для контроллера Thunderbolt со значением 2.

Когда драйверы для периферийных устройств PCI или Thunderbolt 3 не поддерживают повторное сопоставление DMA?

Используйте драйверы, предоставляемые Windows, для периферийных устройств, если они доступны. Если Windows не предоставляет драйверы классов для периферийных устройств, обратитесь к поставщику периферийных устройств или поставщику драйверов, чтобы обновить драйвер для поддержки повторного сопоставления DMA.

Защита DMA ядра моей системы отключена. Можно ли включить повторное сопоставление DMA для определенного устройства?

Да. Повторное сопоставление DMA для определенного устройства можно включить независимо от защиты DMA ядра. Например, если драйвер согласится на включение и включена технология виртуализации для направленного ввода-вывода, то повторное сопоставление DMA будет включено для драйвера устройств, даже если отключена защита DMA ядра.

Защита DMA ядра — это политика, которая позволяет или блокирует устройства для выполнения DMA в зависимости от состояния и возможностей повторного сопоставления.

Поддерживают ли драйверы Майкрософт повторное сопоставление DMA?

Драйверы почты Майкрософт для контроллеров USB XHCI (3.x), контроллеров AHCI/SATA хранилища и контроллеров NVMe хранилища поддерживают повторное сопоставление DMA.

Должны ли драйверы для устройств, отличных от PCI, быть совместимыми с DMA-remapping?

Нет. Устройства для периферийных устройств, отличных от PCI, такие как USB-устройства, не выполняют DMA, поэтому драйвер не должен быть совместим с DMA Remapping.

Как предприятие может включить политику перечисления внешних устройств?

Политика перечисления внешних устройств определяет, следует ли перечислять внешние периферийные устройства, несовместимые с DMA-remapping. Периферийные устройства, совместимые с DMA-remapping, всегда перечисляются. Периферийные устройства, которые не являются, могут быть заблокированы, разрешены или разрешены только после входа пользователя (по умолчанию).

Политику можно включить с помощью:

  • групповая политика: Административные шаблоны\Система\Защита DMA ядра\Политика перечисления для внешних устройств, несовместимых с защитой DMA ядра
  • Мобильные Управление устройствами (MDM): политики DmaGuard