Die meisten modernen Link- und Systemviren können sich resident im Speicher installieren. Diese Viren brauchen auch einen Wirten, der sich ebenfalls dort befindet. Hier kommt zum Beispiel ein TSR-Programm in Frage (TSR=Terminate-and-Stay-Resident).
Residente Viren hängen sich oft an bestimmte Interruptroutinen an - sie "verbiegen" den Inter- rupt so, daß er auf den Virus zeigt. Wird nun der "verbogene" Interrupt aufgerufen, wird wieder einmal der Virus abgearbeitet. Danach ruft dieser sehr oft den ursprünglichen Interrupt auf, um keinen Verdacht auf eine Infektion zu erwecken. Da die Viren selbst im Speicher stehen, können sie auch Rückgabewerte bestimmter Interrupts fälschen. Häufig wird der Wert des Interrupts 12hex gefälscht, da dieser Auskunft über den freien Speicher gibt. So wird der Virus einigermaßen verschleiert.
Die am meisten beeinflußten Interruptvektoren sind sicher der Interrupt 21hex, der zum Aufruf der ungefähr 85 (dokumentierten) DOS-Funktionen dient, und der Interrupt 13hex, der für die Festplattenaktivitäten (Lesen, Schreiben, Formatieren !, ...) zuständig ist. Wenn zum Beispiel der Virus den Tastaturinterrupt (Interrupt 16hex) "verbiegt", wird er bei jedem Tastendruck ab- gearbeitet und kann sich so enorm verbreiten. Welche Viren welche Interruptvektoren beeinflussen, soll folgende Beispiele veranschaulichen.
MICHELANGELO: Interrupt 13hex und 12hex.
STONED: Interrupt 13hex
PATIENT: Interrupt 08hex (Timerinterrupt), 21hex, 24hex (Critical-Error Handler) und 67hex (EMS-Speicherverwaltung)
Auch Bootsektorviren können resident sein. Diese werden beim Bootvorgang in den RAM ge- laden. Jetzt müssen sie nur noch darauf achten, nicht von Betriebssystemteilen überschrieben zu werden.
Manche Viren arbeiten ganz hinterhältig - sie überleben sogar einen Warmstart. Sie fangen die Tastenkombination CTRL+ALT+DEL ab und simulieren einen Warmstart. Der Virus selbst bleibt aber im Speicher. Um zum Beispiel den Alabama- oder Pentagon-Virus zu entfernen, hilft nur mehr ein Kaltstart (Reset).
|