1     Einleitung:

Es ist sicher schon jedem von uns passiert, daß man vor seinem Computer sitzt und plötzlich eines der folgenden Symptome auftritt: der Rechner stürzt ab, ungewöhnliche Schreibzugriffe finden statt, die Programmausführung wird enorm verzögert, Fehlermeldungen treten plötzlich auf, und so weiter. All diese Dinge treten natürlich völlig unerwartet auf. Die Schuld an solchen Phänomenen haben meistens irgendwelche Störprogramme, deren Fehler jedoch nicht immer absichtlich zustande gekommen sein müssen. Oft genügt schon ein kleiner Programmierfehler, um alles zum Versagen zu bringen.

Computerviren gehören ebenfalls zu den Störprogrammen wie folgende:

: Dropper: Dropper sind kleine, aufrufbare Programme (vergleichbar mit Trojanern), die nur einem Zweck dienen - sie verbreiten einen bestimmten Virus. Werden solche Programme aufgerufen, werden alle erreichbaren Datenträger infiziert. Dropper verbrei- ten sehr oft Bootsektor-Viren. Sie treten unter verschiedensten Namen auf - natürlich sind Namen wie KEYB.COM oder NC.EXE auch möglich.                                              Folgende Dropper sollen als Beispiel dienen. Die Namen beziehen sich nur auf die Viren die sie verbreiten. Sie können natürlich, wie schon oben erwähnt, jeden besitzen.               

8 Nuke: Diese COM-Programm infiziert alle erreichbaren EXE-Dateien mit dem  Nuke-Virus.

8 Tony-Boot: Dieser Dropper infiziert alle Disketten mit dem Bootsektorvirus Tony-Boot.

8 Yankee-Doodle: Bei diesem werden alle EXE und COM Dateien auf allen aktuellen Laufwerken mit dem Slayer-E-Virus und von Zeit zu Zeit mit dem Yankee-Doodle infiziert.

: Falltüren: Falltüren können beabsichtigt oder auch nicht sein. Es kommt mitten in der Ausführung zu einer nicht (oder schon) beabsichtigten Programmverzweigung. Diese Programmverzweigung, nur bei unbeabsichtigten Falltüren, sind sehr oft auf eine in der Entwicklungsphase nicht entfernte Verzweigung zurückzuführen.

: Logische Bomben: Diese werden erst bei einen vom Programmierer bestimmten Ereignis aktiv. Dieses Ereignis kann ein Datum - dann spricht man von Zeitbomben - oder eine logische Verknüpfung sein - logische Bomben. Bei Eintreten des Ereignisses werden zum Beispiel Dateien gelöscht. Ein Beispiel wäre die Wizard Timebomb in Amiga Systemen.

: Computerwürmer: In einem PC in einem Netz werden zusätzliche Funktionen - kurze, selbständige Programme - implementiert, die sich im Netz verteilen, ohne die Kommuni- kation zu stören. Diese Würmer können sich weiterverbreiten - sie kopieren sich an weiter Netzteilnehmeradressen - und sind in jedem PC lebensfähig. Diese Würmer gehen normalerweise konstruktiven Tätigkeiten nach. Sie tauschen zum Beispiel automatisch Nachrichten aus. Die Gefahr ist, daß diese Würmer dank ihrer optimalen Anpassung und Transportmechanismen oft Viren transportieren, die sich dann schnell über das Netz verbreiten.

: Kettenbriefe: Diese sind eine Abart der Computerwürmer und kommen ebenfalls in Netzen vor. Sie ermitteln die Nutzeranschrift und kopieren sich dorthin. So blockierte die Lawine aus Kettenbriefen mit Weihnachtsgrüßen im Jahr 1987 den Datenverkehr in einen Großrechner.

