Howard Fuhs
Howard Fuhs
Howard Fuhs
IT-Sicherheitsberater
IT-Sicherheitsberater
IT-Sicherheitsberater

Computerviren

und ihre Vermeidung

Kapitel 4

Copyright (C) 04/1993 by Howard Fuhs

4 Computerviren

Um sich vermehren zu können, muß der Computervirus dafür sorgen, daß sein Programmcode ausgeführt wird.

Da es verschiedene Möglichkeiten gibt, ein Programm oder einen Programmcode zu starten und auszuführen, gibt es auch entsprechend viele Möglichkeiten für einen Computervirus, aufgerufen zu werden. Wenn man nach Computerviren sucht, müssen alle diese Möglichkeiten in Betracht gezogen und überwacht werden. So muß ein Computervirus nicht notwendigerweise durch den Aufruf eines Programms gestartet werden.

Bei den Boot-Sektor-Viren wird z.B. der Computervirus durch den Bootvorgang eines Computers aufgerufen. Es hilft also nichts, wenn man in allen ausführbaren Dateien nach einem Computervirus sucht, wenn er sich auch im Boot-Sektor eines Speichermediums verstecken kann.

In diesem Kapitel möchte ich die verschiedenen Typen von Computerviren und ihre Eigenschaften vorstellen. Unter Eigenschaften versteht man, welche bestimmten Wirtsdateien ein Computervirus befällt, wie er sich vermehrt, wie er sich tarnt usw. Das Wissen über die Art der Computerviren ist besonders bei der Bekämpfung und Entfernung eines Computervirus wichtig. Es gilt zu beachten, daß viele Computerviren gleich mehrere in diesem Kapitel aufgezählten Eigenschaften in sich vereinen können!

 

 

4.1 Boot-Sektor-Viren

Wie schon in vorangegangenen Abschnitten kurz erwähnt, gibt es Computerviren, die bereits beim Booten des Computers die Kontrolle über das Rechnersystem übernehmen.

Diese Computerviren werden Boot-Sektor-Viren oder auch Boot-Sektor-Infektor genannt und machen sich eine Eigenart des Bootvorgangs zunutze: den INT 13h Aufruf von Zylinder 0, Spur 0, Sektor 1 durch das BIOS. An dieser Stelle einer Festplatte steht das Master-Boot-Record (MBR) oder bei einer Diskette der Boot-Sektor. Dieser Virustyp kann, abhängig von seiner Programmierung, den DOS-Boot-Sektor einer Diskette oder Festplatte oder das MBR einer Festplatte infizieren.

Der Boot-Sektor-Virus macht nun bei einer Infektion des MBR oder Boot-Sektors folgendes:

Er kopiert sich an die Stelle, wo sich normalerweise das MBR oder der Boot-Sektor befindet. Die dort normalerweise gespeicherten Daten werden von ihm aber nicht überschrieben und somit gelöscht. Wäre das der Fall, wäre eine Festplatte nach einer solchen Infektion nicht mehr bootfähig, und die Infizierung des Rechners würde damit sofort entdeckt. Das tatsächliche MBR wird vom Computervirus vorher an einen anderen Platz auf der Festplatte kopiert. Wo dieser Platz ist, hängt vom jeweiligen Boot-Sektor-Virustyp ab. Falls auf diesem Platz Daten gespeichert sind, werden sie vom kopierten MBR einfach überschrieben und gehen verloren. Die neue Stelle, an dem das MBR abgespeichert wurde, wird nun vom Computervirus gespeichert. Erst nachdem das MBR kopiert wurde, schreibt sich der Boot-Sektor-Virus an die Stelle des MBR. Wenn ein Boot-Sektor-Virus im Arbeitsspeicher des Rechners resident wird, geschieht dies in der Regel im Top of Memory Bereich. Dadurch wird der Arbeitsspeicher für DOS reduziert, und bei einigen Viren wird dann auf Computern mit 640kB Hauptspeicher nur ein verfügbarer Hauptspeicher von 639kB oder weniger angezeigt.


Abbildung 6: Funktionsweise eines Boot-Sektor-Virus

 

4.1.1 Booten mit einem Boot-Sektor-Virus und seine Auswirkungen

Der neue Bootvorgang eines Computers nach einer Infektion mit einem Boot-Sektor-Virus sieht nun wie folgt aus:

Nachdem man den Computer eingeschaltet hat, geht der Bootvorgang seinen im Kapitel "Booten des Computers" beschriebenen Gang. Bis zu der Stelle, an der das BIOS auf Zylinder 0, Spur 0, Sektor 1 zugreifen will. Denn an dieser Stelle erwartet das BIOS das MBR. Das BIOS lädt nun aber an dieser Stelle den Boot-Sektor-Virus. Dieser Virus wird nun im Arbeitsspeicher aktiv und damit er nicht auffällt, teilt der Virus nun dem BIOS mit, wo es das tatsächliche MBR findet. Erst dann wird vom BIOS das tatsächliche MBR geladen. Und von hier ab geht der Bootvorgang wieder seinen normalen Gang. Nur mit dem Unterschied, daß sich nun ein Computervirus resident im Arbeitsspeicher befindet.

