Windows-Schwachstelle wird ausgenutzt! Angriffe über gefälschte Signatur-Zeitstempel

Ein Gastbeitrag von Thorsten Rosendahl Lesedauer: 5 min |

Anbieter zum Thema

Zu den eher ungewöhnlichen IT-Angriffsmethoden zählt das Ausnutzen einer Lücke, die das Signieren und Laden von Kernel-Mode-Treibern in Windows ermöglicht. Dabei wird das Signaturdatum geändert, um gefährliche Treiber zu laden. Wie das genau funktioniert, hat die Cisco Threat Research-Einheit Talos nun detailliert analysiert und beschrieben.

Hacker nutzen eine gefährliche neue Sicherheitslücke aus, bei der sie mit Schadcode versehene, Treiber mit nicht widerrufenen Zertifikaten signieren, die vor dem 29. Juli 2015 ausgestellt wurden oder davor abgelaufen sind.
Hacker nutzen eine gefährliche neue Sicherheitslücke aus, bei der sie mit Schadcode versehene, Treiber mit nicht widerrufenen Zertifikaten signieren, die vor dem 29. Juli 2015 ausgestellt wurden oder davor abgelaufen sind.
(Bild: NicoElNino - stock.adobe.com)

Cyberkriminelle werden immer raffinierter. Sie greifen nicht mehr nur klassisch die Corporate IT-Netzwerke an. Seit Hybrid Work und Videokonferenzen von zu Hause geraten auch immer mehr EinzelnutzerInnen ins Visier, da Cyberkriminelle über sie leicht Zugang zu Unternehmensdaten erhalten können. Einen sehr ausgeklügelten Ansatz stellen Angriffe mit Kernel-Mode-Treibern auf Windows-Rechner dar. Aber wie funktioniert das genau?

Das Windows-Betriebssystem ist in zwei Schichten unterteilt: Im Benutzermodus befinden sich die Dateien und Anwendungen, mit denen die User interagieren. Der Kernelmodus enthält die erforderlichen Treiber und Windows-Funktionen zur Ausführung des Systems. Die Aufteilung des Betriebssystems in diese zwei Modi erzeugt eine streng kontrollierte logische Barriere zwischen User und Windows-Kernel. Mit Hilfe eines bösartigen Treibers kann ein Angreifer diese Barriere nun überwinden und das Zielsystem vollständig kompromittieren.

Aus Sicht der Angreifenden besitzt ein bösartiger Treiber unter anderem folgende Vorteile: Er umgeht die Endpoint Detection, manipuliert System- und Benutzermodusprozesse und bleibt dauerhaft auf einem infizierten System. Daher ist es für Cyberkriminelle sehr attraktiv, Wege zur Umgehung der Windows-Treibersignaturrichtlinien zu finden.

Lücke in der Windows-Treiberrichtlinie

Mit Windows 10 Version 1607 hat Microsoft seine Treibersignaturrichtlinie aktualisiert, um keine Kernel-Mode-Treiber mehr zuzulassen, die nicht an das Entwicklerportal übermittelt und dort signiert worden sind. Dieser Prozess soll sicherstellen, dass die Treiber den Anforderungen und Sicherheitsstandards von Microsoft entsprechen. Allerdings wurden dabei folgende Ausnahmen für ältere Treiber zugelassen:

  • 1. Der PC wurde von einer früheren Version auf Windows 10, Version 1607, aktualisiert.
  • 2. Secure Boot ist im BIOS ausgeschaltet.
  • 3. Der Treiber wurde mit einem Endteilnehmerzertifikat signiert, das vor dem 29. Juli 2015 ausgestellt wurde und mit einer unterstützten Zertifizierungsstelle verbunden ist.

Die dritte Ausnahme erzeugt eine Sicherheitslücke. Denn ein neu kompilierter Treiber lässt sich mit nicht widerrufenen Zertifikaten signieren, die vor dem 29. Juli 2015 ausgestellt wurden oder davor abgelaufen sind. Voraussetzung ist, dass das Zertifikat in der Kette einer Zertifizierungsstelle liegt, welche quersigniert ist. Ist ein Treiber auf diese Weise erfolgreich signiert, wird er nicht daran gehindert, installiert und als Dienst gestartet zu werden. Es wurden mehrere Open-Source-Tools entwickelt, um diese Lücke auszunutzen. Diese sind zum Teil öffentlich zugänglich.

HookSignTool

Ein Beispiel dafür ist das HookSignTool. Es ändert das Signaturdatum eines Treibers während des Signaturvorgangs durch eine Kombination aus Einklinken in die Windows-API und manuellem Ändern der Importtabelle eines legitimen Codesignatur-Tools. Es wurde im Jahr 2019 im chinesischen Software-Cracking-Forum „52pojie[.]cn“ veröffentlicht und ist seit mindestens 2020 auf GitHub verfügbar.

HookSignTool kann theoretisch mit jedem Codesignaturprogramm verwendet werden. Dies ermöglicht das Zusammenspiel mit dem Softwarepaket Microsoft Detours zur Instrumentierung und Überwachung von Windows-API-Aufrufen. Zunächst sind jedoch mehrere Schritte nötig, um HookSignTool funktionsfähig zu machen. Es muss kompiliert und manuell als „HookSigntool.dll!attach“ in die Importtabelle des rechtmäßigen Signaturwerkzeugs aufgenommen werden.

Anschließend kann der User ein gefälschtes Datum als Befehlszeilenargument übergeben oder eine Konfigurationsdatei im selben Verzeichnis wie das Codesignaturprogramm erstellen. Bei der Ausführung des legitimen Codesignaturprogramms wird HookSignTool in den Prozess geladen und kann das Signaturdatum des Zieltreibers abfangen und ändern.

