Sie werden auch Dateiviren genannt, da sie, wie der Name schon sagt, EXE-, COM- und andere Dateien infizieren. Diese Viren "linken" sich an das Wirtsprogramm an. Es gibt ver- schiedene Infektionsmechanismen. Jeder Virus verwendet jeweils nur eine der folgenden Mechanismen.
Überschreibender Virus: Das ist die einfachste Art der Infektion. Der Virus überlagert schlicht und einfach das Wirtsprogramm mit seinem Code. Das Programm wird dabei natürlich zerstört und ist nicht mehr ausführbar. Startet man ein solches Programm, wird der Virencode ausgeführt und danach das Programm. Da dieses aber verstümmelt ist, kommt es unweigerlich zum Absturz oder mindestens zu Fehlermeldungen. Diese einfach- en Viren treten heute in der Praxis kaum noch auf, da sie sehr leicht zu erkennen sind. Das Programm bleibt jedoch auch nach der Entfernung des Virus zerstört.
Überschreibender Virus - zweite Variante: Diese neuere Entwicklung von überschrei- benden Viren zeichnet sich durch einen sehr kurzen Code aus. Ein solcher Virus sucht nach Wirtsprogrammen mit statischen Daten. Diese können mehrere Kilobyte groß sein und sind zum Beispiel bei C-Programmen mit Nullen gefüllt. Hierher schreibt der Virus seinen Code und ändert noch den Startup-Code. Das Programm wird nicht zerstört und außerdem ändert sich dessen Länge auch nicht. Unter Umständen kann man bemerken, daß bei der Ausführung des Programms die statischen Daten falsche Werte aufweisen (die Bytes des Virencodes).
Nichtüberschreibender Virus: Hier wird der erste Teil des Programms in der Länge des Virencodes an das Ende der Datei verschoben. Danach überlagert der Virus den ersten Teil mit seinem Code und einer Verschieberoutine. Wird das Programm gestartet, wird zuerst der Virus abgearbeitet. Dann tritt die Verschieberoutine in Aktion. Sie kopiert den verschobenen Programmteil wieder an seinen ursprünglichen Platz und startet ihn. Der Virus wird dabei überschrieben, er hat jedoch seine Arbeit schon längst getan.
Nichtüberschreibender Virus - zweite Variante: Hier versteckt der Virus seinen Code irgendwo - sehr oft auch zufallsgesteuert - im Programm. Der Teil des Programms, wo jetzt der Virencode steht, wird wieder an das Ende verschoben. Ein Sprungbefehl am Anfang führt zum Virencode, an dessen Ende ein weiterer Sprung zurück zum eigent- lichen Programm steht. In der Regel kann man solche Viren entfernen.
Anlagender Virus: Dieser Virus lagert sich am Ende des Wirtsprogrammes an und setzt an den Programmanfang eine Sprung auf den Virencode. Am Ende des Virus geht es wieder mit einem Sprung zum eigentlichen Programm zurück. Diese Struktur wird auch von vielen Hochsprachencompilern verwendet - sie übersetzen Quelltext auf die gleiche Art und Weise.
Begleitender oder Companion-Virus: Dieser Viren stellen die Ausnahme von der Regel dar - sie sind ein komplettes, ausführbares Programm. Sie brauchen jedoch ebenfalls einen Wirten und nutzen eine Eigenart von DOS aus: wenn nämlich ein Programm sowohl als EXE- als auch COM-File vorliegt, wird prinzipiell bei Aufruf ohne Angabe der Extension nur das COM-File ausgeführt. Solche Viren infizieren daher immer nur EXE-Dateien. Der Virus erstellt ein COM-File, welches den Virus selbst darstellt. Wird das Programm gestartet, wird der Virus (COM-Datei) ausgeführt. Dieser startet dann das eigentliche Pro- gramm (EXE-Datei).
Längentreuer Virus: Dieser Virus lagert Code des Wirtsprogrammes in eine externe Datei aus, die dann versteckt wird. Der Virus kopiert sich in das Wirtsprogramm. Dabei bleibt die Länge der Datei gleich. Der Virus sorgt bei der Abarbeitung noch dafür, daß das aus- gelagerte Programmstück richtig eingebunden wird. Sollte das ausgelagerte Stück des Programms "verlorengehen", wird der Virus korrekt gestartet, da er sich ja im Orginalpro- gramm befindet. Das Wirtsprogramm wird aber sehr wahrscheinlich abstürzen.
Viele Linkviren sind durch illegale Einträge in der FAT (= File-Allocation-Table) erkennbar. So setzt zum Beispiel der Lisbon-Virus den Sekundeneintrag auf den Wert 62. Da bei fast allen Linkviren die Datei um den entsprechenden Virencode länger wird, installieren sich manche Linkviren im Hauptspeicher resident und manipulieren von dort die Ausgabe des DIR-Kom- mandos, so daß die Dateilänge normal erscheint.
|