Von Jörg Heitkötter und Gerhard Weinreich
(eingereicht am 16.9.1999)
(eingereicht am 16.9.1999)
Systems that are based totally on mechanical principles, Newtonian thinking, tend to be very brittle. If something is slightly the wrong dimension, it tends to break. Biological Systems tend to have different properties. [..] Kevin Kelly has written about this; the Santafe Institute is about this. If we want to build large-scale systems that evolve, that have things that are more like immune systems, we have to look to a different intellectual tradition, not just to mechanical engineering and physics, but to biology and the evolution of natural systems, what we call complex adaptive systems, going forward. Those are the only sources we have of looking at the world around us, of understanding how these kinds of systems, with the properties that we want, emerged in nature.
--Bill Joy
(In a panel discussion at JavaOne 1999
with James Gosling, Bill Joy, Danny Hillis
and Greg Papadopoulos)
Technik und Natur erscheinen uns häufig unvereinbare
Gegensätze. Dennoch liefert die Symbiose von Methoden eines Milliarden Jahre alten
Trial-and-Error-Systems namens Evolution und modernen Computeranwendungen immer häufiger
Lösungswege zu alltäglichen Problemen, die sich in ihrer komplexen Eleganz kein
Ingenieur der Welt hätte ausdenken können. In Zukunft wird beispielsweise die Bedrohung
unserer Rechner durch Computerviren im exponentiellen Maße zunehmen: Zum einen, weil die
Anzahl der unbedarften Internetanwender steigt und somit die Wahrscheinlichkeit der
Übertragung von Viren via Email und anderen Dateitransferdiensten; zum andern, weil es
immer weniger Software gibt, die speziell für ein Betriebsystem konzipiert wurde. Dies
führt zu einer Vereinheitlichung des Ökosystems, das Computerviren, -würmern und
anverwandte, vagabundierende Programme zu ihrer erfolgreichen Ausbreitung benötigen.
Ein globales Datennetz, welches bereits John Brunner in seinem
Science-Fiction-Klassiker von 1974 „Der Schockwellenreiter" beschrieb, wird der
Nährboden der uns bevorstehenden Cambrischen Explosion der Computervirenvielfalt sein:
das Internet. Dabei orientierte sich Brunners explorative Phantasie daran, daß bereits
Anfang der 70er Jahre fähige Hacker Computerviren programmiert hatten. Der erste
tatsächlich dokumentierte Virus namens BRAIN tauchte jedoch erst 1987 an einer
amerikanischen Universität auf und infizierte Disketten mit Kopien seiner selbst. Ein
Jahr später, also nur 13 Jahre nach Erscheinen des Buches, setzte ein Student namens
Robert T. Morris, pikanterweise Sohn des damaligen Chief Scientist der US-amerikanischen
NSA, die wissenschaftliche Fiktion in die Tat um. Das später als Internetwurm bekannte
Programm, welches auf Grund eines Programmierfehlers vergaß, seine Kopie auf dem
infizierten Rechner zu löschen, so daß sich der Wurm nicht nur von Rechner zu Rechner
kopierte, sondern tausende von Kopien erzeugte, die sowohl neue als auch bereits
infizierte Hosts infizierten; dieses Schneeballsystem brachte mehrere Hundert des damals
circa 50.000 Hosts umfassenden Internets zum Zusammenbruch, da sie bald nur noch mit dem
Erzeugen von Wurmkopien beschäftigt waren. Heute würde man das ganze wohl eine
Internet-DoS-Attacke (engl. Denial of Service) nennen, bei der der Internethost seine
eigentliche Funktionen nicht mehr ausüben kann, z.B. die Verwaltung des
Festplattenplatzes, der CPU-Zeit oder die häufig feste Anzahl an TCP-Verbindungen.
Computerviren kann man im wesentlichen in drei Klassen
einteilen: Dateiviren, Bootviren und Makroviren. Wenn ein Anwender ein mit Dateiviren
verseuchtes Programm startet, wird zuerst der Viruscode ausgeführt und das Virus
installiert sich selbst im Arbeitsspeicher, so daß es sich an Anwendungen hängen kann,
die der Anwender in der Folge aufruft. Bootviren befinden sich in einem bestimmten Bereich
einer Diskette oder einer Festplatte, der immer dann ausgeführt wird, wenn der Computer
startet. In der letzten Klasse befinden sich die Makroviren, die unabhängig vom
Betriebsystem sind. Deshalb können sie sich unglaublich schnell ausbreiten. Um die
Ausbreitung zu forcieren, lassen ihre Schöpfer sie vorwiegend auf Microsoft-Produkte los,
da dies die größte ökologische Nische im gesamten Ökosystem der unvernetzten
Rechnerwelt darstellt.
Genau dies eben ist der Grund dafür, daß sich die Ausbreitung
der Viren bisher in Grenzen hielt: daß sie sich nämlich nur in den jeweiligen
Betriebsystemen ausbreiten konnten, für die eine bestimmte Software geschrieben war. Sie
waren also auf ihre jeweilige ökologische Nische angewiesen, wie etwa dem Boot-Sektor
oder der Partitionstabelle eines MS-DOS Festspeichers oder dem BIOS eines bestimmten
Herstellers. Seit dem Auftauchen des ersten Microsoft-Word-Makrovirus namens
„Concept" in Jahre 1995 und der darauf folgenden explosionsartigen Ausbreitung
derartiger Viren ist abzusehen, daß irgendwann die herkömmlichen Methoden der
Virenbekämpfung versagen, weil sie langfirstig zu ineffizient sein werden, um die
exponentiell wachsende Menge der Viren erfolgreich zu erkennen und zu beseitigen.
Aktuelle, populäre Virenscanner erkennen circa 50.000 Viren und deren Variationen. Dabei
besitzt jedes dieser Schutzprogramme eine Datenbank mit den Fingerabdrücken oder
„Signaturen" der bis dato bekannten Viren, die in raffinierte Bitmuster gepreßt
werden, damit ein paralleles Überprüfen von Signaturen mehrerer Viren gleichzeitig
möglich wird. Typische Signaturlängen betragen 16 bis 30 Bytes. Aus diesem Grunde
können die besten dieser Scanner heute 10.000 Signaturen in 10.000 Programmen in weniger
als 10 Minuten durchsuchen. Diese Datenbanken sind üblicherweise nach einem Monat
veraltet, so daß immer mehr Hersteller wie z.B. McAfee dazu übergehen, kostenlose
Updates der Datenbanken auf ihren Webservern im Internet anzubieten.
Zudem wird versucht, das Problem statt mit exakter
Datenbanksuche mittels heuristischen Methoden anzugehen. Dabei verlassen sich die
Programmierer auf die Tatsache, daß bestimmte Bitmuster in Form von
Maschinencodeanweisungen besonders häufig in Viren verwendet werden. Diese Heuristik muß
bei den meisten Virenscannern vom Benutzer aktiviert werden, da diese Methode auch zu
Fehlalarmen führen kann. Anti-Virenprogramme besitzen zumeist zwei Ausprägungen: Der
Benutzer aktiviert die Scanner, die alle Winkel des Computers nach Virusfingerabdrücken
durchsuchen. Virenschilde werden üblicherweise automatisch beim Hochfahren des Computers
geladen und legen sich um die wichtigen I/O-Routinen des Betriebsystems; sobald dieses
eine verdächtige Virusaktion ausführen würde, wird das Virus gemäß den reichhaltigen
Optionen dieser Softwaregattung behandelt. Dieser Artikel beschreibt nun im wesentlichen
die logische Fortführung der Entwicklung vom batch-orientierten Virenscanner über den
permament aktivierten Virenschild zum Computerautoimmunsystem.
Ein wesentliches Manko aller heutigen Methoden liegt in dem
Umstand, daß sie erst aktiviert werden müssen, damit sie auf Virensuche gehen. Kein
zeitgenössiges Betriebsystem besitzt ein eigenes im Kernel plaziertes Autoimmunsystem;
diese Funktionalität muß durch Drittanbieter hinzugekauft werden. (Einzig die Entwickler
der freien BSD-UNIX-Variante OpenBSD versuchen, alle bisher bekannten Sicherheitslöcher
von unixoiden Betriebsystemen bereits bei der Kernelimplementierung auszuschließen.) Ein
anderes Manko ist, daß heutzutage ein Wechselspiel zwischen Viren und Virenjägern
stattfindet, das berühmte Hase-Igel-Spiel: Wenn ein Virus auftritt, müssen Programmierer
ein Anti-Virenprogramm schreiben, um ihrer Herr zu werden. In der Zwischenzeit richtet das
Virus dann allerlei zum Teil irreparable Schäden an. Dies ist derselbe aus der Biologie
bekannte Vorgang des Wettrüstens im Verhältnis von Parasit und seinem Wirt. Dabei
erfolgen irreparable Schäden durchaus nicht immer absichtlich: Kein Virus kann sich
nämlich vermehren, wenn es den Wirt tötet.
Daher fanden Viren durch das leicht zum Absturz zu bringende
Windows 3.x wenig Möglichkeit, sich anders als über den Bootsektor von Disketten zu
verbreiten; erst mit der stabileren Windows’95-Version erfolgte ein bedeutender Schub
in der Virenevolution: die Makroviren. Diese setzen nicht mehr auf der Betriebsystemebene
auf, sondern eine Schicht höher auf der Applikationsebene. Hierdurch werden diese Viren
betriebsystemunabhängig; und Microsoft-Word-Viren können heute Macintosh-, PC- und
UNIX-Rechner infizieren, wenn auf letzteren mit MS Office kompatible Programme installiert
sind, wie eben das von Sun Microsystems übernommene Star-Office-Paket.
Das Form-Virus zum Beispiel, das einmal im Monat clickende
Geräusche im Computerlautsprecher erzeugt, ist für alte PC recht harmlos, da es sich in
einem Festplattensektor versteckt, der von früheren DOS Versionen nicht genutzt wurde;
heutige Windowsrechner hingegen stürzen ab.
Aus diesem Grunde sehen sich die Computervirologen mittlerweile
nach Methoden um, die effizienter sind. Hierbei haben sie sich angesehen, wie das
menschliche Immunsystem Viren bekämpft. Die Forscher haben dann festgestellt, daß man
einige Strategien des Immunsystems auf die Rechnerwelt abbilden kann. Für die Zukunft
lautet also der Ansatz, daß die Bekämpfung der Viren stattfindet, indem man die Rechner
mit einer Art Immunsystem ausstattet, das die Viren wie ein menschliches Immunsystem
bekämpft. Die Firma Symantec hat angekündigt, im Herbst 1999 ein Antivirenprogramm
anzubieten, das bereits Merkmale eines Immunsystems aufweist.
Das Grundproblem des Immunsystems kann auf die Aufgabe reduziert
werden, Klassifizierungsmerkmale zu finden, um körperfremde von körpereigenen Substanzen
unterscheiden zu können. Bei der Bekämpfung von natürlichen Viren funktioniert das
folgendermaßen: Eine sogenannte T-Zelle besitzt Rezeptoren, mit denen sie die Oberfläche
eines Objekts untersucht. Handelt es sich um ein körpereigenes Objekt, erkennt die
T-Zelle es daran, daß sich an der Oberfläche ein bestimmtes Proteinmolekül befindet,
das Bestandteil aller Körperzellen ist. Genau genommen untersucht die T-Zelle nicht
einmal das ganze Proteinmolekül, sondern im Laufe der Evolution hat das Immunsystem
gelernt, das Molekül an Hand eines relativ kleinen Ausschnitts, einem Peptid von der
Größe 8 bis 15 Aminosäuren, zu untersuchen. Das ist auch geboten: So erspart es sich
Untersuchungen, die sich in lebensbedrohliche Länge ziehen können. Hier finden wir auch
gleich die Parallele zur aktuellen Anti-Virensoftware, die ja ebenfalls nur
Fingerabdrücke, also kurze Sequenzen aus dem Virencode, zum Aufspüren verwendet.
Eine weitere wichtige Eigenschaft des Immunsystems ist die
dezentrale Bekämpfung der Eindringlinge. Es gibt also kein zentrales Organ, dem
Informationen übermittelt werden müssen, um dann für die Abwehrelemente Weisungen zu
erteilen. Die Entscheidung, daß eine Substanz bekämpft wird, findet vor Ort statt.
Um die Frage nach einem Computerimmunsystem zu klären,
benötigt man an erster Stelle eine Definition zur Unterscheidung von computereigenen und
computerfremden Prozessen. Des weiteren müssen Methoden ersonnen werden, die das
Aufspüren und Eliminieren gefährlicher, fremder Aktivität ermöglicht. Außerdem bedarf
es einer Speicherung von früheren Virentypenmustern, einer Methode zum Erkennen neuer
Infektionen und einer Methode zum Schutz gegen Autoimmunreaktionen. (Dieser Fall träte
beispielsweise ein, wenn das Immunsystem nicht erkennt, daß sich ein User mal von einem
andern Platz als seinem üblichen sich Zugang zum System verschafft.)
Die Unterscheidung zwischen computereigenen und computerfremden
Prozessen muß einige legitime Änderungen des System berücksichtigen: Es muß gestattet
sein, Dateien zu schreiben, neue Software zu integrieren, neue Anwender und Änderungen
des Anwenderverhaltens zuzulassen. Gleichzeitig soll dieses Immunsystem aber
unautorisiertes Ändern von Daten, virenbehaftete Software, unautorisierte Benutzer und
Angriffe von Anwendern aus dem Systeminneren erkennen.
Derzeit formieren sich um diesen Themenkreis eine Reihe von
speziellen Konferenzen, die sich mit dem Thema „Intrusion detection" (Erkennen
von Systemeinbrüchen bzw. Systemanomalien) im Rahmen der Computer- und Netzwerksicherheit
auseinandersetzen. Eine exakte Beschreibung der hierbei verwendeten und durchaus nicht
trivialen Algorithmen würde den Rahmen diese Artikels sprengen. Besonders aussichtsreich
erscheinen uns hier die Ergebnisse zur „distributed change detection" und
„hidden markov chain"-Analyse der Computerimmunologie-Forschungsgruppe um
Professor Stephanie Forrest an der University of New Mexiko.
Die Forschung auf diesem Gebiet ist bereits den Kinderschuhen
entwachsen und wird üblicherweise als „Spielart" des Artificial Life
betrachtet. Da Artificial Life jedoch eher mit einer „Wissenschaft der bunten Bilder
mit häufig zweifelhafter Aussagefähigkeit" assoziiert wird, fristete die
Computerimmunologie bisher ein Mauerblümchendasein. Man kann im wesentlichen zwei
verschiedene Forschungsrichtungen beobachten. So betreibt Stephanie Forrest eher
Grundlagenforschung und schaut sich an, wie weit man die Analogie zwischen einem
menschlichen Immunsystem und einem Computerimmunsystem überhaupt ziehen kann. In dieser
Gruppe arbeiten nicht nur Computerhacker und Sicherheitsexperten, sondern auch Mediziner,
die eigentlich nur Computersimulationen von Immunsystemen implementieren wollten; denn was
wir bisher verschwiegen haben, ist die relativ unbekannte Tatsache, das die
Gesamtwirkungsweise unseres Immunsystems weitgehend unerforscht, um nicht zu sagen: noch
völlig im Dunkeln liegt. Dennoch ist man bereits in der Lage, kommerziellen Nutzen aus
dem rudimentären Wissen zu ziehen.
Institutionen wie das Virus-Forschungszentrum der IBM besitzen
daher ein Hauptaugenmerk auf die praktische Umsetzung. Dort schaut man sich an, wie Wissen
über das menschliche Immunsystem möglichst schnell auf die PC-Computerwelt übertragen
werden kann. IBM kooperiert übrigens auf dem Gebiet der Virenbekämpfung eng mit Intel
und Symantec, unterstützt aber auch das oben angesprochene Grundlagenforschungsprogramm.
Natürlich kann man Teile eines Autoimmunsystems für
Rechnernetzte im Quellcode auf diversen Servern des Internets finden, so zum Beispiel die
GNU cfengine, die an der Universität von Oslo entwickelt wurde, und das Thema aus der
Sicht der Netzwerksystemadministratorensicht betrachtet. So unterscheidet cfengine
computereigene von computerfremden Prozessen anhand vorkonfigurierter Templates-Tripwire
von Professor Gene Spafford, der vor allem durch seine brillante Analyse des
Morris-Internetwurms von 1987 bekannt wurde. Spafford war übrigens auch einer der ersten,
der wissenschaftliche Aufsätze über Computerviren in Proceedings der damals eben erst
von Chris Langton am renommierten Santa Fe Institute initiierten Wissenschaft des
Artificial Life veröffentlichte. Inzwischen besitzt Spafford einen eigenen Lehrstuhl für
Computersicherheit an der Purdue University. Ein anderes Beispiel ist COPS von Dan Farmer,
einem Stundenten Gene Spaffords und Coautor von SATAN, dem wohl bekanntesten
Internet-Security-Scanner-Tool, welches samt Netscape-basiertem HTML-Frontend bereits 1994
erhältlich war.
Die Notwendigkeit einer Änderung der herkömmlichen
Antivirenbekämpfung ist einer der Gründe, warum das Security Lab der UUNET Forschungs-
und Entwicklungsabteilung die Entwicklung auf diesem Sektor aktiv begleitet. Sichere
private und öffentliche Netzwerke sind bereits heute gern gefragte Kundenprojekte, die
durch das Internet Solution Center von UUNET abgewickelt werden. Hier sind insbesondere
die Firewallinstallationen zu nennen, die immer häufiger auch eine
„Viruswall"-Komponente beinhalten. Um die biologische Analogie noch einmal zu
bemühen, wird hier dem Netzwerk eines Kunden eine Schutzhaut, sprich: Firewall
übergezogen, deren Schutzmechanismus wiederum mit aktiven Komponenten (die man als
Lymphknoten bezeichnen könnte) verstärkt wird, indem zum Beispiel Emails vor der
Auslieferung in die Inbox eines Nutzers auf Viren überprüft und ggf. gesäubert sowie
HTTP-Anfragen nach malitiösen ActiveX-Controls durchsucht werden.
Mit der Einführung der Anti-Virensoftware, die Anlehnung an die
Funktionsweise des biologische Immunsystems nimmt, ist das Ende der herkömmlichen
Anti-Virenprogramme eingeläutet, nicht jedoch der Verbreitung von Computerviren an sich.
Bereits im nächsten Jahr soll die zweite Version der Software von Symantec erhältlich
sein; und in Zukunft planen die Hersteller, in Abständen von 18 Monaten neue Versionen
einzuführen. Man muß kein Hellseher sein, um der gesamten Branche exzellente
Wachstumsaussichten zu prophezeihen.
Copyright (c) 1999 Jörg Heitkötter und Gerhard Weinreich. Alle Rechte vorbehalten.