FuckCertVerifyTimeValidity

Ein weiteres Tool zum Fälschen von Treibersignaturen ist FuckCertVerifyTimeValidity, auch bekannt als FuckCertVerify. Es wurde am 13. Dezember 2018 auf GitHub veröffentlicht und hat nicht so viele Funktionen wie das HookSignTool. Ursprünglich wurde das Tool wahrscheinlich zum Signieren von Cheatsoftware für Spiele entwickelt.

FuckCertVerifyTimeValidity funktioniert ähnlich wie HookSignTool. Denn es verwendet Microsoft Detours, um sich an den API-Aufruf „CertVerifyTimeValidity“ anzuhängen und den Zeitstempel auf ein bestimmtes Datum zu setzen. Es muss ebenso eine Funktion zur Importtabelle des legitimen Signaturprogramms hinzugefügt werden, in diesem Fall „FuckCertVerifyTimeValidity.dll!test“. Im Gegensatz zum HookSignTool hinterlässt FuckCertVerifyTimeValidity keine Artefakte in der signierten Binärdatei. Daher lässt sich nur schwer erkennen, dass dieses Tool verwendet wurde.

Jetzt Newsletter abonnieren

Täglich die wichtigsten Infos zur IT-Sicherheit

Mit Klick auf „Newsletter abonnieren“ erkläre ich mich mit der Verarbeitung und Nutzung meiner Daten gemäß Einwilligungserklärung (bitte aufklappen für Details) einverstanden und akzeptiere die Nutzungsbedingungen. Weitere Informationen finde ich in unserer Datenschutzerklärung.

Aufklappen für Details zu Ihrer Einwilligung

Nicht widerrufene Zertifikate

Die Fälschung einer Signatur erfordert ein nicht widerrufenes Codesignaturzertifikat, das vor dem 29. Juli 2015 abgelaufen ist oder ausgestellt wurde, sowie den privaten Schlüssel und das Passwort. Als Beispiel gibt es in einem Fork von FuckCertVerifyTimeValidity auf GitHub eine PFX-Datei, die mehr als ein Dutzend solcher Zertifikate enthält. Sie werden häufig zum Fälschen von Signaturen für Gaming-Cheatsoftware sowie für bösartige Treiber verwendet.

Mögliche Gefahren und Abwehrmaßnahmen

Der Cisco Cybersecurity Readiness Index hat gezeigt, dass in Deutschland nur 11 Prozent der Unternehmen wirklich gut auf Cyberangriffe vorbereitet sind. Die Kernel-Treiber-Angriffe belegen das noch einmal und durch den systemnahen Angriffsvektor sind letztlich alle Aspekte der IT-Nutzung potenziell betroffen, von Cloud bis Collaboration. Damit wird auch das Gefahrenpotenzial deutlich: Die Installation von bösartigen Treibern stellt eine ernsthafte Bedrohung für Unternehmen dar, weil sie einem Angreifer System-Zugriff auf Kernel-Ebene geben kann. Zusätzlich lassen sich geknackte Treiber neu signieren, um DRM-Maßnahmen zu umgehen. Dies kann zu Umsatzeinbußen durch Softwarepiraterie führen. Selbst wenn keine böswilligen Absichten vorliegen, verursachen nicht verifizierte Treiber möglicherweise Schäden an einem System.

Daher empfiehlt es sich, nicht ordnungsgemäße Treiber und manipulierte Zertifikate zu blockieren. Bösartige Treiber sind heuristisch nur schwer zu erkennen und lassen sich am effektivsten anhand von Datei-Hashes oder den zu ihrer Signatur verwendeten Zertifikaten identifizieren. Auch der Vergleich des Signaturzeitstempels mit dem Kompilierungsdatum eines Treibers deckt möglicherweise Fälschungen auf. Allerdings können Cyberkriminelle das Kompilierungsdatum ändern, damit es mit dem Signaturzeitstempel übereinstimmt.

Microsoft sperrt regelmäßig Zertifikate, die bei Angriffen zum Einsatz kommen. Zudem implementiert und pflegt der Hersteller eine Treibersperrliste in Windows, die sich jedoch auf anfällige und nicht auf bösartige Treiber konzentriert. Daher sollten sich Unternehmen nicht ausschließlich auf diese Blockierliste verlassen, um Rootkits oder bösartige Treiber abzuwehren.

Sicherheitslösungen wie Cisco Secure Endpoint eignen sich, um die Ausführung bekannter Malware zu verhindern. Auch moderne Firewalls und Malware-Analyseprogramme können gefährliche Aktivitäten im Zusammenhang mit gefälschten Zertifikaten und bösartigen Binärdateien erkennen. Zudem sollten Unternehmen ihre eingesetzten proprietären und Open-Source-Lösungen immer auf den neuesten Stand bringen und die aktuellen Regelpakete zur Entdeckung von Bedrohungen herunterladen.

Cisco Talos stand während der Arbeit zu dieser Recherche in engem Kontakt mit Microsoft – für die Unterstützung und Zusammenarbeit herzlichen Dank. Als Reaktion hat Microsoft alle in diesem Artikel behandelten Zertifikate gesperrt und ein Advisory herausgegeben.

Über den Autor: Thorsten Rosendahl ist Strategic Planning & Communications Lead bei Cisco Talos. Der Cyberexperte arbeitet seit über 25 Jahren für Cisco und beschäftigt sich seit langer Zeit intensiv mit praktischen Fragen der Unternehmenssicherheit.

(ID:49658477)