Jedesmal wenn man nun eine neue Diskette in ein Laufwerk einlegt, und auf dieses Laufwerk (bzw. auf die Diskette) zugreift, wird der Boot-Sektor-Virus aktiv und infiziert die Diskette. Wird diese Diskette nun zu einem anderen Computer gebracht und von dieser Diskette aus der Computer gebootet, so wird auch die Festplatte von diesem Computer mit dem Boot-Sektor-Virus infiziert. Viele werden jetzt sagen "wann boote ich schon mal von Diskette". Meistens passieren solche Infektionen durch das Vergessen einer Diskette in Laufwerk A:. Man schaltet den Rechner ein und bekommt die Fehlermeldung, daß diese Diskette nicht bootfähig ist. Man stellt fest, daß man diese Diskette im Laufwerk vergessen hat, darüber hinaus kann sie gar nicht bootfähig sein, da sie lediglich ein paar Dateien und kein Betriebssystem enthält. Und trotzdem hat man sich durch dieses Vergessen einen Boot-Sektor-Virus eingefangen.

Interessanterweise gibt es zur Zeit nur relativ wenige Boot-Sektor-Viren, die auch eine Diskette in Laufwerk B: infizieren. Viele Boot-Sektor-Viren sind nur auf Laufwerke mit der Bezeichnung A: oder C: programmiert, da es sich hier um die zwei Bootlaufwerke eines PC´s handelt. Das kann aber nicht zur Regel gemacht werden, da zu befürchten ist, daß sich diese Eigenschaft mit der Zeit auch ändern wird.

 

4.1.2 Das Entfernen eines Boot-Sektor-Virus

Leider kann ich hier nur einige allgemeine Angaben zur Entfernung von solchen Boot-Sektor-Viren machen, da solche Angaben von Boot-Sektor-Virus zu Boot-Sektor-Virus unterschiedlich sein können. Zwar speichert sich ein Boot-Sektor-Virus immer an der gleichen Stelle eines Datenträgers ab (nämlich im Boot-Sektor, Zylinder 0, Spur 0, Sektor 1), aber es kopiert und speichert nicht jeder Boot-Sektor-Virus das MBR an der gleichen Stelle eines Datenträgers. Solche Dinge sind von den Programmierern der Viren abhängig. Generell kann man folgende Vorgehensweise anwenden:

Man bootet den Rechner mit einer sauberen, nicht infizierten, schreibgeschützten(!!!) Betriebssystemdiskette. Danach sucht man mit einem entsprechenden Hilfsprogramm (wie z.B. PC Tools oder Norton Advanced Utilities) nach dem MBR auf der Festplatte und kopiert es an seinen angestammten Platz (Zylinder 0, Spur 0, Sektor 1). Durch diese Aktion kann der Boot-Sektor-Virus überschrieben werden. Die Festplatte (bzw. der Datenträger) ist damit wieder virenfrei.

Eine weitere Möglichkeit ist der Einsatz des Mirror Befehls der mit MS-DOS 5.0 und PC Tools mitgeliefert wird. Mit diesem Mirror Befehl kann man eine Kopie des Boot-Sektors und der Partition-Table anfertigen, falls das System noch nicht infiziert ist. Sollte das System infiziert werden, so kann man mit dem Mirror Befehl den Boot-Sektor einfach durch eine nicht infizierte Kopie ersetzen.

Eine ähnliche Funktion wird auch von vielen guten Anti-Viren-Programmen angeboten.

 

4.1.3 Der undokumentierte DOS-Befehl FDISK/MBR

Eine weitere Möglichkeit besteht bei der MS-DOS Version 5.0 mit dem undokumentierten Befehl FDISK/MBR. Dieser Befehl schreibt ein neues Master-Boot-Record an den von ihm angestammten Platz. Es hat allerdings seine Gründe, warum dieser Befehl nicht in die offizielle Dokumentation übernommen wurde.

 

4.1.4 Der SYS-Befehl zum Entfernen von Viren

Sollte der DOS-Boot-Sektor eines Datenträgers infiziert sein, so kann man auch mit dem SYS-Befehl vom DOS den Virus überschreiben. Ohne genaue Identifizierung des Boot-Sektor-Virus oder ohne genaue Systemkenntnisse sollte man jedoch von einer  Entfernung des Boot-Sektor-Virus Abstand nehmen. In diesem Fall sollte man unter allen Umständen einen Fachmann hinzuziehen. Nachdem man eine Computervirusinfektion von einem Rechner entfernt hat, sollte man auf gar keinen Fall vergessen, alle Disketten auf eine Infizierung hin zu untersuchen!

 

4.1.5 Anti-Viren-Programme für Boot-Sektor-Viren

Man kann auch Anti-Viren-Programme (digitales Penizillin) zum Entfernen des Boot-Sektor-Virus verwenden. Diese Programme arbeiten in der Regel sehr gut und sind relativ einfach zu bedienen. Diese Programme werden oftmals auch Desinfektor genannt. Diese Desinfektor-Programme wissen, an welcher Stelle des Datenträgers der Boot-Sektor-Virus das MBR abspeichert. Sie überschreiben einfach den Boot-Sektor-Virus mit dem MBR, das sie an dieser Stelle des Datenträgers finden.

 

4.1.6 Doppelte Infektion des Boot-Sektors

Hier handelt es sich um eine sehr unwahrscheinlich klingende Möglichkeit, die in der Praxis jedoch häufiger aufgetreten ist.

Ein gut programmierter Computervirus überprüft immer, ob er den Wirt (MBR oder Datei) bereits infiziert hat. In der Praxis passierte es aber sehr häufig, daß ein Datenträger erst von einem Michelangelo-Virus infiziert wurde und etwas später auch noch von einem Stoned-Virus (oder auch umgekehrt). Der Michelangelo-Virus und der Stoned-Virus haben beide eines gemeinsam:

