Linux Buero

Zurück zur Homepage

Hardware: Beratung und Verkauf
Software: Open Source Software
Design und Implementierung von Netzwerken
Intranets
Client/Server-Systeme
Unix/Windows Integration durch SAMBA
Hochverfügbare Clusterlösungen
Beowulf-Numbercruncher Schulungen zur Netz- und Systemadministration


Kontakt

Im folgenden findet sich eine Übersetzung eines Grundlagenartikels von Kurt Seifried

UNIX (und besonders Linux) Virenbefall: Die wahre Geschichte

(Übersetzung: Michael Eilers)

Es gab in letzter Zeit einiges Aufsehen um den Virenbefall von UNIX Betriebssystemen. Viel davon ist kompletter Unsinn. Viele dieser Beiträge scheinen unter Mitwirkung von Viren Experten entstanden zu sein. Dies ist erfreulich, aber es scheint, daß diese Experten wenig UNIX Kenntnisse besitzen. Dies ist erstmal nicht überraschend, da die meisten Viren und Anti-Viren Software für Windows geschrieben werden (erst in den letzten ein bis zwei Jahren haben Hersteller von Anti-Viren Software ihre Produkte auf UNIX portiert).

Zuallererst scheint es notwendig das Problem genauer zu definieren und die wichtigeren Begriffe zu klären, da viele Artikel über die Virusproblematik Dinge in befremdlicher Weise vermischen. Ein Virus ist eine Software, die Daten und Anwendungen infizieren kann, sich oft selbst repliziert und entweder (beabsichtigt oder auch nicht) harmlos ist oder auch nicht. Einige Viren hängen sich z.B. an ausführbare Dateien und vermehren sich, wenn diese Dateien zwischen verschiedenen Benutzern ausgetauscht werden. Andere Viren (wie etwa der Melissa Virus (oder der LoveLetter Virus, d.Ü.)) benutzen einfach das Email Adressbuch eines Nutzers um sich zu verbreiten und führen so zur Überlastung von Mail Servern.

Ein Virus muß durch den Benutzer gestartet werden und es gibt viele Wege einen Benutzer auszutricksen, damit er ein Programm startet. Der einfachste und oft erfolgreiche Weg ist, den Virus an eine Mail zu hängen und zu behaupten, es handele sich um ein neues Spiel. Bei Windows gibt es eine Vielzahl von Möglichkeiten um Programmcode auszuführen (ActiveX, Javascript, autorun.inf usw.) besonders seit Microsoft sich entschlossen hat Programmcode und Daten in einer Datei zu vermischen (z.B. Makros in Word und Excel - wer benutzt die überhaupt noch außer Viren Programmierer?) und nur wenige Möglichkeiten vorsieht diese Features abzuschalten (man kann Makros nicht zuverlässig abschalten oder den Zugriff auf Javascript gezielt einschränken). Einmal durch einen Benutzer gestartet repliziert sich der Virus normalerweise. In der Vergangenheit wurde dies erreicht, indem sich der Virus an ausführbare Dateien hängt, die dann beim Astausch mit z.B. einem Freund dessen Rechner auch infizierten. Mit dem Wachsen des Internet wurde es relativ leicht infizierte Dateien zum Download zur Verfügung zu stellen. Während große Server ihre Dateien nach Viren scannen sind gerade die Dateien an denen die meisten Leute interessiert sind (lizensierte Software) dort nicht vorhanden (und werden privat verteilt oder über illegale Server vertieben d.Ü.). Genauso hat die explosionsartig gestiegene Email Nutzung die Verbreitung von Viren erleichtert. Mit der Verbreitung von Mail Programmen, die automatisch Anwendungen starten können, hat sich die Ausbreitung von Mail Viren explosionsartig vermehrt.

