Biohazard

Entstehungsgeschichte

980 verfasste Jürgen Kraus am Fachbereich Informatik der Universität Dortmund eine Diplomarbeit mit dem Titel "Selbstreproduktion bei Programmen". In dieser Arbeit wurde zum ersten Mal auf die Möglichkeit hingewiesen, dass sich bestimmte Programme ähnlich wie biologische Viren verhalten können. Der Verfasser schilderte die Konstruktion möglichst einfacher selbstreproduzierender Programme, ging aber nicht auf das Problem der IT-Sicherheit ein. Die Arbeit wurde nicht veröffentlicht und verschwand im Archiv der Universität.

1984 veröffentlichte der Amerikaner Fred Cohen seine Arbeit mit dem Titel "Computer Viruses - Theory and Experiments". Da er insbesondere auf die Gefahren einging, die Computerviren für Rechner darstellen können, erregte seine Untersuchung auch internationales Aufsehen. Cohen ist auch die Definition des Begriffs Computervirus zu verdanken:

A "computer virus" is a program that can "infect" other programs by modifying them to include a possibly evolved version of itself.

Es sollte nicht lange dauern, bis aus der theoretischen Bedrohung eine praktische Gefahr für die Betreiber von Computern werden sollte. Hauptsächlich betroffen waren Rechner, deren Betriebssysteme keinen oder nur sehr ungenügenden Schutz in Bezug auf IT-Sicherheit boten. Dazu gehörten in erster Linie die Personalcomputer.

1986 erschienen zum ersten Mal auf IBM-kompatiblen Personalcomputern Computerviren. Diese Viren waren recht einfach gebaut und konnten anhand fester Zeichenfolgen entdeckt werden, die im Programmcode zu finden waren. Häufig handelte es sich dabei um Viren, die zu irgendeinem bestimmten Zeitpunkt eine Meldung ausgeben sollten. Man brauchte also nur nach solchen Meldungstexten zu suchen, um den Virus zu entdecken.

Da solche so genannten "Scan"-Codes auch veröffentlicht wurden, dauerte es nicht lange, bis die ersten Viren auftauchten, die den Viruscode verschlüsselten. Das hatte zur Folge, dass nach Textausgaben von Viren nicht mehr einfach gesucht werden konnte, da diese Texte jedes mal anders verschlüsselt abgelegt wurden. Zum Glück blieb der Code der Verschlüsselungsroutine bei jedem Virus gleich, so dass man wenigstens danach suchen konnte. Die Anzahl der Bytes, die für einen bestimmten Virus typisch waren, verringerte sich jedoch entscheidend.

Die nächste Stufe waren dann die " Stealth "oder " Tarnkappen " Viren. Diese Viren nutzten spezielle Eigenschaften des Betriebssystems aus, indem bestimmte Systemaufrufe abgefangen und verfälscht ausgegeben wurden. So konnten diese Viren in einem infizierten System zum Beispiel die alte Programmlänge vortäuschen oder dem Benutzer statt bestimmter geänderter Sektoren der Festplatte die Originalsektoren vorspiegeln, die der Virus an eine andere Stelle verschoben hatte.

So richtig schwierig wurde es dann, als 1990 die ersten so genannten polymorphen Computerviren auftauchten. Soll ein Programm eine bestimmte Funktion erfüllen, so kann man dafür die verschiedensten Befehle in der unterschiedlichsten Anordnung verwenden. Zur Verdeutlichung ein Vergleich: Nehmen wir an, dass durch Addition von Zahlen ein bestimmter Wert, z.B. 19, erreicht werden soll. Hierzu kann man auf verschiedene Weise vorgehen: 9+10 oder 9+9+1 oder 1+9+0+9 oder 7+8+9+1-8+9-7 und so weiter. Diese neuartigen Viren funktionieren ganz ähnlich; sie verwenden entweder verschiedene Befehle oder sie ordnen Befehle anders an, bisweilen tun sie sogar beides. Wird dies geschickt genug gemacht, ergeben die unterschiedlichsten Programmcodes die gleichen Virusfunktionen. Um einen derartigen Virus zu entdecken, genügt es nicht mehr, nur nach bestimmten Zeichenfolgen zu suchen. Nur ein algorithmisches Verfahren, das nach bestimmten Eigenschaften des Virus sucht, führt dann noch zum Erfolg.

Zusätzliche Probleme bei der Bekämpfung der Computerviren ergaben sich aus dem Umstand, dass in Zeitschriften und Büchern Programmcodes für Viren abgedruckt wurden, so dass auch Personen mit sehr wenig Erfahrung im Programmieren in die Lage versetzt wurden, durch Abtippen der Befehle selbst neue Viren zusammenzubasteln und zu verbreiten. Schon bald darauf nahmen so genannte "Virenbaukästen" dem Virusprogrammierer sogar noch die Arbeit des Abtippens ab. Es handelt sich dabei um Programmsysteme, die durch einfaches Ankreuzen von vorgegebenen Menüpunkten einen neuen Virus zusammensetzen konnten.

Die neueste Bedrohung ist die "Mutation Engine", kurz "MtE" genannt. Man benötigt dazu lediglich einen einzigen fertigen Virus, und nach dessen Behandlung mit diesem Programmsystem entstehen Millionen von verschiedenen Varianten.

Bisher waren die Programmierer von Anti-Virus-Software in der Lage, den Vorsprung der Virenprogrammierer im Wettlauf mit der Zeit immer relativ rasch einzuholen. Es ist aber zu befürchten, dass die Zeitspanne zwischen Auftreten eines neuen Virus und der Erstellung des passenden Gegenmittels immer länger wird. Daher sollte geprüft werden, ob nicht vom Gesetzgeber der Veröffentlichung von Virencode und insbesondere der Verbreitung von Virenbaukästen ein wirksamer Riegel vorgeschoben werden kann.

Häufig wird die Frage gestellt, wer eigentlich Computerviren programmiert. Dieser Personenkreis reicht vom Schüler, der seinem Freund einen Streich spielen will und deshalb einen Virus in die Welt setzt, der Buchstaben durcheinanderpurzeln lässt oder enervierende Musik auf dem Lautsprecher des Personalcomputers spielt, über das verkannte Genie, das glaubt, auf diese Weise seine Programmierkunst beweisen zu müssen, bis hin zum Techno-Terroristen, der möglichst viel Schaden anrichten will.
[zurück zum Anfang]