Monday, June 24, 2013

Autoimmunsysteme von Rechnernetzen (published in NZZ, 1999)

Von Jörg Heitkötter und Gerhard Weinreich
(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.