© 2004 by Silvan Saxer, all rights reserved

 saxer.net

   Computerviren   

saxer.net 

0. Hinweise

Bitte beachten Sie, dass die Informationen auf dieser Seite möglicherweise veraltet sind, da der Artikel vor etwa 10 Jahren geschrieben wurde. Gewisse Informationen behalten aber immer noch ihre Gültigkeit. Neuere Entwicklungen wie Makroviren und Email-Viren/Würmer, oder Viren, die Sicherheitsklücken in modernen Betriebssystemen ausnutzen, werden nicht explizit behandelt. Viele der hier beschriebenen Techniken werden jedoch in abgewandelter Art auch heute noch verwendet.

1. Geschichte

1949 Erste Theorie über Computerprogramme, welche sich selbst vervielfältigen können von John von Neumann
1981 Erstmaliges Nennen des Begriffs "Virus" durch Prof. Len Adleman, in einem Gespräch mit seinem Studenten Fred Cohen über selbstkopierende Programme.
1983 Nov. Erstes Auftreten eines Virus unter dem Betriebssystem UNIX
1985 Veröffentlichung der Dissertation "Computer-Viruses: Theory and Experiments" von Fred Cohen. Er wird wegen dieser Doktorarbeit allgemein als Erfinder des Computervirus angesehen.
1986 Der vermutlich erste Dos-Virus tritt auf. Es ist ein Bootsektorvirus namens Brain. Dieser Virus ist der bisher einzige Virus, bei dem Name, Adresse und Telefonnummer der Programmierer im Programmcode gespeichert sind.
1986 John McAfee beginnt die Entwicklung von Anti-Viren-Programmen.
1988 Erste Version von McAfees Virusscan. Es erkennt 19 Viren.
1988-Ende Der erste Virus mit einfachen Steath-Techniken erscheint: Der Dark Avenger täuscht erstmals die ursprüngliche Dateilänge vor.
1989 Ein verseuchtes Seisure Suit Larry (ein Spiel) richtet in englischen Banken und Devisenfirmen mehrere Millionen £ Schaden an. Das Programm wurden von den Angestellten auf ihre Terminals kopiert.
1989 IBM entwickelt ein eigenes Antiviren-Programm, das 28 Viren erkennt. McAfee ist bereits bei 44 Viren.
1989 Nov. Als erster Staat stellt Minnesota die Verbreitung von Viren unter Strafe.
1990 Der Frodo-Virus enthält als erster polymorphe Eigenschaften: Er kann seinen Code selbständig verändern, ohne, dass sich die Aufgabe ändert.
1990 5000 PCs, die im Golfkrieg im Einsatz waren, sind mit dem Jerusalem-B-Virus verseucht, wahrscheinlich von den Soldaten mit billigen Spielen aus Saudi- Arabien eingeschleppt.
1990 Das erste PC-Viren Construction-kit wird durch dubiose Mailboxen verbreitet. Heute sind mindestens 5 solche Programme erhältlich. Teilweise sogar mit polymorphen Eigenschaften.
1992 Okt. Der erste Windows-Virus erscheint.
1993 Microsoft erweitert das Betriebssystem MS-DOS um ein Anti-Viren-Programm, das sich allerdings als veraltet und unfähig erweist, da beispielsweise der Virus Tremor dieses Antivirenprogramm ausschalten kann.
1994 Etwa 3600 Viren bekannt.

2. Die verschiedenen Virentypen

2.1. Dateiviren

Programmviren befallen entweder COM-oder EXE Programme. Programmviren schreiben ihren Code in diese Dateien. Gewisse Viren, tun dies verschlüsselt, oder können ihren Code verändern. Man spricht bei solchen Viren von Stealth-oder Tarnkappenviren.

2.1.1. Aufbau

2.1.1.1. Linkviren
Linkviren hängen sich bei der Infektion an das Wirtsprogramm an. Sie überschreiben jedoch den ersten Befehl des Wirtsprogrammes mit einem Sprungbefehl, der den Computer beim Ausführen des Wirtsprogramms anweist, zuerst die Virusanweisungen zu lesen. Diese umfassen im Allgemeneinen: Eine Viruskennung, damit der Virus ein Wirtsprogramm nicht doppelt infiziert. Er sucht vor der Infektion nach dieser Kennung. Falls er sie nicht findet, infiziert er die Datei. Darauf folgt der Kopiertteil. Dieser ist dazu zuständig, dass der Virus sich vermehren kann. Darauf folgt bei den meisten Viren ein Schadensteil, der beim Herbstvirus beispielsweise im Herbst die Buchstaben auf die unterste Zeile fallen lässt. Schliesslich folgt ein zweiter Sprung, der dem Computer die Anweisung gibt, das Wirtsprogramm nun auszuführen. Da sich Linkviren an das Wirtsprogramm anhängen, wird es automatisch länger. Sie können daher an der Längenänderung der Datei erkannt werden. Neuere Viren versuchen dies zu vertuschen. Man nennt solche Viren Tarnkappen- oder Stealthviren.
2.1.1.2. überschreibende Viren
Der Unterschied zwischen Linkviren und überschreibenden Viren ist, wie der Name schon sagt, dass überschreibende Viren ihr Wirtsprogramm bei der Infektion überschreiben und es damit meist unbrauchbar machen. Sie können daher viel leichter erkannt werden. Ihr Aufbau ist - abgesehen von den Sprungbefehlen - gleich wie bei Linkviren. Er gliedert sich ebenfalls in: Virenkennung, Kopierteil und Schadensteil. Da sie ihr Wirtsprogramm überschreiben, haben sie den Vorteil, dass sie nicht an einer Längenänderung der Datei erkannt werden können.

