
Eine gravierende Sicherheitslücke namens CVE-2022-34689 wurde bei Microsoft entdeckt und macht tausende von Windows Servern verwundbar. Diese Lücke wurde durch die NSA und das britische NCSC im letzten Jahr entdeckt und betrifft die CryptoAPI (crypt32.dll) von Windows. Die Sicherheitslücke gibt Angreifern die Möglichkeit gültige Zertifikate nach Belieben zu generieren. Ein funktionierender Proof-of-Concept ist öffentlich verfügbar.
Windows Zertifikate werden durch MD5-Fingerprints identifiziert
Die Ursache für diese Lücke ist. Dass Windows Zertifikate im Zwischenspeicher anhand ihres MD5-Fingerprints identifiziert. MD5 ist ein Hashing-Algorithmus, dessen Kollisions-Resistenz seit 2009 als gebrochen gilt. Das bedeutet, dass seit 14 Jahren MD5-Kollisionen bekannt sind. Seit 2011 wird von der Verwendung von MD5 abgeraten wo Kollisions-Resistenz von Bedeutung ist (RFC 6151). Trotzdem nutzt Microsoft den Algorithmus weiterhin zur Identifikation von Zertifikaten.
Über 99% der Server sind nicht gepatcht
Laut Akamai sind über 99% aller in Datenzentren sichtbaren Server nicht gepatcht und damit angreifbar, wenn ebenfalls nur veraltete Software genutzt wird. Systeme mit hohen Stabilitätsanforderungen wie Krankenhäuser sind oft etwas hinterher mit ihren Patches. Eine Demonstration und auch eine tiefer gehende technische Beschreibung findet man auf dem Blogpost von Akamai.
Wie Windows Zertifikate validiert werden
Wenn Windows ein Zertifikat empfängt prüft es zunächst ob dieses bereits gecached ist und damit schon validiert. Dazu wird der MD5-Fingerabdruck des empfangenen Zertifikates mit den im Speicher als validiert markierten abgeglichen. Der Angriff beruht darauf, dass eine MD5-Kollision in wenigen Sekunden herbeigeführt werden kann und so ein zu einem bekannten Zertifikat passender Hash erstellt werden kann. Das generierte Zertifikat wird dann von Windows ohne Probleme als gültig akzeptiert.
Patch von Microsoft ist verfügbar
Microsoft hat seit August letzten Jahres einen Patch ausgeliefert und in den Oktober-Release-Notes den gefixten Bug bekannt gegeben. Wer es selbst ausprobieren möchte – kann den PoC Code auf GitHub finden. Wer einen Windows Server betreibt sollte dringend prüfen ob alle Updates installiert sind und gegebenenfalls manuell nachhelfen. Essenziell bleibt dass Sicherheitslücken zeitnah gepatcht werden um Angriffe zu vermeiden.
Kommentare