[Index] [runter] [vorher] weiter





3 VIRENARTEN AUF MS-DOS-RECHNERN

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:

3.1 Klassifizierung nach Art des infizierten Wirtscodes

3.1.1 Boot- und Partition Table-Viren

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.

3.1.2 File-Viren (Datei-Viren)

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.

3.1.3 Companion-Viren

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".

3.1.4 Filesystem-Viren (Link- oder Clusterviren)

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.

Bild

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.

3.1.5 Multipartite Viren

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.

3.1.6 Cavity Viren

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.

3.2 Klassifizierung nach Art und Weise der Infektion

3.2.1 "Direct action"-Viren

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.

3.2.2 TSR-Viren in verschiedenen Variationen

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".

3.3 Klassifizierung nach speziellen Tricks, Antivirus-Software zu umgehen

3.3.1 Stealth-Viren

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.

3.3.2 Selbstverschlüsselnde und polymorphe (mutierende) Viren

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.

3.3.3 Tunnelnde Viren

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.

[hoch] [zurueck] [weiter]






© by Martin Rösler, 1994-1997 - Alle Rechte vorbehalten