Computerviren
und ihre Vermeidung
Kapitel 6
Copyright (C) 04/1993 by Howard Fuhs
6 Verhalten und Auswirkungen von Computerviren
Wenn man das Verhalten von Computeranwendern analysiert, merkt man, daß sich viele Anwender nie Gedanken über das Verhalten und über die Auswirkungen von Computerviren gemacht haben. Der arglose, alltägliche Umgang mit dem Computer birgt Gefahren, die man durch ein wenig Mitarbeit und durch Information minimieren kann.
6.1 Wodurch kann ein Computervirus ausgelöst werden?
Viele Computerviren haben nicht nur die Aufgabe sich zu vermehren, sondern sie sollen auch Schaden anrichten.Wenn man also von dem "Auslösen" eines Computervirus spricht, meint man damit nicht den Aufruf eines Virus und das damit verbundene Vermehren des Computervirus. Man meint damit vielmehr das Auslösen einer im Computervirus einprogrammierten Routine, die irgendwelche verändernden oder zerstörenden Aufgaben zu verrichten hat.
Die Bedingung zum Auslösen einer solchen Payload hängt (logischerweise) vom Virusprogrammierer ab. So kann z.B. ein bestimmtes Datum einen Auslösefaktor darstellen. Ein sehr beliebtes (und fast schon einfallsloses) Datum ist z.B. Freitag der 13. oder Donnerstag der 12. oder für ganz Kluge, die einfach die Systemuhr um einen Tag vorstellen, wenn ein solches Datum vor der Tür steht, kann es auch Samstag der 14. sein. Es kann aber auch der Geburtstag des Virusprogrammierers sein, der Geburtstag einer berühmten Persönlichkeit (z.B. Michelangelo, 6. März) oder Weihnachten, der 1. April, Haloween oder wie in einem sehr optimistischen Fall, der 01.01.2000 oder irgendein anderes Datum, das dem Programmierer gefällt.
Vom Programmierer können aber auch noch andere Triggerbedingungen einprogrammiert werden. Da wären zu nennen der x-te Aufruf eines Programms, eine gewisse Uhrzeit, das x-te Booten des Computers, der x-te Schreibzugriff auf die Festplatte, das x-te Vermehren des Virus, oder x Tage nach der Verbreitung des Virus oder die Eingabe eines bestimmten Wortes.
Eine ebenfalls denkbare und sehr interessante Variante wäre ein Computervirus, der sich zwar vermehrt und andere Files infiziert, der aber ein zweites Virusfile benötigt, um ausgelöst zu werden. Der Virusprogrammierer würde zu einem bestimmten Zeitpunkt seinen ersten Computervirus unter die Leute (Computer) bringen. Nachdem er dann eine Weile (Wochen oder Monate?) gewartet hat, entläßt er das zweite Virusprogramm, das sich zwar auch vermehrt, aber nur die Aufgabe hat, das erste Virusprogramm auszulösen. Treffen also beide Virenprogramme aufeinander, ist für den ersten Virus die Triggerbedingung erfüllt.
Es wäre ebenfalls denkbar, daß ein Computervirus nur dann ausgelöst wird, wenn er auf der Festplatte ein bestimmtes Anwenderprogramm vorfindet, oder wenn dieses vom Anwender irgendwann einmal installiert wird.
Diese Aufzählung ist nur als Beispiel zu sehen und ist auf gar keinen Fall komplett. Es gibt einfach zu viele denkbaren Triggerbedingungen. Es gibt praktisch soviel denkbare Triggerbedingungen wie es technische Programmiermöglichkeiten auf einem Computer gibt.
6.2 Welchen Schaden kann ein Computervirus anrichten?
Auch hier sind der Phantasie fast keine Grenzen gesetzt. Der Computervirus kann praktisch jeden Schaden anrichten, den man programmtechnisch hervorrufen kann.Einige Computerviren beschränken sich darauf, irgendeinen Unsinn auf dem Bildschirm auszugeben. Das kann z.B. ein kleiner Krankenwagen sein, der mit Blaulicht über den Bildschirm fährt, oder der Virus läßt die Buchstaben auf dem Bildschirm wie Herbstlaub auf die unterste Bildschirmzeile fallen, spielt eine Melodie oder gibt sonstige Geräusche von sich, oder er fragt bei jedem Tastendruck über den Lautsprecher nach Keksen (Cookies). Wenn der Anwender dann das entsprechende Wort (z.B. Cookies) eingibt, gibt der Computervirus für eine gewisse Zeitspanne (Minuten oder Stunden) Ruhe.
Er kann die Daten, die über Schnittstellen ausgegeben werden, verändern. Dann stimmt z.B. der Ausdruck auf einem Drucker nicht mehr, oder die Daten, die über ein Modem an einen anderen Rechner geschickt werden, werden verändert und damit unbrauchbar gemacht.
Er kann aber auch etwas (gelinde ausgedrückt) gemeiner sein und Daten auf einem Datenträger verändern, Daten und Dateien löschen, ganze Verzeichnisse löschen, die Festplatte formatieren, Clusters auf der Festplatte als "bad" markieren, die FAT verändern oder löschen, den Bootsektor oder das MBR verändern oder löschen, Attribute von Dateien ändern (z.B. in hidden), Dateien in andere Verzeichnisse kopieren usw.
Speziell bei Computerviren, die Daten verändern, besteht die Gefahr, daß sie nicht rechtzeitig entdeckt werden, da die Zerstörung an sich nicht auf den ersten Blick für den Anwender ersichtlich ist. Solche Computerviren werden meistens speziell für gewisse Anwenderprogramme geschrieben, wie z.B. Datenbanken oder Tabellenkalkulationen. In den Datensätzen vertauschen die Viren Zahlen oder ändern in der Tabellenkalkulation eine Berechnungsformel. Und da sich der Anwender heutzutage schon fast blind auf die Rechenkünste seiner Tabellenkalkulation verläßt, fällt es ihm erst auf, wenn ein größerer Schaden eintritt. Und das kann mitunter Monate dauern.
6.2.1 Hardwareschäden
Ob man einen Computervirus so programmieren kann, daß er auch einen Hardwareschaden anrichten kann, wird im Moment noch in Fachkreisen heftig diskutiert. Zumindest ist bis jetzt noch kein Computervirus bekannt geworden, der diese Fähigkeiten hat, und es wird auch weitestgehend für unmöglich gehalten.
6.3 Wie groß ist ein Computervirus?
Hier sollte man eigentlich fragen "Wie klein ist ein Computervirus". Die theoretische Größe eines Computervirus richtet sich nach dem technisch Machbaren auf einem Computer.So wäre zwar ein Computervirus von (nur als Beispiel) 200kB denkbar und machbar, nur würde ein solcher Virus schon durch seine Größe mitunter sehr schnell entdeckt.
Deshalb versuchen die Virenprogrammierer, ihre Computerviren so klein wie möglich zu halten. So ist der kleinste speicherresidente Computervirus z.Zt. nur 128 Byte groß und der kleinste nicht-residente Computervirus nur 45 Byte groß (oder klein). Diese Werte sind zwar in der Praxis von wenig Interesse, ich habe sie hier jedoch erwähnt, um dem Leser einen Anhaltspunkt über die Größe von Computerviren zu geben.
6.4 Infektionsbedingungen
Der Computervirus macht die Infektion einer Wirtsdatei von verschiedenen Bedingungen abhängig. Die erste Bedingung ist meistens die Art der Wirtsdatei. Handelt es sich um eine COM- oder um eine EXE-Datei. Abhängig davon, für welche Art von Wirtsdatei der Computervirus programmiert wurde, wird dies auch zuerst überprüft. So wird z.B. ein COM-Infektor nach einer Überprüfung keine EXE-Datei infizieren. Es können aber auch andere Bedingungen ausschlaggebend sein wie z.B. die Größe einer Datei. In diesem Fall muß die Wirtsdatei eine bestimmte Mindestgröße aufweisen, darf eine gewisse Maximalgröße nicht überschreiten, oder die Größe der Wirtsdatei muß durch einen gewissen Wert teilbar sein usw. Die Infektionsbedingungen hängen weitestgehend vom Virenprogrammierer ab.
6.5 Doppelinfektionen
Was bei einer Doppelinfektion passieren kann, ist nur sehr schwer zu beschreiben. Eine Doppelinfektion bedeutet, daß eine Wirtsdatei von zwei verschiedenen Computerviren infiziert ist. Ob, wie und welcher Computervirus ausgeführt wird, hängt von den beiden zusammentreffenden Computerviren und deren Eigenschaften ab. Oftmals wird bei einer solchen Doppelinfektion sogar die Wirtsdatei so in Mitleidenschaft gezogen, daß sie nicht mehr ausführbar ist. Doppelinfektionen treten in der Praxis häufiger auf als man vermutet, werden aber meistens nicht als solche erkannt.
6.6 Wie erkennt ein Computervirus ob eine Datei bereits infiziert ist?
Nachdem ein Computervirus ausgeführt wurde, versucht er als nächstes eine Wirtsdatei zu finden, in der er eine Kopie von sich selbst einbinden kann. Nachdem er eine solche Wirtsdatei gefunden hat, wird diese erst daraufhin untersucht, ob die Datei nicht bereits von diesem Virus infiziert wurde. Dabei kann der Virus verschiedene Methoden anwenden. Eine Möglichkeit wäre z.B., daß er nach einem für sich selbst typischen HEX-String in der Wirtsdatei sucht. Oder nach einem bestimmten Bit an einer bestimmten Stelle der Wirtsdatei. Es gibt aber auch Viren, welche bei einer Infektion einer Wirtsdatei die Zeit des Abspeicherns auf einen bestimmten Wert setzen. So z.B. die normalerweise nicht sichtbare Sekundenangabe auf 61 oder 62 Sekunden oder den Monat auf 13.Auch polymorphe Viren, die mit der MtE oder TPE verschlüsselt werden, verwenden die Technik der Markierung einer infizierten Wirtsdatei. So schreibt ein MtE verschlüsselter Computervirus z.B. ein "M" in das erste Byte der infizierten COM-Datei.
Da diese Technik aber nicht sehr sicher ist, kann es auch vorkommen, daß ein Virus eine Datei nicht infiziert, da diese das "M" schon im ersten Byte stehen hat, obwohl die Datei noch nicht infiziert wurde. Diese Eigenschaft können sich aber Anti-Viren-Scanner nicht zunutze machen. Da es einen Virusautor meist nicht interessiert, ob sein Virus eine Infektionsrate von 100% erreicht oder eine Infektionsrate von nur 97%, interessiert es den Anwender schon, ob sein Anti-Viren-Programm 100% der Infektionen entdeckt oder nur 97%. Außerdem sind dabei auch noch einige Prozent Fehlermeldungen zu befürchten. Ein solches Anti-Viren-Programm wäre also für die normale Anwendung zu unzuverlässig.
6.7 Infektionsausbreitung
Die Infektionsausbreitung ist von der Art des Computervirus abhängig. Ist er ein Fast Infektor, dauert es eine relativ kurze Zeit bis ein System komplett verseucht ist (mitunter nur wenige Minuten). Es gibt gewisse Ähnlichkeiten zwischen dem Ausbreiten einer biologischen Infektion (z.B. Grippevirus) und der Verbreitung eines Computervirus. Die Infektionskurve sieht bei beiden Virenarten (biologischer Virus/digitaler Virus) sehr ähnlich aus. Die hier gezeigte Infektionskurve ist dem Infektionsverhalten der biologischen Viren entnommen.Abbildung 8: Typischer Infektionsverlauf
- Stufe 1 ist der Ausbruch der Infektion bis zur immer schneller werdenden Infektion von Wirtsdateien.
- Stufe 2 ist die 100%ige Infektion des Computersystems und auch der Zeitpunkt der Entdeckung der Virusinfizierung.
- Bei Stufe 3 wird Anti-Viren-Software zum Einsatz gebracht. Es wird also ganz massiv gegen die Infektion vorgegangen.
- In Stufe 4 geht die Anzahl der Infektionen merklich zurück.
- Stufe 5 stellt den vorläufigen Tiefstpunkt bei der Infektionszahl dar. Nach Stufe 5 beginnt die Anzahl der Infektionen wieder zu steigen. Dies ist auf noch nicht desinfizierte Sicherheitskopien und noch nicht gefundene infizierte Computer oder Dateien innerhalb einer Firma zurückzuführen.
- Stufe 6 stellt den Höchstpunkt dieser zweiten Infektionswelle dar.
- Bei Stufe 7 klingt die Infektion wieder ab und geht gegen Null. D.h. alle Dateien, Computer, Disketten und Sicherheitskopien wurden erfolgreich desinfiziert.
Die oben gezeigte Infektionskurve ist stark vom Computervirus abhängig. Sie kann von Virus zu Virus mehr oder weniger stark abweichen.
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