: Trojanische Pferde: Hier werden unter einem Namen Funktionen vorgegeben, die als nützliches Programm dienen. Bei der Ausführung des Programms werden weitere Funk- tionen ausgeführt, die sehr oft destruktiv sind. Trojaner stammen ursprünglich von UNIX- und verwandten Betriebsystemumgebungen, vorwiegend um Information zu erschleichen. Die meisten Trojaner sind jedoch destruktiv. So gab eine bestimmte AIDS-Diskette vor, eine Umfrage zum Thema AIDS zu enthalten. Während man jedoch Fragen beantwortete wurden im Hintergrund die Systembereiche aller Festplatten  verschlüsselt und somit unbrauchbar.                                                                                                        Als Ausgangspunkt für ein Trojanisches Pferd dient sehr oft ein veröffentlichter Sourcecode eines Programmes, der dann durch einen Programmierer mit zusätzlichen Funktionen, oft Schadensroutinen, ausgestattet wird.                                                  Trojaner sind komplette Programme, die sehr oft Namen von nützlichen Utilities, wie zum Beispiel GRABBER.COM, tragen, sich jedoch nicht vermehren können. Werden sie vom Nutzer gestartet, läuft im Hintergrund eine Schadensroutine ab.

2     Was sind Computerviren ?

Computerviren zählen zu den Störprogrammen, stellen jedoch eine besondere Gruppe dar. Sie finden unter allen Störprogrammen die größte Verbreitung, sie weisen sich mit einer enormen Artenvielfalt aus, verwenden außerdem die ausgefeiltesten Techniken und erzeugen die ver- schiedensten Schäden.

Unter Computerviren werden sich selbst reproduzierende Programme verstanden. Die ersten Ideen für “ein Programm, das sich selbst schreibt” wurde 1984 von F. Cohen vorgestellt. Diese Programme wurden unter verschiedensten Betriebssystemen getestet und waren in der Lage, sich selbst zu verbreiten. Diese Idee wurde dann sehr bald von einigen Studenten aufgegriffen. Sie entwickelten sogenannte “Schmunzelviren”, die nur lustige Bilder oder Meldungen erzeu- gen. Erst in der zweiten Hälfte der 80er Jahre entstanden erstmals gefährliche Viren.

Einen Virus kann man anhand seiner Eigenschaften definieren:

: Ein Virus ist kein selbständiges Programm, sondern vielmehr ein Fragment, das an die Existenz von Wirtsprogrammen gebunden ist.

: Viren werden erst aktiv, wenn das Wirtsprogramm gestartet wird.

: Computerviren können sich selbst reproduzieren (daher der Name). Im allgemeinen ändert sich der Code bei einer Reproduktion nicht, außer es tritt eine “Mutation” auf. Dann entstehen praktisch neue Viren ohne Zutun des Programmierers.

: Viren führen Manipulationen durch, die Störungen oder sogar Beschädigungen hervor- rufen. Sehr oft enthalten sie Schadensroutinen, die den Datenträger zerstören, Dateien manipulieren und/oder visuelle/akustische Effekte erzeugen. Die Aktivität setzt oft nicht sofort ein, sondern erst ab einem bestimmten Ereignis.

Wirtsprogramme sind für Viren überlebenswichtig. Unter dem Betriebssystem DOS oder (auch WINDOWS) sind solche Programme vorwiegend COM- und EXE-Dateien, SYS-, OVL-, OVR-, DLL-, 386-, oder BIN-Dateien in Frage. Natürlich kommen Viren nicht nur in PCs mit DOS oder WINDOWS vor, auch Rechner mit UNIX, OS/2 oder anderen Betriebsystemen sind betroffen. Computerviren existieren jedoch nicht nur in PCs. Amiga Systeme und andere werden genauso befallen. In diesen Systemen dienen natürlich auch bestimmte Dateien als Wirt.

Neue Viren kommen fast täglich auf den Markt. Eine genaue Anzahl ist nicht festzustellen. Jedoch mit neuen Methoden, zum Beispiel Baukästen für Viren, wird die Anzahl sicher rapide steigen. Man muß aber nicht gleich in Panik ausbrechen, denn von den mehr als 10000 Viren werden nur wenige sehr weit verbreitet. So geben auch Informationsdateien sehr oft Auskunft, welche Viren sich gerade in Umlauf befinden.

3     Arten von Viren:

Viren kann man in verschiedene Arten unterteilen. Die Art bestimmt hierbei was der Virus überhaupt infiziert, wie er es infiziert und welche Techniken er einsetzt, um sich ungestört verbreiten zu können und nicht von irgendeinem Programm aufgespürt zu werden. Oft fallen Computerviren nicht nur in eine Kategorie. Sie verwenden natürlich die besten Techniken, um sich möglichst oft zu vermehren und dabei nicht entdeckt zu werden.