Sie speichern das MBR an der gleichen Stelle des Datenträgers.

Bei einer doppelten Infektion hat dies zur Folge, daß das MBR verlorengeht.

Der erste Boot-Sektor-Virus (z.B. Michelangelo-Virus) kopiert sich an die Stelle, wo sich normalerweise das MBR oder der Boot-Sektor befindet. Das tatsächliche MBR wird vom Computervirus vorher an einen anderen Platz auf der Festplatte kopiert. Die neue Stelle, an der das MBR abgespeichert wurde, wird nun vom Computervirus gespeichert. Erst nachdem das MBR kopiert wurde, schreibt sich der Boot-Sektor-Virus an die Stelle des MBR. Wird nun der zweite Boot-Sektor-Virus aktiv (z.B. Stoned-Virus), kopiert auch er zuerst das (vermeintliche) MBR an einen bestimmten Platz auf der Festplatte. Doch tatsächlich hat der Stoned-Virus den Michelangelo-Virus an die Stelle kopiert, an der Michelangelo-Virus das MBR abgespeichert hatte. Da bei diesem Vorgang das MBR überschrieben wird, kann z.B. kein Desinfektor-Programm mehr eingesetzt werden. Ein solchermaßen infiziertes Computersystem kann auch nicht mehr von der Festplatte aus gebootet werden.


Abbildung 7: Funktionsweise einer doppelten Infektion durch einen Boot-Sektor-Virus

 

 

4.2 Verschlüsselnde Viren

Computerviren, die ihren Programmcode verschlüsseln, gibt es schon seit längerer Zeit. Dabei wurde zu dem Viruscode noch eine Verschlüsselungsroutine programmiert, die den Viruscode mit jedem Vermehren aufs neue verschlüsselte. Konnten String-Scanner zwar nicht nach dem Viruscode suchen, da dieser ständig neu verschlüsselt wurde, suchte man später einfach nach der Verschlüsselungsroutine, die in jedem Viruscode enthalten war, und die nicht verschlüsselt wurde.

 

 

4.3 Polymorphe Viren

Polymorphe Viren sind so ziemlich das Modernste auf dem Gebiet der Computerviren und gleichzeitig auch die am schwersten zu findende Computervirenart. Bei polymorphen Computerviren handelt es sich ebenfalls um einen Virustyp, der Dateien infiziert. Die Besonderheit dieses Virustyps besteht in einer variablen Verschlüsselung des Computervirus nach jedem Vermehren und seiner eingebauten Verschlüsselungsroutine. Und diese Verschlüsselung ist es wert, etwas genauer betrachtet zu werden.

 

4.3.1 Verschlüsselung von polymorphen Viren

Bisher war die Computervirenwelt noch relativ einfach. Ein Virus bestand aus einem selbstvermehrenden Segment von ausführbarem Computercode. Dies bedeutete, daß der Virus, wenn er sich vermehrte, von sich selbst eine identische Kopie anfertigte und damit eine andere Datei infizierte. Die Programmierer von Anti-Virus-Programmen gingen bis jetzt wie folgt vor:

Wenn sie einen neuen Virus auf den Tisch bekamen, wurde dieser sorgfältig analysiert und dekompiliert. Dann suchten die Forscher nach einem Stück Computercode, der nur für diesen Computervirus typisch war. Nachdem die Forscher diesen sogenannten HEX-String entdeckt hatten, wurde dieser HEX-String in das Anti-Viren-Programm eingebunden. Das Anti-Viren-Programm machte dann nichts anderes, als alle ausführbaren Dateien auf einem Datenträger mit der eigenen Datenbank, voll mit HEX-Strings von Computerviren zu vergleichen. Wurde nun eine ausführbare Datei auf einem Datenträger gefunden, welche einen mit einem Computervirus identischen HEX-String beinhaltete, ging das Anti-Viren-Programm davon aus, daß diese Datei von einem Computervirus infiziert ist und gab Alarm. Doch bei polymorphen Viren funktioniert diese Sache jetzt etwas anders. So brachte ein in Fachkreisen schon zu traurigem "Ruhm" gekommener bulgarischer Virenprogrammierer mit dem selbstgewählten Namen "Dark Avenger" eine Art Zusatzprogramm für Computerviren auf den "Markt", mit dem man seine selbstprogrammierten Computerviren noch veredeln kann. Dieses Zusatzprogramm wird Mutating Engine genannt und MtE (oder DAME für Dark Avengers Mutating Engine) abgekürzt. Diese MtE wird beim Programmieren des Computervirus an den Computervirus mit angebunden und hat dann folgenden Effekt:

 

4.3.2 Die Mutating Engine

Wenn der Computervirus sich vermehrt, wird diese Kopie dank der MtE so verschlüsselt, daß diese Kopie mit dem Ausgangscode nichts mehr gemein hat außer der Funktion. Dies bedeutet, daß jede Kopie des Computervirus seine eigentliche Aufgabe und Funktion beibehält, aber jede Kopie anders aussieht. Jede Kopie "mutiert" sozusagen. Um es der Anti-Viren-Welt noch schwerer zu machen, verschlüsselt die MtE nicht nur den Computervirus von Kopie zu Kopie neu, sondern auch sich selbst in jeder Kopie des Computervirus. Man kann also weder nach dem Computervirus als HEX-String suchen noch nach der MtE als HEX-String. Und die MtE wurde so programmiert, daß sie mehrere MILLIARDEN!!! Verschlüsselungsmöglichkeiten hat.

