In der MS-DOS-Welt gibt es verschiedene Virenarten. Diese werden daran unterschieden, welchen Code eines MS-DOS-Systems sie infizieren, auf welche Art eine Infektion stattfindet und welche Tricks die Viren benutzen, um Antivirus-Software zu umgehen. Folgende Arten kann man unterscheiden:
Diese Sorte Viren benutzen den sogenannten Bootsektor als Wirt, den sie
durch ihren eigenen Code ersetzen. Der DOS-Bootsektor ist der erste _logische_
Sektor einer Diskette oder Partition auf Festplatte. Er enthält ein kurzes
Programm, anhand dessen das BIOS das Betriebssystem laden kann, wenn die
Partition bzw. Diskette bootfähig ist. Dieses Programm wird nun von einem
Bootsektorvirus entweder an eine andere Stelle des Datenträgers kopiert, während
der Virus den Bootsektor überschreibt und eine Referenz auf das
Original-Bootprogramm erstellt, oder es wird Code im Original- Bootprogramm
umgepatcht, so daß beim Booten zuerst der Viruscode ausgeführt wird
und dieser hinterher zum Originalprogramm rückverzweigt. Ein Beispiel für
diese Virenart ist z.B. der FORM-Virus. Die meisten lassen sich durch Verwendung
des SYS-Befehls entfernen/deaktivieren.
Viele Viren, die auf Diskette den
Bootsektor befallen, infizieren auf der Festplatte nicht den DOS-Bootsektor, den
jede Partition besitzt, sondern den Master-Boot-Record, im Sprachgebrauch "Partition
Table", der sich auf dem ersten physikalischen Sektor der Festplatte
befindet. Die Partitionstabelle, welche die Daten über die einzelnen
Plattenpartitionen enthält, ist jedoch nur ein Teil des MBR
(Master-Boot-Records). Der Partitionssektor lädt sebsttätig den
Bootsektor der aktiven Partition und führt ihn aus => dadurch wird das
OS der aktiven Partition erst geladen. Dieses Sektor wird nun von einem
MBR-Infektor ebenfalls entweder verschoben und ersetzt, oder teilweise
umgepatcht. Viren, die so verfahren, zählen im Sprachgebrauch ebenfalls zu
den Bootsektor-Viren. Bekannte Beispiele sind Stoned, Michelangelo und Pakistani
Brain.
Eine generelle Entfernungsmethode für diese Viren ist der
undokumentierte Befehl "FDISK /MBR" von DOS 5, welches auch auf
Versionen mit niedrigerer Versionsnummer funktioniert. Besser ist es jedoch,
eine Kopie des MBR, die man noch im uninfizierten Zustand erstellt hat, zurückzufahren.
Es gibt auch Viren, die den MBR anders als hier beschrieben infizieren. Sie
verändern z.B. nur Teile des originalen MBR-Codes, legen für sich
selbst eine neue Partition in der Partition Table an, von wo aus sie dann
weiterbooten lassen oder codieren den gesamten MBR samt Partition Table, so daß
dieser nur bei geladenem Virus lesbar ist (mit Ausnahme des ersten Sektors, in
dem der Virus selbst sitzt, denn dieser muss ja beim Start lesbar sein). Über
diese Viren kann man im Fragenteil unter der FRAGE
24 nachlesen.
Interessant ist ebenfalls die Möglichkeit, daß
durch eine Doppelinfektion mit einem MBR-Virus ein System nicht bootfähig
wird und man die beiden Viren teilweise auch nicht mehr mit einem Viruskiller
entfernen kann. Näheres hierzu steht im Fragenteil unter der
FRAGE 29.
Die File-Viren sind die mit Abstand häufigsten Viren im MS-DOS-Bereich. Ihre Art, sich zu vermehren, besteht darin, sich in ausführbare Dateien auf Datenträgern in irgendeiner Form hineinzuklinken. Dabei müssen Datei- Viren beachten, ob es sich um COM- oder EXE-artige Dateien handelt, da die beiden Arten ausführbarer Dateien eine grundverschiedene logische Struktur aufweisen. Es gibt einige verschiedene Möglichkeiten, ausführbare Dateien zu infizieren:
a) Overwrite-Viren
Diese primitivste Virenart überschreibt schlicht und ergreifend einen Teil des "Opfers", so daß der Viruscode beim Aufruf ausgeführt wird, das Programm jedoch nicht mehr funktionsfähig ist. Weil derartige Viren auf keine Lauffähigkeits- und Kompatibilitätsaspekte Rücksicht zu nehmen brauchen, können sie extrem kurz gehalten werden - der kürzeste bekannte Overwrite-Virus ist ganze 30 Bytes lang. Die Dateilänge von befallenen Dateien ändert sich durch die Infektion nicht. Diese Viren sind verständlicherweise sehr leicht zu entdecken; eine "Desinfektion" der befallenen Dateien ist jedoch nicht mehr möglich. An dieser Stelle kann nur ein gutes Backup weiterhelfen.
b) Append-Viren
Die meisten File-Viren gehen nicht so rüde mit dem Code ihres Wirtes um. Sie hängen sich entweder an die bestehende Datei an oder schreiben sich selbst vor den Code ihres Opfers. Meist wird der Startpunkt ("Entry Point") des Wirtsprogramms gepatcht, so daß zuerst der Virus, danach das Programm ausgeführt wird. Die Dateilänge befallener Dateien ändert sich, auch wenn dies dem Benutzer verborgen bleiben kann (siehe "Stealth-Viren"). Solche Viren werden nicht immer gleich entdeckt, da sie - mehr oder weniger gut - darauf bedacht sind, den Befall so unauffällig wie möglich zu gestalten, indem das Wirtsprogramm hinterher ganz normal ausgeführt wird. Durch schlechte Programmierung/Bugs/"Inkompatibilitäten" mit manchen Techniken von Wirtsprogrammen jedoch gelingt das aber nicht immer. In diesem Fall werden Wirtsprogramme zerstört, auch wenn der Virus vielleicht nicht unbedingt dazu geschaffen wurde, Zerstörung anzurichten. Bekannte Beispiele für Append-Viren sind "Cascade/1704/BlackJack", "Jerusalem", "Yankee Doodle", "Vienna" und "Vacsina".
c) Slack-Area-Viren
Eine besondere Art, Files zu infizieren, ist die Technik, Teile des
Wirt-Codes hinter das Programm in die sogenannte Slack-Area zu kopieren. Die
Slack- Area ist der Bereich des letzten logischen Sektors einer Datei, die nicht
mehr von den Daten dieser Datei belegt wird. Ist die Sektorgröße auf
einem Medium z.B. 1024 Bytes und eines der dortigen Programme hat 1025 Bytes Länge,
so belegt es zwangsweise 2 Sektoren, wobei jedoch nur das erste Byte des zweiten
Sektors wirklich belegt ist, der Rest ist "Slack-Area". Kopiert sich
ein Virus nun in den Wirt und rettet vorher den Originalcode in diesen
Slack-Bereich , so ist kein Längenzuwachs der Datei durch die Infektion
sichtbar.
Diese Viren sind nicht ungefährlich, weil sie in vielen Fällen
korrupte Programme und querverkettete Dateien ("cross-linked files")
erzeugen. Ist die Slack-Area eines Opfers nämlich zu klein für den
Virus, so belegt dieser auf dem Medium auch noch den nächsten Sektor, ohne
daß dafür jedoch ein Eintrag in die FAT erfolgt. Ist oder wird dieser
Sektor nun legitimerweise von einer anderen Datei belegt, so entsteht ein
querverketteter Sektor, und das Wirtsprogramm ist nicht mehr startfähig, da
der "gerettete" Code überschrieben wurde.
Eine bei der Betrachtung von Virenarten häufig übersehene Gattung
sind die Companion-Viren. Diese infizieren ein Wirtsprogramm, indem sie eine
neue, eigenständig ausführbare Datei erzeugen, die nun beim Aufruf
aufgrund gewisser Umstände (DOS führt bei geleichem Dateinamen immer
zuerst COM, dann EXE und schließlich BAT Dateien aus) vor dem gewünschten
Programm ausgeführt wird. Sie enthält den Virus, der hinterher das vom
Benutzer gewünschte Programm aufruft, so daß dieser nichts davon
mitbekommt, das er da gestartet hat. Eine beliebte Technik solcher Viren ist es,
EXE-Files zu "befallen", indem sie im gleichen Verzeichnis eine
versteckte COM-Datei mit gleichem Namen erzeugen. COM-Dateien werden von
COMMAND.COM her immer vor gleichnamigen EXE-Files ausgeführt, so daß
der Virus beim Aufruf zuerst aktiv wird.
Ebenso ist es für solch einen
Virus möglich, die PATH-Umgebungsvariable zu lesen und seine ausführbaren
Files in ein Verzeichnis zu schreiben, welches im Pfad eingetragen ist. Auch in
diesem Fall würde der Virus vor dem Wirtsprogramm gestartet, sofern sich
das Wirtsprogramm nicht im aktuellen Verzeichnis befindet.
Da diese Viren
naturgemäß das eigentliche Wirtsfile völlig unangetastet lassen,
ist es nicht immer leicht, solch einen Virus zu entdecken. Insbesondere Prüfsummen-Software,
die alle bisher genannten Viren (bis auf die Slack-Area-Viren der ersten Art)
finden würde, würde an dieser Stelle keine Veränderungen der
Datei bemerken. Gute Integrity Checker testen auch auf das Vorhandensein von
Companion-Viren.
Ein Beispiel für einen Companion-Virus ist "Little
Brother".
Diese Virenart benutzt eine besonders tückische Methode, ein System zu
infizieren, die bislang ausschliesslich vom DIR-II/MG Series II/Creeping
Death-Virus und seinen Varianten ("CD..") und Nachfolgern (DIR-3,...)
benutzt wird. Die verwendete Technik läßt DIR-II zugleich in die
Gattung der Stealth-Viren fallen.
Wird der Virus das erste Mal ausgeführt,
nistet er sich resident in den Speicher ein, und zwar als Bestandteil des
Betriebssystems, so daß kein verräterischer Eintrag eines neuen TSRs
in eine TSR-Liste erfolgt. Der Virus schreibt sich selber an eine nicht belegte
Stelle auf der Festplatte. Nach und nach verschlüsselt er nun die Einträge
aller ausführbaren Dateien in der FAT und kopiert diese in eine von ihm
angelegte "virtuelle FAT" für ausführbare Dateien, während
er den Original-Eintrag auf sich selbst umlinkt. Ruft nun der Benutzer ein
Programm auf, wird aufgrund des umgelinkten Eintrags der Virus aufgerufen.
Dieser sieht nun in seiner "virtuellen FAT" nach, welches Programm der
Benutzer starten wollte, und lädt nun dieses von der Festplatte in den
Speicher, wo es gestartet wird. Der Benutzer merkt von alledem nichts: Solange
der Virus im Speicher ist, sehen alle Verzeichnisse und Einträge völlig
normal aus. Bootet man jedoch von sauberer Diskette und schaut sich ein
Verzeichnis auf der Festplatte an, so haben alle ausführbaren Dateien die Länge
einer Zuordnungseinheit (= Clusters). Startet man CHKDSK, werden alle diese
Dateien als querverkettet gemeldet, und sehr viele verlorene Cluster werden
gefunden.
Dieser Virus ist so aggressiv, daß er sich, einmal resident, bei bloßen Lesezugriffen auf nicht schreibgeschützte Disketten kopiert und dort in gleicher Weise verfährt. Es gibt allerdings eine einfache, wenn auch geniale Methode, ihn loszuwerden, indem man ihn gewissermaßen gegen sich selbst ausspielt. Diese Methode ist für viele Stealth-Viren anwendbar und ist unter dem Punkt "Stealth-Viren" beschrieben.
Viren, die mehrere der bisher genannten Techniken zugleich ausnutzen, also z.B. Companion-Viren sind, sich aber unter bestimmten Umständen auch an Files anhängen, werden englisch "multipartite" genannt. Ein Beispiel dafür ist "Tequila", der sowohl den MBR als auch EXE-Files befällt.
Unter Cavity-Viren versteht man Viren, die in einem Wirtsfile einen Bereich suchen, der aus lauter gleichen Zeichen (in der Regel Nullen) besteht. Wenn die Anzahl dieser Zeichen groß genug ist, kann der Virus, analog zu einem Komprimierungsprogramm, diesen Bereich für eigenen Code nutzen, in dem er sich das Zeichen und die Anzahl, wie oft dieses Zeichen an dieser Stelle auftritt, merkt, und dann diesen Bereich mit seinem eigenen Code überschreibt. Der Dateianfang wird genauso manipuliert, wie bei normalen Dateiviren. Der Unterschied zu Dateiviren besteht darin, das kein Code mehr an den Wirt angehängt, sondern direkt in den Wirt hineingeschrieben wird, ohne den Wirt aber dabei zu schädigen. Logischerweise nimmt die Dateigröße des Hosts bei dieser Infektionsart nicht zu. Ein Vertreter dieser Virengattung wäre z.B. der EXE-Header-Virus oder der Zero-Hunt.
Diese Sorte Viren installiert sich beim Aufruf nicht resident im Speicher, belegt also auch keinen Speicherplatz. Vielmehr durchsucht der Virus direkt beim Anstarten die Laufwerke und Verzeichnisse, für die er programmiert wurde, nach Zieldateien und infiziert oder löscht sie. Danach läuft das Programm, das eigentlich gestartet werden sollte, ganz regulär an. Solche Viren brauchen keine Interruptvektoren zu modifizieren und sind von einigen residenten Wächterprogrammen (siehe 4.1., "Monitore"), die nur Interruptvektoren kontrollieren, nicht zu entdecken. Sie verraten sich aber oft durch lange Zugriffszeiten auf sonst recht schnell aufgerufene Programme, weil das Suchen nach Wirtsdateien mitunter lange dauert. "Direct-action"-Infektoren können keine herkömmlichen Stealth-Techniken ausnutzen, weil dazu ein Virus resident im Speicher sein muß. Beispiele für "Direct-Action"-Viren sind der Brainslayer-Virus, Vienna und Butterfly, sowie praktisch alle Viren mit einer Größe unter 100 Bytes.
TSR-Viren zeichnen sich dadurch aus, daß sie sich resident im Speicher
installieren. Gleichzeitig werden entweder Interruptvektoren verbogen ("Interrupt-Hooking");
oder der Virus deklariert sich als Bestandteil des Betriebssystems selbst.
Es gibt verschiedene Plätze im Speicher, an denen Viren sich bevorzugt
einnisten. Manche installieren sich als TSR im normalen Speicher zwischen 0 und
640 kB. Diese kann man mit Speicher-Map-Utilities wie z.B. MEM von DOS
entdecken. Andere suchen nach nicht verwendeten Speicherbereichen im DOS-Kernel
oder anderen residenten Programmen und kopieren sich dort hinein. Diese verändern
die Größe des freien Speichers nicht, wodurch sie schwierig zu finden
sind. Die dritte Sorte setzt den verfügbarer Hauptspeicher (TOM) herunter,
der die Obergrenze des DOS-Speichers angibt, und installieren sich in den
Bereich, der für DOS nicht mehr vorhanden zu sein scheint. Diese Technik
wird fast ausschließlich von Bootsektor-Viren verwendet. Man erkennt den
fehlenden Speicher daran, daß beim CHKDSK für den "Konventionellen
Arbeitsspeicher" nicht mehr 655360 Bytes, sondern ein niedrigerer Wert
angezeigt wird. Dies ist aber noch kein sicheres Zeichen für eine
Bootsektorinfektion, aber man sollte in diesem Fall sehr vorsichtig sein. Zeigt
der CHKDSK-Befehl aber genau 655360 Bytes an, kann mit Sicherheit ein BS- oder
MBR-Virus wie FORM oder Parity-Boot ausgeschlossen werden.
Eine weitere Möglichkeit
für TSR-Viren ist, sich resident im sogenannten oberen Speicherbereich
(UMB) oder in die HMA zu installieren. Aus diesem Grunde sollte man diese
Speicherbereiche immer mitscannen. Die meisten Scanner besitzen dafür
Kommandozeilenparameter.
Viren, die sich resident im Speicher befinden, können
ihre potentiellen Wirte auf andere Weise attackieren als "Direct-action"-Infektoren.
So können sie z.B. gewisse Stealth-Techniken ausbeuten (siehe
3.3.1., "Stealth-Viren"). Die meisten warten
darauf, daß der Anwender eine potentielle Wirtsdatei startet, um sie im
selben Moment zu infizieren. Oft wird dabei der "Critical- Error-Handler"
von DOS ersetzt, damit bei mißlungener Infektion (z.B. aufgrund eines
Schreibschutzes bei Disketten) keine Fehlermeldung erscheint.
Es gibt aber
auch TSR-Viren, die jede aus irgendeinem Grunde geöffnete ausführbare
Datei infizieren, oder z.B. schon beim Lesen eines Verzeichnisses darin
vorhandene Dateien infizieren. Diese Virenart wird "Fast Infector", "schneller
Infektor" genannt, weil sie sich mit rasanter Geschwindigkeit in
infizierten Systemen verbreitet. Scannt man zum Beispiel die Festplatte mit
einem Scanner, der den Virus nicht im Speicher erkennt und den Scan-Vorgang
daher nicht abbricht, so wird durch das Scannen jede gescannte Datei infiziert!
Ein Beispiel für einen "Fast Infector" ist "Dark Avenger",
der nach seinem Programmierer benannt wurde.
Eine weitere Variante von
TSR-Viren sind die "slow infectors", die "langsamen Infektoren".
Ihre große Gefahr liegt darin, daß sie selbst einen sonst
narrensicheren Schutzmechanismus eines Integrity Checkers (siehe 4.3., "Integrity Checkers") umgehen
können. Diese Viren infizieren eine Wirtsdatei nur dann, wenn der Benutzer
absichtlich in diese Datei schreibt oder sie z.B. durch Kompilation neu erzeugt.
Dadurch können Veränderungen ausführbarer Dateien nicht mehr als
illegitim erkannt werden, weil dem Benutzer ja die befallene Datei selbst verändert
hat. "Slow Infectors" vermehren sich, wie der Name schon sagt, sehr
langsam. Dem Benutzer fällt das Vorhandensein eines Virus' im System aber
dafür praktisch nicht auf. Ein Beispiel für einen "Slow Infector"
ist "Starship".
Als "stealth" werden eine Gruppe von Viren bezeichnet, die
Benutzern eines infizierten Systems vortäuschen, sie wären gar nicht
im System. Sie tarnen sich gewissermaßen vor Antivirussoftware, die Veränderungen
an Dateien oder Dateieinträgen wahrnehmen soll. Ein Verzeichnis, das sich
ein Benutzer mit DIR ansieht, zeigt überhaupt keine Veränderungen der
Dateien, und auch Checksummenprogramme erkennen keinerlei Modifikation, weil ein
Stealth-Virus Zugriffe auf von ihm befallene Dateien registriert und jedem
zugreifenden Programm eine nicht infizierte Datei vorgaukelt. Diese Technik
verwenden z.B. File-Infektoren wie "4096/Frodo/100 Years" und "Tequila".
Effektiv programmierte Arten solcher Stealth-Viren lassen sich von Scannern tatsächlich
nur noch im Speicher entdecken.
Ebenso interessant ist die Technik eines
der ältesten Bootsektor-Viren, "Pakistani Brain", Zugriffe auf
einen von ihm befallenen Bootsektor nicht zuzulassen. Auch Bootsektoren können
also stealth sein. Eine weitere Stealth-Technik ist diejenige von "DIR-II",
wie sie unter 3.1.4. beschrieben ist. Auch hier lenkt ein
residenter Virus Zugriffe auf Dateien um, jedoch auf Ebene des
Verzeichniseintrags und nicht auf Dateiebene.
Eine verwandte Technik, die
jedoch nicht unter "stealth" fällt, ist das Verschlüsseln
von zum Beispiel DBF-Dateien. Nehmen wir als Beispiel den DBASE-Virus:
DBF-Dateien werden vom Virus bei der ersten Infektion des Systems verschlüsselt.
Der Benutzer bemerkt dies jedoch überhaupt nicht, solange der Virus aktiv
im Speicher ist. Findet ihn jedoch jemand und killt ihn, so sind alle verschlüsselten
DBF-Dateien wertlos, sofern man nicht den Schlüssel des Virus kennt und mit
dessen Hilfe die Dateien wiederherstellen kann.
Ein Stealth-Virus muß
sich für die hier beschriebenen Stealth-Tricks resident im Speicher
befinden, um Zugriffe auf befallenen Wirtscode erkennen und umlenken zu können.
Dieses Umlenken von Zugriffen ist nicht leicht zu programmieren: Viele
Stealth-Viren enthalten Bugs und zerstören so von Zeit zu Zeit das
Filesystem des befallenen Systems in der Form, daß Files querverkettet
werden.
Angeblich existieren noch weitere Stealth-Tricks, bei denen der
Virus nicht mehr resident zu sein braucht, um den gewünschten
Tarnungseffekt zu erzielen. Ein Beispiel wären die unter 3.2.1.
beschriebenen Slack-Area-Viren, da auch an dieser Stelle keine Veränderung
in der Dateilänge und am Verzeichniseintrag zu bemerken ist. Jedoch würde
ein Checksummer oder Integrity Checker diese Veränderung sofort bemerken,
daher würde ich die Slack-Area-Viren nicht unbedingt zu den Stealth-Viren
rechnen.
Eine spezielle Desinfektionsmethode für Stealth-Viren, die
ausführbare Dateien befallen, ist im Abschnitt
5.2. beschrieben.
Selbstverschlüsselnde Viren sind ein alter Hut. Schon "1704/Cascade/BlackJack"
verwendet einen variablen Schlüssel, mit dem er seinen virulenten Teil bei
jeder Kopie neu codiert. Verbesserungen dieser Technik sind vorgenommen worden,
jedoch war es bis dato immer möglich, einen Scanner nach der Ver-/Entschlüsselungsroutine
dieser Viren suchen zu lassen.
In neuerer Zeit jedoch wurden sogenannte
polymorphe Viren programmiert. Diese vertauschen bei jeder Kopie einen Teil
ihres Codes so geschickt mit einem anderen Teil, daß der Virus zwar lauffähig
bleibt, jedoch in jeder Kopie eine andere "Zusammensetzung" hat. Außerdem
werden in jeder Kopie für gleiche Aufgaben verschiedene Befehlssequenzen
verwendet. In Verbindung mit variabel eingefügten Dummy-Instruktionen
entstanden so Viren, die sich von herkömmlichen Scannern nicht mehr finden
lassen, da schlicht kein Scanstring mehr aus ihnen ableitbar ist. Ein Beispiel für
einen polymorphen Virus ist der "V2P6", der von Mark Washburn
implementiert wurde.
Seit einiger Zeit gibt es dann die sogenannte "Mutation
Engine", kurz MtE, deren Existenz die Menschheit dem Bulgaren "Dark
Avenger" zu 'verdanken' hat. Die MtE ist ein Programm, welches jeder
Virenprogrammierer in seinen Virus einbinden kann. Sie sorgt dafür, daß
nicht nur der Virus bei jeder Kopie mit einem neuen Schlüssel aus 4
Milliarden Varianten kodiert wird, sondern verändert innerhalb des Entschlüsselungsprogramms
die Instruktionen und ihre Folge in einer Weise, die es einem Scanner unmöglich
macht, nach irgend etwas zu scannen. Fast jede neue Kopie des so implementierten
Virus hat einen vollständig anderen Aufbau und eine andere Länge.
Beispiele für Viren, die die MtE verwenden, sind "Dedicated", "Fear",
"Pogue" und "Coffee Shop". Die Tendenz ist, wie bei allen
Viren, steigend.
Ein Nachfolger der MtE ist ebenfalls bereits gesichtet
worden. Die TPE, eine ebensolche 'Mutationsmaschine', erfüllt die gleiche
Aufgabe mit noch ausgefeilteren Verschlüsselungsmethoden.
Solche
polymorphen Viren werden von Scannern nicht mehr mit festen Bytefolgen oder "wildcard
strings" gesucht, sondern mit Hilfe algorithmischer Untersuchung. Das
gescannte Programm wird auf Techniken hin untersucht, die eindeutig von der MtE
oder z.B. dem "V2P6" stammen. Werden diese Techniken in einem Programm
entdeckt, so spricht der Scanner an. Jedoch ist es extrem schwer, Algorithmen zu
schreiben, die wirklich jeden Aspekt eines polymorphen Virus abdecken. So ist es
auch nicht hundertprozentig sicher, daß ein Scanner wirklich alle von der
Mutation Engine erzeugten Mutationen eines Virus aufspüren kann.
Mit "tunnelnden" Viren bezeichnet man eine Gruppe Viren, die
versuchen, die Schutzmauern, die residente Scanner und Monitore aufgerichtet
haben, zu untertunneln. Diese Programme erkennen unter anderem, wenn illegale
Interrupts aufgerufen werden und warnen dann den Benutzer. Hierzu belegen sie
die überwachten Interrupts und warten auf einen Aufruf, den sie dann zurückverfolgen
können. Ein tunnelnder Virus verfolgt nun innerhalb des Speichers den Weg,
den ein Interruptaufruf nehmen würde, und sucht auf diese Weise einen
Eintrittspunkt, der vom Monitorprogramm nicht mehr überwacht wird, oder im
BIOS nach dem Anfang des Original-Interrupthandlers. Hat er ihn gefunden, ruft
er diese Adresse direkt auf. Dadurch wird das Wächterprogramm umgangen, und
der Virus hat sein Ziel erreicht.
Diese Technik, das sogenannte "Interrupt
Tracing", wird von guten residenten Monitoren mittels spezieller Methoden
verhindert. Sehr viele jedoch können so tatsächlich getunnelt werden.
Inzwischen sind weitere, leider sehr effektive Tunnel-Tricks in Viren gefunden
worden. Drei davon seien hier aufgeführt: die Benutzung eines
undokumentierten DOS-Calls, der die Einsprungadresse des Interrupt- Handlers im
BIOS frei Haus liefert, das Verwenden des von kaum einem Monitor überwachten
Dateihandles CON und das Ersetzen des Block- Device-Treibers für die
Laufwerke. Sicherlich sind viele mögliche Tunnel- Methoden noch gar nicht
entdeckt.