Windows Rootkits 2005, Teil 1

Seite 3: Filtertreiber

Inhaltsverzeichnis

Filtertreiber (Layered Filter Drivers) bieten Rootkits eine weitere Stelle, sich in den Arbeitsablauf eines Betriebssystems einzuklinken. Für viele der wichtigen Betriebssystemfunktionen wie Netzwerkommunikation oder die Arbeit mit Speichermedien sind letztlich Gerätetreiber zuständig. Windows erlaubt es Entwicklern, so genannte Filter an einen Treiber anzuhängen, um dessen Funktionsumfang zu erweitern, ohne ihn neu schreiben zu müssen. Viele Viren-Scanner implementieren beispielsweise einen Dateifilter-Treiber, um Dateien beim Öffnen zu untersuchen. Die Treiber des Betriebssystems reichen dabei ihre Ergebnisse an den Filter des Viren-Scanners hoch, der sie dann untersucht. Genauso können auch Rootkits diese Schichttechnik nutzen. Damit ist es unter anderem möglich, Dateizugriff und -Auflistung oder die Socket-Kommuniktaion zu manipulieren.

Für seine Verwaltungs- und Kontrollaufgaben arbeitet das Betriebssystem mit speziellen Kernel-Objekten. Direct Kernel Object Manipulation (DKOM) greift an dieser Stelle an und manipuliert direkt diese Objekte. So untergräbt ein Rootkit das Wissen des Betriebssystems darüber, was auf seinem System existiert. Ändert ein Rootkit ein spezielles Token, kann es das Betriebssystem glauben machen, ein anderer User hätte eine bestimmte Aktion veranlasst und damit jedes Logging unterminieren. Das FU-Rootkit [5] modifiziert beispielsweise das Kernel-Objekt, das die Prozesse auf dem System repräsentiert. Alle Kernel-Objekte für Prozesse sind in einer Liste verlinkt. Wenn ein User-Prozess wie TaskMgr.exe über ein API eine Liste der Prozesse anfordert, folgt Windows dieser verlinkten Liste und liefert die passenden Informationen zurück. FU hängt den zu versteckenden Prozess jedoch aus dieser Kette aus. Somit existiert er aus Sicht der meisten Applikationen nicht mehr.

Viele der existierenden Rootkits sind sich recht ähnlich. Man kann sie in zwei Kategorien einteilen: die, die sich einhängen und die, die DKOM nutzen. Innerhalb dieser Kategorien ist Hacker Defender das bekannteste Rootkit, das sich einhängt [6]. Es versteckt Prozesse, Dienste, Dateien, Verzeichnisse, Registry-Schlüssel und Ports. FU ist ein bekannter Vertreter, der DKOM nutzt. Allerdings ist FU nur eine Konzeptstudie und versucht nicht, sich zu verbergen. Außerdem enthält es keine Funktionen zur Kommunikation übers Netz. Auch FU kann Prozesse und Gerätetreiber verstecken. Des weiteren kann es die Privilegien und Gruppenzugehörigkeit jedes Windows-Prozess-Tokens ändern.

Windows-Rootkits gibt es bereits seit einiger Zeit. Allerdings wurden sie erst in den letzten ein, zwei Jahren leicht zugänglich für die Autoren von Schadsoftware wie Viren, Würmer, Ad- und Spyware. Der Entwickler von Hacker Defender verkauft sogar Versionen seines Rootkits, die von Viren- und Rootkit-Scannern nicht erkannt werden. Schlüsselfertige Lösungen wie diese stellen eine echte Gefahr dar.

Im zweiten Teil dieser kleinen Serie werden wir den persistenten Rootkits rein speicheroriente Techniken gegenüberstellen und ein Rootkit vorstellen, das die virtuelle Speicherveraltung nutzt, um sich sehr effzient zu verbergen. Der dritte Teil schließlich wird sich mit Methoden beschäftigen, diese Rootkits aufzuspüren und die davon ausgehende Gefahr zu minimieren. (Übersetzt von Jürgen Schmidt)

[1] Pietrek, Matt. "Learn System-Level Win32® Coding Techniques by Writing an API Spy Program." Microsoft Systems Journal Volume 9 Number 12.

[2] Richter, Jeffrey. "Load Your 32-bit DLL into Another Process's Address Space Using INJLIB." Microsoft Systems Journal Volume 9 Number 5.

[3] Richter, Jeffrey. Programming Applications for Microsoft Windows fourth edition. Redmond: Microsoft Press, 2000. pp. 751-820.

[4] Hunt, Galen C. and Doug Brubacker, "Detours: Binary Interception of Win32 Functions" Proceedings of the 3rd USENIX Windows NT Symposium, July 1999, pp. 135-43.

[5] FU. http://www.rootkit.com

[6] Hacker Defender by Holy Father. http://hxdef.czweb.org/

James Butler ist CTO der Firma Komoku, die sich auf High Assurance, Host Integrity Monitoring und Management spezialisiert. Davor war Butler Director of Engineering bei HBGary, Inc. mit einem Schwerpunkt auf Rootkits und andere subversive Techniken. Er ist Co-Autor des Buchs "Rootkits: Windows-Kernel unterwandern."

Sherri Sparks studiert an der University of Central Florida. Ihre aktuellen Forschungsthemen sind offensive und defensive Techniken in Schadsoftware und verwandte Gebiete der digitalen Forensik.

Windows Rootkits 2005, Teil 2 (ju)