Проверка целостности кода
Целостность памяти — это функция безопасности на основе виртуализации (VBS), доступная в Windows 10, Windows 11 и Windows Server 2016 и более поздних версиях. Целостность памяти и VBS улучшают модель угроз Windows и обеспечивают более надежную защиту от вредоносных программ, пытающихся использовать ядро Windows. VBS использует гипервизор Windows для создания изолированной виртуальной среды, которая становится корнем доверия операционной системы, предполагающей, что ядро может быть скомпрометировано. Целостность памяти — это критически важный компонент, который защищает и защищает Windows, запуская целостность кода в режиме ядра в изолированной виртуальной среде VBS. Целостность памяти также ограничивает выделение памяти ядра, которое может использоваться для компрометации системы, гарантируя, что страницы памяти ядра становятся исполняемыми только после прохождения проверок целостности кода в безопасной среде выполнения, а сами исполняемые страницы никогда не записываются.
Примечание
Целостность памяти иногда называется защищенной гипервизором целостности кода (HVCI) или принудительной целостностью кода низкоуровневой оболочкой. Изначально она была выпущена как часть Device Guard. Device Guard больше не используется, кроме как для поиска параметров целостности памяти и VBS в групповая политика или реестре Windows.
Проверки целостности кода обеспечивают совместимость с требованиями к использованию памяти ядра и выявляют следующие нарушения:
Код ошибки | Проблема целостности кода |
---|---|
0x2000:
|
Вызывающий объект указал тип исполняемого пула. (Ожидается: NonPagedPoolNx) |
0x2001:
|
Вызывающий объект указал защиту исполняемой страницы. (Ожидается: очищенные биты PAGE_EXECUTE*) |
0x2002:
|
Вызывающий объект указал сопоставление исполняемого файла MDL. (Ожидается: MdlMappingNoExecute). |
0x2003:
|
Изображение содержит исполняемый и записываемый раздел. |
0x2004:
|
Изображение содержит раздел, который не выровнен по страницам. |
0x2005:
|
Образ содержит IAT, расположенный в разделе исполняемого файла. |
Активация этого параметра:
Вы можете активировать проверку целостности кода для одного или нескольких драйверов с помощью диспетчера проверки драйверов или командной строки Verifier.exe. Дополнительные сведения см. в разделе Выбор параметров средства проверки драйверов. Необходимо перезагрузить компьютер, чтобы активировать или отключить параметр проверки целостности кода.
В командной строке
В командной строке проверка целостности кода представлена 0x02000000 (бит 25). Пример:
verifier /flags 0x02000000 /driver MyDriver.sys
Функция будет активна после следующей загрузки.
Использование диспетчера проверки драйверов
- Запустите диспетчер проверки драйверов. Введите Verifier в окне командной строки.
- Выберите Создать пользовательские параметры (для разработчиков кода) и нажмите кнопку Далее.
- Выберите (проверка) проверку целостности кода.
- Перезагрузите компьютер.