1.5.2.1 Viren

Viren sind die älteste Schädlingsform der Computergeschichte (der Begriff geht auf die Doktorarbeit von Fred Cohen von 1984 zurück, wobei der erste Virus in freier Wildbahn 1982 geschrieben wurde). Dabei handelt es sich um Programmteile, die sich in andere Programme einbauen und massenweise kopieren. Im Gegensatz zum Wurm benötigen sie stets einen Wirt, in dem sie sich einnisten. Normalerweise bestehen sie aus einer Verbreitungs- und einer Schadfunktion. Schadfunktionen können z.B. Passworte ausspähen oder Datenbestände löschen. Die Schadfunktion kann an Bedingungen geknüpft werden, so dass sie z.B. nur an bestimmten Tagen ausgeführt wird.

Als Wirte für den Ansiedlung der Viren gibt es verschiedene Möglichkeiten. Meistens treten Viren als Dateiviren auf, bei denen sie in Dateien auf einem Rechner vorkommen. Viren können sich jedoch auch im Boot Sektor einer Festplatte oder in Makrofunktionen von Programmen (wie Microsoft Excel) befinden.

Bei Dateiviren sind weitere Unterscheidungen möglich.

  • Überschreiben eines Teils der Wirtsdatei: Diese Art von Virus fällt relativ leicht auf, da dann das Programm nicht mehr wie bisher funktioniert. Allerdings ist dadurch auch eine Desinfektion nicht möglich, da der bisherige Code nicht mehr vorhanden ist.
  • Appender: Hier wird der Code hinten an die Datei angefügt. Die Einsprungadresse in das Programm wird verändert, so dass erst der Virencode ausgeführt wird. Danach wird zur eigentlichen Einsprungadresse weitergeleitet, so dass auch der normale Code der Wirtsdatei ausgeführt wird. Aus der Sicht des Anwender scheint sich das Programm also normal zu verhalten, wenn die Schadfunktion des Virus keine auffälliger Wirkung hat.
  • Prepender: Dieser Virus fügt sich am Anfang einer Datei ein. Nach der Ausführung wird der Originalzustand der Wirtsdatei im Arbeitsspeicher wieder hergestellt.
  • Cavity-Infektion: Bei diesem relativ seltenen Virus werden leere Bereiche in der Wirtsdatei (am Ende von Sections, wo vorher Nullbytes staden) genutzt, um den Viruscode unterzubringen. Da hierzu genaue Kenntnisse der Wirtsdatei notwendig sind, ist die Programmierung aufwendig. Der Virus kann jedoch nicht an der Dateigröße erkannt werden, da diese unverändert bleibt.
  • EPO: Bei dieser Virenart wird die Manipulation der Einsprungadresse verschleiert. Der Einsprung zum Virencode erfolgt durch eine versteckte Anweisung.