3.1     Linkviren:

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.

3.2     Residente Viren:

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

 

 

 

 

 

 

 

 

 

3.3     Systemviren:

Systemviren benutzen Bestandteile des Betriebssystems als Wirte. Die gefährdeten Bereiche sind der Masterbootrecord (MBR)/Partitionstabelle, Partitionbootrecord, Diskettenbootsektor, FAT und das Wurzelverzeichnis (Root).

Bei einem Bootvorgang wertet der MBR die Verfügbarkeit der Festplatte als Laufwerk aus, was in der Partitionstabelle enthalten ist. Er lädt auch den Partitionbootrecord, der wiederum ein be- stimmtes Betriebssystem mit einer bestimmten Versionsnummer spezifiziert. Anschließend liegt die File-Allocation-Table (FAT), das Inhaltsverzeichnis des Laufwerks. Von dieser FAT gibt es zwei Kopien. So kann zum Beispiel mit Hilfe der zweiten FAT Fehler in der ersten FAT beho- ben werden. All diese Bestandteile liegen auf der Festplatte auf Spur 0/Kopf 0/Sektor 1. Wenn hier ein Virus zuschlägt, steht selbstverständlich das nachher geladene Betriebssystem unter dessen Kontrolle. Solche Viren werden auch Bootsektorviren benannt. Sie bedienen sich auch verschiedenster Methoden, um den Bootsektor zu infizieren.

: Der Bootsektor wird einfach in einen anderen Sektor verschoben (dort befindliche Daten zerstört) und der Virencode in den Bootsektor kopiert. Beim nächsten Start wird nun zuerst der Virus abgearbeitet und dann zum eigentlichen Bootsektor verzweigt.

: Andere Viren benutzen folgende Technik. Der Virus baut nur eine kleine Laderoutine in den Bootsektor ein. Er selbst liegt in einem  “bad” Cluster, einen von ihm selbst erzeugten defekten Sektor, versteckt. Dies ist natürlich auch eine gute Tarnung, da diese Sektoren als Speicherbereich nicht berücksichtigt werden.

: Die dritte Möglichkeit ist die: der Virus ermittelt den Zeiger auf die Clusterkette des aus- führbaren Programms (EXE, COM, ...). Dieser Zeiger wird durch einen Zeiger auf den Cluster des Virus ersetzt. Wir das Programm nun gestartet, wird zuerst der Virus ange- sprungen und erst an dessen Ende zum Orginalprogramm verzweigt.

3.4     Doppelviren:

Sie werden auch Hybridviren genannt. Diese Viren infizieren sowohl Dateien (Linkviren) als auch die Systembereiche (Systemviren). Der Vorteil dieser Viren ist folgender: hat ein System- virus das System infiziert, wird er bei jedem Start geladen. Durch Booten von einer (sauberen !) Diskette kann man jedoch das Laden umgehen. Hybridviren werden so zwar nicht beim Starten geladen, aber ein Aufruf eines infizierten Programmes führt zur Verbreitung des Virus. Geschieht dies auf der Diskette, so wird auch diese infiziert. Das ist eine doppelte Absicherung für den Virus.

3.5     Virenexoten:

Neben den bereits erwähnten Viren gibt es auch einige Exoten:

: Call-Viren: Diese Viren liegen irgendwo versteckt als Programme vor. Oft benutzen sie auch selbst angelegte “bad” Cluster, die vom Betriebssystem nicht berücksichtigt werden, da sie ja als defekt markiert sind. Sie infizieren die Datei nur mit einem CALL-Befehl, durch welchen der Virus aufgerufen wird. Fehlt das Programm (=Virus) kommt es zum Absturz oder einer Fehlermeldung.

: Viren, die das CMOS infizieren:

: Live & Die-Viren: Sie sind nur eine bestimmte Zeit aktiv und entfernen sich danach selbst.

: Hide & Seek-Viren:

: Viren in gepufferten RAMs:

3.6     Stealth-Viren:

Viele der Viren verwenden bestimmte Tarnmechanismen, um in aller Ruhe “arbeiten” zu können.

           

