Wie erlaube ich signierte Kerneltreiber in Windows 10 Version 1607 mit aktiviertem sicherem Start?

13

Windows 10 Version 1607 (auch bekannt als Anniversary Update) erzwingt jetzt die verschärfte Kernel-Treiberzertifizierung, die bereits 2015 als Voraussetzung für Windows 10 angekündigt wurde. Die neue Regel lautet, dass alle Windows 10-Treiber von Microsoft digital signiert werden müssen, keine Cross-Signierung mehr! Entwickler von Kerneltreibern müssen jetzt ein EV-Codesignaturzertifikat (Extended Validation) verwenden und ihre Treiber an das Windows Hardware Developer Center-Dashboardportal senden, wo die Treiber nach Bestehen bestimmter Tests von Microsoft signiert werden.

Es gibt jedoch Ausnahmen von dieser Regel. Cross-Signed-Kernel-Treiber werden von Windows 10 Version 1607 weiterhin akzeptiert, wenn eine der folgenden Bedingungen erfüllt ist:

  • Der Fahrer ist mit einem Zertifikat versehen, das vor dem 29. Juli 2015 ausgestellt wurde
  • Der Treiber ist ein Boot-Up-Treiber
  • Sicherer Start ist ausgeschaltet
  • Das Windows 10-System der Version 1607 wurde aktualisiert und nicht direkt installiert
  • Es ist ein geheimer Registrierungsschlüssel festgelegt, mit dem signierte Treiber auch auf Systemen mit aktiviertem Secure Boot geladen werden können

In meiner Firma haben wir das Problem, dass auf Treibern, die eine saubere Installation von Windows 10 Version 1607 erhalten haben, jetzt mehrere Treiber deaktiviert sind und sogar bestimmte Intel-Treiber betroffen sind. Darüber hinaus laden hochsichere virtuelle KVM-Maschinen, die das TianoCore UEFI-BIOS mit aktiviertem sicherem Start verwenden, das VirtIO-Netzwerk und die Ballon-Treiber aufgrund von Fehlern bei der digitalen Signatur nicht mehr.

Und ich kann bestätigen, dass die Treiber auf Systemen mit deaktiviertem sicherem Start und auf Windows 10-Systemen, die (direkt) auf Version 1607 aktualisiert wurden, auch bei aktiviertem sicherem Start einwandfrei funktionieren.

Jetzt frage ich mich, wie der Name und der Wert dieser geheimen Registrierung lauten, die Microsoft im folgenden Video um 00 h 11 m 00 s angekündigt hat :

Kanal 9 - Plugfest28 - Treiberzertifizierung unter Windows-Client und -Server

... und schließlich haben wir tatsächlich einen Registrierungsschlüssel ... und dieser Registrierungsschlüssel ist ... Sie wissen ... nur zum Testen gedacht, also möchten wir definitiv nicht, dass Sie ... diese Registrierung festlegen Schlüssel, während Sie den Treiber installieren und ... der Registrierungsschlüssel im Wesentlichen das gleiche Verhalten nachahmt, als ob Sie ein aktualisiertes System haben ...

Dieser Schlüssel wurde von Microsoft nie angekündigt, und aufgrund der folgenden Meldung in der ntdev-Liste von OSR glaube ich, dass dies niemals passieren wird:

Ich hasse es, das zu sagen, aber da Sie gefragt haben: Die Registrierungsschlüsselinformationen sind nur unter NDA verfügbar . Das heißt, es wird wahrscheinlich irgendwann an vielen Orten online auftauchen, aber bis dahin werden wir hier NICHT darüber diskutieren .

Und das lässt mich bei meiner eigentlichen Super User Frage zurück:

Was ist dieser geheime Registrierungsschlüssel, der Windows 10 Version 1607 mitteilt, dass er von einer früheren Version aktualisiert wurde?

Gollum
quelle
Wenn ich riskieren würde zu raten. Der gleiche Schlüssel, der immer verwendet wurde, wenn Sie von einer früheren Windows-Version auf eine neuere Windows-Version aktualisieren.
Ramhound
1
@ Ramhound ... was wäre das?
Gollum
Gibt es einen Hinweis darauf, wer diesen Schlüssel verwendet? Seine Existenz legt nahe, dass es zur Verwendung in bestimmten Situationen an Dritte weitergegeben wird. Wenn das stimmt, wäre es dann nicht sinnvoll, sich an Microsoft zu wenden, um zu fragen, ob einer von ihnen dabei sein soll?
@ Will Microsoft verwendet diesen Schlüssel, um die strengere Treibersignaturrichtlinie nicht auf Windows 10-Systemen anzuwenden, die das direkte Jubiläumsupdate durchgeführt haben (sie möchten keine Systeme deaktivieren, die vor dem Update funktioniert haben). Auf der anderen Seite könnte die Existenz dieses Schlüssels als Sicherheitsrisiko angesehen werden, da dies die strengere Politik zerstören kann, die die Menschen möglicherweise irgendwann einführen möchten.
Gollum
Hast du es versucht? [HKEY_CURRENT_USER \ Software \ Policies \ Microsoft \ Windows NT \ Treibersignierung] Ändern Sie den BehaviorOnFailedVerifySchlüsselwert in " 0".
HackSlash

Antworten:

0

Sie können die TESTSIGNING Boot Configuration Option ausprobieren

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

Die Startkonfigurationsoption TESTSIGNING bestimmt, ob Windows Vista und spätere Versionen von Windows einen beliebigen Typ von testsigniertem Kernelmoduscode laden. Diese Option ist nicht standardmäßig aktiviert. Dies bedeutet, dass testsignierte Kernelmodustreiber in 64-Bit-Versionen von Windows Vista und späteren Windows-Versionen standardmäßig nicht geladen werden.

Hinweis Nachdem Sie die Startkonfigurationsoption TESTSIGNING geändert haben, starten Sie den Computer neu, damit die Änderung wirksam wird.

Ashish Namdev
quelle
Der Testsignierungsmodus ist keine Option, da der Kernel Treiber laden würde, die von einem Zertifikat signiert sind, und die Validierung nicht erforderlich ist, um eine Verbindung zu einer vertrauenswürdigen Stammzertifizierungsstelle herzustellen. Grundsätzlich geht es darum, ein frisch installiertes System in Bezug auf die Validierungsrichtlinie für die Treibersignatur wie ein aktualisiertes System zu verhalten.
Gollum