Auch die Entschlüsselungsroutine wird jedes Mal aufs neue so verschlüsselt, daß sie ihre eigentliche Funktion beibehält, aber nach jeder Kopie anders aussieht. Hinterher ist also der neue Virus in keinem Byte seinem Vorgänger ähnlich. Man hat also einen neuen, mutierten Virus. Mittlerweile gibt es aber Verfahren, um einen MtE verschlüsselten Virus sehr sicher zu entdecken. So wurde unlängst ein algorithmisches Verfahren entwickelt, um jeden MtE verschlüsselten Virus zu entschlüsseln. Damit ist dann eine genaue Identifikation des Computervirus möglich.

 

4.3.3 Trident Polymorphic Engine

Die Trident Polymorphic Engine (kurz TPE genannt) ist eine neuere Verschlüsselungsroutine als die MtE. Die TPE geht wie folgt vor:

Zuerst verschlüsselt die TPE den Original Viruscode. Mit jedem Aufruf der TPE wird auf eine andere Art und Weise verschlüsselt. Als zweites wird eine Entschlüsselungsroutine für den verschlüsselten Viruscode generiert. Der verschlüsselte Viruscode wird dann an die Entschlüsselungsroutine hinten angehängt. Die Entschlüsselungsroutine ist gerade einige hundert Byte groß. Die Trident Polymorphic Engine ist etwas kleiner als die Mutating Engine.

 

4.3.4 Aufspüren von polymorphen Viren

Es gibt zwar Ansätze, das Problem der variabel verschlüsselnden Computerviren zu lösen, wie z.B. der Heuristic Scan in dem Anti-Viren-Programm F-PROT von Fridrik Skulason aus Island, aber diese Verfahren sind noch relativ neu und noch nicht sehr zuverlässig in Bezug auf Falschmeldungen und das tatsächliche Entdecken von infizierten Files.

Bei diesem neuen Verfahren wird nicht mehr nach festen HEX- Strings gescannt, sondern das Scanner-Programm untersucht die Datei auf gewisse Techniken hin, die z.B. der MtE zugeordnet werden können, oder auf Programmcode, der einen direkten Festplattenzugriff erlaubt (INT 13h), ein Programm, welches sich selbst im Speicher hin- und herverschieben kann usw. So können z.B. Dateien von Tools und Utility Programmen, die diese Funktionen zu Reparaturzwecken haben, ebenfalls als infiziert angezeigt werden, obwohl keine Infizierung vorliegt. Vielfach geschieht dies mit der Datei FORMAT.COM, die mit DOS mitgeliefert wird. Hierbei kommen gleich mehrere Faktoren zusammen. FORMAT.COM kann direkt auf ein Speichermedium zugreifen und auf Sektoren schreiben und greift auf ein undokumentiertes Feature von DOS zurück.

 

 

4.4 Einfache Viren

Zu den primitiven Viren kann man in der Regel die Viren zählen, die nicht speicherresident im Arbeitsspeicher vorhanden sind, um sich zu vermehren. So sind dies überwiegend Computerviren mit sehr kurzem oder kompaktem Programmcode.

Diese Viren verbreiten sich nur, wenn ihr infiziertes Wirtsprogramm aufgerufen wird. Sie infizieren dann ein oder mehrere Files, geben die Kontrolle komplett an das Wirtsprogramm zurück und bleiben nicht länger im Arbeitsspeicher bestehen. Die Auffälligkeit dieser Viren ist der ungewöhnlich lange Schreib-/Lesezugriff auf die Festplatte oder die Diskette beim Laden des Wirtsprogramms. In diesen Bereich fallen auch Computerviren, die nur in ihrem eigenen Verzeichnis Programme infizieren können. Dieser Virustyp kann kein Verzeichniswechsel vornehmen.

 

 

4.5 Speicherresidente Viren

Hierbei handelt es sich um einen Computervirus, der sich, wenn er erst einmal durch sein Wirtsprogramm aufgerufen wurde, im Arbeitsspeicher fest einnistet. Auch wenn sein Wirtsprogramm vom Anwender wieder beendet wird, bleibt der Computervirus im Arbeitsspeicher vorhanden. Man spricht hier auch von TSR-Viren (Terminate and Stay Resident).

Ein speicherresidenter Computervirus muß allerdings die Hard- und Software-Interrupts des Rechnersystems beherrschen und ausnutzen, um sich resident im Arbeitsspeicher verankern zu können. Er wird erst durch das Ausschalten des Computers aus dem Arbeitsspeicher entfernt. Bei einigen Computerviren dieser Gattung reicht auch kein Warmstart (CTRL + ALT + DEL) aus, um sie aus dem Speicher zu entfernen. Der Rechner muß entweder ganz ausgeschaltet werden, oder durch den RESET-Knopf neu gestartet werden.

