Ein Betriebssystem oder ein Programm kann von Schadprogrammen angegriffen werden, wenn es ein Programm ausführen kann, das kein Teil des Systems oder des eigentlichen Programms ist. Diese Bedingung wird von allen beliebten Desktop-Betriebssystemen, vielen Office-Programmen, Bildverarbeitungsprogrammen, Design-Software und anderen Programmen mit eingebauten Scripting-Sprachen erfüllt.
Computerviren, Würmer und Trojaner wurden bereits für Duzende Betriebssysteme und Programme geschrieben. Dennoch gibt es eine Reihe von Betriebssystemen und Programmen, für die bisher keine Schadprogramme entdeckt wurden. Wie unterscheiden sich also diese beiden Gruppen?
Schadprogramme für bestimmte Betriebssysteme oder Programme tauchen auf, wenn die folgenden drei Bedingungen gleichzeitig erfüllt werden:
- Beliebtheit oder große Verbreitung eines bestimmten Betriebssystems
- Verfügbarkeit einer umfassenden Dokumentation: das Betriebssystem muss ausreichend und umfassend dokumentiert sein
- Angreifbarkeit des Systems: das Betriebssystem muss ungeschützt sein oder es müssen in seinem Schutz und/oder den Programmen Sicherheitslücken existieren.
Jede der genannten Bedingungen ist notwendig und alle drei müssen erfüllt sein, damit schädliche Programme im System auftauchen können.
Das Betriebssystem muss beliebt sein, so dass mindestens ein Cyberkrimineller oder Hacker darauf aufmerksam wird. Wenn es kaum eingesetzt wird, ist es unwahrscheinlich, dass es angegriffen wird. Wenn sich ein Betriebssystem aber auf dem Massenmarkt durchsetzen kann, ist die Wahrscheinlichkeit sehr hoch, dass Hacker oder Virenschreiber das System eines Tages für ihre eigenen Zwecke missbrauchen wollen.
Das bringt uns natürlich zu dieser Schlussfolgerung: Je beliebter ein Betriebssystem oder ein Programm ist, desto häufiger wird es durch Viren angegriffen werden. Und die Praxis bestätigt diese Schlussfolgerung: Die Masse von Schadprogrammen, die für Windows, Linux und MacOS geschrieben werden, spiegelt deren Marktanteile wieder.
Die Verfügbarkeit einer umfassenden Dokumentation wird aus ganz praktischen Gründen benötigt: Ein Virenschreiber (und generell jeder Programmierer) benötigt eine technische Beschreibung, um zu verstehen, wie die Dienste eines Betriebssystems genutzt und ausführbare Programme dafür geschrieben werden können. Beispielsweise haben die Hersteller normaler Handys Anfang des neuen Jahrtausends keine Dokumentationen veröffentlicht, so dass Software-Entwickler und Hacker keine Programme für diese Geräte erstellen konnten. Handys, die Java unterstützen, sowie Smartphones haben aber Dokumentationen zur Programmentwicklung, so dass auch Schadprogramme für genau diese Gerätetypen auftauchten.
Sicherheitslücken in der Software können entweder mit dem Programm zusammenhängen (ein Fehler im Programmcode, der einem Virus erlaubt, in das Programm einzudringen und die Kontrolle über das System zu übernehmen) oder logische Gründe haben (rechtliche oder sogar dokumentierte Möglichkeiten, in das System einzudringen). Wenn bekannt ist, dass in einem Betriebssystem oder in Programmen Sicherheitslücken existieren, sind diese Systeme offen für schädliche Programme, egal, wie gut geschützt sie sind.
Der Schutz eines Betriebssystems sind bauliche Lösungen, die neuen oder unbekannten Programmen nicht erlauben, kompletten oder für die Programme ausreichenden Zugriff auf gespeicherte Dateien (inklusive andere Programme) und potenziell gefährliche Systemdienste zu bekommen. Diese Beschränkung blockiert jegliche schädliche Aktivität, bedeutet aber gleichzeitig auch enorme Einschränkungen für reguläre Programme.
Leider gibt es keine Beispiele von bekannten offenen und multifunktionalen Betriebssystemen oder Programmen. Die Java Machine erfüllt diese Schutzbedingung teilweise – sie führt Java-Programme im Sandbox-Modus aus, das heißt, sie kontrolliert genau alle Aktionen des Programms, die ja potenziell schädlich sein könnten. Und wirklich gab es seit langem keine „echten“ Viren und Trojaner in Form von Java-Programmen, mit der Ausnahme von Test-Viren, die im echten Leben praktisch nicht lebensfähig wären. Schädliche Java-Programme tauchten nur auf, wenn Methoden entdeckt worden waren, durch die die eingebauten Sicherheitssysteme der Java Machine umgangen werden konnten.
Die Betriebssysteme in normalen Handys (keinen Smartphones und auch ohne Unterstützung externer Java-Programme) können als Beispiel weitverbreiteter, geschützter Systeme dienen. Allerdings können auf diesen Systemen keine neuen Programme installiert werden und meist existiert keine Dokumentation, wie neue Programme dafür entwickelt werden können. Daher sind diese Systeme stark in ihrer Funktionalität eingeschränkt und können nicht erweitert werden. Das Gute daran ist, dass es für diese Systeme auch keine Viren gibt.
Die BREW-Plattform ist ein weiteres Beispiel für eine Plattform, die vor Viren geschützt ist. Mobile Telefone mit diesem System erlauben nur die Installation zertifizierter Programme mit verschlüsselten Signaturen, und auch das nur über die Mobilfunkanbieter. Andere Software-Hersteller werden unter Vertrag genommen und es gibt auch eine detaillierte Dokumentation. Allerdings muss jedes Programm zertifiziert werden, was die Software-Entwicklung verlangsamt und die Geschäftsprozesse kompliziert macht. Daher ist das System nicht wahnsinnig beliebt und kann im Gegensatz zu seinen Konkurrenten keine große Auswahl an Programmen vorweisen.
Man kann sich kaum vorstellen, wie es wäre, wenn Desktop-Betriebssysteme wie Windows oder MacOS genau so arbeiten würden. In diesem Fall wäre die Software-Entwicklung durch Dritte viel komplizierter, falls sie überhaupt möglich wäre, es gäbe viel weniger Web-Dienste und Geschäftsprozesse wären viel langsamer. Die Welt würde anders aussehen – langsamer, langweiliger und irgendetwas würde fehlen. Man kann die Schäden, die Schadprogramme verursachen, also als den Preis ansehen, den wir für das Leben in einer dynamischen Hi-Tech-Welt bezahlen.