: Der Virus kann den Rückgabewert von Interrupt 12hex manipulieren, um den tatsächlich freien Speicher zu verfälschen.

: Manche Viren ermitteln die absolute Adresse eines Interruptvektors. Damit können sie diese benutzen ohne einen Interrupt aufrufen zu müssen. Sie springen die ermittelte Adresse an und unterlaufen so Programme, die Interruptroutinen überwachen (=Tunneling).

: Viren können auch diverse Diskettenzugriffe überprüfen. So kann der Virus einen lesenden Zugriff auf eine Datei erkennen und die Infizierung rückgängig machen, bis zum Beispiel ein Scan-Programm die Datei überprüft, aber keine Virensignatur erkannt hat. Danach wird die Datei wieder infiziert.

: Durch überprüfen des Interrupts 13hex können Bootsektorviren einen ganz normalen Zugriff auf den Masterbootrecord, die Partitionstabelle und den Partitionsbootrecord gewähren, indem sie den Aufruf in die ausgelagerten Sektoren umleiten.

: Auch können Viren mit falschen Dateilängeneinträgen in der FAT die Ausgabe des DIR-Befehls fälschen.

: Viren verstecken natürlich die von ihnen erzeugten Dateien mit Attributen wie HIDDEN oder SYSTEM. Diese können auch Bitmuster darstellen, mit denen DOS nichts anfangen kann. Sie stellen dann für DOS unbekannte Daten dar.

: Viren verschlüsseln auch ihren Code in den Dateien. Hier wird vor dem eigentlichen Virus eine Ent- und Verschlüsselungsroutine ausgeführt, die den Code wiederherstellt. Auch das zerwürfeln des Codes ist eine wirksame Technik, um nicht gefunden zu werden. Auch ein solcher Code wird natürlich wieder zusammengesetzt.

: Einige Viren enthalten Signaturen von anderen Viren. Wird ein solch infiziertes Programm gefunden, entfernt der Virenscanner den vermeintlichen Virus und zerstört so die Datei.

: Andere überprüfen, ob ein Interrupt von einem Virenprogramm “verbogen” ist, um Viren aufzuspüren. Ist dies der Fall, wird keine Infektion nicht durchgeführt.

Wie sich ein Virus tarnt bleibt einzig und allein der Phantasie des Programmierers überlassen (je besser, desto geringer ist die Möglichkeit, gefunden zu werden).

4     Die Infektion:

4.1     Infektionswege:

Natürlich erhebt sich jetzt die Frage, von wo aus die Festplatte oder Diskette infiziert wird.

Gefährlich sind vor allem Raubkopien, Spiele, Shareware, Public-Domain-Software und Demonstrationssoftware. Auch kann man sich bei seltsamen Utilities nie sicher sein, ob sich nicht ein Trojaner oder Dropper hinter dem Namen verbirgt. Festplatten werden sehr oft von Disketten aus infiziert (über 80%). Es gibt aber auch noch andere Wege.

: Diskettenlaufwerke: Sie stellen die größte Gefahr für Infektionen dar. Ob nun ein Boot- sektorvirus, ein Linkvirus oder ein anderer - auf Disketten ist alles möglich. Hier gibt es jedoch auch verschiedene Infektionswege, die speziell auf den Virus zutreffen.

8 Booten von Diskette: Das Starten mit einer infizierten Diskette führt dazu, daß sich Bootsektorviren auch über die Festplatte hermachen.

8 Lesen des Datenträgerinhaltes: Manche Viren können sich zum Beispiel bloß durch Aufrufen eines DIR-Kommandos weiterverbreiten.

8 Lesen und Schreiben von Systeminformationen: Hier können sich vor allem Viren die den Interrupt 13hex überwachen reproduzieren, wenn zum Beispiel durch Programme wie PCTools oder anderen Systeminformationen geschrieben oder ge- lesen werden.

8 Kopieren von Programmdateien: Das Kopieren stellt natürlich die größte Gefahr einer Infektion dar. Meistens sind Viren nach dem Kopiervorgang inaktiv. Jedoch andere wie zum Beispiel der Dark-Avanger-Virus werden schon durch das Kopieren eines Wirtes aktiv.