Nachdem dieser Virus im Arbeitsspeicher resident geworden ist, infiziert er immer nur dann ein ausführbares File, wenn ein neues Programm vom Anwender aufgerufen wird. Dabei infiziert er meistens das aufgerufene File. Da zu diesem Zeitpunkt vom Anwender sowieso ein Zugriff auf die Festplatte erwartet wird (wegen des Programmaufrufs), fällt der Schreibzugriff des Computervirus beim Infizieren des Programmfiles einem Anwender nicht weiter auf, da es zu keinen nennenswerten zeitlichen Verschiebungen kommt. Im Falle der speicherresidenten Computerviren reicht es auch nicht, das infizierte File zu reparieren oder gegen ein sauberes File von einem Backup zu ersetzen. Der speicherresidente Computervirus muß erst aus dem Arbeitsspeicher entfernt werden. Das erreicht man, indem man den Rechner mit einer sauberen, nicht infizierten, schreibgeschützten(!!!) Systemdiskette neu bootet.

 

4.5.1 Speicherresidente Viren aus dem Arbeitsspeicher entfernen

Viele speicherresidente Computerviren können durch einen Warmstart (CTRL + ALT + DEL) nicht aus dem Arbeitsspeicher des Computers entfernt werden.

Solche speicherresidenten Computerviren fangen den INT 9h (Tastatur Interrupt) ab und warten dabei u.a. auf die Tasten-kombination CTRL + ALT + DEL. Wird vom Anwender diese Tastenkombination gedrückt, fängt der Computervirus diese Tastenkombination ab (sie wird nicht ausgeführt). Jetzt muß der Computervirus einen Warmstart durchführen, ohne dabei aus dem Arbeitsspeicher entfernt zu werden. Der Computervirus wird zuerst ein CLS (Clear Screen = Bildschirminhalt löschen) machen. Dann löst er INT 19h aus. Dieser Interrupt bootet den Computer neu, ohne den Speicherinhalt zu löschen. Deshalb wird der speicherresidente Computervirus beim Warmstart nicht im Arbeitsspeicher zerstört. Um einen solchen Computervirus sicher aus dem Arbeitsspeicher zu entfernen, muß der RESET-Knopf gedrückt werden oder der Computer aus- und nach einer Weile wieder eingeschaltet werden.

Welche Meldungen bei einem Warmstart auf dem Bildschirm erscheinen ist abhängig vom BIOS, welches auf der Computerplatine verwendet wird. Bei einigen BIOS-Typen kann deshalb bei einem Warmstart festgestellt werden, ob ein speicherresidenter Virus vorhanden ist oder nicht. Da der speicherresidente Computervirus den normalen Warmstart etwas verändert, fehlen bei einigen BIOS-Typen dann einige Meldungen auf dem Bildschirm, die bei einem Warmstart ohne speicherresidenten Computervirus normalerweise angezeigt werden. So gibt es einige BIOS-Typen, die auch bei einem Warmstart den vorhandenen Arbeitsspeicher (RAM) testen und auf dem Bildschirm sichtbar durchzählen. Diese Meldung wird von einem speicherresidenten Computervirus verhindert, weil er bei diesem Vorgang automatisch aus dem Arbeitsspeicher entfernt werden würde. Wer also den BIOS-Bootvorgang seines Computers bei einem Warmstart genau kennt, dem fällt auch auf, ob etwas an dem Warmstart verändert wurde. Solche Veränderungen an einem Warmstart sind in der Regel auf einen Computervirus zurück-zuführen. Es gibt einige speicherresidente Anti-Viren-Scanner, die ebenfalls den Warmstart CTRL + ALT + DEL verhindern. Dies geschieht in der Regel aber mit der Meldung, daß ein RESET durchgeführt werden soll.

 

 

4.6 Stealth-Viren

Auch diese Sorte von Computerviren ist relativ neu und technologisch bereits sehr weit fortgeschritten. Stealth-Viren verfügen, wie der Name im Englischen bereits sagt, über Tarnmechanismen, die ihr Vorhandensein im Arbeitsspeicher und in einem infizierten File verschleiern.

Bei einem Stealth-Virus handelt es sich meistens um einen speicherresidenten Computervirus. Stealth-Viren verfügen über die Möglichkeit, dem Anwender vorzugaukeln, auf seinem Rechner sei alles in Ordnung. Will sich der Anwender den Inhalt einer infizierten Datei mit einer entsprechenden Utility ansehen, so sorgt der Stealth-Virus dafür, daß der Anwender den gleichen Inhalt zu sehen bekommt, der auch in einem nicht infizierten File vorhanden ist. Für den Anwender ist es nicht möglich, ein infiziertes File von einem Originalfile zu unterscheiden. Auch viele Checksummen Programme können keinerlei Veränderungen feststellen, da ein Stealth-Virus Zugriffe auf von ihm befallene Dateien registriert und jedem Programm, das auf eine infizierte Datei zugreifen will, eine nicht infizierte Datei vorgaukelt.

Jedesmal wenn eine infizierte Datei geöffnet wird, wird sie vom speicherresidenten Stealth-Virus erst desinfiziert und dann geöffnet. Wird die geöffnete Datei geschlossen, wird sie wieder infiziert. Das gleiche gilt für den Arbeitsspeicher eines Computers. Auch hier gibt der Computervirus für den Anwender unverdächtige Speicherbelegungen aus. Ein Stealth-Virus verfügt sozusagen über die berühmte Tarnkappe. Da diese Tarnkappe aber einen erheblichen Aufwand an Manipulationen in der internen Speicher- und Dateiorganisation eines Computers bedeutet, kommt es öfter zu vom Virus ungewollten Nebeneffekten. So kann der DOS-Befehl CHKDSK sehr viele Lost Clusters auf einer Festplatte melden, oder er stellt fest, daß die Länge von Dateien nicht mehr korrekt ist.

 

 

