AA_warning_sxc1135737.jpg

© sxc.hu

Alarmstufe Root

Rootkits effektiv aufspüren

18.02.2009
Trojaner, Viren und Würmer muss der Linux-Anwender kaum fürchten – die weitaus gefährlicheren Rootkits jedoch um so mehr. Schützen Sie Ihre Systeme effektiv gegen die lästigen Eindringlinge.

Im Internet warten auf den ahnungslosen Surfer neben vielen interessanten Webseiten auch unzählige Schadprogramme, die mehr oder weniger destruktive Aktivitäten entfalten, gelangen sie erst einmal auf den Rechner. Während sich andere Betriebssysteme aufgrund ihrer wenig durchdachten Grundkonzeption anfällig für Viren, Würmer und Trojaner zeigen, genießt der Linux-Nutzer gegenüber diesen lästigen Plagegeistern weitgehend Immunität.

Eine besonders hinterhältige und schwer zu lokalisierende Gefahr stellen jedoch so genannte Rootkits dar, die ursprünglich sogar aus der Unix-Welt stammen und die auch Linux attackieren. Sie umfassen in aller Regel eine Programmsammlung, die sie auf dem gekaperten Rechner installieren. Diese Tools dienen dazu, die Kontrolle über den angegriffenen Rechner zu übernehmen und die Aktivitäten des Eindringlings zu verbergen ("stealth").

Die Infektion durch ein Rootkit verläuft grob umschrieben in drei Stufen: Zunächst gelangt ein so genannter Dropper auf das System – und zwar durch dem Anwender selbst. Solche Dropper verstecken sich oft in E-Mail-Anhängen, wie etwa in vermeintlich harmlosen PDF-Dateien. Erhält der Anwender eine solche Mail und klickt auf den entsprechenden Link oder Anhang, so wird der Dropper aktiv, zieht im zweiten Schritt einen Loader nach und entfernt sich dann zur Spurenbeseitigung selbst. Der Loader aktiviert in Stufe Drei schließlich das eigentliche Rootkit, indem er unter Ausnutzen bekannter Schwachstellen im System (beispielsweise Pufferüberläufe) die Schadsoftware installiert.

Anatomie

Die Schadprogramme verschleiern ihre Existenz durch das Verstecken von Prozessen und Dateien. Der Eindringling installiert zudem meist eine Hintertür ("Backdoor"), die es seinem Erzeuger ermöglicht, jederzeit heimlich die Kontrolle über den kompromittierten Rechner zu übernehmen. Das geschieht üblicherweise mithilfe eines modifizierten Login-Prozesses, bei dem der Angreifer das System so manipuliert hat, dass er sich ohne Passwort anwählen kann und keine Spuren in den Log-Dateien hinterlässt.

Vom kontrollierten Rechner aus lassen sich sodann weiter Schadprogramme ausführen, beispielsweise Angriffe auf Server im Internet. Gelingt es einem Eindringling, viele Rechner mit dem Rootkit zu infizieren, ermöglicht das verteilte Angriffe, die durchaus einen schwächeren oder schlecht konfigurierten Webserver in die Knie zwingen können (DDoS – Distributed Denial of Service). Aber auch das gezielte "Abfischen" von Passwörtern und anderen sensiblen Daten sowie deren Übertragung an einen speziell präparierten Server belegen eindrucksvoll die Gefährlichkeit dieser weitgehend unbekannten Schädlinge.

Eine neue, bislang noch nicht aktiv in Erscheinung getretene Form von Rootkits stellen außerdem die Firmware-Rootkits dar. Sie nutzen den Umstand, dass sich bei modernen Rechnersystemen die Firmware vieler Komponenten modifizieren lässt ("flashen"). So ist es gang und gäbe, das BIOS eines Rechners mit Flash-Updates auf dem jeweils aktuellen Stand zu halten. Aber auch WLAN- und Grafikkarten, Festplatten, Embedded Controller oder optische Laufwerke beinhalten solche zu modifizierenden Bausteine. Befällt ein Rootkit das BIOS eines Rechners, kann es sogar den Microcode des Hauptprozessors manipulieren, sodass CPU-Befehle nicht mehr erwartungsgemäß funktionieren.

Rootkits – Was ist zu beachten?

Arbeitet Ihr Rechner plötzlich ohne ersichtlichen Grund extrem langsam? Das kann ein Hinweis auf ein aktives Kernel-Rootkit sein. Wenn Sie zudem bemerken, dass die Durchsatzraten im Internet unmotiviert deutlich nachlassen, bedeutet das möglicherweise, dass ein Rootkit den Rechner gerade als Spam-Relay oder für eine DDoS-Attacke missbraucht. In einem solchen Fall sollten Sie umgehend mithilfe eines Tools wie Wireshark [6] den Datenverkehr überprüfen. Ergeben sich dabei Verdachtsmomente, nehmen Sie außerdem einen Portscan von außen vor und vergleichen diesen mit den Ergebnissen eines lokalen Portscans mittel Unhide.

Durch den Einsatz der hier vorgestellten Rootkit-Scanner lassen sich die unerwünschten Schadprogramme zuverlässig lokalisieren. In einem solchen Fall sollten Sie das System von einer "sauberen" Installationsquelle (beispielsweise einer Backup-DVD) komplett neu aufsetzen.

Besondere Vorsicht ist bei Rechnern geboten, die hardwareseitige Virtualisierung unterstützen: Hier kann sich ein Rootkit sich ähnlich wie der Hypervisor gängiger Virtualisierungssoftware als "virtuelle Maschine" in das System einklinken und die Kontrolle übernehmen. Auch in diesem Fall resultiert daraus eine deutliche Reduzierung der Arbeitsgeschwindigkeit. Vor allem fällt ein solcher Befall mit Schadsoftware durch exorbitant lange Bootzeiten auf und – da meistens Manipulationen des CPU-Microcode stattfinden – durch unerklärliche Systemabstürze. Abhilfe schafft nur eine komplette Neuinstallation von einem Rootkit-freien Medium.

Last but not least sollten Sie im BIOS Ihres Rechners eventuell vorhandene Optionen deaktivieren, die das Flashen des System-BIOS ohne Sicherheitsabfrage erlauben. Auch die alten Regeln, dass man Software nur aus bekannten und sicheren Quellen auf den heimischen Rechner laden und E-Mail-Anhänge von unbekannten Absendern grundsätzlich nicht öffnen sollte, tragen bei konsequenter Anwendung erheblich zur Gesundheit des heimischen Systems bei.

Das Arsenal

Für Microsoft-Betriebssysteme kursieren aufgrund ihrer Popularität und ihrer unsicheren Architektur eine Vielzahl von Rootkits offen im Internet, neue tauchen ständig auf. Unter Linux sind primär die Kernel-Rootkits von Bedeutung: Bei diesen versucht die Schadsoftware, durch das heimliche Nachladen von Kernelmodulen die Funktionen des Betriebssystems zu manipulieren.

Gegen diese perfiden Programme gibt es jedoch unter nachhaltigen Schutz: Mit Rkhunter [1] existiert ein freier Scanner, der Rootkit-Infektionen zuverlässig aufspürt. Dazu bedient er sich verschiedener Methoden, um ein möglichst breites Spektrum an Angriffsvektoren abzudecken: So durchsucht Rkhunter das lokale System nach bekannten, von Rootkits genutzten Dateien und Verzeichnissen. Zusätzlich wird die Festplatte nach versteckten Dateien durchkämmt sowie nach falschen Berechtigungen bei Binärdateien. Um der Kommunikation vorhandener Rootkits mit Servern im Internet auf die Schliche zu kommen, hört der Scanner zudem statische Ports, auf denen üblicherweise auch Rootkits lauschen, nach eingehenden Verbindungen ab. Als weitere Erkennungsmethode nutzt Rkhunter eigene Datenbanken, um durch MD5-Fingerprint-Vergleiche Manipulationen aufzudecken. Durch Dictionary-Scans durchsucht er außerdem Dateien nach verdächtigen Zeichenketten.

Ein weiteres nützliches Helferlein ist das Programm Chkrootkit [2], das ebenfalls unter der GPL steht. Chkrootkit bedient sich einer Tabelle mit bekannten Rootkits, um das lokale System auf diese hin abzuklopfen. Der Vorteil von Chkrootkit gegenüber Rkhunter liegt dabei auf der Hand: Während Rkhunter bei der Installation ein nicht infiziertes System voraussetzt, um die entsprechenden MD5-Fingerprints anlegen zu können, lässt sich Chkrootkit auch auf ein bereits kompromittiertes System ansetzen. Um die Liste der erkannten Rootkits stets aktuell zu halten, kommt man jedoch nicht umhin, stets die neueste Version von Chkrootkit zu installieren.

Als drittes Hilfsprogramm eignet sich das forensische Tool Unhide [3] als Ergänzung zu Rkhunter. Es dient dazu, versteckte Prozesse sichtbar zu machen. Rootkits verschleiern ihre Existenz oft durch das Verstecken von Prozessen, sodass ein einfacher Aufruf der Prozessliste mithilfe des Befehl ps zu keinem Ergebnis führt. Durch den Abgleich des /proc-Verzeichnisses mit der Befehlsausgabe von /bin/ps erhärten sich jedoch unter Umständen bereits Verdachtsmomente. Unhide vergleicht zusätzlich noch die /bin/ps-Ausgabe mit Systemaufrufen: Treten hier Ungereimtheiten auf, lässt sich das als Indiz für das Bestehen eines Rootkits werten.

Zudem kann Unhide – sofern ein Kernel der 2.6er-Reihe das Linux-System antreibt – mithilfe einer Brute-Force-Attacke versteckte Prozesse sichtbar machen. Hierbei belegt es nacheinander alle Prozess-IDs. Treten dabei Probleme auf, weil eine Prozess-ID bereits versteckt vergeben ist, so kann dies ebenfalls als Indiz für die Existenz eines Rootkits angesehen werden. In der Variante Unhide-tcp macht die Software außerdem alle UDP- und TCP-Ports des lokalen Systems sichtbar, auf denen ein Prozess lauscht, die aber nicht vom Linux-internen Befehl netstat aufgelistet werden.

Rkhunter & Co. installieren

Alle drei aufgeführten Programme befinden sich bei Debian-basierten Distributionen bereits in den Repositories und lassen sich bequem unter Auflösung aller Abhängigkeiten über den Paketmanager installieren. Versionen für RPM-basierte Distributionen finden sich unter [4], für Slackware unter [5]. Werden Sie dort nicht fündig, laden Sie den Quellcode der Programme von den jeweiligen Projektseiten ([1],[2],[3]) herunterladen und übersetzen ihn selbst.

Freunde grafischer Oberflächen kommen jedoch nach erfolgreicher Installation bei allen drei Programmen nicht zum Zug: Die Applikationen arbeiten rein textbasiert im Terminal. Somit lassen sich auch die umfangreichen Hilfetexte mit Erläuterung der zahlreichen Programmoptionen ausschließlich auf der Kommandozeile mit dem Befehl man Programm lesen. Starter in den Menüs der verschiedenen Desktops sucht man ebenfalls vergebens.

LinuxCommunity kaufen

Einzelne Ausgabe
 
Abonnements
 

Related content

Kommentare

Infos zur Publikation

title_2014_08

Digitale Ausgabe: Preis € 5,95
(inkl. 19% MwSt.)

Mit der Zeitschrift LinuxUser sind Sie als Power-User, Shell-Guru oder Administrator im kleinen Unternehmen monatlich auf dem aktuelle Stand in Sachen Linux und Open Source.

Sie sind sich nicht sicher, ob die Themen Ihnen liegen? Im Probeabo erhalten Sie drei Ausgaben zum reduzierten Preis. Einzelhefte, Abonnements sowie digitale Ausgaben erwerben Sie ganz einfach in unserem Online-Shop.

NEU: DIGITALE AUSGABEN FÜR TABLET & SMARTPHONE

HINWEIS ZU PAYPAL: Die Zahlung ist auch ohne eigenes Paypal-Konto ganz einfach per Kreditkarte oder Lastschrift möglich!       

Tipp der Woche

Schnell Multi-Boot-Medien mit MultiCD erstellen
Schnell Multi-Boot-Medien mit MultiCD erstellen
Tim Schürmann, 24.06.2014 12:40, 0 Kommentare

Wer mehrere nützliche Live-Systeme auf eine DVD brennen möchte, kommt mit den Startmedienerstellern der Distributionen nicht besonders weit: Diese ...

Aktuelle Fragen

Server antwortet mit falschem Namen
oin notna, 21.07.2014 19:13, 0 Antworten
Hallo liebe Community, Ich habe mit Apache einen Server aufgesetzt. Soweit, so gut. Im Heimnet...
o2 surfstick software für ubuntu?
daniel soltek, 15.07.2014 18:27, 1 Antworten
hallo zusammen, habe mir einen o2 surfstick huawei bestellt und gerade festgestellt, das der nic...
Öhm - wozu Benutzername, wenn man dann hier mit Klarnamen angezeigt wird?
Thomas Kallay, 03.07.2014 20:30, 1 Antworten
Hallo Team von Linux-Community, kleine Zwischenfrage: warum muß man beim Registrieren einen Us...
openSUSE 13.1 - Login-Problem wg. Fehler im Intel-Grafiktreiber?
Thomas Kallay, 03.07.2014 20:26, 8 Antworten
Hallo Linux-Community, habe hier ein sogenanntes Hybrid-Notebook laufen, mit einer Intel-HD460...
Fernwartung für Linux?
Alfred Böllmann, 20.06.2014 15:30, 7 Antworten
Hi liebe Linux-Freunde, bin beim klassischen Probleme googeln auf www.expertiger.de gestoßen, ei...