Защита ядра DMA (защита доступа к памяти) для изготовителей оборудования
Защита DMA ядра (также известная как защита доступа к памяти) — это функция компьютера с Windows 10 защищенными ядрами, которая поддерживается на платформах Intel и AMD, начиная с Windows 10 версии 1803 и Windows 10, версия 1809.
С помощью этой функции ОС и встроенное ПО системы защищают систему от вредоносных и непреднамеренных атак с прямым доступом к памяти (DMA) для всех устройств с поддержкой DMA:
- Во время процесса загрузки.
- Защита от вредоносных DMA устройствами, подключенными к легкодоступным внешним/портам с поддержкой DMA, таким как слоты PCIe M.2 и Thunderbolt™3, во время выполнения ОС.
- Встроенное ПО системы должно защищаться от атак DMA перед загрузкой, реализовав изоляцию DMA всех буферов ввода-вывода устройств с поддержкой DMA до ExitBootServices().
- Встроенное ПО системы должно отключить бит включения шины (BME) для всех корневых портов PCI, которые не имеют дочерних устройств, необходимых для выполнения DMA между ExitBootServices() и драйвером устройства, запускаемым ОС.
- В ExitBootServices() IOMMU должен быть восстановлен с помощью встроенного ПО системы в состояние включено.
- Никакие устройства не могут выполнять DMA за пределами регионов RMRR (Intel) или блоков IVMD (AMD) после ExitBootServices() до тех пор, пока соответствующие драйверы ОС устройств не будут загружены и запущены PnP.
- Выполнение DMA за пределами регионов RMRR или блоков IVMD после ExitBootServices() и до запуска драйвера устройства операционной системой приведет к сбою IOMMU и потенциально системной ошибке проверка (0xE6).
- Встроенное ПО системы должно установить соответствующие флаги в таблицах ACPI, чтобы включить защиту DMA ядра в ОС:
- Для платформ Intel встроенное ПО системы должно задать значение «DMA_CTRL_PLATFORM_OPT_IN_FLAG» в поле флагов таблицы DMAR (технология Виртуализации Intel для спецификации прямого ввода-вывода, ред. 2.5, раздел 8.1).
- Для платформ AMD встроенное ПО системы должно задать бит «Поддержка повторного сопоставления DMA» в поле IVRS IVinfo (спецификация AMD IOMMU ред. 3.05, раздел 5.2.1).
- Идентификация внешних корневых портов PCIe.
- Определение внутренних портов PCIe, доступных пользователям и требующих защиты DMA.
- При каждой загрузке, когда IOMMU (VT-D или AMD-Vi) или защита DMA ядра отключены, будут отключены или настроены на более низкое состояние безопасности, платформа ДОЛЖНА расширить событие EV_EFI_ACTION в PCR[7] перед включением DMA.
- Строка события должна иметь значение «Защита DMA Disabled». Встроенное ПО платформы ДОЛЖНО записывать это измерение в журнал событий, используя строку «Защита DMA Disabled» для данных события.
Проверка состояния защиты DMA ядра в системе Windows 10
Состояние защиты DMA ядра можно проверить в заданной системе с помощью любого из следующих методов.
- Использование приложения Сведений о системе:
- Запустите MSINFO32.exe.
- Проверьте поле «Защита DMA ядра» на странице «Сводка системы».
- Использование Безопасность Windows приложения:
- Запустите Безопасность Windows приложение из меню «Пуск» Windows.
- Щелкните значок «Безопасность устройства».
- Щелкните «Сведения об изоляции ядра».
- «Защита доступа к памяти» будет указана в качестве доступной функции безопасности, если она включена.
- Если параметр «Защита доступа к памяти» отсутствует в списке, эта функция не включена в системе.
Защита 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 ядра:
- Откройте Безопасность Windows.
- Выберите Сведения об > изоляции ядра безопасности > устройства Защита доступа к памяти
Кроме того, можно использовать классическое приложение «Сведения о системе» ( msinfo32.exe ). Если система поддерживает защиту DMA ядра, для параметра Защита DMA ядра будет задано значение ON.
Если текущее состояние защиты 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. Проверьте экземпляр драйвера для тестируемого устройства. Некоторые драйверы могут иметь различные значения в зависимости от расположения устройства (внутренние и внешние).
Когда драйверы для периферийных устройств 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
Обратная связь
Были ли сведения на этой странице полезными?
Как включить защиту целостности памяти в Windows 10 April 2018 Update
В Windows 10 (версия 1803) Центр безопасности Защитника Windows получил несколько улучшений, в том числе новый раздел “Безопасность устройства”, которые предлагает управление расширенными инструментами безопасности, такими как «Изоляция ядра».
Изоляция ядра — технология безопасности на основе виртуализации, которая обеспечивает дополнительный уровень защиты против интеллектуальных атак. Целостность памяти является одной из составных частей технологии изоляции ядра — функция предназначена для предотвращения вставки вредоносного кода в процессы с высокой безопасностью. Защита обеспечивается за счет того, что страница виртуальной памяти ядра начинает выполнятся только после успешного прохождения проверки целостности.
Рассмотрим, как включить функцию “Целостность памяти” в Windows 10 April 2018 Update, чтобы усилить безопасность компьютера.
Включение целостности памяти
- Откройте Центр безопасности Защитника Windows.
- Выберите раздел “Безопасность устройства”.
- В секции “Изоляции ядра” нажмите ссылку “Сведения об изоляции ядра”.
- Переведите переключатель “Целостность памяти” в активное положение.
После выполнения этих действий нужно перезагрузить компьютер, чтобы изменения вступили в силу.
Примечание: для работы данной функции ваш процессор должен поддерживать технологии виртуализации. Кроме того, виртуализация должна быть включена в BIOS или UEFI. В противном случае, функция будет недоступна.
Исправление проблем с изоляцией ядра
В некоторых случаях можно столкнуться с проблемами совместимости в некоторых приложениях, если изоляция ядра включена. Чтобы исправить неполадки придется отключить функцию.
Если вы пытаетесь отключить целостность памяти в Центре безопасности Защитника Windows, но опция стала неактивной и показывается сообщение “Этим параметром управляет ваш администратор”, то все еще можно деактивировать функцию с помощью системного реестра.
Примечание: Некорректное изменение реестра может привести к серьезным проблемам. Рекомендуется создать резервную копию реестра Windows перед тем, как выполнить данные шаги. В меню редактора реестра выберите Файл > Экспорт для сохранения резервной копии.
- Нажмите сочетание клавиш Windows + R , чтобы вызвать окно “Выполнить”.
- Введите regedit и нажмите ОК, чтобы запустить редактор реестра.
- Перейдите по следующему пути:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\DeviceGuard\Scenarios\HypervisorEnforcedCodeIntegrity
- Дважды щелкните по записи Enabled.
- Поменяйте значение с 1 на 0.
- Нажмите ОК.
Для отключения вы также можете воспользоваться готовым reg-файлом, выполнив запуск от имени администратора.
После выполнения этих действий нужно перезагрузить компьютер, чтобы изменения вступили в силу.
Защита устройства в разделе «Безопасность Windows»
Приложение «Безопасность Windows» предоставляет встроенные функции безопасности, чтобы защитить ваше устройство от атак вредоносных программ.
Чтобы получить доступ к описанным ниже функциям, нажмите в Windows кнопку Пуск, введите текст безопасность windows, выберите это приложение в списке результатов, затем выберите Безопасность устройства.
Примечания: Элементы, отображаемые на странице Безопасность устройства, зависят от того, что поддерживается вашим оборудованием.
- Дополнительные сведения о системе «Безопасность Windows» см. в разделе Защита с помощью панели «Безопасность Windows».
- Для получения дополнительной информации о брандмауэре Microsoft Defender см. раздел Включение и отключение брандмауэра Защитника Windows.
- Инструкции по работе с паролем см. в разделе Изменение или сброс пароля для Windows.
Изоляция ядра
Изоляция ядра обеспечивает дополнительную защиту от вредоносных программ и других атак, изолируя процессы компьютера от операционной системы и устройства. Выберите ссылку Сведения об изоляции ядра, чтобы включить, отключить или изменить параметры изоляции ядра.
Целостность памяти
Целостность памяти — это функция изоляции ядра. Включив параметр Целостность памяти, вы сможете запретить вредоносному коду доступ к процессам с высоким уровнем безопасности в случае атаки.
Дополнительные сведения об изоляции ядра и целостности памяти см. в статье Изоляция ядра.
Обработчик безопасности
Обработчик безопасности реализует дополнительное шифрование для вашего устройства.
Сведения об обработчике безопасности
Здесь вы найдете сведения о производителе и номерах версий обработчика безопасности, а также информацию о состоянии обработчика безопасности. Выберите ссылку Устранение неполадок обработчика безопасности для получения дополнительных сведений и параметров.
Примечание. Если на этом экране не отображается запись «Обработчик безопасности», скорее всего, у вашего устройства нет необходимого оборудования TPM (доверенный платформенный модуль) для этой функции или оно не включено в UEFI (единый интерфейс EFI). Обратитесь к производителю устройства, чтобы узнать, поддерживает ли ваше устройство TPM (доверенный платформенный модуль), и, если да, то как включить его.
Если обработчик безопасности работает неправильно, перейдите по ссылке Устранение неполадок обработчика безопасности, чтобы увидеть сообщения об ошибках и получить доступ к расширенным параметрам. Дополнительные сведения см. в следующем разделе: Устранение неполадок обработчика безопасности.
Безопасная загрузка
Безопасная загрузка предотвращает загрузку сложного и опасного типа вредоносных программ, rootkit, при запуске устройства. Пакеты программ rootkit используют такие же разрешения, как и операционная система, и запускаются раньше нее, что позволяет им полностью скрыть себя. Зачастую программы rootkit входят в набор вредоносных программ, которые могут обходить процедуры входа, записывать пароли и нажатые клавиши, перемещать конфиденциальные файлы и получать криптографические данные.
Может потребоваться отключить безопасную загрузку для работы некоторых графических плат, оборудования или операционных систем ПК, например Linux или предыдущих версий Windows. Дополнительные сведения см. в разделе Отключение и повторное включение безопасной загрузки.
Аппаратные возможности обеспечения безопасности
В нижней части экрана «Безопасность устройства» отображается одно из следующих сообщений с указанием возможностей защиты вашего устройства.
Устройство соответствует требованиям для стандартной безопасности оборудования
Это означает, что устройство поддерживает целостности памяти и изоляцию ядра, а также:
- TPM 2.0 (или обработчик безопасности);
- включена безопасная загрузка;
- DEP;
- UEFI MAT.
Устройство соответствует требованиям для усиленной безопасности оборудования
Это означает, что в дополнение к стандартным требованиям к безопасности оборудования, на устройстве также включена функция целостности памяти.
На устройстве включены все функции защищенного ядра КОМПЬЮТЕРА
Примечание: До Windows 20H2 в этом сообщении было сказано: «Ваше устройство превышает требования к усиленной безопасности оборудования».
Это означает, что в дополнение к обеспечению соответствия требованиям к усиленной безопасности оборудования, на устройстве также включена функция защиты режима управления системой (SMM).
Стандартная безопасность оборудования не поддерживается
Это означает, что устройство не соответствует по крайней мере одному из стандартных требований к безопасности оборудования.
Улучшенная аппаратная безопасность
Если уровень системы безопасности устройства вас не устраивает, может потребоваться включить определенные аппаратные функции (такие как безопасная загрузка, если она поддерживается) или изменить параметры в BIOS вашей системы. Обратитесь к изготовителю оборудования, чтобы узнать, какие функции поддерживаются вашим оборудованием и как их активировать.