4.7 COM- und EXE-Datei Viren

COM- und EXE-Files sind die zwei File Formate, die direkt durch Aufruf über die Tastatur oder durch Aufruf über ein Batch File ausgeführt werden können. Da sich beide File Formate aber voneinander im Aufbau unterscheiden, gibt es dementsprechend auch unterschiedliche Computerviren für die Fileformate. Trotzdem sind Computerviren, die beide Fileformate infizieren können bereits jetzt existent und werden in Zukunft eine noch größere Rolle spielen. Erst wenn sich ein Computervirus in eine solche ausführbare Datei eingebunden hat, kann er durch den Aufruf einer solchen Datei auch mit ausgeführt werden. So galt es über lange Zeit als einfacher, einen COM-infizierenden Virus zu programmieren als einen EXE- infizierenden Virus. Das lag einfach daran, daß der Aufbau des EXE- Files und die Belegung im Arbeitsspeicher eines Computers bei einem EXE-File wesentlich komplexer ist als bei einem COM-File. Viele Computerviren achten auch nicht mehr auf die Endung der ausführbaren Datei. Ob es sich um eine COM- oder EXE-Datei  handelt, erkennen viele Computerviren an den ersten zwei Byte dieser ausführbaren Dateien. In diesen ersten zwei Byte ist nämlich die Art der ausführbaren Datei gespeichert.

 

 

4.8 Vorhängende COM-Datei Viren

Wenn sich ein Computervirus vor eine bestehende COM-Datei schreiben will, fertigt er einfach eine Kopie der COM-Datei an und hängt sich diese COM-Datei selbst hinten an. Die neue COM-Datei besteht nun vorne aus dem Computervirus und dem hintergeschalteten Anwenderprogramm. Dadurch wird beim Aufruf der COM-Datei der Computervirus zuerst ausgeführt, ohne daß der Computervirus irgendwelche Sprungbefehle in die COM-Datei einbinden muß. Anschließend übergibt der Computervirus die Kontrolle an das Anwenderprogramm.

 

 

4.9 EXE-Datei Viren

Ein Computervirus, der EXE-Dateien infiziert, kann sich sowohl vor dem Wirtsfile als auch hinter dem Wirtsfile einfügen. Fügt sich ein Computervirus am Ende eines EXE-Files ein, so muß der Computervirus den EXE Programm Header abändern. In diesem EXE Programm Header müssen dann Angaben wie z.B. die neue Filelänge eingetragen werden. Fügt sich ein Computervirus vor dem EXE-Programmcode ein, wird die Sache etwas komplizierter. Er muß jetzt nicht nur den EXE Programm Header abändern, sondern auch noch das Relocation Table des EXE-Files, um auf den verschobenen Anfang des Programmcodes zu deuten.

 

 

4.10 Hybrid-Viren

Ein Hybrid-Virus (auch Multipartite-Virus genannt) ist sowohl ein Boot-Sektor-Virus als auch ein Datei-Virus in einem Computervirus zusammengefaßt. Die Gefährlichkeit liegt darin, daß bei Entdeckung und Entfernung nur einer Art der Infizierung der Virus immer noch auf dem Datenträger vorhanden ist und sofort zu einer Reinfektion führt. D.h. wenn man den Boot-Sektor-Virus findet und entfernt, so wird der Boot-Sektor bei dem nächsten Aufruf eines infizierten Programms wieder infiziert. Umgekehrt bedeutet dies, daß der Computervirus spätestens beim nächsten Booten des Computers wieder aktiv wird und die Programmfiles neu infiziert wenn man alle infizierten Programmfiles entdeckt und durch eine Sicherungskopie wieder neu auf den Rechner einspielt.

Diese Hybrid-Viren fangen sowohl den INT 13h (BIOS Zugriff auf die Festplatte) ab als auch den INT 21h (DOS Service). Der INT 13h ermöglicht dem Virus, direkt auf die einzelnen Sektoren einer Festplatte zuzugreifen, unter Umgehung der DOS-Befehlsebene und dessen logischen Dateien in hierarchisch aufgebauten Verzeichnissen (Directories). Und der INT 21h ermöglicht es dem Computervirus, sich im Arbeitsspeicher des Rechners zu halten, ohne durch Speicherneuverteilungen des Betriebssystems im Arbeitsspeicher gelöscht zu werden.

 

 

4.11 SYS-Datei Viren

Es gibt auch Computerviren, die SYS-Files infizieren. Das Hauptziel solcher Computerviren sind die beiden DOS-Systemdateien IO.SYS und MSDOS.SYS. Doch meistens werden auch andere SYS-Dateien infiziert. Bei dieser Art von Computerviren handelt es sich   zumindest jetzt noch um eine wenig verbreitete Art.

 

 

4.12 Companion Viren

Ein Companion Virus infiziert und verändert keine anderen ausführbaren Dateien, sondern er erzeugt eine neue, ausführbare Datei. Diese neue Datei wird dann anstelle des gewünschten Programms ausgeführt, ohne daß der Anwender etwas davon merkt. Danach ruft diese neu erzeugte Datei das gewünschte Anwenderprogramm auf. Bisher wurde das dadurch erreicht, daß in einem Unterverzeichnis mit einer EXE-Datei eine gleichnamige, versteckte (Hidden Attribut) und infizierte COM-Datei erzeugt wurde. Wenn man nun das gewünschte Anwenderprogramm aufruft, wird zuerst von COMMAND.COM die infizierte COM-Datei vor der EXE-Datei ausgeführt. Da bei dieser Technik die eigentliche EXE-Wirtsdatei nicht verändert wird, können Integrity Checker, die nur nach Veränderungen in Dateien suchen, keine Infizierung feststellen. Beim Einsatz von Integrity Checkern ist deshalb darauf zu achten, daß der verwendete Integrity Checker auch nach gleichnamigen ausführbaren Dateien sucht und diese dem Anwender anzeigt.

 

 