8 Starten von Programmen des Laufwerks: Wird ein infiziertes Programm ausgeführt, wird der Virus verbreitet.

: Festplatten: Hier verbreiten sich Computerviren auf die bereits beschriebene Art und Weise (Aufruf eines infizierten Programms, booten, ...).

: Kommunikationsadapter: In der heutigen Zeit stellt vor allem das Internet eine Gefahr dar. Über Modem werden die verschiedensten Programme und mit denen sehr oft auch ein Virus heruntergeladen. Aber auch durch einfache Verbindung über serielle/parallele Schnittstelle können zu einer Infektion führen, wenn eine infizierte Datei kopiert wird.

: Backup: Disketten, Streamer-Bänder, CDs und andere Medien sind ideal für ein Backup wichtiger Dateien. Es kann aber passieren, daß ein infiziertes File auf eine CD gebrannt wird. Dieser Virus läßt sich natürlich nicht mehr entfernen (außer man vernichtet die CD). Kopiert man diese infizierte Datei zurück auf die Festplatte und startet diese Programm, so kommt es zu einer Infektion. Man sollte daher besonders (!) aufpassen, daß auf keinen Fall Viren auf dem Medium sind.

4.2     Die Reproduktion:

4.2.1     Linkviren:

Wie schon erwähnt, hängen sich Linkviren an eine bestimmte Datei oder erzeugen eine. Nach dem Aufruf der infizierten Datei wird der Virus im Speicher resident (nicht alle Viren). Danach sucht er eine Datei, welche er infizieren kann. Wird eine gefunden, wird zuerst einmal das Datum, die Zeit und das Attribut der Datei gesichert. Danach wird die Datei geöffnet und der Virencode geschrieben (am Anfang oder am Ende ist von Datei abhängig, da es Unterschiede zwischen EXE- und COM-Dateien gibt). Ist dies geschehen, werden noch nötige Änderungen im Startupcode gemacht. Um nun noch seine Spuren zu verwischen, wird das gespeicherte Datum, die Zeit und das Attribut wieder in die Datei geschrieben und diese danach geschlossen. Nun kann der Virus auch noch nötige Änderungen in der FAT vornehmen, wie zum Beispiel den Eintrag der Dateilänge ändern oder auch unsinnige Werte für Zeit (62 Sekunden) oder Datum (13. Monat) schreiben.

Viren, die nicht entdeckt werden wollen, verschlüsseln sich nach der Infektion oft selbst.

Eine andere Technik der Infektion ist das Erstellen einer temporären Datei. In diese Datei wird dann zuerst der Virencode und dann das eigentlich zu infizierende Programm geschrieben. Am Schluß wird diese Datei in das Orginal umbenannt und das Orginal wird gelöscht.

4.2.2     Systemviren:

Man muß davon ausgehen, daß mit einer infizierten Diskette gestartet worden ist. Der Virus installierte sich so im Hauptspeicher. Sehr oft “verbiegen” solche Viren auch noch diverse Interruptvektoren, wie zum Beispiel den Interrupt 13hex. Nun kann der Virus mit Hilfe dieses Interrupts nach anderen Laufwerken suchen. Wird eines gefunden (zum Beispiel Laufwerk C:), installiert sich der Virus im Startbereich und ist ab nun bei jedem Start present.

Von einem so infiziertem Laufwerk kann der Virus natürlich wieder andere Disketten infi- zieren. Da er ja den Interrupt 13hex überwacht, kann er schon durch ein simples “DIR A:” Informationen über die Diskette bekommen (zum Beispiel HD- oder DD-Diskette) und diese dann infizieren.

5     Auswirkungen der Computerviren:

Die meisten Viren beinhalten sehr oft Schadensroutinen die Dateien löschen, verstecken oder andere gemeine Sachen vollbringen. Manche Viren werden auch nur geschrieben, um die Ver- letzlichkeit des Computersystems aufzuzeigen, indem sie die Dateien mit einer Routine infi- zieren, die einfach zum Beispiel den Text “Virus was here !!” auf den Bildschirm schreibt. Von dieser Art gibt es jedoch eher wenige. Die meisten sind dafür geschrieben worden, um Beein- trächtigungen oder Schäden hervorzurufen. Hier sollen nun einige der Möglichkeiten aufgezählt werden.

