Rootkit

Aus Mikiwiki
Zur Navigation springen Zur Suche springen

Ein Rootkit (engl. etwa "Systemverwalterbausatz") ist meist eine Sammlung von Programmen, die nach dem Einbruch in ein Betriebssystem installiert wird, um zukünftige Anmeldevorgänge des Einbrechers zu verbergen und verdächtige Prozesse und Dateien vor dem SYstemverwalter zu verstecken ("stealth"). Während eines der Programme die Hintertür (engl. backdoor) stellt, ersetzen die anderen Systemprogramme (z. B. ps, top, netstat), um das Vorhandensein der Hintertür zu verschleiern.

Der Benutzer "root" ist unter unixartigen Betriebssystemen der höchstprivilegierte Benutzer und somit das lohnendste Ziel von Angriffen. Inzwischen gibt es längst auch Rootkits für Nicht-Unix-Systeme. Antivirensoftware versucht, die Ursache der Kompromittierung zu entdecken. Zweck eines Rootkits ist es, Malware vor den Antivirenprogrammen und dem Benutzer zu verbergen (zu tarnen).

Konzepte

Die Infektion eines Rechners durch ein Rootkit verläuft im allgemeinen in drei Stufen:

  1. Zuerst gelangt ein Dropper auf das System, und zwar durch den Benutzer selbst. Solche Dropper verstecken sich oft in E-Mail-Anhängen, z. B. in vermeintlich harmlosen PDF-Dateien. Wird ein solcher Link oder Anhang angeklickt, so wird der Dropper aktiv.
  2. Nun zieht der Dropper einen Loader nach und entfernt sich dann zur Spurenbeseitigung selbst.
  3. Schliesslich aktiviert der Loader das eigentliche Rootkit, indem er durch Ausnützung bekannter Schwachstellen im System (z. B. Pufferüberläufe) die Schadsoftware installiert.

Die Schadprogramme verschleieren ihr Vorhandensein durch das Verstecken von Prozessen und Dateien. Zusätzlich wird meist eine "Hintertür" (engl. backdoor) installiert, die dem Einbrecher jederzeit das unbemerkte Übernehmen der Kontrolle über den kompromittierten Rechner ermöglicht. Das geschieht üblicherweise mit Hilfe eines veränderten Login-Prozesses, mit dem er sich ohne Passwort anmelden kann, ohne dabei Spuren in den Logdateien zu hinterlassen.

Vom kontrollierten Rechner aus lassen sich eine Vielzahl unerwünschter Tätigkeiten ausführen:

  • Es können weitere Schadprogramme ausgeführt werden, beispielsweise um andere Rechner im Internet anzugreifen. Gelingt es dem Eindringling, viele Rechner mit dem Rootkit zu übernehmen, so erlaubt ihm das verteilte Angriffe (Distributed Denial of Service), mit denen er schwache oder schlecht konfigurierte Webserver in die Knie zwingen kann.
  • Das gezielte "Abfischen" von Passwörtern und anderen sensiblen Daten sowie die Übertragung an einen besonders präparierten Rechner.

Arten von Rootkits

Heute gibt es fast nur noch Rootkits der folgenden drei Typen. Unter Linux ist hauptsächlich das Kernel-Rootkit von Bedeutung.

Rootkit Beschreibung
Kernel-Rootkit
(auch: LKM-Rootkit)
Es ersetzt Teile des Kernels durch eigenen Code, um sich selbst zu tarnen und dem Einbrecher zusätzliche Funktionen zur Verfügung zu stellen, die nur im Kontext des Kernels ausgeführt werden können. Dies geschieht am häufigsten durch heimliches Nachladen von Kernelmodulen.
Userland-Rootkit Es ist vor allem unter Microsoft Windows verbreitet, da es keinen Zugriff auf der Kernel-Ebene benötigt. Es stellt eine Systembibliothek (DLL) bereit, die mittels verschiedener Methoden (SetWindowsHookEx, ForceLibrary) direkt in alle Prozesse injiziert wird. Ist diese Bibliothek einmal geladen, verändert sie entsprechende Programmierschnittstellenfunktionen und leitet die Ausführung dieser auf sich selbst um. Damit können Informationen gezielt gefiltert oder verändert werden.
Speicher-Rootkit Es existiert nur im Arbeitsspeicher. Nach einem Neustart des Betriebssystems ist es nicht mehr vorhanden.

Fimrware-Rootkits sind eine neue, bislang noch nicht aktive Form von Rootkits. Sie nutzen die Möglichkeit, dass sich die Firmware vieler Bestandteile bei modernen Rechnern verändern ("flashen") lässt. Beispielsweise ist es üblich, das BIOS eines Rechners mit Flash-Updates auf dem aktuellen Stand zu halten. Doch auch WLAN- und Grafikkarten, Festplatten, Embedded Controller oder optische Laufwerke enthalten solche beschreibbaren Speicherbausteine. Befällt ein solches Rootkit das BIOS eines Rechners, so kann es sogar den Microcode des Prozessors verändern, so dass dessen Befehle nicht mehr wie erwartet funktionieren.

Aufspüren von Rootkits

Der Rootkit Hunter versucht, Rootkits aufzuspüren, wobei bei der Installation ein nicht infiziertes System vorausgesetzt wird.

FAQ

Wie schützt man sich vor Rootkits?

Auch hier gelten die üblichen Regeln:

  • Software sollte man nur aus bekannten und sicheren Quellen auf den eigenen Rechner laden und dort installieren.
  • E-Mail-Anhänge von unbekannten Absendern werden grundsätzlich nicht geöffnet.
  • Benutzernamen und insbesondere die zugehörigen Passwörter sind geheim.
  • Sicherheitsrelevante Updates für die auf dem Rechner laufende Software sollte stets zeitnah eingespielt werden.

Im BIOS des eigenen Rechners sollten alle vorhandenen Optionen deaktiviert werden, welche beispielsweise das "Flashen" des System-BIOS ohne eine Sicherheitsabfrage erlauben.

Wie wird ein Rootkit entdeckt?

Folgende Phänomene können Hinweise auf ein installiertes Rootkit sein:

  • Der Rechner arbeitet ohne ersichtlichen Grund plötzlich sehr langsam.
  • Wenn zudem die Datenübertragungsraten im Internet deutlich nachlassen, missbraucht womöglich gerade ein Rootkit den Rechner als Spam-Relay oder für eine Denial of Service-Attacke.

In einem solchen Fall sollte umgehend mit einem Werkzeug wie Wireshark der Datenverkehr geprüft werden. Ergeben sich dabei Verdachtsmomente, so sollte ausserdem ein Portscan von aussen durchgeführt und dieser mit einem lokalen Portscan mittels Unhide verglichen werden.

Besondere Vorsicht ist bei Hardwareseitige Virtualisierung unterstützenden Rechnern geboten: Hier kann sich ein Rootkitähnlich wie der Hypervisor gängiger Virtualisierungssoftware als "virtuelle Maschine" in das System einklinken und die Kontrolle übernehmen. Ein solcher Befall fällt besonders durch eine ausserordentlich lange Dauer des Bootvorgangs auf sowie zusätzlich (weil meist Veränderungen des CPU-Microcodes stattfinden) durch unerklärliche Systemabstürze.

Falls sich tatsächlich ein Rootkit eingenistet hat, so muss der Rechner in jedem Fall zwingend von einer "sauberen" Installationsquelle neu aufgesetzt werden.

Herausgeber Sprache Webseitentitel Anmerkungen
Wikipedia ger Rootkitwbm Enzyklopädischer Artikel