Produkttest: Die besten Rootkit-Finder

Arne Arnold arbeitet seit über 15 Jahren bei der PC-WELT als Redakteur in den Bereichen Software und Internet. Sein Schwerpunkt liegt auf dem Thema Sicherheit für Endanwender bei PC und Mobil-Geräten.

So schleichen sich Rootkits ein

Die Technik der Rootkits beschränkt sich darauf, Schad-Software zu verstecken. Sie bietet keinen speziellen Code, um sich selbst zu verbreiten. Tatsächlich streuen die Gauner Schädlinge mit Rootkit-Technik wie gewöhnliche Trojaner – also über Sicherheitslücken in Windows und Anwenderprogrammen. Beliebt ist nach wie vor auch der alte Trick mit dem Mailanhang, der eine Rechnung, Mahnung oder Ähnliches sein soll, in Wirklichkeit aber der Schädling ist.

Einige Rootkits gibt es als Source Code frei im Internet, andere wurden verkauft. Vor allem die Verbreiter von Spyware haben sich darauf gestürzt. Ihnen kommt die Rootkit-Technik gerade recht, weil ihre Spionageprogramme auf diese Weise unentdeckt auf den PCs der Anwender arbeiten. Schließlich lässt sich mit dem Sammeln von Daten ein Haufen Geld verdienen.
Per Rootkit-Technik werden auch viele Trojaner verbreitet. Sie machen einen Rechner fernsteuerbar, so dass der Programmierer des Schadcodes ihn etwa als Spam-Versender missbrauchen kann. Und das ist wiederum ein sehr lukratives Geschäft.

Für technisch interessierte Anwender
Rootkits können sich an vielen Stellen in Windows einklinken. Für technisch Interessierte stellen wir hier eine Methode vor.
Subsystem: Die Sicherheitsarchitektur von Windows NT 4, 2000 und XP sieht vor, dass der Kern des Betriebssystems geschützt wird. Er selbst und einige Treiber laufen im Kernel-Modus und haben Zugriff auf alle Funktionen des Systems ebenso wie auf die Hardware. Anwendungen dagegen arbeiten im User-Modus, der nur minimale Zugriffsrechte besitzt.

Trotzdem brauchen Anwendungen Informationen über das System. Beispielsweise muss ein Dateimanager natürlich wissen, welche Dateien auf der Festplatte gespeichert sind. Darum arbeitet Windows mit einem Subsystem, über das eine Anwendung Infos vom Systemkern anfordern kann – die API (Application Programming Interface). Dieses Subsystem bietet Dynamic Link Libraries (DLLs), etwa die Kernel32.DLL, User32.DLL, Gdi32. DLL und Advapi32. DLL.

Die IAT-Manipulation: Startet man ein Programm, wird es in den Arbeitsspeicher geladen. Der Loader des Subsystems wertet dabei auch die Import Address Table (IAT) der Programmdatei aus. Darin stehen unter anderem die benötigten DLLs und ihre Funktionen. Ein Beispiel ist „FindFirstFile“ aus der Kernel32.DLL, die letztlich auch die Funktion „FindNextFile“ zurückgibt. Zusammen mit dem Aufruf der Funktion „NtQueryDirectoryFile“ aus dem EAX-Register lassen sich so alle Dateien eines Verzeichnisses lesen.
Ein Rootkit kann sich nun zwischen eine Anwendung und das System schieben, in dem es Funktionen in der IAT der Anwendung auf sich selbst umleitet und damit zwischen der Anwendung und der Kernel32.DLL steht.
Mehr Infos und weitere Angriffspunkte für Rootkits, etwa Filtertreiber, Inline Function Hooking und System Service Description, finden Sie hier.

Zur Startseite