2.1.2. Infektionsvorgehen

2.1.2.1 Speicherresidente Viren
Wenn man eine Diskette, die mit einem speicherresidenten Virus verseucht ist, in den Computer einschiebt und darauf ein verseuchtes Programm startet, setzt sich der Virus im Speicher fest. Man sagt er wird speicherresident. Dies hat für den Virus den Vorteil, dass er sich vor Zugriffen besser schützen kann. Der Dark Avenger beispielsweise verändert die Ausgabe der Dateilänge. Der höher entwickelte Whale- Virus sperrt die Tastatur, sobald man die Speicherbereiche durchsuchen will, in denen er resident ist. Falls man nun ein unverseuchtes Programm, das sich auf der Festplatte befindet, startet, wird dieses automatisch infiziert. Falls der Benutzer dieses Programm einem Kollegen nun kopiert, wird auf die selbe Weise auch sein Computer infiziert. Auch wird diese Möglichkeit genutzt um Schadensroutinen laufen zu lassen. Der Virus Yankee Doodle spielt beispielsweise immer um 5 Uhr das amerikanische Volkslied "Yankee Doodle".
2.1.2.2. Nicht speicherresidente Viren
Nicht speicherresidente Linkviren bleiben nicht im Memory des Computers resident. Wenn man von einer Diskette ein verseuchtes Programm startet, so such der Virus auf der Festplatte nach Programmen, die für ihn günstig sind zu infizieren. Einfache Viren durchsuchen nur das eigene Unterverzeichnis, höher entwickelte Viren durchsuchen mehrere Laufwerke, um nach Wirtsprogrammen zu suchen. Auch hier gilt wieder: wenn nun eines der infizierten Programme einem Kollegen kopiert wird, überträgt sich der Virus auf dessen Computer. Da nicht speicherresidente Viren ihre Schadensroutien nicht vom Arbeitsspeicher aus laufen lassen können, müssen sie beim Programmstart von ihr gebrauch machen, falls sie ausgeführt werden soll. Als Beispiel sei hier der 847-Virus genannt, der den Text "Program sick error: call doctor or buy pixel magazine for cure description" ausgibt.

2.2. Systemviren

Systemviren befallen nicht normale Programmdateien, sondern teile des Betriebssystems. Das gab ihnen diesen Namen. Befallen werden der Bootsektor, die Partitionstabelle sowie die Betriebssystemdateien Command.Com, MsDos.Sys und Io.Sys beziehungsweise deren Ebenstücke bei anderen Dos. Die einzelnen Virentypen werden nun im folgenden einzeln beschrieben.

2.2.1. Bootsektorviren

Bootsektorviren befallen den ersten Sektor einer Festplatte oder Diskette. Dieser Sektor wird vom BIOS (Basic Input and Output System) gelesen. Falls dort kein Verweis auf ein Betriebssystem gefunden wird, verzweigt das original IBM-BIOS ins ROM-BASIC. Neuere BIOS melden, dass das Betriebssystem fehlt. Damit das BIOS nun nichts von der Veränderung des Bootsektors merkt, lagern die Bootsektorviren den ursprünglichen Bootsektor auf einen anderen Sektor aus, den sie als unbrauchbar markieren. So werden diese Viren von anfang an geladen und bleiben dann Speicherresident. Beispiele zu diesem Typ sind der Brain-Virus, der das Bootlaufwerk auf "(c) brain" umbenennt oder der Ping-Pong-Virus, der einen hüpfenden Ball auf dem Bildschirm animiert.

2.2.2. Partitionstabellen-Viren

Partitionstabellen-Viren sind eine Unterart von Bootsektorviren. Sie befallen ausser dem Bootsektor auch die Partitionstabelle, die Aufschluss über die Aufteilung der Festplatte gibt. Ein Virus, der auch die Partitionstabelle befällt, ist der Stoned-Virus, der bei jedem Start den Text: "Your PC is Stoned. Legalize Marijuana" ausgibt.

