RootkitRevealer ist ein leistungsfähiges Dienstprogramm zur Rootkiterkennung. Es wird unter Windows NT 4.0 und höher ausgeführt und seine Ausgabe listet Registrierungs- und Dateisystem-API-Unstimmigkeiten auf, die die Anwesenheit eines Benutzermodus- oder Kernelmodusrootkits anzeigen können. RootkitRevealer erkennt erfolgreich alle beharrlichen Rootkits, die unter www.rootkit.com aufgelistet sind, einschließlich AFX, Vanquish und HackerDefender. Der Grund dafür, dass es keine Befehlszeilenversion mehr gibt, ist Folgender: Die Autoren von Malware haben angefangen, den Scan von RootkitRevealer über den Namen von dessen ausführbarer Datei anzugreifen. Wir haben daher RootkitRevealer so aktualisiert, dass der Scan von einer zufällig benannten Kopie des Programms in Form eines Windows-Diensts ausgeführt wird. Diese Art der Ausführung eignet sich nicht für eine Befehlszeilenschnittstelle. Sie können Befehlszeilenoptionen verwenden, um einen automatischen Scan mit Ergebnissen auszuführen, die in einer Datei protokolliert werden, was dem Verhalten der Befehlszeilenversion entspricht. Was ist ein Rootkit? Der Begriff Rootkit wird verwendet, um die Mechanismen und Verfahren zu beschreiben, durch die Malware, einschließlich Viren, Spyware und Trojaner, versuchen, ihre Anwesenheit vor Spywareblockern, Antivirus- und Systemverwaltungsdienstprogrammen zu verbergen. Es gibt mehrere Rootkitklassifizierungen, die davon abhängen, ob die Malware einen Neustart übersteht und ob es im Benutzermodus oder Kernelmodus ausgeführt wird. Beständige Rootkits Ein beständiges Rootkit ist Malware, die bei jedem einzelnen Systemstart aktiviert wird. Weil solche Malware Code enthält, der bei jedem Systemstart oder bei jeder Benutzeranmeldung automatisch ausgeführt werden muss, müssen sie den Code in einem permanenten Speicher, wie z. B. in der Registrierung oder im Dateisystem, speichern und eine Methode konfigurieren, damit der Code ohne einen Benutzereingriff ausgeführt wird. Speicherbasierte Rootkits Bei einem speicherbasierten Rootkit handelt es sich um Malware, die keinen dauerhaften Code enthält und daher einen Neustart nicht übersteht. Benutzermodusrootkits Es gibt viele Methoden, mit denen Rootkits versuchen, eine Erkennung zu vermeiden. Zum Beispiel könnte ein Benutzermodusrootkit alle Aufrufe von Windows FindFirstFile/FindNextFile-APIs abfangen, die von Dienstprogrammen zur Dateisystemuntersuchung, einschließlich von Explorer und der Eingabeaufforderung, verwendet werden, um den Inhalt von Dateisystemverzeichnissen zu spezifizieren. Wenn eine Anwendung eine Verzeichnisauflistung durchführt, deren Ergebnis normalerweise Einträge enthalten würde, durch die sich zum Rootkit gehörende Dateien identifizieren lassen, fängt das Rootkit die Ausgabe ab und entfernt diese Einträge.Die systemeigene API von Windows dient als Schnittstelle zwischen Benutzermodusclients und Kernelmodusdiensten. Fortgeschrittene Benutzermodusrootkits hören das Dateisystem, die Registrierung und die Prozessenumerationsfunktionen der systemeigenen API ab. Dies verhindert ihre Erkennung durch Scanner, die die Ergebnisse einer Windows-API-Enumeration mit derjenigen vergleichen, die von einer systemeigenen API-Enumeration zurückgegeben werden. Kernelmodusrootkits Kernelmodusrootkits können sogar leistungsfähiger sein, da sie nicht nur die systemeigene API im Kernelmodus abfangen, sondern auch Kernelmodusdatenstrukturen direkt manipulieren können. Häufig wird die Anwesenheit eines Malwareprozesses verborgen, indem der Vorgang von der Kernelliste der aktiven Prozesse entfernt wird. Da sich Prozessverwaltungs-APIs auf den Inhalt der Liste verlassen, wird der Prozess der Malware in Prozessverwaltungstools wie Task-Manager oder Process Explorer nicht angezeigt. Funktionsweise von RootkitRevealer Da dauerhafte Rootkits API-Ergebnisse ändern, sodass eine Systemansicht unter Einsatz von APIs sich von der eigentlichen Ansicht im Speicher unterscheidet, vergleicht RootkitRevealer die Ergebnisse eines Systemscans auf höchster Ebene mit denen auf der niedrigsten Ebene. Die höchste Ebene ist die Windows-API, die niedrigste Ebene ist der Rohinhalt eines Dateisystemvolumes oder einer Registrierungsstruktur. (Eine Strukturdatei ist das Datenträgerspeicherformat der Registrierung.) Folglich werden Rootkits (unabhängig davon, ob Benutzermodus oder Kernelmodus), die die Windows-API oder die systemeigene API manipulieren, um ihre Anwesenheit z. B. aus einer Verzeichnisliste zu entfernen, von RootkitRevealer als Unstimmigkeit zwischen den Informationen, die von der Windows-API zurückgegeben werden, und den Informationen im Rohscan von Dateisystemstrukturen eines FAT- oder NTFS-Volumes angesehen. Kann sich ein Rootkit vor RootkitRevealer verstecken? Es ist theoretisch möglich, dass ein Rootkit von RootkitRevealer nicht erkannt wird. Das hieße, dass das, was RootkitRevealer von der Registrierungsstruktur oder von den Dateisystemdaten abliest, abgefangen und geändert wird, sodass die Registrierungsdaten oder Dateien des Rootkits nicht zu sehen sind. Dies würde jedoch eine derzeit nicht existierende Raffinesse erfordern. Eine Änderung der Daten würde sehr gute Kenntnisse über NTFS, FAT und die Formate der Registrierungsstruktur erfordern. Außerdem müssten die Datenstrukturen so geändert werden, dass sie das Rootkit ausblenden, dabei jedoch keine inkonsistenten oder ungültigen Strukturen oder als Nebenwirkung auftretende Unstimmigkeiten verursachen, die von RootkitRevealer aufgezeigt würden. Gibt es eine sichere Methode zur Feststellung der Anwesenheit eines Rootkits? Im Allgemeinen gibt es keine solche Möglichkeit innerhalb eines laufenden Systems. Ein Kernelmodusrootkit kann einen beliebigen Aspekt des Systemverhaltens steuern. Informationen, die von einer beliebigen API, einschließlich der von RootkitRevealer ausgeführten Rohlesevorgänge der Registrierungsstruktur und der Dateisystemdaten, zurückgegeben werden, können demnach beschädigt sein. Das Vergleichen eines Systemonlinescans und eines Offlinescans in einer sicheren Umgebung, wie z. B. ein Neustart in eine CD-basierte Betriebssysteminstallation, ist zwar zuverlässiger, doch Rootkits können auf solche Tools abzielen, um nicht erkannt zu werden.Im Endeffekt wird es niemals einen universalen Rootkitscanner geben, doch die leistungsfähigsten Scanner sind solche, die ihren Online-/Offlinevergleich mit Antivirus kombinieren. Verwendung von RootkitRevealer Zur Verwendung von RootkitRevealer muss der Benutzer über Berechtigungen zur Sicherung von Dateien und Verzeichnissen, zum Laden von Treibern und zur Durchführung von Volumeverwaltungsaufgaben verfügen (unter Windows XP und höher). Diese Berechtigungen sind der Administratorengruppe standardmäßig zugewiesen. Zur Vermeidung von falschen Positivmeldungen wird RootkitRevealer auf einem System in Leerlauf ausgeführt.Zum Erzielen der besten Ergebnisse beenden Sie alle Anwendungen und führen das System im Leerlauf weiter, während RootkitRevealer seinen Scanvorgang durchführt.Bei Fragen oder Problemen besuchen Sie das RootkitRevealer-Forum von Sysinternals.
|