Wie anfällig das System "Mensch" gegenüber viralen Infekten ist, können Sie in einer vollbesetzten Straßenbahn an einem nass-kalten Herbstmorgen leicht ausprobieren. Haben Sie es sich in der Mitte von verschnupften Mitfahrern gemütlich gemacht und nehmen Sie ein paar tiefe Atemzüge, genügen Minuten, um sich einen grippalen Infekt einzufangen.
In Sachen Viren und Co. hat ein Ubuntu-Rechner gegenüber Straßenbahnfahrern drei Vorteile: Nur ein Bruchteil der den Antivirenherstellern bekannten Schädlinge ist dort überhaupt lebensfähig. Zudem wartet die Distribution mit einer Reihe von Werkzeugen zur Diagnose und Vorbeugung auf, die gute Dienste leisten. Diese stellt der Artikel im Überblick vor, alle erwähnten Tools stecken im normalen Ubuntu-Repository. Nicht zuletzt rufen Sie einen Rechner durch das Einspielen eines – hoffentlich vorhandenen – Backups wieder ins Leben zurück, sollte ihn eine Seuche niederstrecken.
Sie sparen sich aber die Arbeit des Wiederherstellens, wenn Sie Ansteckungen von vornherein vermeiden. Dazu ist etwas Schädlingskunde nützlich: Experten nennen Programme, die einen Computer in unerwünschter Weise nutzen, allgemein Malware. Der erste Wortteil leitet sich vom lateinischen "malus" ab, was schlecht oder böse bedeutet.
Die Herkunft von Schadsoftware ist vielfältig. Zunächst enthält Software fast immer Fehler. Zahlreiche Studien weisen nach, dass die Zahl der Fehler mit der Länge des Programmcodes wächst. Angreifer können die Software dank solcher Programmierfehler mitunter dazu überreden, unvorhergesehene Funktionen auszuführen. Das bezeichnen Experten als Exploit.
Eine weiteres Einfallstor sind Konfigurationsfehler. Schützen Sie Freigaben nicht hinreichend oder verwenden Sie schwache Passwörter, kapern Eindringlinge vielleicht Ihr System. Ähnliches gilt auch für schwache Voreinstellungen. Ubuntus hauseigene Firewall Ufw steht zunächst auf Durchzug. Daher sollten Sie eines der benutzerfreundlichen grafischen Tools Firestarter [1] oder Gufw [2] nachinstallieren, um so den Zugriff aus dem Netz etwas stärker zu reglementieren (Abbildung 1).
Perfide sind auch Versuche von Angreifern, mittels einer List ihre Schadsoftware auf Ihrem Rechner auszuführen. Tarnen sie Malware innerhalb einer eigentlich nützlichen Software, gehen sie vor, wie einst Odysseus, der seine Gegner mit dem Trojanischen Pferd narrte. Daher hat diese Angriffsform auch ihren Namen. Makroviren in Office-Dateien zählen ebenso dazu wie modifizierte Binärpakete aus zweifelhaften Quellen. Achten Sie daher immer darauf, woher Sie Programme beziehen und führen Sie dubiose Anwendungen nicht sorglos aus.
Malware besteht also aus einem ganzen Zoo von Schadprogrammen. Sie unterscheiden sich neben dem Weg der Ansteckung auch in ihren Auswirkungen. Erstens versuchen die meisten Schädlinge, sich dauerhaft bei Ihnen einzunisten und gar fortzupflanzen und zweitens führen sie meist noch etwas Hinterlistiges im Schilde. Das nennen die Virenjäger Schadfunktion.
Früher waren die Schadfunktionen meist einfach, wenn auch ärgerlich: Infizierte Programme löschten Dateien, änderten Systemeinstellungen oder brachten schlicht den Computer zum Absturz. Heute gehen Malware-Entwickler noch hinterhältiger vor: Sie sorgen beispielsweise dafür, dass sich der betroffene Rechner fernsteuern oder abhören lässt. So spähen sie Passwörter, Pins oder Tans aus oder lassen Spam weiterverteilen. Um diesen Zugriff zu erreichen, bauen sie Routinen in ihren Schadcode ein, der den gekaperten Rechner unbemerkt mit einem Chatroom verbindet, aus dem dieser Befehle von dunklen Mächten entgegen nimmt. Ein so angesteckter Rechner wird damit zum fernsteuerbaren Bot. Mittlerweile erwirtschaften Untergrundorganisationen mit solchen Botnets, die mehrere 10 000 Rechner enthalten, richtiges Geld. So wurde ein Botnetz zum Beispiel bei einem Angriff auf die nationalen IT-Infrastrukturen in Estland benutzt und legte dort auch Regierungs-Server tagelang in einem Denial of Service lahm [3].
In den entsprechenden Kreisen kann man Botnetze oder auch einzelne Viren individuell anfertigen lassen oder für spezielle Anwendungen in Auftrag geben. Dazu gibt es mitunter sogar etwas wie Support und Garantien wie in der legalen Wirtschaftswelt auch. Interessant für die Auftraggeber sind zum Beispiel Zugangsdaten zum Online-Banking oder zu kostenpflichtigen Inhalten. Das ist zwar kriminell, aber lohnenswert.
Spyware horcht den Rechner und seine Anwender aus. Anbieter bauen Funktionen in ihre Anwendungen ein, die das Benutzerverhalten beobachten und zum Auftraggeber übermitteln. Um dieses Vorgehen zu legalisieren und Bestimmungen des Datenschutzes zu umgehen, verschleiern sie mitunter die Zustimmung des Anwenders in Nutzungsbedingungen. Da die Grenze hier oft fließend ist, stehen durchaus auch namhafte Unternehmen in der Kritik, übermäßig neugierig zu sein.
In der Regel enthält Malware Programmcode zur Arterhaltung. Computerviren nehmen ihre Kollegen im menschlichen Körper zum Vorbild und befallen andere Programme, indem sie dort schädlichen Code einschleusen. Das gelingt unter Ubuntu nicht gut, vorausgesetzt, Sie schwächen die voreingestellten Berechtigungen nicht künstlich und starten möglichst wenig Aktivitäten mit Superuser-Rechten. Gerade der Einsatz von sudo, der dafür sorgt, dass Sie nur einzelne Kommandos mit erweiterten Rechten ausführen, gilt unter Experten als vorbildlich.
Viren verbreiten sich nach der klassischen Definition nur innerhalb eines einzelnen Rechners. Greifen sie über das Netz andere Systeme an, sprechen Malware-Jäger von Würmern (Abbildung 2). Einer der ersten legte bereits in den 1980er Jahren den Großteil des damals – allerdings noch viel kleineren – Internet für einige Tage lahm [4]. Heute sind Botnets weitgehend in die Fußstapfen von Würmern getreten und suchen ihrerseits nach neuen, verwundbaren Opfern.
Um im fremden Organismus zu bestehen, strebt Schadsoftware aber nicht nur danach, sich zu vervielfältigen, sondern tarnt sich auch auf bereits infizierten Systemen, um nicht erkannt und gelöscht zu werden. Dies ist die Hauptaufgabe von Rootkits, einer Art Werkzeugkiste, die verschiedene virale Komponenten zu einem Kit zusammenfasst.
Schadsoftware hat einen Auftrag. Sie muss in den Rechner eindringen, diesen zu ihrem Wohle verändern und die Beute nach Hause schicken. Diese Aktivität hinterlässt jedoch Spuren. Halten Sie etwa in einer Datenbank mit Prüfsummen fest, welche Dateien Sie auf Ihrem Computer installiert haben, kommen Sie Veränderungen schnell auf die Schliche. Dafür eignen sich Programme wie Tripwire, Aide, Systraq oder Stealth. Tripwire und Systraq überwachen wichtige Systemdateien und teilen Änderungen auf Wunsch per E-Mail mit.
Manche Malware prüft jedoch erst einmal, welche Tools Sie installiert haben und reagiert entsprechend, bevor sie aktiv wird. Daher gibt es Tools wie Stealth, die von einem zweiten Rechner aus das System überprüfen. Dazu verwendet es Standardtools wie ssh, find und md5sum und tarnt ihrerseits den Check.
Tripwire [5] und Aide [6] sind komplexe Werkzeuge, für die Sie einige Einarbeitungszeit brauchen. Für den Anfang genügen das einfacher zu steuernde Systraq [7] oder Stealth [8]. Diese Tools sind zwar nicht ganz so mächtig, geben aber in vielen Fällen erste Hinweise auf einen Einbruch. Die zweite Möglichkeit ist eine laufende Überwachung von bestimmten Aktivitäten, wie der Prozessorlast, der Netzwerknutzung und der Schreib- und Lesezugriffe auf die Speichermedien. Schnellt die Last unerwartet in die Höhe, lohnt ein Blick auf die gerade laufenden Aktivitäten.
Bei der Prozessanalyse leistet Monit [9] gute Arbeit. Das Tool überwacht nicht nur die Auslastungen von Prozessor, Netzwerk und Speicher, es alarmiert auch, wenn Programme von selbst neu starten. Daemons laden die Distributionen gewöhnlich nur beim Systemstart, aber nicht im laufenden Betrieb.
Netzwerkaktivitäten sind oft ein wichtiger Hinweis auf einen ungebetenen Gast auf dem Rechner. Netspeed ist ein Monitor für das Gnome-Panel und zeigt schlicht an, ob die Netzwerkkarte aktiv ist [10]. Tiefer ins Detail geht Wireshark [11]. Das Profiwerkzeug zeigt sehr viele Daten an, die Sie erst nach eingehender Beschäftigung richtig interpretieren können. Aber auch als Einsteiger ohne tiefergehende Kenntnisse von Netzwerkprotokollen nützen Ihnen die Informationen darüber, wohin ein Prozess Daten sendet. Mittels whois finden Sie dann nämlich heraus, wem das Zielsystem gehört.
Um aktive Netzverbindungen zu entdecken, rufen Sie netstat -tuna auf (Abbildung 3). Die Option n unterdrückt die Namensauflösung, da gerade das bei suspekten Verbindungen nicht gelingt und unnötig Zeit kostet. Gute Dienste leistet auch das einfache Netzwerktool Iptraf [12]. Es stellt die Verbindungen dar und löst auf Wunsch auch Hostnamen auf.
(KX)Ubuntus Sicherheitsmaßnahmen gelten zum Glück als robust. Weil sudo administrative Rechte vom Benutzer isoliert, sich die vom Sicherheitsteam regelmäßig bereitgestellten Updates einfach einspielen lassen und (KX)Ubuntu eine Menge Tools mitbringt, müssen Sie kaum noch etwas tun, um den Befall von Malware weiter vorzubeugen. Doch selbst wenn die Zahl der Linux-Viren gering ist, schadet ein einfacher Virenscanner wie Clam Anti-Virus (Abbildung 4) nicht [13]. Gerade wenn Sie Dateien mit anderen Systemen austauschen, ist das Tool ein Muss, denn die Rechtsprechung fordert Maßnahmen und nimmt selbst diejenigen mitunter in Haftung, die fahrlässig Viren verbreiten [14]. Wenn Sie die Mittel, die Ubuntu Ihnen bietet, nutzen, haben Sie jedoch weit weniger zu befürchten als eine Fahrt in der Straßenbahn im Herbst.
Glossar
Denial of Service
Dabei bombardieren die gekaperten Rechner den Server so lange mit Anfragen, bis dieser nicht mehr erreichbar ist.
Infos
[1] Marcus Nasarek, "Feuerfest": http://www.linux-community.de/Internal/Artikel/Print-Artikel/LinuxUser/2007/01/Feuerfest
[2] Kristian Kißling, "Mauern mit Ubuntu": http://www.linux-community.de/Internal/Artikel/Print-Artikel/LinuxUser/2009/07/Mauern-mit-Ubuntu
[3] Botnetze greifen Estland an: http://www.readersdigest.de/krieg_im_netz
[4] Morris-Wurm legt 1988 das Internet lahm: http://www.dunklesauge.de/1hack/morris.htm
[5] Howto zu Tripwire: http://www.ostc.de/howtos/tripwire-HOWTO.txt
[6] Torsten Scherf, "Spurensucher": http://www.linux-community.de/Internal/Artikel/Print-Artikel/LinuxUser/2007/02/Spurensucher
[7] Systraq: http://mdcc.cx/pub/systraq/systraq-latest/doc/manual.html
[8] Stealth: http://stealth.sourceforge.net/
[9] Monit: http://mmonit.com/monit/
[10] Netspeed: http://projects.gnome.org/netspeed/
[11] Wirshark: http://www.wireshark.org/
[12] Thomas Leichtenstern, "Verkehrsüberwachung": http://www.linux-community.de/Internal/Artikel/Print-Artikel/LinuxUser/2009/06/Verkehrsueberwachung
[13] Robert Hogan, "Saubermann": http://www.linux-community.de/Internal/Artikel/Print-Artikel/LinuxUser/2007/01/Saubermann
[14] Haftung für Computerviren: http://www.kanzlei.de/Virenhaftg.htm