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


Защита 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 ядра. Например, если драйвер включится и включен VT-d (технология виртуализации для направленного ввода-вывода), то для драйвера устройств включено повторное сопоставление 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