Um zu den Grundlagen zurückzukehren: Viren müssen durch den Benutzer gestartet werden um irgendwas auszurichten. Im Allgemeinen sind Privatnutzer ihre eigenen Systemadministratoren und überhaupt kennt Windows 95/98 keinen Unterschied zwischen Benutzer und Administrator. Zusätzlich haben diese Betriebssysteme keine Sicherheitsfunktionen für das Dateisystem. D.h., daß jeder, der Software auf einem Windows Rechner starten kann alles mit Windows 95/98 machen kann, von der Installation zusätzlicher Software bis zum Formatieren der Festplatte. Zusätzlich besitzt die breite Mehrheit der Windows Nutzer (wenn überhaupt) keine aktuelle Anti-Viren Software. Demgegenüber läuft in Unternehmen meist aktuelle Anti-Viren Software mit automatischer Update Funktionalität. Privatnutzer mit UNIX Rechnern benutzen typischerweise den "root account" zur Administration und sonst einen normalen Benutzer Account. Für die meisten UNIX Betriebssysteme ist es von vornherein klar, daß zur normalen Nutzung nicht der "root" Account verwendet wird. Ist man als normaler Nutzer auf einem UNIX System eingeloggt kann man (wenn überhaupt) nur sehr wenig Unheil auf dem System anrichten. Typischerweise sind die einzigen Bereiche in die ein Benutzer schreiben kann /tmp und sein eigenes Heimatverzeichnis. Verzeichnisse mit Konfigurationsdateien (wie /etc) oder Systemdateien (/bin /sbin) sind typischerweise schreibgeschützt (I haven't seen a modern UNIX that doesn't). Auch wenn ein Nutzer mit Viren infizierte Programme startet, können diese nicht viel Schaden am System selbst anrichten. Natürlich gibt es Ausnahmen von dieser Regel. Einige große FTP-Server sind gehackt worden und einige beliebte Softwarepakete sind verändert worden. Gewöhnlich lassen sich diese Änderungen schnell erkennen sobald man Prüfsummen der Dateien berechnet (komischerweise kümmern sich die meisten Server für Windows Software nicht darum).

Solange es sich um Firmenumgebungen handelt, sind diese meist sehr homogen, wobei meist auf allen Arbeitsplatzrechnern das gleiche Betriebssystem läuft, hoffentlich Windows NT. NT unterstützt Dateizugriffsrechte und typischerweise haben Benutzer keine Administratorrechte auf ihren Arbeitsplatzrechnern. Unglücklicherweise sind die Standardeinstellungen bei den Zugriffsrechten bei NT (sowohl Server alsauch Workstation) "everyone" (genauergesagt die Gruppe mit dem Namen "everyone"). Dies erlaubt volle Kontrolle (d.h. Änderung von Zugriffsrechten und Änderungen in Dateien) für das Gesamtsystem. Eine Aufteilung dieser Rechte ist problematisch, da viele Softwarepakete Schreibzugriff auf Systemverzeichnisse erfordern. Windows 95/98 ist ein sehr armseliges Arbeitsplatzsystem, da jeder Benutzer leicht alles verändern kann (es gibt kein Dateirechte Konzept und kein Benutzerkonzept). Man kann zwar die Oberfläche mit "user policies"schützen (z.B. durch Entfernen der Netzwerkumgebung) aber man kann das darunterliegende Betriebssystem nicht effektiv schützen. Die meisten Firmen investieren in Anti-Viren Software und halten diese aktuell, aber wenn Mail Viren sich innerhalb von Stunden verbreiten können (im Gegensatz zu Tagen, Wochen oder Monaten bevor das Internet Email zum Massenkommunikationsmittel machte) ist es schwierig, wenn nicht gar unmöglich Software Updates rechtzeitig einzuspielen. Im Gegensatz dazu sind UNIX Rechner in Unternehmen meist Server, die gut geschützt sind (und garantiert wenig Benutzer haben) oder Arbeitsplatzrechner für "ernsthafte" Nutzer wie Ingenieure oder Wissenschaftler. Ein Nachteil ist, daß Unternehmensumgebungen häufig sehr homogen sind, so daß ein eingedrungener Virus schnell alle Arbeitsplätze betrifft.

