Es ist offensichtlich, dass für einen erfolgreichen Virusangriff ein Betriebssystem oder eine Anwendung die Möglichkeit haben muss, Programme zu starten, die nicht Bestandteil des eigentlichen Systems sind. Dieser Bedingung entsprechen:
alle verbreiteten Betriebssysteme,
die meisten Office-Anwendungen,
grafische Editierprogramme,
System-Projektierungssoftware und
verschiedene Programm-Komplexe, die eingebaute Skriptsprachen haben.
Für Dutzende Betriebssysteme und Anwendungen existieren verschiedenste Computer-Viren, Würmer, Trojaner etc. Gleichzeitig gibt es eine große Zahl anderer Betriebssysteme und anderer Anwendungen, in denen bislang keine Schadprogramme vorgekommen sind. Welches sind also die Bedingungen für die Existenz der schädlichen Programme in diversen Systemen, bzw. der Nichtexistenz in anderen Systemen?
Folgende Voraussetzungen müssen erfüllt sein, um Schadprogrammen den Weg zu ebnen:
Popularität und weite Verbreitung des gegebenen Betriebssystems
das Vorhandensein einer umfangreichen Dokumentation über das System
das System ist ungeschützt oder es existieren bekannte Schwachstellen im Sicherheitssystem.
Alle drei Bedingungen sind Schlüsselfaktoren, und alle drei zusammen bilden die Voraussetzung für das Auftauchen der Schadprogramme.
Die Popularität des Systems ist eine wichtige Bedingung, da wenigstens ein Cyber-Vandale oder Hacker mit diesem System arbeiten muss. Wenn es nur wenige Exemplare des Systems gibt, so ist die Wahrscheinlichkeit der Nutzung durch die Übeltäter praktisch Null. Wenn der Hersteller des Systems eine Massenverbreitung erreicht hat, so ist klar, dass früher oder später Hacker und Virenschreiber dieses System in ihrem Interesse ausnutzen werden.
Folglich - je populärer ein Betriebssystem oder eine Anwendung ist, umso häufiger werden sie Opfer der Virus-Attacken. Und wahrlich - die Verteilung der Anzahl der Schadprogramme auf die Windows- und Linux- Programmversorgung stimmt praktisch mit den Marktanteilen dieser Betriebsprogramme überein.
Das Vorhandensein einer vollständigen Dokumentation ist aus einem ganz natürlichen Grund notwendig für die Existenz der Viren: die Erstellung eines Programms (auch eines Virusprogramms) ist unmöglich ohne die technische Beschreibung und der Regeln für die Anwendungen. Bei den meisten Mobil-Telefonen beispielsweise ist diese Information 'unter Verschluss' - und weder die Hersteller-Unternehmen der Programm-Produkte noch die Hacker haben die Möglichkeit, Programme für die gegebenen Geräte zu erarbeiten. Für einige ganz 'schlaue' Telefone gibt es Dokumentationen für die Anwendung. Die Folge - es erscheinen Schadprogramme, die speziell für diese Telefone entwickelt werden. So tauchten kurz nach der Veröffentlichung der Dokumentationen Mitte 2004 die ersten Viren für Symbian (Worm.SymbOS.Cabir.a) und Windows CE (WinCE.Duts.a) auf.
Unter dem Schutz eines Systems versteht man bestimmte Architektur-Lösungen, die es einer neuen, unbekannten Anwendung nicht ermöglichen, vollständigen oder ausreichenden Zugang zu den Dateien auf der Festplatte (inklusive zu anderen Anwendungen) und zu potentiell gefährlichen Service-Systemen zu erhalten. Eine derartige Einschränkung blockiert faktisch jede beliebige Viren-Aktivität. Dabei werden natürlich auch die Möglichkeiten anderer Nicht-Virus-Programme eingeschränkt. Beispiele für weit verbreitete bekannte 'geschützte' Betriebssysteme und Anwendungen gibt es leider nicht. Teilweise entspricht die Java-Maschine diesen 'Schutz'-Anforderungen, da Java-Anwendungen durch eine 'Sandbox' gestartet werden. Tatsächlich gab es ziemlich lange keine 'echten' Viren und Trojaner in den Java-Anwendungen (ausgenommen einiger Test-Viren, die praktisch arbeitsunfähig waren). Schadprogramme als Java-Anwendungen tauchten erst dann auf, als Methoden gefunden worden, das in die Java-Maschine eingebaute Sicherheitssystem zu umgehen.