4.13 FAT-Viren

Ein FAT-Virus (FAT = File Allocation Table) manipuliert die Directory Einträge in einem FAT. Wenn ein FAT-Virus ausgeführt wird, nistet er sich resident im Arbeitsspeicher des Computers ein. Dies kann sogar als Bestandteil eines Betriebssystems geschehen. Dadurch wird der FAT-Virus nicht als neues TSR-Programm in der TSR-Liste aufgelistet und hinterläßt beim Aufruf der TSR-Liste keine verräterische Spur. Als nächstes schreibt sich der FAT-Virus auf eine freie Stelle auf der Festplatte und fängt dann an, nach und nach alle FAT-Einträge zu verschlüsseln und in einer eigens von ihm angelegten zweiten FAT abzuspeichern. Den Eintrag in der Original FAT lenkt er auf sich selbst um. Solange der FAT-Virus im Hauptspeicher resident ist, sehen alle Verzeichniseinträge völlig normal aus. Erst wenn man von einer nichtinfizierten Diskette aus den Rechner bootet, sieht man die Veränderungen an den Verzeichniseinträgen einer Festplatte. So können z.B. alle ausführbaren Dateien eine Größe von (nur noch) 1024 Byte haben. Wird CHKDSK aufgerufen, bekommt man diese Dateien als "Crosslinked Files" gemeldet und es werden sehr viele "Lost Cluster" gefunden.

 

4.13.1 Aufruf eines FAT-Virus

Wird von einem Anwender ein Programm aufgerufen, schaut DOS erst in dem FAT nach, wo dieses Programm zu finden ist. Da sich an dieser Stelle aber der FAT-Virus eingetragen hat, wird erst der FAT-Virus aufgerufen, der dann wiederum in seiner eigenen FAT nachschaut, wo das gewünschte Programm zu finden ist. Erst dann ruft der FAT Virus das vom Anwender gewünschte Programm auf.

 

 

4.14 Fast-Infector-Viren

Sogenannte Fast-Infector-Viren (Fast Infector, engl. = schnell infizierend) können verschiedene, in diesem Kapitel bereits aufgezählte Eigenschaften haben. Ein Fast-Infector-Virus ist keine im eigentlichen Sinne eigenständige Virenart, sondern hierbei bezieht sich die Namensgebung mehr auf die Art und die dabei entstehende Geschwindigkeit, mit der der Computervirus Wirtsdateien befällt. Fast-Infector-Viren sind speicherresidente Viren, die eine Datei befallen, wenn auf die Datei zugegriffen wird (z.B. wenn eine Datei geöffnet oder kopiert wird). Problematisch wird es beim Einsatz von Scannern, wenn ein solcher Virus im Speicher vorhanden ist. Da ein Scanner jede ausführbare Datei öffnet, um in ihr nach Computerviren zu suchen, kann ein Fast-Infector-Virus auf diese Art und Weise innerhalb weniger Minuten eine ganze Festplatte verseuchen. Aus diesem Grund wird immer wieder geraten, von einer schreibgeschützten, nichtinfizierten Diskette aus den Computer zu booten bevor man ein Anti-Virus-Programm einsetzt. Durch dieses Booten wird der Computervirus aus dem Arbeitsspeicher des Rechners entfernt.

 

 

4.15 Tunnelnde Viren

Ein tunnelnder Virus wendet eine Technik an die es ihm ermöglicht, viele speicherresidente Monitorprogramme zu umgehen. Da diese Monitorprogramme dafür da sind Virenaktivitäten festzustellen und an den Anwender zu melden, besteht hier die Gefahr, daß der Anwender sich in einer trügerischen Sicherheit währt, wenn er solche speicherresidenten Monitorprogramme einsetzt. Monitorprogramme überwachen meistens die Interrupts und warten darauf, daß ein Interrupt von einem Programm (oder Virus) aufgerufen wird. Ein tunnelnder Virus sucht nun im BIOS nach dem Anfang des Interrupthandlers. Wenn er den Original-Interrupthandler gefunden hat, ruft er diese Adresse direkt auf. Das Monitorprogramm wird dadurch umgangen und kann keinen Alarm geben. Das Suchen nach dem Interrupthandler nennt man auch "Interrupt Tracing". Nur wenige der speicherresidenten Monitorprogramme können durch die Anwendung gewisser Techniken ein Interrupt Tracing verhindern.

 

 

4.16 Windows Viren

Der erste (und bis jetzt einzige) Computervirus, der auch ausführbare Dateien von Windows infiziert, ist im Oktober 1992 in Holland entdeckt worden. Dieser Computervirus sucht in den ausführbaren Dateien nach dem "NE" für "New Executable Marker". Danach führt der Computervirus noch diverse andere Checks durch, bevor er die Datei infiziert. Die Programmierung des Computervirus ist relativ schlecht, und der Programmierer hat einige (im negativen Sinne) Möglichkeiten, die ihm Windows bietet außer acht gelassen. Für die Zukunft muß aber mit besseren Viren gerechnet werden.

 

 