: Es gibt eine bestimmte Art von Viren, die nur ein einziges Ziel verfolgen - sie erzeugen Systemfehler. Genannt werden sie Crasher-Viren, nach dem allbekannten Systemcrash. Der Computer arbeitet nicht mehr, über die Eingabegeräte wird keine Eingabe mehr ange- nommen und gar nichts reagiert mehr. Das einzige, was in solch einer Situation hilft, ist die Reset-Taste. Natürlich ist das eine Methode, um den Anwender in die Verzweiflung zu treiben, wenn dieser “Fehler” bei jedem Programmstart wieder auftritt.

: Eine Frage taucht immer wieder auf: “Können Viren die Hardware eines Computers zer- stören ?” Die Antwort ist “Ja”, wenn auch nur in begrenztem Ausmaß. So kann man durch wiederholt kritische Bewegungen der Schreib- und Leseköpfe eine mechanische Zerstör- ung erreichen. Auch der Monitor stellt für die Zerstörung ein wertvolles Ziel dar. Soweit bekannt sind aber keine Viren im Umlauf, was nicht heißen soll, daß sie nicht existieren.

: Eine von Viren gern verwendete Funktion ist das Formatieren der Festplatte(n). Ob nun eine High- oder Low-Level-Formatierung, ärgerlich ist es auf jeden Fall.

: Weitere nette Dinge sind das Überschreiben der Systembereiche, das “Zerwürfeln” der FAT, das Löschen von Dateien (obwohl man bei bestimmten Arten des Löschens die Datei wiederherstellen kann) oder das wahllose Überschreiben von Sektoren auf der Fest- platte. Manchen Viren verstecken auch Programme oder sogar ganze Verzeichnisse, wieder andere verschlüsseln diese, so daß sie unbrauchbar sind.

: Wenn Viren resident im Hauptspeicher installiert sind und einen Interrupt überwachen (zum Beispiel Interrupt 13hex), können sie einfach jeden Schreibzugriff in eine Verify- Operation umwandeln. Solange der Virus installiert ist, werden keine Daten auf die Fest- platte oder andere Medien geschrieben.

Das sind natürlich nicht alle Schädigungen die Viren verursachen können. Manchmal erfreuen sie auch ihren “Nutzer” auch mit einem netten Bild oder einer kleinen Melodie, um auf sich aufmerksam zu machen. Viele Viren führen solche Schadensroutinen nicht immer aus. So gibt es Viren (Friday 13th, Father Christmas, Helloween, ...) die nur zu einem bestimmten Zeitpunkt, Datum oder einem anderen Ereignis aktiv werden und dann zuschlagen. Die restliche Zeit wird nur zur Ausbreitung benutzt.

6     Maßnahmen gegen Viren:

Äußerst wichtig bei neuen Dateien, Disketten, CDs, und anderen ist die Überprüfung der Daten beziehungsweise Datenträger auf eine mögliche Infektion. Viele Leute gehen viel zu unachtsam mit diesem Thema um und kopieren dann eine infizierte Datei auf die Festplatte und wundern sich danach über eine Infektion.

Für solche Untersuchungen eignen sich Antivirenprogramme wie zum Beispiel Scan™ von McAfee (mit diesem Programm habe ich persönlich die besten Erfahrungen gemacht), F-Prot (mag ich nicht besonders, da es eine Infektion von zwanzig Dateien mit dem Burglar.1150-Virus nicht erkannt hat), Microsoft Anti-Virus oder viele mehr. Sehr wichtig ist auch, immer das neueste Update zu bekommen, denn der Scanner wird mit einer Daten-File von 1995 keine neue Mutation eines Virus von 1997 erkennen.

Außer diesen Programmen dienen auch noch Vshield-Programme oder das Immunisieren der Dateien zur Vorbeugung.

6.1     Antivirenprogramme:

Sie sind für die Suche und Entfernung von Viren geschrieben worden und bedienen sich zwei Methoden

