Nach dem Einbruch in fremde Computer wollen Angreifer ihr neu gewonnenes Terrain sichern. Kein neugieriger Nutzer und schon gar kein Administrator soll bemerken, dass sich sein treuer Rechenknecht fremden Befehlen unterwirft. Für ihre Tarnung vertrauen Eindringlinge gern auf vorgefertigte Tools. Diese so genannten Rootkits [11] verstecken verräterische Prozesse, Netzwerkverbindungen und Dateien vor den Blicken der Admins und sorgen meist dafür, dass der Angreifer jederzeit zurückkehren kann (Backdoor).
Früher war es in Cracker-Kreisen üblich, für ihre Rootkits die bereits installierten Programme zu modifizieren. Ein sabotiertes »netstat« würde die Verbindungen seines Meisters verschweigen oder »ps« seine heimtückischen Prozesse geheim halten. Da es eine ganze Reihe von Programmen auszutauschen gilt, entstanden früh spezielle Userland-Rootkits. Sie bringen eine Menge modifizierter Programme mit und lassen sich schnell vom Angreifer installieren. In den meisten Rootkits finden sich zudem Backdoors und beliebte Hacker-Tools, zum Beispiel IRC-Bouncer.
Grenzen im Userland
Aus Sicht des Angreifers leiden die Userland-Rootkits unter einem gravierenden Nachteil: Ein einfacher Vergleich mit der MD5-Prüfsumme der Originaldatei entlarvt die Sabotage. Auch spezialisierte Suchprogramme (so genannte Rootkit-Hunter) spüren diese einfachen Tools schnell auf. Zudem beschränkt sich der Einfluss auf die veränderten Programme; nachträglich installierte Software (etwa »lsof«) oder Tools, die auf nur lesbaren Medien liegen (CD-ROM), hebelt er nicht aus. Die Tarnung durch diese Art von Rootkits bleibt beschränkt.
Viel mehr Macht über das geknackte System übt ein Rootkit aus, wenn es direkt den Kernel modifiziert. Der Kernel stellt den Prozessen alle Systemdaten bereit, die diese wiederum dem Benutzer oderAdmin präsentieren.
Dynamisch im Kernel
Seit Version 2.2 lädt Linux dynamisch Kernelmodule, um Treiber und anderen Code während der Laufzeit des Betriebssystems einzubinden. Das vorher nötige Neukompilieren des Kernels und der Reboot entfallen. Kernel-Rootkits bedienen sich üblicherweise dieser Schnittstelle, um Code direkt im Kernel auszuführen [2]. Sie entfernen Informationen, die der Angreifer versteckenden will, bevor die Daten den Userspace erreichen. Damit täuschen sie alle Programme, egal ob nachträglich installiert und gegen welche Bibliotheken gelinkt.
Bis heute ist die Tarnung gut programmierter Kernel-Rootkits nahezu perfekt. Weder normale Systemwerkzeuge noch klassische forensische Tools bemerken eine Manipulation. Die Einflussmöglichkeiten und Tarneigenschaften der Kernel-Rootkits sind ihren Userland-Vorläufern weit überlegen.
« Zurück
1
2
3
4
5
6
Weiter »