Der verlinkte Microsoft-Artikel beschreibt eine bedeutende Änderung im Windows-Sicherheitsmodell: Das Ende der Unterstützung für
Cross-Signed Driver (treiberübergreifende Signaturen).
Hier ist eine Zusammenfassung der Auswirkungen auf deine genannten Tools, die Kernel-Programmierung und die Welt der Cheat-Software.
Zusammenfassung: Was ändert sich?
Bisher konnten Entwickler ihre Treiber mit einem Zertifikat einer Drittanbieter-CA (Zertifizierungsstelle) signieren, das von Microsoft „quer-signiert“ (cross-signed) wurde. Solche Treiber wurden von Windows geladen, ohne dass Microsoft den Code selbst intensiv prüfen musste.
Die Änderung: Microsoft entfernt das Vertrauen in diese alten Zertifikate. Zukünftig müssen fast alle Kernel-Modus-Treiber über das
Windows Hardware Compatibility Program (WHCP) eingereicht und von Microsoft direkt signiert werden (Portal-Signierung).
Was bedeutet das für WinRing0 und PawnIO?
Diese Tools werden oft verwendet, um direkten Hardware-Zugriff aus dem User-Mode zu ermöglichen (z. B. für Temperatur-Monitoring oder Übertaktung).
- Veraltete Versionen blockiert: Wenn WinRing0 oder PawnIO auf alten Cross-Zertifikaten basieren, werden sie von aktuellen Windows-Versionen schlicht nicht mehr geladen. Es erscheint eine Fehlermeldung, dass der Treiber nicht verifiziert werden kann.
- Risiko-Einstufung: Microsoft nutzt diese Umstellung auch, um "Vulnerable Drivers" (verwundbare Treiber) auszusortieren. Da WinRing0 Funktionen bietet, die oft von Malware missbraucht werden, ist es wahrscheinlich, dass Microsoft die Signierung neuerer Versionen strenger prüft oder verweigert.
Kannst du noch eigene Kernel-Treiber schreiben?
Ja, aber die Hürden sind deutlich höher geworden.
Um einen Kernel-Treiber auf einem Standard-Windows-System zum Laufen zu bringen, hast du zwei legale Wege:
- Der offizielle Weg: Du benötigst ein EV-Zertifikat (Extended Validation), musst ein Unternehmen registrieren und den Treiber bei Microsoft zur Signierung einreichen. Das ist teuer und aufwendig.
- Der Entwickler-Modus (Testsignierung): Für die lokale Entwicklung kannst du Windows in den Test Mode versetzen (bcdedit /set testsigning on). Dann akzeptiert Windows selbstsignierte Treiber. Aber: Viele Programme (besonders Anti-Cheat-Software) starten nicht, wenn der Test Mode aktiv ist.
Wie machen das Cheat-Programme?
Da Cheat-Entwickler selten offizielle Zertifikate von Microsoft erhalten, nutzen sie meist "unorthodoxe" Methoden, um die Treibersignatur-Erzwingung (DSE - Driver Signature Enforcement) zu umgehen:
- Bring Your Own Vulnerable Driver (BYOVD): Das ist die häufigste Methode. Der Cheat lädt einen legalen, signierten (aber alten und fehlerhaften) Treiber (wie z. B. von einer alten Antiviren-Software oder einem Hardware-Tool). Dann nutzt der Cheat eine Sicherheitslücke in diesem legalen Treiber aus, um eigenen, unsignierten Code in den Kernel-Space zu schreiben.
- Manual Mapping: Der Cheat-Treiber wird nicht über den Windows-Loader geladen, sondern manuell in den Speicher kopiert und dort ausgeführt, indem Zeiger im Kernel verbogen werden.
- Geklaute Zertifikate: Manchmal werden Zertifikate von legitimen Firmen gestohlen oder auf dem Schwarzmarkt gekauft, um Treiber kurzzeitig "echt" wirken zu lassen, bis Microsoft das Zertifikat sperrt (Revocation).
Die Reaktion der Anti-Cheat-Systeme
Moderne Anti-Cheats (wie Vanguard, Ricochet oder Easy Anti-Cheat) laufen selbst im Kernel (Ring 0). Sie scannen permanent den Speicher nach den oben genannten Mustern ab. Wenn sie einen bekannten "verwundbaren Treiber" im System finden, blockieren sie den Spielstart, selbst wenn der Treiber für etwas Harmloses wie deine Lüftersteuerung gedacht war.