a)    Auffinden von Viren-Strings: Mit dieser Methode werden Dateien durchsucht, um Viren- signaturen zu finden. Diese Signaturen werden von den Viren selbst verwendet, um eine bereits erfolgte Infektion zu erkennen. Es ist jedoch nicht die beste Methode, da sich die Signaturen durch Verschlüsselung und/oder Mutation ändern können, aber auch gar keine Signaturen vorhanden sein müssen (zum Beispiel überprüft ein Virus, ob der Sekunden- eintrag der Datei 62 Sekunden beträgt. Ist das so, ist die Datei bereits infiziert.). Ein einfaches Beispiel kann verwendet werden, um den Scanner zu testen. In einem Text-Editor geben sie folgenden Zeile ein und speichern dann die Datei mit einer .COM Extension:    

» X5O!P%@AP[4\PZX54(P^)7CC)7}$EICAR-STANDARD-ANTIVIRUS-TEST-FILE!$H+H* « Wenn die Datei ausgeführt wird gibt sie eine Meldung am Bildschirm aus. Jetzt muß nur noch der Scanner gestartet werden, um den “Virus” aufzuspüren. Sowohl Scan™ als auch F-Prot sollten ihn finden.

b)   Heuristische Analyse: Diese, noch sehr junge, Form der Analyse dient vor allem dazu, neue Viren zu entdecken. Hier werden keine Signaturen gesucht, sondern es werden bestimmte Regeln für die Beschreibung eines Virus festgelegt und nach diesen werden die Dateien untersucht. Bei dieser Methode werden nicht alle Viren gefunden und es kann auch häufig zu Fehlalarmen kommen.

Bei fast allen Antivirenpaketen sind sehr oft Textdateien dabei, die über neu gefundene Viren berichten oder auf die sich im Moment im Umlauf befindlichen Viren hinweisen. Mit den Programmen kann man auch eine Virenliste abfragen. Diese enthält die verschiedensten Viren aufgelistet mit Informationen über Länge, Art der Infektion, Möglichkeit der Entfernung und so weiter. Zum Beispiel entdeckt F-PROT aus dem Jahr 1996 insgesamt 8427 Viren von denen es 6219 entfernen kann.

6.2     Prüfsummenprogramme:

Diese Programme benötigen keine Updates. Sie können jedoch auch nur Veränderungen in Dateien oder im Bootsektor erkennen.

6.3     Vshield-Programme:

Diese Speicherresidenten Programme arbeiten im Grunde wie Scan-Programme und werden sehr oft mit diesen geliefert. Sie sind im Speicher und überprüfen dort Programme, die eben- falls dorthin geladen werden. Sie sind ebenfalls in der Lage, Viren zu entfernen.

6.4     Immunisieren:

Diese Methode funktioniert auf drei verschiedene Arten:

: Immunisieren mittels Kennbyte: In ein Programm wird ein bestimmtes Kennbyte eines Virus eingebaut. Sollte der Virus jetzt diese Datei infizieren wollen, erkennt er das Kenn-byte und verschont die Datei. Diese Methode bildet jedoch nur geringen Schutz, da nicht alle Kennbytes aller Viren eingebaut werden können. Außerdem gibt es Viren, die bei infi-zierten Dateien die Version des Virus überprüfen. Ist es ein älterer wird die Datei neu infiziert.

: Immunisieren mittels ASR-Routine: Hier wird ein “Antivirus”, eine sogenannte ASR-Routine (=Auto Self  Reconstruct), in die Datei eingebaut, die bei Start des Programms wichtige Daten (Länge, ...) ermittelt und mit bereits zuvor gespeicherten vergleicht. Werden Änderungen festgestellt, wird das Programm sofort abgebrochen. Diese Möglichkeit der Immunisierung hat jedoch einige entscheidende Nachteile:

8 WINDOWS-Programme funktionieren oft nicht mehr

8 Ist die Datei infiziert, meldet die ASR-Routine zwar eine Änderung des Codes und beendet die Ausführung. Der Virencode ist jedoch schon längst abgearbeitet.

8 .....

: Self-Integry-Test: Vor allem Virenscanner überprüfen mit dieser Methode den eigenen Code auf Modifikationen. Es wäre ja verheerend, wenn das Antivirenprogramm selbst andere Dateien mit einem Virus infizieren würde.

Den besten Schutz gewährt aber noch immer eine Überprüfung durch ein Antivirenpro-    gramm, da selbst die Immunisierungsmethoden nicht genug Schutz bieten.