4.17 OS/2 Viren

Zur Zeit sind noch keine Computerviren bekannt, die speziell für das Betriebssystem OS/2 geschrieben wurden. Der Grund für diese Tatsache ist, daß es im Moment noch zu wenige verfügbare Informationen über OS/2 gibt, wie man solche Programmcodes erstellt. Mit einer zunehmenden Bücherflut zum Thema OS/2 kann dann auch mit den ersten Computerviren gerechnet werden. Allerdings gibt es bereits Raubkopien von OS/2, die DOS Computerviren enthalten. Hierbei wurden die Disketten wahrscheinlich auf einem infizierten DOS-Rechner kopiert.

 

 

4.18 VCL Virus Creation Laboratory

Bei VCL (Virus Creation Laboratory, engl.= Virusbaukasten) handelt es sich nicht um einen Computervirus, sondern um ein Programm, das auch dem einfachen Computeranwender ohne Programmierkenntnisse die Möglichkeit gibt, einen Computervirus zu erstellen. Der Anwender kann mit VCL einen Virus erstellen, indem er einfach die gewünschten Bedingungen in den Menüs von VCL anwählt. So z.B. was der Computervirus alles können soll, wie er sich verhalten soll und welche Techniken er anwenden soll. VCL wurde Mitte 1992 über verschiedene Mailboxen vertrieben. Die Computerviren, die man mit VCL erstellen kann, sind noch verhältnismäßig einfach und stellen z.Zt. keine größere Gefahr mehr dar. Es sind bereits einige Anti-Viren-Programme auf dem Markt, die von VCL erstellte Viren mit sehr hoher Genauigkeit finden. Allerdings wurde von dem Autor (er nennt sich selbst Nowhere Man) von VCL bereits eine erweiterte Version (Update) in Aussicht gestellt. Es sind außer VCL noch andere Virenbaukästen bekannt.

 
zurückvorheriges Kapitel   |   Inhaltsverzeichnis   |   nächstes Kapitelzurück

 

Das Werk einschließlich aller seiner Teile ist urheberrechtlich geschützt. Jede Verwertung außerhalb der engen Grenzen des Urheberrechtsgesetzes ist ohne Zustimmung des Autors unzulässig und strafbar.

Copyright (C) 04/1993 - 08/1998 - 03/2003 by Howard Fuhs

Fuhs Security Consultants
 
Alle Rechte
vorbehalten!

 
 Realisation:
Frank Ziemann
Home Impressum


WebCam
24h WorldTimer PCI DSS Publikationen Digital Publishing EN English
Thema 00
Hier finden Sie Information über Dinge, von denen wir jetzt noch nichts verraten wollen.
Fallbeispiele
Fallbeispiele aus der alltäglichen Datenunsicherheitspraxis.
Neues
Aktuelle Neuigkeiten und Medieninformationen.
Service
Sichern Sie Ihr Unternehmen durch unsere Dienstleistungen und Serviceangebote ab.
Fallbeispiele
Die neue 24h WorldTimer Uhrenserie mit standardisierter astronomischer Zeitangabe nach ISO 8601 für 24-Stunden-Umgebungen
PCI DSS
Dienstleistungen und Serviceangebote rund um den Payment Card Industry Data Security Standard
Publikationen
Fachartikel und Buchmanuskripte von Howard Fuhs.
Digital Publishing
Publikationen von Howard Fuhs auf CD-ROM.
EN English pages
Please find here our English pages for international visitors.
      E-Mail
Sie erreichen uns
per E-Mail unter
  info@fuhs.de
    Realisation
EDV-Beratung
Frank Ziemann
www.fz-net.com
Themen  
Themen
Papers Satellite Hacking
Fachartikel deutsch
Präsentationen
Fachartikel englisch
Bücher von Howard Fuhs
Buchrezensionen
Medienberichte
Datensicherheitsinfos
Sicherheitsinfos
Computerviren und ihre Vermeidung
Information Security Bulletin
Bilder PCBRL
Bilder DCF77
Jokes
Fachartikel deutsch
Deutsche Fachartikel von Howard Fuhs.
Präsentationen
Präsentationen von Howard Fuhs.
Fachartikel englisch
Englische Fachartikel von Howard Fuhs.
Sicherheitsinformationen
Sicherheitsinformationen auch aus Quellen des Computeruntergrunds.
Computerviren und ihre ...
Buchmanuskript von Howard Fuhs über Computerviren, erstmals veröffentlicht 1993.
Jokes
Einfach nur Witze.
Bücher von Howard Fuhs
Buchveröffentlichungen von Howard Fuhs.
Howard Fuhs in den Medien
Medienbericherstattung über Howard Fuhs.
Datensicherheitsinformationen
Allgemeine Datensicherheitsinformationen von Howard Fuhs.
Bilder PCBRL
Technische Bilder von Howard Fuhs für das Printed Circuit Board Research Lab.
Information Security Bulletin
Deutsche Ausgaben des Information Security Bulletin von CHI-Publishing Ltd., UK.
Papers Satellite Hacking
Englische Texte zum Vortrag Satellite Monitoring, Satellite Hacking and Satellite Security
DCF77 Funkuhr
Vintage Gallery - Bilder einer DCF77 Funkuhr von 1972
Buchrezensionen
Howard Fuhs bespricht Fachbücher