3. Antiviren Soft-und Harware

3.1. Antiviren Software

Antiviren-Software ist heute, nicht zuletzt wegen den neuen Dos-Versionen, der weitverbreitetste Virenschutz. Doch nicht nur Virenscanner sind zur Virenabwehr entwickelt worden. Auch sogenannte Prüfsummenprogramme sollen - vor allem vor unbekannten - Viren schützen. Auch einfach auszuführede Tricks, die präventiv gegen Vireninfektion helfen, werden angesprochen.

3.1.1. Virenscanner und Killerprogramme

Virenscanner durchsuchen Dateien und den Bootsektor nach Viren. Sie gehen dabei nach einem Suchschema Datei um Datei durch und vergleichen Teile der Files mit Virenkennungen, die jedoch alle Monate erneuert werden müssen. Killerprogramme sollten dann die gefundenen Viren aus den Files möglichst schonend entfernen, damit noch der grosse Teil der Originaldatei vorhanden bleibt. Dies gelingt diesen Programmen jedoch nur teilweise und nur wenn der Virus absolut sicher erkannt wurde. Das Problem dieser Antivirensoftware ist das schnelle Veralten. Selbst die Firma McAfee, die ihren Scanner per Mailbox verteilt, kann die neusten Viren daher nicht erkennen. Erst wenn der neue Virus analysiert wurde kann er in die neueste Version aufgenommen werden. Dabei vergehen Monate. Zudem ist die Erkennungsrate bei einigen Programmen, vor allem bei Microsoft AntiVirus sehr schlecht. Doch in Verbindung mit Prüfsummenprogrammen ist es doch ein akzeptabler Schutz.

3.1.2. Prüfsummenprogramme

Einen Schritt weiter als Scanner gehen sogenannte Prüfsummenprogramme. Sie versprechen, sogar unbekannte Viren zu erkennen. Diese Behauptung stüzt sich auf folgendes Prinzip: Das Programm erstellt für jede Datei auf der Harddisk eine sogenannte Prüfsumme, eine Zahl, die aus Inhalt der Datei, Dateilänge, Datum und Zeit der letzten Änderung sowie aus dem Inhalt des Dateiatributes und der Speicheradresse gebildet wird. Diese Zahl vergleicht das Prüfsummenprogramm dann bei jedem Such-Durchgang und meldet Alarm, sobald die Prüfsumme von dem alten Wert abweicht. Diese Methode ist oftmals sinnvoll, kann aber teilweise zu falschen Schlüssen verleiten. Es gibt nämlich Progamme, die ihren Programmcode ändern. Da sich dann z.B. das Attribut der letzten Änderung ändert, schlagen Prüfsummenprogramme unberechtigt Alarm. Ansonsten sind Prüfsummenprogramme brauchbare Virenerkennungssysteme. Besonderes in Verbindung mit Virenscannern ist ein Prüfsummenprogramm sinnvoll.

3.1.3. Virendetektoren mit Faustregeln

Neuere Virenscanner (z.B. Thunderbyte) benutzen zum Erkennen von Viren nicht nur klare Erkennungszeichen, sondern durchsuchen die Dateien mit dem Faustregelprinzip nach Viren. Sie prüfen z.B. ob der Code dafür geschrieben sein scheint andere Programme zu infizieren oder ob eine undokumentierte Dos-Funktion verwendet wird. Nach diesem Muster können neue Viren erkannt werden, ohne dass ein typischer Text gefunden werden muss. Daher ist diese Programmart sicher zukunftsträchtig.

3.2. Antiviren Hardware

Viel weniger bekannt als Antivirensoftware, aber wirkungsvoller und teurer ist Antiviren-Hardware. Die drei wichtigsten Technologien werden im Folgenden behandelt.

3.2.1. Interruptwache

Diese Hardwarekarten versuchen durch das Abfangen und Überwachen von virentypischen Interrupts, Aktionen von Viren zu vereiteln. Wenn beispielsweise die Harddisk formatiert werden soll, oder ein Schreibzugriff auf die Systembereiche geschieht, meldet diese Art Hardware Alarm. Sie ist zum Vereiteln von Virenoperationen gut brauchbar und kostet zwischen 200 und 1000 Franken.

3.2.2. Harddisk-Schreibschutz

Diese Art Hardware versieht gewisse Dateien und Bereiche der Harddisk mit einem Schreibschutz. So kann verhindert werden, dass Viren Programme befallen. Karten dieser Art sind daher sehr nützlich und kosten etwa 1000 Franken.

3.2.3. Prüfsummenhardware

Prüfsummenhardware funktioniert wie die gleichnamige Software. Sie ist jedoch effektiver und sicherer als Software, da der Karte keine falschen Tatsachen vorgespielt werden können. Auch solche Karten kosten etwa 1000 Franken.

 

[zurück]