6.5     Entfernen von Viren:

Sollte trotz aller Sicherheitsmaßnahmen ein Virus das System infizieren, muß man diesen so schnell es geht entfernen, um keine Schäden zu riskieren.

6.5.1     Systemviren:

Antivirenprogramme können infizierte Bootsektoren oder den MBR oft erfolgreich wieder-herstellen. Ist der MBR infiziert reicht sogar der Befehl FDISK /MBR. Dieses Kommando schreibt einen neuen MBR und zerstört so den Virus.

Eine vollständige Beseitigung erfolgt natürlich über ein Low-Level-Format, bei dem aber auch alle restlichen Daten am Datenträger zerstört werden. Antivirenprogramme leisten aber meistens gute Arbeit.

6.5.2     Linkviren:

Bei überschreibenden Viren besteht zur Wiederherstellung keine Chance mehr. Alle anderen Viren können aber oft entfernt und der Wirt restauriert werden. Die Gefahr dabei kann sein, daß der Wirt “kaputt repariert” wird. Grundsätzlich können Stealthviren, Viren mit veränder-licher Länge oder mit getrennten Codeteilen oft nicht oder nur sehr schwer entfernt werden. Die sicherste Methode einen Linkvirus loszuwerden ist natürlich die entsprechende Datei zu löschen.

7     Nachwort:

Die Gefahr der Computerviren ist auch heute noch akut. Noch immer versuchen die ver- schiedensten Programmierer den besten Virus zu schreiben. Manchmal gibt es sogar Wett-bewerbe für Viren. Die größte Gefahr stellen heutzutage sicherlich die Virengeneratoren dar. Ohne jegliches Programmierwissen kann praktisch jedermann, der das Programm besitzt, sich seinen eigenen Virus basteln. Man gibt einfach den gewünschten Schaden, den Aktivierungs-grund, aber auch ob der Virus mutieren soll oder nicht an. Auch Verschlüsselung wird natürlich eingebaut. So soll zum Beispiel die “Dark-Avanger-Mutation-Engine” mehrere Millionen Abarten von Viren erzeugen können. Dies ist aber nicht der einzige Generator. Es existieren bereits verschiedenste.

8     Danksagungen:

Ich möchte mich bedanken bei Peter Koen für die verschiedenen Texte und Virencodes aus dem Internet und bei Thomas Gehri für die Virenkiller.

9     Literaturverzeichnis:

Folgende Quellen wurden für den Text verwendet:

: Hafner, Uwe: Viren und Antiviren. 1. Auflage - Berlin; München: Verlag Technik, 1994.

: Textdateien von F-Prot und Scan™

: verschieden Texte aus dem Internet

: diverse Virencodes

 

 

Warennamen und Informationen in diesem Text werden ohne Rücksicht auf eventuellen Patentschutz oder Fehler verwendet.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Inhaltsverzeichnis:

1 Einleitung:                                                                                                                        

2 Was sind Computerviren ?                                                                                         

3 Arten von Viren:                                                                                                             

3.1 Linkviren:                                                                                                                       

3.2 Residente Viren:                                                                                                          

3.3 Systemviren:                                                                                                                  

3.4 Doppelviren:                                                                                                                  

3.5 Virenexoten:                                                                                                                 

3.6 Stealth-Viren:                                                                                                              

4 Die Infektion:                                                                                                                 

4.1 Infektionswege:                                                                                                        

4.2 Die Reproduktion:                                                                                                    

4.2.1 Linkviren:                                                                                                                     

4.2.2 Systemviren:                                                                                                                

5 Auswirkungen der Computerviren:                                                                  

6 Maßnahmen gegen Viren:                                                                                         

6.1 Antivirenprogramme:                                                                                           

6.2 Prüfsummenprogramme:                                                                                     

6.3 Vshield-Programme:                                                                                               

6.4 Immunisieren:                                                                                                             

6.5 Entfernen von Viren:                                                                                              

6.5.1 Systemviren:                                                                                                                

6.5.2 Linkviren:                                                                                                                     

7 Nachwort:                                                                                                                       

8 Danksagungen:                                                                                                              

9 Literaturverzeichnis: