Neue Erkenntnisse zeigen, dass bösartige Akteure eine hinterhältige Technik zur Malware-Erkennung nutzen könnten, um Sicherheitslösungen für Endpunkte zu umgehen, indem sie das Windows-Container-Isolationsframework manipulieren.
Die Ergebnisse wurden vom Sicherheitsforscher Daniel Avinoam von Deep Instinct auf der diesmonatigen DEF CON Sicherheitskonferenz präsentiert.
Die Container-Architektur von Microsoft (und damit auch die Windows-Sandbox) verwendet eine sogenannte dynamisch generierte Abbildung, um das Dateisystem von jedem Container vom Host zu trennen und gleichzeitig die Duplizierung von Systemdateien zu vermeiden.
Es handelt sich dabei um ein „Betriebssystemabbild, das saubere Kopien von Dateien enthält, die sich ändern können, aber auf Dateien verweisen, die nicht geändert werden können und die bereits im Windows-Abbild auf dem Host vorhanden sind“, wodurch die Gesamtgröße für ein vollständiges Betriebssystem reduziert wird.
„Das Ergebnis sind Abbilder, die ‚Geisterdateien‘ enthalten, die keine tatsächlichen Daten speichern, sondern auf ein anderes Volume im System verweisen“, sagte Avinoam in einem Bericht, der mit The Hacker News geteilt wurde. „An diesem Punkt kam mir die Idee: Was ist, wenn wir diesen Umleitungsmechanismus nutzen können, um unsere Dateisystemoperationen zu verschleiern und Sicherheitsprodukte zu verwirren?“
Hier kommt der Treiber für den Windows Container Isolation FS (wcifs.sys) ins Spiel. Der Hauptzweck des Treibers besteht darin, die Trennung des Dateisystems zwischen Windows-Containern und ihrem Host zu verwalten.
Der Treiber behandelt die Umleitung der Geisterdateien, indem er ihre angehängten Umleitungszeichen und die zugehörigen Umleitungs-Tags verarbeitet, die den Eigentümer eindeutig identifizieren, also den Implementierer des Dateisystemfiltertreibers, der während I/O-Operationen zusätzliche, filterdefinierte Verarbeitung an einer Datei ausführt.
Zwei solcher Umleitungs-Tag-Datenstrukturen, die vom Windows Container Isolation Filter verwendet werden, sind laut Microsoft IO_REPARSE_TAG_WCI_1 und IO_REPARSE_TAG_WCI_LINK_1.
Die Idee ist im Wesentlichen, dass der aktuelle Prozess innerhalb eines gefälschten Containers läuft und der Minifilter-Treiber genutzt wird, um I/O-Anfragen zu verwalten. Dadurch können Dateien im Dateisystem erstellt, gelesen, geschrieben und gelöscht werden, ohne Sicherheitssoftware zu alarmieren.
An dieser Stelle ist es erwähnenswert, dass sich ein Minifilter indirekt mit dem Dateisystem-Stack verbindet, indem es sich bei dem Filtermanager für die I/O-Operationen registriert, die es filtern möchte. Jeder Minifilter erhält einen von Microsoft zugewiesenen „integer“ Höhenwert basierend auf den Filteranforderungen und der Gruppenladeordnung.
Der Treiber wcifs.sys hat einen niedrigen Höhenbereich von 180000-189999 (speziell 189900), während Antiviren-Filter, einschließlich solcher von Drittanbietern, in einem Höhenbereich von 320000-329999 funktionieren. Dadurch können verschiedene Dateioperationen durchgeführt werden, ohne dass ihre Rückrufe ausgelöst werden.
„Weil wir Dateien mit dem Umleitungs-Tag IO_REPARSE_TAG_WCI_1 überschreiben können, ohne von Antiviren-Treibern erkannt zu werden, wird ihr Erkennungsalgorithmus kein vollständiges Bild erhalten und daher nicht ausgelöst“, erklärte Avinoam.
Dabei sei jedoch angemerkt, dass für den Angriff administrative Berechtigungen erforderlich sind, um mit dem Treiber wcifs.sys zu kommunizieren, und er nicht dazu verwendet werden kann, Dateien auf dem Host-System zu überschreiben.
Diese Offenlegung erfolgt, während das Cybersecurity-Unternehmen eine raffinierte Technik namens NoFilter demonstriert hat, die die Windows Filtering Platform (WFP) missbraucht, um die Berechtigungen eines Benutzers auf SYSTEM-Niveau zu erhöhen und potenziell bösartigen Code auszuführen.
Die Angriffe erlauben die Verwendung von WFP, um Zugriffstoken für einen anderen Prozess zu duplizieren, eine IPSec-Verbindung auszulösen und den Print-Spooler-Dienst zu nutzen, um ein SYSTEM-Token in die Tabelle einzufügen. Dadurch wird es möglich, das Token eines anderen Benutzers, der in das kompromittierte System eingeloggt ist, für laterale Bewegungen zu erhalten.