Wie bereits in einem früheren Beitrag dargelegt, halte ich die Verwendung von Antivirusprogrammen für Linux für sinnlos. In Diskussionen zu diesem Thema kommen die Verfechter solcher Antivirusprogramme gerne auf eine besondere Klasse der Schadsoftware zu sprechen, die es für Linux sehr wohl gibt: Rootkits. Da ich auf Rootkits in dem genannten Artikel nicht eingegangen bin, hole ich das hiermit nach.
Was ist ein Rootkit?
Der Begriff „Rootkit“ bezeichnet eine ganz spezielle Form der Schadsoftware. Diese wurde sogar ursprünglich für unixoide Systeme entwickelt. Das englische „Kit“ steht hier für einen Satz an Programmen, die dazu dienen, die Spuren eines Angreifers, der durch eine Sicherheitslücke administrative Rechte erlangt hat, zu verwischen. Der Administrator auf einem Unix-System heißt üblicherweise root.
Ein Rootkit findet also dann Einsatz, wenn ein Angreifer sich auf irgend eine Weise Zugang zu einem System verschafft hat, administrative Rechte erlangt hat und dann Schindluder mit dem System treibt, wobei er mit dem Rootkit die Spuren seiner Handlungen verwischt. Seine Prozesse werden unsichtbar, seine Dateien und Programme (also ggfs. der eigentliche Schadcode) werden im Dateisystem nicht angezeigt usw.
Wo Rootkits zum Einsatz kommen
Rootkits kommen hauptsächlich auf Systemen zum Einsatz, die auf irgend eine Weise kompromittiert wurden. Das Rootkit selbst ist nicht dazu da, in das System einzubrechen, der Einbruch erfolgt zuerst.
Das ist eine reelle Gefahr für Linuxserver (und genau so alle anderen Serverbetriebssysteme). Server, die mit dem Internet verbunden sind, unterliegen aber einer ganz anderen Gefährdungssituation als Desktop-Linux, also das Linux, das ein Anwender auf einem PC oder Notebook betreibt.
Server im Internet sind durch feste IP-Adressen auffindbar. Das ist eine Notwendigkeit, damit Server ihre Dienste über das Netz zuverlässig bereitstellen können. Ein Angreifer kann sich einen solchen Server als Ziel vornehmen, ihn auf Schwachstellen abklopfen, durch solche eindringen und dann dort sein Rootkit installieren, um in der Zukunft in aller Ruhe mit dem System machen zu können, was er will.
Desktop-Systeme auf Linuxbasis haben aber im Normalfall keine Serverdienste und -aufgaben. Von daher bieten sie sehr wenig Angriffsfläche. Dazu kommt, dass die weitaus meisten Anwender nicht mit festen IP-Adressen ausgestattet sind. Das heißt, sie bieten kein unbewegtes Ziel, so wie es ein Server tut.
Rootkits sind Werkzeuge für bewusste und gezielte Angriffe auf individuelle Systeme. Schadsoftware, die einfache Anwender bedroht, wird dagegen automatisch und massenweise gestreut, ob per Drive-by-Download, E-Mail-Anhang oder anderen Methoden. Desktop-Anwender sind einfach nicht die richtige Zielgruppe für Rootkits.
Nützt ein Virenscanner überhaupt?
Es ist natürlich trotz allem nicht auszuschließen, dass ein Rootkit seinen Weg auf ein Desktop-System findet. Kann ein Virenscanner die Infektion verhindern?
Ich habe die Probe aufs Exempel gemacht. Linux-Rootkits sind im Internet leicht zu finden, man kann sie zum Beispiel auf packetstormsecurity.com ganz offiziell herunterladen. Ich habe mal fünf der neueren heruntergeladen, nämlich AESShell, Azazel, Lizkebab, Xingyiquan und Bash 3.0 Shell Sniffer. Um die Reaktion von Virenscannern darauf zu testen, habe ich sie bei virustotal.com überprüfen lassen.
Keines dieser Rootkits ist brandneu. Die meisten wurden schon früher auf virustotal.com überprüft, ich habe die Überprüfung aber wiederholt. Und außer Lizkebab wurde keines dieser Rootkits als Schadsoftware beanstandet, und das von 56 Virenscannern, wobei praktisch alle namhaften Hersteller hier vertreten sind. Lediglich Lizkebab wurde von Avast als generische Bedrohung eingestuft, und dieses Rootkit stammt von Lizard Squad, der Gruppe, die hinter den Attacken auf Gameserver zur Weihnachtszeit 2014 steckte und die seitdem eine gewisse Berühmtheit genießt.
Antivirusprogramme sind also gegen Rootkits vollkommen nutzlos. Und das, obwohl diese Rootkits gar nicht sonderlich kompliziert zu erkennen sind. Das Installationsskript für Xingyiquan ist beispielsweise ein Perl-Skript, das hilfreicherweise gleich mit dem Kommentar „xingyiquan – r00tk1t installer for linux kernel 2.6.x and 3.x“ beginnt. Es wird nicht im geringsten versucht, die Natur des Programms zu verbergen. Ein Antivirenprogramm muss hier nicht auf Checksummen zurückgreifen, schon der Quellcode als solcher wird nicht erkannt. Und dass ein einmal installiertes Rootkit, dessen Aufgabe es ja eben ist, nicht entdeckt zu werden, mit einer besseren Trefferrate entdeckt wird, wage ich mal zu bezweifeln.
Das AESShell-Paket enthält übrigens neben dem Python-Quellcode sogar eine exe-Datei für Windows. Auch diese wurde bei dem Test erst beanstandet, als ich sie gesondert entpackt und einzeln hochgeladen habe, und auch das nur von einem obskuren Antivirusprogramm namens „TheHacker“.
Und die Infektion?
Womöglich fragen Sie sich noch, ob ich nicht ein Risiko eingegangen bin, indem ich diese Rootkits mit meinem Linux-System heruntergeladen habe. Aber dem ist nicht so. Fast nichts an diesen Rootkits ist ausführbar. Die meisten müssten dazu erst noch kompiliert werden. Das ist auf den meisten Anwendersystemen wie Ubuntu, Mint usw. gar nicht möglich, weil die Entwicklungsumgebung gar nicht installiert ist. Xingyiquan ist aus den fünf heruntergeladenen Rootkits das einzige, das sich womöglich installieren ließe. Es enthält in seinem Paket ein Perl-Skript, das, wenn man das Paket extrahiert, als ausführbare Datei gekennzeichnet ist.
Aber seien Sie ehrlich: Wenn Ihnen jemand ein Archiv (zip, tar.gz…) per E-Mail sendet, in dem sich eine ausführbare Datei befindet, starten Sie diese? Und nur auf diesem Weg könnte eine Infektion gelingen.
Eine gewisse Gefahr mag also von Software-Downloads ausgehen, die nicht aus den vermutlich vertrauenswürdigen Repositorien der Linux-Distributionen stammen, da man diese bewusst installiert. Wer so etwas tut, der muss sich über die potentielle Gefährdung im Klaren sein. Theoretisch wäre es natürlich auch möglich, dass ein Distributionsanbieter seine Distribution gleich mit Rootkit ausliefert.
Das ist übrigens auch der Grund, warum das ebenfalls unixoide Betriebssystem OS X ein Schadsoftwareproblem hat: es gibt teure Anwendungssoftware für Apple-Computer, die man vielleicht lieber als Raubkopie beziehen möchte. Dass eine Raubkopie Schadsoftware mit installiert, ist nichts, worüber man sich wundern müsste. Für Linux existiert solche Software aber nicht. Quelloffene und in der Regel ohnehin kostenlose Software braucht man nicht raubzukopieren.
Fazit
Aus meiner Sicht ist spezielle Software zur Erkennung von Rootkits (z.B. rkhunter) auf Desktop-Systemen nicht nötig. Allerdings schadet sie auch nicht, wohingegen die für diesen Zweck nutzlosen Antivirusprogramme dauerhaft Ressourcen verbrauchen. Wer also ganz sicher sein will, kann derartige Programme aus den Repositorien seiner Distribution beziehen.