Rootkits
Ein Rootkit (engl., etwa "Administratorenausrüstung") ist eine Sammlung von Softwarewerkzeugen, die nach dem Einbruch in ein Computersystem auf dem kompromittierten System installiert werden, um zukünftige Logins des Eindringlings zu verbergen, Prozesse und Dateien zu verstecken.
Der Begriff ist heute nicht mehr allein auf unixbasierte Betriebssysteme beschränkt, da es inzwischen auch Rootkits für Nicht-Unix-Systeme gibt. Antivirensoftware versucht, die Ursache der Kompromittierung zu entdecken. Zweck eines Rootkits ist es, diese Malware vor den Antivirenprogrammen zu verbergen (diese zu tarnen, zu verstecken).
Historie
Die ersten Sammlungen von Unix-Tools zu oben genannten Zwecken bestanden aus modifizierten Versionen der Programme ps, passwd usw., die dann jede Spur des Angreifers, die sie normalerweise zeigen würden, verbergen und es dem Angreifer so ermöglichten, mit den Rechten des Systemadministrators root zu agieren, ohne dass der rechtmäßige Administrator dies bemerken konnte. Der Name Rootkit entstand also aus der Tatsache, dass der Angreifer verbarg, dass er sich Root-Rechte angeeignet hatte. Solche Rootkits, die lediglich aus modifizierten Systemprogrammen bestehen, werden gemeinhin Application-Rootkits genannt. Aufgrund der trivialen Möglichkeiten zur Erkennung dieser Rootkits finden sie heute kaum noch Verwendung.
Backdoor-Funktionalitäten
Ein Rootkit versteckt normalerweise Logins, Prozesse und Logs und enthält oft Software, um Daten von Terminals, Netzwerkverbindungen und der Tastatur abzugreifen. Dazu können BackdoorsShell gestartet wird, wenn an einen bestimmten Netzwerkport eine Verbindunganfrage gestellt wurde. Die Grenze zwischen Rootkits und Trojanischen Pferden ist fließend. (Hintertüren) kommen, die es dem Angreifer zukünftig vereinfachen, auf das kompromittierte System zuzugreifen, indem beispielsweise eine
Technische Umsetzung
Heutzutage gibt es kaum noch Application-Rootkits, es finden sich fast ausschließlich Rootkits der folgenden zwei Typen.
Kernel Rootkits
Kernel Rootkits ersetzen Teile des Betriebssystem-Kerns durch eigenen Code, um sich selbst zu tarnen und dem Angreifer 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 Nachladen von Kernelmodulen. Man nennt diese Klasse von Rootkits daher auch LKM-Rootkits (LKM steht für engl. „loadable kernel module“). Einige Kernel-Rootkits kommen durch die direkte Manipulation von Kernelspeicher auch ohne LKM aus. Unter Windows werden Kernel Rootkits haeufig als neuer .sys-Treiber realisiert.
Userland Rootkits
Userland Rootkits sind vor allem unter Windows populär, da sie keinen Zugriff auf der Kernel-Ebene benötigen (daher der Name). Sie stellen eine DLL bereit, die mittels verschiedener Methoden (SetWindowsHookEx, ForceLibrary) direkt in alle Prozesse injiziert wird. Ist diese DLL einmal geladen, modifiziert sie entsprechende API-Funktionen und leitet die Ausführung dieser auf sich selber um. Damit können Informationen gezielt gefiltert oder modifiziert werden.
Speicher Rootkits
Solche Rootkits existieren nur im Speicher. Nachdem das System neu gestartet wurde, sind diese nicht mehr vorhanden.
Mehr Informationen über Rootkits bei Wikipedia