Sicherheitsbasis

05.05.2000
Computerviren - Schreckgespenster der modernen EDV-Landschaft, wer hat noch nicht von ihnen gehört oder gelesen? Scheinbar befällt dieses "Ungeziefer" vornehmlich Windows-Rechner, und so meinen viele Unix-/Linux-Anhänger häufig sogar, ihr System sei per se Virenresistent. Wir geben einen Überblick über die Virenanfälligkeit der einzelnen Betriebssysteme und die Hintergründe dazu.

Von: Frank-Michael Schlede

Ein System- und Netzwerkverwalter muss an vielen "Fronten" kämpfen, wenn es um die Sicherheit der ihm anvertrauten Systeme geht. Ein "Schreckgespenst", das es in der Zwischenzeit auch zu einer zweifelhaften Popularität in der Tages- und Boulevardpresse gebracht hat, sind die so genannten Computerviren. Glaubt man den oftmals hysterischen Berichten, die auch in IT-Fachmagazinen immer wieder auftauchen, so stellen diese Programme die größte Bedrohung für alle Computersysteme dar. Bei einem genaueren Blick auf die Thematik wird schnell deutlich, dass zu einem Großteil Rechner betroffen zu sein scheinen, die unter einem von Microsofts Windows-Systemen betrieben werden. Meldungen über katastrophale Virenschäden auf Unix-Betriebssystemen sind noch sehr selten zu finden.

Natürlich hat das sicher auch mit der Verbreitung der verschiedenen Betriebssysteme zu tun: Die Anzahl der Unix-Rechner mag im professionellen Systemumfeld relativ hoch sein und durch die zunehmende Verbreitung der Linux-Systeme wird sich das Betriebssystem auch weiter behaupten. Doch verglichen mit den weltweit existierenden Rechnern, die unter irgendeinem Release von Microsoft Windows betrieben werden, ist ihre Zahl eher gering. Ist die Häufigkeit von Virenattacken also nur auf die Verbreitung der verschiedenen Betriebssysteme zurückzuführen? Oder besitzen Unix-Systeme eine "eingebaute" Sicherheit gegen Virenattacken?

Stärken und Schwächen

Ein Vergleich einiger wesentlicher Eigenschaften der Betriebssysteme Windows 95/98, Windows NT und 2000 sowie der Linux- beziehungsweise Unix-Systeme zeigt jedoch bereits Unterschiede bei der "Virenfestigkeit" dieser Systeme. Auch wenn es in den letzten Monaten einige Aufregung im World Wide Web und in diversen Newsgroups über Unix- und speziell Linux-Viren gegeben hat, so zeigt doch der grundsätzliche Vergleich, wo die Vorteile eines Unix-Systems liegen.

Die meisten Viren oder anderen "bösartigen" Programme müssen innerhalb einer ausführbaren Datei aktiv werden, die dann von einem Anwender auf dem System auch wirklich gestartet wird. Schließlich handelt es sich bei Viren in der Regel um ein Stück Programmcode, das dann die "finsteren" Absichten seines Schöpfers auf dem Zielsystem erledigen soll. So gilt es also den Anwender dazu zu verleiten, eben ein solches Programm zu aktivieren. In den Zeiten des WWW, des Internets und der Web-Seiten, die von freier und interessanter Software schier überquellen, sicher kein Problem: Wer hätte noch nicht ein vermeintlich interessantes Programm heruntergeladen und dann einfach auf seinem Rechner gestartet?

Wird dies auf einem Windows 95/98-System gemacht, so sind die daraus entstehenden Gefahren sehr groß: Ein Schutz des Hauptspeicherbereichs vor Programmen, die sich hier speicherresistent installieren, ist nicht vorhanden und was viel schwerer wiegt: Windows 9x ist als Single-User-System konzipiert worden. Das bedeutet auch, dass der Anwender (beziehungsweise das Programm, das er startet) auf alle kritischen und sicherheitsrelevanten Bereiche des Betriebssystems zugreifen kann. Erschwerend kommt hier ein grundsätzlicher Designfehler hinzu, den Microsoft leider konsequent durch alle Betriebssystem-Versionen hindurch mitzieht: die Vermischung von Applikations- und Systemdaten. Alle Anwendungsprogramme und ganz besonders die Microsoft-eigenen Entwicklungen schreiben Daten in Systemverzeichnisse. So besitzt der Systemverwalter unter Windows-NT- und den neuen Windows-2000-Systemen zwar die Möglichkeit, diese wichtigen Verzeichnisse für den Zugriff von anderen Anwendern zu sperren, wie es auf einen Multiuser- oder gar Server-System auch unbedingt möglich sein muss. Allerdings wird dieser Schutzmechanismus dadurch außer Kraft gesetzt, dass Anwendungen wie beispielsweise Microsoft Office oder Corel Draw bereits der Installation einen schreibenden Zugriff auf die Systembereiche benötigen. Das Programm "Outlook 98" legt unter Windows NT 4.0 sogar die Daten eines Anwenders standardmäßig unterhalb des NT-Systemverzeichnisse ab.

