Sicherheitsbasis

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.