Как разрешить кросс-подписанные драйверы ядра в Windows 10 версии 1607 с включенной безопасной загрузкой?


13

В Windows 10 версии 1607 (также называемой Anniversary Update) теперь применяется усиленная сертификация драйверов ядра, которая уже была объявлена ​​в 2015 году в качестве требования для Windows 10. Новое правило заключается в том, что все драйверы Windows 10 должны иметь цифровую подпись Microsoft, и больше никаких перекрестных подписей! Разработчики драйверов ядра теперь должны использовать сертификат подписи кода расширенной проверки (EV) и отправить свои драйверы на портал панели инструментов Центра разработчиков оборудования Windows, где драйверы будут подписаны Microsoft после прохождения определенных тестов.

Однако есть исключения из этого правила. Кросс-подписанные драйверы ядра по-прежнему принимаются в Windows 10 версии 1607, если выполняется одно из следующих условий :

  • Водитель подписан сертификатом, выданным до 29 июля 2015 года.
  • Драйвер является драйвером загрузки
  • Безопасная загрузка отключена
  • Система Windows 10 версии 1607 была обновлена и не установлена ​​напрямую
  • Устанавливается секретный ключ реестра, позволяющий загружать кросс-подписанные драйверы даже в системах с включенной безопасной загрузкой.

В моей компании есть проблема с тем, что несколько драйверов теперь отключены в системах, которые получили чистую установку Windows 10 версии 1607, и даже некоторые драйверы Intel затронуты. Кроме того, виртуальные машины KVM с высокой степенью защиты, использующие BIOS TianoCore UEFI с включенной безопасной загрузкой, теперь не загружают сетевые и вспомогательные драйверы VirtIO из-за ошибок цифровой подписи.

И я могу подтвердить, что драйверы работают нормально в системах с отключенной безопасной загрузкой и в системах Windows 10, которые были обновлены (на месте) до версии 1607, даже с включенной безопасной загрузкой.

Теперь мне интересно, какое имя и значение этого секретного реестра было объявлено Microsoft в следующем видео в 00 ч 11 м 00 с :

Канал 9 - Plugfest28 - Сертификация драйверов на Windows-клиенте и сервере

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

Microsoft никогда не объявляла этот ключ, и из-за следующего сообщения в списке ntdev в OSR я полагаю, что этого никогда не произойдет:

Я ненавижу это говорить, но так как вы спросили: информация о ключе реестра доступна только в соответствии с NDA . Это означает, что он, вероятно, появится во многих местах онлайн в конечном итоге, но до этого времени мы не будем обсуждать это здесь .

И это оставляет меня в моем актуальном вопросе о супер-пользователе:

Что это за секретный ключ реестра, который сообщает Windows 10 версии 1607, что он был обновлен с предыдущей версии?


Если бы я рискнул угадать. Тот же ключ, который всегда использовался при обновлении с предыдущей версии Windows до более новой версии Windows.
Ramhound

1
@ Ramhound ... что будет?
Голлум

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

@ Microsoft будет использовать этот ключ, чтобы не применять более строгую политику подписывания драйверов в системах Windows 10, которые выполнили обновление годовщины на месте (они не хотят отключать системы, которые работали до обновления). С другой стороны, существование этого ключа может рассматриваться как угроза безопасности, потому что он может уничтожить более строгую политику, которую люди могут захотеть применить в конечном итоге.
Голлум

Вы пробовали это? [HKEY_CURRENT_USER \ Software \ Policies \ Microsoft \ Windows NT \ Подпись драйвера] Измените BehaviorOnFailedVerifyзначение ключа на " 0".
HackSlash

Ответы:


0

Вы можете попробовать опцию конфигурации загрузки TESTSIGNING

Bcdedit.exe -set TESTSIGNING ON

Make sure to disable the Secure Boot and boot to OS to execute bcedit commands, once done you can reboot to OS with secure boot enabled

Параметр конфигурации загрузки TESTSIGNING определяет, будет ли Windows Vista и более поздние версии Windows загружать какой-либо код режима ядра, подписанный тестом. Этот параметр по умолчанию не установлен, что означает, что подписанные тестом драйверы режима ядра не будут загружаться по умолчанию в 64-разрядных версиях Windows Vista и более поздних версиях Windows.

Примечание. После изменения параметра конфигурации загрузки TESTSIGNING перезагрузите компьютер, чтобы изменения вступили в силу.


Режим тестирования не является опцией, так как ядро ​​будет загружать драйверы, подписанные любым сертификатом, и проверка не требуется для подключения к доверенному корневому центру сертификации. По сути, вопрос заключается в том, чтобы заставить недавно установленную систему вести себя как обновленная система в отношении политики проверки подписи драйверов.
Голлум
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.