Eigenschaft / Betriebssystem Windows 95 / 98 NT 4.0 / Windows 2000 Linux / UNIX allgemein
Dateisystem Sicherheit Nein Ja - Zugriffslisten, aber viele Programme wie Ms Office, Corel etc. benötigen Schreib / Lesezugriff auf sensible Verzeichnisse. Ja - "User/Group/Other", die meisten wichtigen Verzeichnisse und Dateien sind standardmäßig geschützt.
Speicherschutz Nicht wirklich Ja, hat Probleme Ja, einige Probleme
"Chroot" für Netzdienste Nein Weniger, normalerweise unbenutzt Ja, einige Probleme (wenn ein Prozess "chrooted", aber noch unter "root" läuft kann es versagen)
Prozesse als unprivilegierter Benutzer Nein Ja, mit Problemen Ja
Software Installation Normalerweise durch Benutzer Sollte durch den Administrator stattfinden, viel wird aber durch Benutzer installiert. Fast immer durch den Administrator. Benutzer können nur in ihrem Heimatverzeichnis installieren (normalerweise).
Anti-Viren Software Ja Ja Ja
Dateisystem Integritäts Software Ja Ja Ja (viele freie Software)
Infektions- wege Email, HTML, Java, JavaScript, Fremdsoftware, Wechsel- medien, Daten (wie Microsoft Word, Excel) Email, HTML, Java, JavaScript, Fremdsoftware, Wechsel- medien, Daten (wie Microsoft Word, Excel) Email (meist als Attachements), JavaScript, Java, Fremdsoftware
Allgemeine Virenresistenz Keine Resistenz, mit Anti-Viren Software gute Resistenz Wenig Resistenz, mit Anti-Viren Software gute Resistenz Gute Resistenz, zusätzliche Anti-Virensoftware verbessert wenig (hilft Client-Rechner vor Mail-Viren zu schützen).

Was kann man nun tun um das Risiko zu minimieren? Gehen Sie umsichtig und sicherheitsbewußt mit Ihrem Rechner um und benutzen Sie Anti-Viren Software, wenn Sie Windows Rechner benutzen:

  • Niemals Software aus unsicheren Quellen verwenden
  • Benutzen Sie große FTP-Server wie Tucows oder ftp.cdrom.com
  • Prüfen Sie Dateisignaturen (gewöhnlich MD5 oder PGP)
  • Halten Sie Ihre Software aktuell (kontollieren Sie regelmäßig die Webseiten der Hersteller nach Sicherheitshinweisen und nutzen Sie eventuell vorhandene Benachrichtigungs-Mailinglisten)
  • Benutzen Sie den Administrator Account Ihres Betriebssystems sowenig wie möglich
  • Schalten Sie Java/Javascript in Ihrem Browser ab, wenn Sie diese Sprachen nicht unbedingt brauchen.

Die Anzahl von Linux (und UNIX) Viren wird vermutlich zunehmen aber ich bezweifle, daß man eine ähnliche Explosion sehen wird unter der die Windows Welt seit einigen Jahren zu leiden hat. Das Argument, daß "die wachsende Popularität von Linux (und UNIX allgemein) auch zu mehr Viren führen wird" ist wahrscheinlich in begrenztem Maß richtig. Aber das allgemeine Benutzerverhalten und die Systemeigenschaften werden die Mehrheit der Viren effizient an einer Ausbreitung hindern.

Kurt Seifried ist Sicherheitsanalytiker und Autor vom "Linux Administrator's Security Guide"

Aachener Linux User Group Linux Deutschland aktuellster Newsticker legendärer Newsticker aktuelle Linux-Software lesenswerte wöchentliche News-Zusammenfassung letzter großer Linux-Event in D

©1999 Michael Eilers, Linux Buero