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

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, которые используют TianoCore UEFI BIOS с включенной безопасной загрузкой, теперь не загружают сеть VirtIO и драйверы балуна из-за ошибок цифровой подписи.

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

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

Channel 9 — Plugfest28 — Driver-Certification- on-Windows-Client-and-Server

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

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

Ненавижу скажите это, но поскольку вы спросили: Информация о разделе реестра доступна только в рамках NDA . Это означает, что в конечном итоге он, вероятно, появится во многих местах в Интернете, но до этого времени МЫ НЕ БУДЕМ обсуждать это здесь .

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

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


  [HKEY_LOCAL_MACHINE  SYSTEM  CurrentControlSet  Control  CI  Policy] «UpgradedSystem» = dword: 00000001  
  • https://www.geoffchappell.com/notes/security/whqlsettings/index.htm
  • https://forums.mydigitallife.net/threads /windows-10-anniversary-update-digital-signature-question.69970/#post-1272392

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

И вот … это сработало. Ранее драйвер устанавливался сам и появлялся в диспетчере устройств, хотя и с часто описываемым предупреждением «Код 52». Теперь эта ошибка исчезла.

Я пользователь Linux, а не гуру Windows. Мой предыдущий (наивный) опыт показал мне, что изменение реестра может привести к проблемам, поэтому я действительно не знаю, какие внешние эффекты последуют за добавлением этого значения реестра. Вместо этого я полагаюсь на сообщение в блоге Джеффа Чаппелла, поскольку он, кажется, знает, о чем пишет; кажется, что добавление этого значения реестра, по крайней мере, на сегодняшний день, безвредно.


0

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

  Bcdedit.exe -set TESTSIGNING ON Обязательно отключите безопасную загрузку и загрузитесь в ОС для выполнения  После выполнения команд bcedit вы можете перезагрузиться в ОС с включенной безопасной загрузкой  

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

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

Поделиться
Улучшить этот ответ
ответил 18 сен ’18 в 14:46
  • Режим подписи тестов не является вариантом, поскольку ядро ​​загружает драйверы, подписанные любым сертификатом, и проверка не требуется для подключения к доверенному корневому центру сертификации. В основном вопрос заключается в том, чтобы только что установленная система вела себя как обновленная система в отношении политики проверки подписи драйверов. — gollum 19 сен ’18 в 10:55
добавить комментарий |

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

  Bcdedit.exe -set TESTSIGNING  ON Обязательно отключите безопасную загрузку и загрузитесь в ОС для выполнения команд bcedit, после этого вы можете перезагрузиться в ОС с включенной безопасной загрузкой  

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

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

Оцените статью
Botgadget.ru
Добавить комментарий