MSI Beef-Up

Google veröffentlicht 0-Day-Lücke in .NET

reported by doelf, Dienstag der 24.04.2018, 18:59:08 Uhr

Die "Windows Lockdown Policy" (WLDP) soll Windows 10 S sicherer machen, indem nur Apps ausgeführt werden, die als vertrauenswürdig gelten. Hierbei kommt der "Device Guard" zum Einsatz, welchen man auch unter Windows 10 Enterprise einrichten kann. Doch dummerweise spielt .NET nicht so richtig mit.

Wie Googles Project Zero herausgefunden hat, verwendet .NET den eindeutiger Bezeichner CLSID (ClassIDentifier) nur, um die passenden Informationen aus der Registrierungsdatei zu laden. Eine Prüfung, ob die in der Registry hinterlegte Bibliothek überhaupt zu den bekannten und damit vertrauenswürdigen Objekten gehört, findet indes nicht statt. Somit kann ein Angreifer, der sich über eine andere Sicherheitslücke Zugang zu einem Rechner mit WLDP verschafft hat, eine bereits auf dem System existierende .DLL-Datei für eine vertrauenswürdige CLSID registrieren und diese über .NET ausführen. Im Ernstfall lässt sich auf diese Weise beliebiger Code ausführen. Googles Beispiel-Code nutzt DotNetToJScript, um dies zu bewerkstelligen.

Project Zero hatte die Schwachstelle am 19. Januar 2018 bei Microsoft gemeldet. Ab diesem Zeitpunkt hatte Microsoft 90 Tage Zeit, um den Fehler zu korrigieren. Am 10. Februar bestätigten die Redmonder das Problem. Zwei Tage später informierte Microsoft die Sicherheitsforscher über eine unvorhergesehene Code-Beziehung, welche eine Korrektur beim April-Patch-Day verhindere. Eine Woche vor diesem Patch-Day erbat Microsoft dann einen Aufschub von 14 Tagen, wobei diese Verlängerung nicht ausgereicht hätte, da die Veröffentlichung des Updates nun für Mai geplant ist. Am 11. April fragte Microsoft nochmals nach einer Fristverlängerung, da die Korrektur im verschobenen Windows 10 Version 1803 enthalten sei. Doch abermals ließ Project Zero die Redmonder abblitzen und veröffentlichte die 0-Day-Lücke nach dem Ablauf von 90 Tagen.