Sowohl die Zugriffsrechte auf die einzelnen Dateien als auch die Orte, an denen Anwendungen innerhalb der logischen Struktur des Dateisystems abgespeichert werden, sind auf Unix-Systemen weitaus klarer und sicherer geregelt. Zunächst einmal wird es auf einem professionell verwalteten Unix-System immer so sein, dass ein Systemadministrator die Software installiert, die auf dem ganzen System eingesetzt werden soll. Natürlich kann ein Anwender in der Regel ohne Probleme seine eigene Software auf dem System installieren, allerdings wird er dafür keine Zugriffsberechtigung auf Daten bekommen, die direkt zum Betriebssystem gehören. So existieren auf vielen Unix-Systemen standardmäßig Verzeichnisse, die unter dem Pfad "/usr/local" aufgehängt sind. Zudem werden diese Verzeichnisse von den meisten Administratoren auf eine eigene physikalische Partition der Festplatte verbannt, damit auch auf dieser Ebene eine Trennung besteht. Standardmäßig kann ein "normaler" Anwender auf einem Unix-System die wichtigen Verzeichnisse wie etwa "/usr/bin" oder "/etc" nur lesen oder Programme ausführen, die dort abgespeichert sind. Die grundsätzliche Dreiteilung der Zugriffsrechte nach Dateibesitzer (owner), Benutzergruppe, zu der dieser Besitzer gehört (group), und alle anderen Anwender auf dem System (others) ermöglicht bereits ein gewisses Maß an Sicherheit, wenn sie vom Administrator konsequent gehandhabt und verwaltet wird.

Ein weiteres Sicherheitsrisiko, das gerade im Zusammenhang mit der Virengefahr stark in Erscheinung tritt, sind die so genannten Skript-Sprachen, zu denen neben ActiveX, Visual Basic, Javascript und Java auf den Unix-Plattformen auch die überall zum Einsatz kommenden Shell- und Perl-Skripte neben diversen anderen Interpretersprachen hinzukommen. Während es sich bei Ac-tiveX und den diversen Makrosprachen der Applikationen um reine Windows-Implementierungen handelt, taugen gerade die SkriptSprachen auch für den Pattformübergreifenden Einsatz.

Aufregung um "Unix-Viren"

So gab es besonders Mitte der 90er-Jahre eine groß angelegte Diskussion im Internet über die Gefahr, die von Skript-Viren auf Unix-Plattformen ausgeht. Natürlich können gerade mit mächtigen Interpretersprachen wie der Korn-Shell oder Perl sehr effiziente "böse Programme" (in den Originaltexten häufig als "malicious code" bezeichnet) entwickelt werden. Allerdings kann ein Anwender, der solche Programme auf einem Unix-System startet, in der Regel nur sich und seinen eigenen Daten schaden, eine gut geführte "User-Policy" vorausgesetzt. Eine gewisse Gefahr in diesem Bereich entsteht durch Linux-Systeme, die im Desktop-Bereich eingesetzt werden. Sind hier nur "Windows-gewohnte" Anwender an der Arbeit, die beispielsweise aus Bequemlichkeit immer mit "Root"-Rechten (also mit allen Rechten des Systemadministrators) arbeiten, so können natürlich auch Shell- oder C-Programme, die unbedacht ausgeführt werden, zu großen Problemen führen. Aber auch hier ist es wiederum eine Frage des konsequenten Einsatzes der standardmäßig unter Unix vorhandenen Schutzmechanismen. So kann beispielsweise ein C-Programm, das von einem Anwender gestartet wird, zwar versuchen, direkt auf den Hauptspeicher zuzugreifen, um dort den Bereich des Betriebssystems zu überschreiben oder zu verändern. Der Unix-Kernel grenzt den User-Bereich jedoch so deutlich gegen den Systembereich im Hauptspeicher ab, dass ein solcher Versuch nur zum Absturz des Anwenderprogramms führen wird. Ein ähnliches Programm unter Windows 9x, mit dessen Hilfe das System zum Absturz gebracht werden kann, ist relativ leicht zu erstellen, da hier kein Speicherschutz besteht.

Es zeigt sich also auch aus der "Betriebssystem-Sicht", dass es keine absolute Sicherheit gibt. Es ist sicher keine Frage, dass ein Windows 95/98 ohne die entsprechende Virensoftware viele Angriffspunkte bietet. Unter Windows NT und ganz besonders unter Windows 2000 wurden von Microsoft viele zusätzliche oder verbesserte Sicherheitsmechanismen eingeführt, die jedoch auf den Schutz vor Computerviren wenig Einfluss haben. Die weit verbreitete Meinung, "unter Unix existiert eine Virengefahr nicht", ist sicher pauschal nicht richtig und könnte ein trügerisches Sicherheitsgefühl vermitteln. Allerdings ist ein weit entwickeltes Betriebssystem wie Unix leichter vor solch einer Gefahr zu schützen. Aber gerade wenn ein Unix-System in der Funktion als zentraler Mail-Server eingesetzt wird, sind große Vorsicht und Wachsamkeit angebracht. Deshalb wird das Angebot an Anti-Viren-Software für den Einsatz auf Mail-Servern unter Unix immer breiter. Aber auch hier gilt: Der beste Schutz für Systeme und das Netzwerk bleibt ein aufmerksamer Administrator, der regelmäßig Kontrollen durchführt.