Rootkit bezeichnet Werkzeuge, die nach einem Einbruch auf einem kompromittierten System Schadsoftware, Prozesse und Dateien vor Betriebssystem, Antivirenprogrammen und dem Nutzer verbergen und Angreifern damit unbemerkten Zugriff sichern sollen.
Auf einen Blick
Rootkit-Funktionen können auch in Software stecken, die keine klassische Schadsoftware ist: Ein 2005 aufgedeckter Kopierschutz auf Audio-CDs bildete sie nach.
Laut MITRE ATT&CK sollen Trusted-Platform-Module-Technik und ein gesicherter Boot-Prozess verhindern, dass die Systemintegrität kompromittiert wird; die Empfehlung richtet sich gegen Bootkits.
Hinweise liefern Abweichungen zwischen Soll und Ist: nicht autorisiert geladene Treiber oder DLLs, verborgene Dienste und veränderte Boot-Komponenten.
Was ist Rootkit?
Verborgen bleiben Programme, Dateien, Netzwerkverbindungen, Dienste und Treiber, wenn ein Rootkit sie vor Betriebssystem und Nutzern versteckt. Laut MITRE ATT&CK verbergen Rootkits die Existenz von Schadsoftware, indem sie Betriebssystemaufrufe abfangen und verändern, die Systeminformationen liefern. Rootkits können laut MITRE ATT&CK auf Benutzer- oder Kernel-Ebene des Betriebssystems oder darunter liegen, bis hin zu einem Hypervisor oder zur System-Firmware. Beobachtet wurden sie laut MITRE ATT&CK für Windows, Linux und Mac OS X.
Installieren Angreifer nach einem Einbruch ein Rootkit, soll es ihnen unbemerkten Zugriff auf Systeme eines Versicherers sichern, indem es Prozesse und Dateien vor Betriebssystem und Antivirenprogrammen verbirgt. Laut MITRE ATT&CK lässt sich diese Technik mit vorbeugenden Kontrollen nicht leicht entschärfen, da sie auf dem Missbrauch von Systemfunktionen beruht. Verwandt ist das Bootkit: Laut MITRE ATT&CK verändert es die Bootsektoren einer Festplatte, sodass Schadcode vor dem Betriebssystem ausgeführt wird. Bootkits arbeiten auf so niedriger Ebene, dass sie mit herkömmlicher Antiviren- und Sicherheitssoftware sehr schwer zu erkennen sind, und können auch nach einer Neuformatierung oder einer Neuinstallation des Betriebssystems auf dem System bleiben.
Wie funktioniert Rootkit?
Ein Rootkit setzt auf unterschiedlichen Ebenen an: im Benutzermodus, im Kernel oder unterhalb des Betriebssystems. Skidmap, ein Kernel-Mode-Rootkit, kann laut MITRE ATT&CK Systemaufrufe abfangen, um bestimmte Dateien zu verbergen und Netzwerk- und CPU-Statistiken so zu fälschen, dass die CPU-Last des infizierten Rechners niedrig erscheint. Carberp hat laut MITRE ATT&CK Rootkit-Techniken im Benutzermodus genutzt, um auf dem System verborgen zu bleiben.
Unterhalb des Betriebssystems hat die Gruppe APT28 laut MITRE ATT&CK ein UEFI-Rootkit namens LoJax eingesetzt. Daneben gibt es Rootkits, die nur im Arbeitsspeicher des laufenden Systems existieren. Bootkits liegen laut MITRE ATT&CK unterhalb des Betriebssystems und können eine vollständige Bereinigung erschweren, solange eine Organisation nicht vermutet, dass eines im Einsatz war. Wie tief sich Rootkit-Funktionen verankern können, zeigte eine Kopierschutz-Software auf Audio-CDs, die selbst im abgesicherten Modus gestartet wurde. Welche dieser Ebenen betroffen ist, entscheidet daher darüber, wie tief die IT-Sicherheit bei der Prüfung ansetzen muss.
Woran erkenne ich Rootkit?
| Signal | Woran erkennbar |
|---|---|
| Nicht autorisiertes oder auffälliges Laden von Kernel-Treibern oder DLLs | Ein Treiber oder eine DLL wird geladen, für die keine Freigabe vorliegt |
| Verborgene Dienste | Ein Dienst ist aktiv, taucht aber in den regulären Übersichten nicht auf |
| Auffällig veränderte Boot-Komponenten | Bootsektor oder weitere Boot-Komponenten weichen vom Soll-Zustand ab |
Schutz im Ernstfall
Vorbeugen
- Trusted-Platform-Module-Technik und einen gesicherten Boot-Prozess einsetzen, damit die Systemintegrität beim Start nicht kompromittiert wird (gegen Bootkits).
- Software auf Dienstgeräten nur aus freigegebenen Quellen installieren.
- Als Regel für Mitarbeiter: Auffälligkeiten am Gerät sofort der internen IT-Sicherheit melden, statt selbst zu bereinigen.
Was tun im Ernstfall
- Das betroffene System vom Netzwerk trennen.
- Den Verdacht der internen IT-Sicherheit melden, bevor selbst etwas deinstalliert oder bereinigt wird.
- Zugangsdaten, die auf dem System verwendet wurden, sofort von einem nicht betroffenen Gerät aus ändern.
- Anschließend das System durch die IT-Sicherheit analysieren und neu aufsetzen lassen; Daten erst danach aus geprüften, vor dem Befall erstellten Backups wiederherstellen. Bei Varianten unterhalb des Betriebssystems kann eine Neuinstallation allein nicht ausreichen.
Beispiele aus der Praxis
- Skidmap, ein Kernel-Mode-Rootkit, kann laut MITRE ATT&CK Systemaufrufe abfangen, um bestimmte Dateien zu verbergen und die CPU-Last des infizierten Rechners niedrig erscheinen zu lassen.
- Eine Kopierschutz-Software auf einzelnen Audio-CDs von Sony BMG bildete Rootkit-Funktionen nach: In der Softwareliste der Systemsteuerung tauchte sie nicht auf, und über ein Deinstallationsprogramm ließ sie sich nicht entfernen.
- Laut MITRE ATT&CK hat die Gruppe APT28 ein UEFI-Rootkit namens LoJax eingesetzt, das unterhalb des Betriebssystems ansetzt.
- Haben Angreifer nach einem Einbruch ein Rootkit auf einem System eines Versicherers installiert, soll es ihnen unbemerkten Zugriff sichern, indem es Prozesse und Dateien vor Betriebssystem und Antivirenprogrammen verbirgt.
Die Varianten im Detail (11)
Firmware-Rootkit Firmware-Rootkit nistet sich außerhalb des Betriebssystems ein und übersteht deshalb häufig eine Neuinstallation.
Weil die Firmware außerhalb des Betriebssystems liegt, übersteht ein Firmware-Rootkit häufig eine Neuinstallation des Systems und lässt sich mit gewöhnlichen Scans der Festplatte kaum erkennen.
Funktions-Hooking Funktions-Hooking bezeichnet das Umleiten von Funktionsaufrufen auf eigenen Code, um Ergebnisse zu verändern.
Rootkits setzen diese Technik ein, um Systemaufrufe abzufangen und Antworten zu filtern, sodass Prozesse, Dateien oder Verbindungen in Auflistungen nicht mehr erscheinen. Auch legitime Software nutzt Hooking.
GPU-Rootkit GPU-Rootkit nutzt Speicher oder Ausführungsumgebung der Grafikkarte, um schädliche Komponenten zu verbergen.
Die Grafikkarte wird von vielen Sicherheitsprodukten kaum überwacht, weshalb ein GPU-Rootkit Schadcode dort vor gängigen Prüfungen des Hauptspeichers verbergen und Prozessorbefehle der Grafikkarte nutzen kann.
Jailbreak-Rootkit Jailbreak-Rootkit nutzt die durch einen Jailbreak erweiterten Rechte eines Mobilgeräts, um sich dauerhaft einzunisten.
Beim Jailbreak werden Schutzmechanismen des Betriebssystems aufgehoben, wodurch Code tiefere Systemebenen erreicht; ein Jailbreak-Rootkit nutzt dies, um sich dauerhaft einzunisten und Spuren auf dem Gerät zu verbergen.
Kernel-Rootkit Kernel-Rootkit arbeitet mit höchsten Privilegien auf der Ebene des Systemkerns, was Erkennung und Entfernung erschwert.
Da es auf derselben Ebene wie der Systemkern läuft, kann ein Kernel-Rootkit Systemfunktionen verändern und sich selbst vor Sicherheitssoftware verbergen; Entfernung und Erkennung sind dadurch besonders aufwendig.
Linux-Rootkit Linux-Rootkit verbirgt Prozesse, Dateien und Verbindungen über Kernelmodule oder gemeinsam genutzte Bibliotheken.
Es nutzt Besonderheiten dieser Systeme, etwa Kernelmodule oder gemeinsam genutzte Bibliotheken, um Prozesse, Dateien und Netzwerkverbindungen zu verbergen, und ist daher an die jeweilige Systemumgebung gebunden.
Netzwerk-Rootkit Netzwerk-Rootkit blendet Verbindungen und Datenpakete aus, sodass der Datenaustausch mit Angreifern unsichtbar bleibt.
Der Schwerpunkt liegt auf der Kommunikation: Das Rootkit blendet Verbindungen und Datenpakete aus oder verändert sie, sodass der Datenaustausch mit den Angreifern in Überwachungswerkzeugen nicht sichtbar wird.
Tarnkappen-Rootkit Tarnkappen-Rootkit bezeichnet ein Rootkit, das sich mit besonderem Aufwand vor Erkennung schützt.
Der Begriff betont die Verschleierungsfunktion, die allen Rootkits zugrunde liegt. Im deutschen Sprachraum steht er für Rootkits, die sich besonders gut vor Betriebssystem und Scannern verbergen.
User-Mode Rootkit User-Mode Rootkit manipuliert Programme oder Bibliotheken im Benutzerbereich, um schädliche Aktivitäten zu verbergen.
Es verändert Programme oder Bibliotheken im Benutzerbereich, um sich zu verbergen. Da es keine Kernel-Rechte besitzt, ist es leichter zu erkennen und zu entfernen als ein Rootkit auf Kernel-Ebene.
Virtualisierungs-Rootkit Virtualisierungs-Rootkit steuert das laufende Betriebssystem wie ein Hypervisor eine virtuelle Maschine.
Das Rootkit setzt sich unterhalb des laufenden Betriebssystems fest und steuert dieses wie ein Hypervisor eine virtuelle Maschine. Das System selbst bemerkt den Eingriff kaum, weil er außerhalb seiner Sichtweite stattfindet.
Windows-Rootkit Windows-Rootkit setzt auf Treiber, Registrierung und Systemdienste, um Prozesse und Dateien zu verbergen.
Es nutzt Eigenheiten dieses Systems wie Treiber, Registrierung und Systemdienste, um Prozesse und Dateien zu verbergen. Die Ausrichtung auf eine Plattform unterscheidet es von plattformübergreifenden Techniken.
Häufiger Irrtum
Mythos „Ein Rootkit ist in jedem Fall nur ein einzelnes Schadprogramm.“
Richtig Ein Rootkit kann auch als ganze Sammlung von Schädlingen auf den Rechner gelangen; eine solche Sammlung kann Werkzeuge enthalten, die unentdeckt installiert werden, um dem Urheber der Schadsoftware Zugriff zu verschaffen.