Entwurf eines Künstlichen Immunsystems zur Netzwerküberwachung auf Basis eines Multi-Agenten-Systems Diplomarbeit Dipl. Bio. Katja Luther Technische Universität Berlin Falkulät IV – Elektrotechnik und Informatik Institut für Wirtschaftsinformatik und Quantitative Methoden Fachgebiet AOT Betreuer: Prof. Dr.–Ing. habil. Sahin Albayrak Dr.–Ing. Stefan Fricke Dipl.Inf. Olaf Kroll-Peters Zusammenfassung Zur Angriffserkennung in Computernetzwerken werden heute vor allem signaturbasierte Techniken angewand. Diese Methoden sind aber in Hinblick auf immer schnellere und komplexere Angriffe nicht mehr ausreichend. In dieser Arbeit wurde ein Künstliches Immunsystem (Artificial Immune System, AIS) auf Basis eines Multi-Agenten-Systems entworfen. AIS gehören zu den Methoden der Künstlichen Intelligenz und können zur Anomalieerkennung verwendet werden. Neben den Grundlagen aus der Informatik und der Biologie beschreibt diese Arbeit zunächst die grundlegende Implementierung eines agentenorientierten AIS. Darauf aufbauend wird ein Modell für die Integration des AIS in ein Sicherheitssystem vorgestellt. Der Fokus liegt hierbei auf der Einbindung von Gefahrensignalen und der Kooperation zwischen den Agenten, die die Applikationsebene, die Netzwerkebene und unterschiedliche Quellen von Gefahrensignalen überwachen. Die selbständige und eigenhändige Anfertigung versichere ich an Eides Statt. Berlin, 12. Mai 2006 Katja Luther Inhaltsverzeichnis 1 Einleitung 1 2 Szenarien 6 3 Angreifer 9 3.1 Viren, Würmer und Trojaner . . . . . . . . . . . . . . . . . . 9 3.1.1 Viren . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 3.1.2 Würmer . . . . . . . . . . . . . . . . . . . . . . . . . . 10 3.2 Trojaner . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 3.3 Denial of Service (DoS) . . . . . . . . . . . . . . . . . . . . . 17 3.4 Buffer Overflow . . . . . . . . . . . . . . . . . . . . . . . . . . 17 3.5 Zusammenfassung . . . . . . . . . . . . . . . . . . . . . . . . 18 4 Heutige Abwehrtechniken 19 4.1 Firewall . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 4.2 Virenscanner . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 4.3 Intrusion Detection System (IDS) . . . . . . . . . . . . . . . . 22 4.3.1 Audit-Daten . . . . . . . . . . . . . . . . . . . . . . . 23 4.3.2 Signaturbasierte IDS . . . . . . . . . . . . . . . . . . . 23 4.3.3 Anomaliebasierte IDS . . . . . . . . . . . . . . . . . . 24 4.3.4 Hostbasiert . . . . . . . . . . . . . . . . . . . . . . . . 25 4.3.5 Netzwerkbasiert . . . . . . . . . . . . . . . . . . . . . 25 4.3.6 Monolithische, hierarchische und kooperative Intrusi- 4.4 on Detection Systems . . . . . . . . . . . . . . . . . . 25 Probleme dieser Techniken/Systeme . . . . . . . . . . . . . . 27 5 Das biologische Immunsystem 28 5.1 Die Grundprinzipien des menschlichen Immunsystems . . . . 28 5.2 Die angeborene Immunität und ihre Komponenten . . . . . . 31 ii iii INHALTSVERZEICHNIS 5.3 Das adaptive Immunsystem und seine Komponenten . . . . . 31 5.3.1 T-Zellen und ihre Reifung . . . . . . . . . . . . . . . . 32 5.3.2 B-Zellen und ihre Entwicklung . . . . . . . . . . . . . 33 Ablauf einer Immunreaktion . . . . . . . . . . . . . . . . . . . 34 5.4.1 T-Zell-Aktivierung . . . . . . . . . . . . . . . . . . . . 34 5.4.2 B-Zellaktivierung . . . . . . . . . . . . . . . . . . . . . 34 Aufbau der Antikörper und T-Zellrezeptoren . . . . . . . . . 35 5.5.1 . . . . . . . . . . . . . . . . 36 5.6 Gefahrentheorie . . . . . . . . . . . . . . . . . . . . . . . . . . 37 5.7 Netzwerktheorie 39 5.8 Zusammenfassung der Vorteile des biologischen Immunsystems 39 5.4 5.5 Die Rolle der Antikörper . . . . . . . . . . . . . . . . . . . . . . . . . 6 Künstliche Immunsysteme 6.1 6.2 41 AIS ohne Agenten . . . . . . . . . . . . . . . . . . . . . . . . 41 6.1.1 Immunnetzwerke . . . . . . . . . . . . . . . . . . . . . 42 Agentenbasierte AIS . . . . . . . . . . . . . . . . . . . . . . . 42 7 Algorithmen 47 7.1 Pattern Recognition . . . . . . . . . . . . . . . . . . . . . . . 47 7.2 Negative Selektion . . . . . . . . . . . . . . . . . . . . . . . . 49 7.3 Klonale Selektion . . . . . . . . . . . . . . . . . . . . . . . . . 50 7.4 Genetische Algorithmen . . . . . . . . . . . . . . . . . . . . . 51 7.5 Swarm Intelligence . . . . . . . . . . . . . . . . . . . . . . . . 53 8 Agententechnologie in der Angriffsabwehr 55 8.1 Kurze Einführung in die Agententechnologie . . . . . . . . . . 55 8.2 Agenten-Framework JIAC . . . . . . . . . . . . . . . . . . . . 57 8.3 Warum Agenten für Intrusion Detection? . . . . . . . . . . . 58 8.4 Sicherheitsprobleme von Multi-Agenten-Technologie . . . . . 60 9 Die betrachteten Protokolle 61 9.1 User Datagram Protocol (UDP) . . . . . . . . . . . . . . . . . 61 9.2 Transmission Control Protocol (TCP) . . . . . . . . . . . . . 62 9.3 Schwachstellen des TCP-Protokolls . . . . . . . . . . . . . . . 63 10 Modellierung und Implementierung 64 10.1 Vergleich von biologischen und künstlichen“ Angreifern . . . ” 10.2 Überblick über das Agentensystem . . . . . . . . . . . . . . . 64 10.2.1 Beschreibung der Agenten . . . . . . . . . . . . . . . . 67 66 INHALTSVERZEICHNIS iv 10.3 Implementierungen der Algorithmen . . . . . . . . . . . . . . 68 10.3.1 Preprocessing der Netzwerkdaten . . . . . . . . . . . . 68 10.3.2 Implementierung der Negativen Selektion . . . . . . . 69 10.3.3 Implementierung der Klonalen Selektion . . . . . . . . 70 10.4 Implementierung der Oberfläche . . . . . . . . . . . . . . . . 70 10.5 Weitere Aspekte des Künstlichen Immunsystems . . . . . . . 72 11 Modell eines Sicherheitssystems mit integriertem AIS 73 11.1 Koordination zwischen Applikationsebene und Netzwerkebene 74 11.2 Einbinden der Gefahrentheorie . . . . . . . . . . . . . . . . . 75 11.3 Erstellen der Detektoren . . . . . . . . . . . . . . . . . . . . . 75 11.4 Agenten und Mobilität . . . . . . . . . . . . . . . . . . . . . . 76 12 Schlussfolgerung und Ausblick 77 12.1 Schlussfolgerung . . . . . . . . . . . . . . . . . . . . . . . . . 77 12.2 Ausblick . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78 Tabellenverzeichnis 2.1 Vergleich der Wirksamkeit unterschiedlicher Angriffserkennungsmechanismen . . . . . . . . . . . . . . . . . . . . . . . . 3.1 8 Vergleich von biologischen und Computerviren )(nach [fSidI] und eigenen Vergleichen) . . . . . . . . . . . . . . . . . . . . . v 11 Abbildungsverzeichnis 1.1 Ausbreitung des Slammer-Wurm . . . . . . . . . . . . . . . . 1.2 In den Jahren 1988 bis 2003 von CERT Coordination Centre 2 gemeldete Ereignisse [cer05a] . . . . . . . . . . . . . . . . . . 4 3.1 Entwicklung der Trojaner [Mas05] . . . . . . . . . . . . . . . 17 4.1 Funktionsweise einer Firewall . . . . . . . . . . . . . . . . . . 19 5.1 Rezeptor und Antigen . . . . . . . . . . . . . . . . . . . . . . 29 5.2 Schichtenaufbau des Immunsystems 30 5.3 Aufnahme von Antigenen durch antigen-präsentierende Zel- . . . . . . . . . . . . . . len und Aktivierung der T-Zelle. . . . . . . . . . . . . . . . . 32 5.4 Aufbau von Antikörpern und T-Zell-Rezeptoren . . . . . . . . 36 5.5 Gefahrenmodell . . . . . . . . . . . . . . . . . . . . . . . . . . 37 5.6 Mengenlehre“ der Antigene. Self-Nonself unterscheidet nur ” in Selbst und Nichtselbst, das Gefahrenmodell unterscheidet noch zwischen gefährlich und nicht gefährlich . . . . . . . . . 38 5.7 Netzwerktheorie von Jerne (1974) . . . . . . . . . . . . . . . . 39 7.1 Negative Selektion nach Forrest et al.[FPAC94] . . . . . . . . 49 7.2 Lebenszyklus eines Detektors nach Forrest et al.[HF00] . . . . 50 7.3 Visualisierung der Mutation bei der Klonalen Selektion . . . . 51 8.1 Die JIAC-Plattform, Management-Agent auf der linken Seite. 57 10.1 Das Agentensystem eines Netzwerkknotens . . . . . . . . . . 66 10.2 Koordination der Systeme auf verschiedenen Netzwerkknoten 67 10.3 UML-Diagramm der Klassen für die Negative Selektion . . . 68 11.1 Mögliche Integration eines AIS in ein Sicherheitssystem . . . 74 vi Kapitel 1 Einleitung Selbst Unternehmen in sicherheitsrelevanten Bereichen wie Banken, Energieversorgungs- und Telekommunikationsunternehmen besitzen IT-Infrastrukturen (IT-Netze) , die Sicherheitslücken aufweisen. Sie gehen bei diesen Infrastrukturen aus Kostengründen große Sicherheitsrisiken ein. Um die Sicherheit eines Netzwerkes zu gewährleisten und möglichen Bedrohungen zu begegnen, muss ein großer zeitlicher und finanzieller Aufwand betrieben werden. Die Technik muss immer auf dem neuesten Stand gehalten werden; es entstehen Kosten für die Anschaffung der Sicherheitstechnik wie Virenabwehrprogrammen, Firewalls und anderer Soft- und Hardware zur Abwehr von Angriffen und auch hohe Personalkosten für gut ausgebildete Mitarbeiter. Große, inhomogene Netze werden immer schwerer zu administrieren, da immer mehr Sicherheitslücken auftreten und Tests über das gesamte System (sprich das Zusammenspiel der einzelnen Komponenten) nicht durchführbar sind oder zu kosten- und zeitaufwendig sind. Gängige Virenschutzprogramme und Intrusion Detection Systeme arbeiten mit bekannten Angriffssignaturen, das heißt ein Virus muss zunächst erkannt werden, damit anhand seines Angriffsmusters eine solche Signatur erstellt werden kann. Dies hat zur Folge, dass der Virenscanner immer auf dem neusten Stand sein muss, was immer schwieriger zu bewältigen ist, denn die Populationen von Viren und Würmern verändern sich in immer kürzeren Abständen und die Ausbreitungsgeschwindigkeiten steigen. Dies führt schon heute und wird in Zukunft noch stärker zu Problemen führen, da der 1 2 KAPITEL 1. EINLEITUNG administrative Aufwand immer stärker steigt und kaum noch zu bewältigen ist. Abbildung 1.1: Ausbreitung des Slammer-Wurm So wurde zum Beispiel der große Stromausfall im Norden der USA und Kanada durch ein Computerproblem ausgelöst. Schon einige Monate vorher wurden Teile des Systems durch einen Wurm (SQL-Slammer) stark beeinträchtigt.1 Dieser Wurm breitete sich innerhalb kürzester Zeit aus, er hatte eine Verdoppelungsrate von 8,5 Sekunden und hatte nach 10 Minuten schon 90 % seiner Opfer“ infiziert. ” Neben Viren und Würmern sind Denial of Service Attacken (DoS) bzw. Distributed Denial of Service Attacken (DDoS) ein großes Sicherheitsrisiko in der vernetzten Welt. Bei diesen Angriffen verursacht eine hohe Anzahl von Anfragen an einen Server die Blockierung der von ihm angebotenen Dienste. In dem vom CSO-Magazin 2 herausgegebenen e-Crime Watch Survey von 2005 zeigte sich für 2004 eine Abnahme der kriminellen Delikte im Bezug auf ihre IT-Infrastruktur. Der Anteil an Infektionen mit Würmern oder Viren ist aber weiterhin sehr hoch (88%). Der entstandene Schaden lässt sich etwa auf 150.000.000 US $ beziffern. (eine Zusammenfassung des e-Crime Watch Survey findet sich in [Sca05]) 1 2 http://www.heise.de/security/news/meldung/39485 www.csoonline.com KAPITEL 1. EINLEITUNG 3 Laut einer Studie ( Computer Crime and Security Survey“, [CF]) des ” CSI3 in Zusammenarbeit mit dem FBI gab es im Jahr 2004 in den USA verstärkt (DoS) Attacken, die bei den befragten Unternehmen zu einem Verlust von 65.000.000 $ geführt haben, außerdem sind die Verluste aufgrund von Virenbefall mit 27.000.000 $ sehr hoch. Den größten Schaden bezifferten die befragten Unternehmen jedoch durch Informationsdiebstahl (70.000.000 $). Solche Zahlen zeigen, dass eine verstärkte Diskussion über Sicherheit notwendig ist und die Forschung neue Methoden zur Bekämfung der Bedrohungen entwickeln muss. Neben den Virenscannern gibt es weitere Möglichkeiten das Netz vor Angriffen zu schützen: die Installation einer Firewall und eines Intrusion Detection Systems (IDS). Eine Firewall soll das System vor unberechtigtem Zugriff aus dem Internet schützen, dies wird über die Organisation des Internetzugangs über ein einziges Gateway realisert, um dort den Datenstrom zwischen dem internen Netz und dem Internet zu überprüfen. Intrusion Detection Systems ergänzen die Firewall und sollen Angriffe, die von den eigentlichen Firewallfunktionen nicht abgefangen werden können, erkennen und verhindern, bzw. melden. Einfache IDS arbeiten ähnlich wie Virenschutzprogramme mit Angriffssignaturen, also mit Mustern bekannter Angriffe(vergl. Kapitel 4.3). Die Häufigkeit und Verschiedenartigkeit der Angriffe auf Rechnernetze und Internetdienste stiegen in den letzten Jahren rasant an (siehe Abbildung 1.2). Das führt bei der vorherrschenden Technik der Angriffserkennung dazu, dass es immer häufiger zu Angriffen kommt, für die noch keine Angriffssignatur bekannt ist und somit die Systeme den Angriff nicht als solchen erkennen. Aufgrund dieser Problematik müssen neue Strategien bei der Angriffserkennung angewandt werden: Ein Verfahren, um Angriffe ohne Kenntnisse des Angreifers abzuwehren, besteht darin, einen Normalzustand“ zu definiere ” und das System auf signifikante Abweichungen von diesem zu untersuchen. Dieser Ansatz nennt sich Anomalieerkennung. Ein Ansatz für anomaliebasierte Systeme sind künstliche Immunsysteme, die analoge Funktionen zum biologischen Immunsystem besitzen. Wichtigste Metaphern sind die negative und klonale Selektion, die auf die technischen Systeme übertragen werden. Diese Algorithmen führen zu einer Auswahl von 3 Computer Security Institute, http://www.cert.org KAPITEL 1. EINLEITUNG 4 Abbildung 1.2: In den Jahren 1988 bis 2003 von CERT Coordination Centre gemeldete Ereignisse [cer05a] Detektoren, die bei Anomalien Alarm auslösen, sowie zu einem optimierten Gedächtnis des Systems. In dieser Arbeit soll ein Modell für ein künstliches Immunsystem auf Agentenbasis entwickelt werden. Basierend auf der Analyse von Angriffsmöglichkeiten von biologischen und digitalen Angreifern sowie den verwendeten Abwehrmechanismen in der Biologie werden mögliche Abwehrmechanismen für das digitale Modell entwickelt. Hierbei soll auch untersucht werden, in wie weit biologische Analogien heran gezogen werden können und in welchen Bereichen sich die biologische Analogie nicht herstellen läßt. In der vorliegenden Arbeit wird in den ersten beiden Kapiteln eine Einführung in die Bedrohungen der heutigen IT-Netzwerke und der Techniken zu deren Schutz vorgestellt. Darauf folgt eine kurze Beschreibung des menschlichen Abwehrsystems, dem Immunsystem und wie es auch völlig fremde Eindringlinge erkennt und bekämpft. Aus den Vorteilen des biologischen Immunsystem haben auch schon andere Forscher ihre Inspiration für Abwehrtechniken in der IT-Sicherheit erhalten. Die wichtigsten Arbei- KAPITEL 1. EINLEITUNG 5 ten werden in Kapitel 6 vorgestellt. In den folgenden Kapiteln werden die Grundlagen für ein Modell eines Künstlichen Immunsystems beschrieben. In Kapitel 7 werden die Algorithmen detailliert dargestellt, die zum einen in den Künstlichen Immunsystemen aus Kapitel 6 und auch in dem Modell des Künstlichen Immunsystems verwendet werden und in Kapitel 8 wird sowohl die Agententechnologie allgemein eingeführt als auch das im DAI Labor entwickelte JIAC IV vorgestellt. Die letzten Kapitel beschreiben das Modell des Künstliche Immunsystems und ein integriertes Sicherheitssystem auf Basis eines Künstlichen Immunsystems wie es im vorhergehenden Kapitel beschrieben wurde. Das letzte Kapitel gibt noch einen Ausblick wie weiterführende Forschung den Ansatz erweitern könnte. Am Ende der Arbeit findet sich noch ein Glossar, dass biologische und netzwerktechnische Begriffe erläutert. Kapitel 2 Szenarien Das Ziel dieser Arbeit ist es, Analogien zwischen biologischen und virtu” ellen“ Angreifern zu finden und Algorithmen des biologischen Abwehrsystems in ein Abwehrsystem für Computer-Netzwerke zu integrieren. In diesem Abschnitt werden mögliche Szenarien dargestellt, in denen ein künstliches Immunsystem zur Verbesserung der Netzwerksicherheit beitragen kann. Szenario 1: Bei dem Download aus einer Filesharing-Datenbank hat sich ein Trojaner auf einem Rechner installiert und protokolliert jetzt auf dem infizierten Rechner den Datenverkehr mit. Die gesammelten Daten werden an einen entfernten Rechner weitergeleitet. Daher weichen die Häufigkeit und die Verbindungsdaten von dem normalen Verhalten des Rechners vor der Infizierung ab und können mit anomaliebasierten Intrusion Detection System wie einem Künstlichen Immunsystem erkannt werden. Eine weitere Schadfunktion des Trojaners ist die Installation einer Backdoor, hierbei öffnet der Trojaner einem Außenstehendem den Zugang zum Rechner. Dieser Außenstehende erhält die gleichen Rechte wie der regulär gerade eingeloggte Benutzer. In der Folge lässt der Datenverkehr vermehrt Zugriffe aus dem Internet auf den lokalen Rechner erkennen. Szenario 2: Das Passwort eines Mitarbeiters wurde geknackt“ und nun versucht sich ” der Angreifer zu ungewöhnlichen Zeiten, in das Netzwerk einzuloggen. Er versucht immer wieder Daten zu öffnen, für die er keine Berechtigung besitzt. 6 KAPITEL 2. SZENARIEN 7 Der Angreifer hat also ein anderes Verhalten als der eigentliche Benutzer. Szenario 3: Durch eine bisher noch nicht geschlossene Sicherheitslücke konnte sich ein unbekannter Wurm auf einem Rechner installieren. Er verbindet sich mit einem enfernten Rechner und lädt weiteren Programmcode herunter und führt ihn aus. Mit Hilfe seiner eigenen smtp-Engine und den Adressen des Adressbuches verschickt der Wurm e-mails an zufällig ausgewählte Adressen. Die e-mails enthalten den gleichen Text oder wenige verschiedene Versionen eines Textes. Da der Wurm in Abhängigkeit von der Top-Level-Domain emails in unterschiedlichen Sprachen verschickt, weicht der e-mail Verkehr von üblichen Mustern ab. Die Angriffe aus den Szenarien 1 und 3 können mit einem IDS, das auf Datenpaketen und Netzwerkinformationen basiert erkannt werden. Das zweite Szenario würde erfordern, dass die Dateizugriffe und Prozesslogs mit einbezogen werden. In Tabelle 2.1 erkennt man, dass jeder Angriff zu einer Anomalie führt, jedoch auf unterschiedlichen Ebenen (Netzwerk, Applikation etc.). Daher sind sie auch nur mit unterschiedlichen Methoden erkennbar. Um einen besseren Überblick über die Angreifer zu erhalten, die über das Netzwerk erkannt werden können, beschreibt das folgende Kapitel Viren, Würmer und andere Malware und ihre Ausbreitungsmechanismen. 8 KAPITEL 2. SZENARIEN Szenario Trojaner geknacktes Passwort Wurm Anomaliebasiert verstärkter Netzwerkverkehr und ungewöhnliche Adressen ungewöhnliche Datenund Programmzugriffe Signaturbasiert bekannte Trojaner können am Quellcode erkannt werden – Netzwerk Prozess erhöhter Traffic und ungewöhnliche Verbindungen – – verstärkter Netzwerkverkehr, allerdings werden bekannte Adressen verwendet bei unbekannten Würmern evtl. durch Ähnlichkeit mit bekannten Signaturen stärkerer e-MailVerkehr verändertes Verhalten (Programmausführung, Datenzugriffe) evtl. durch versenden von emails ohne Benutzung eines e-mailClients Tabelle 2.1: Vergleich der Wirksamkeit unterschiedlicher Angriffserkennungsmechanismen Kapitel 3 Angreifer Bei der Entwicklung von Sicherheitssystemen für Rechner und Rechnernetze muss man sich zunächst mit den möglichen Bedrohungen auseinander setzen. Dass die herkömmlichen Abwehrmechanismen den zunehmenden Druck immer weniger gewachsen sind, wird dadurch deutlich, dass es laut dem Symantec Internet Security Threat Report so viele Schwachstellen gab wie noch nie zuvor und 97% davon zu mittleren bis schweren Bedrohungen führen. Nach diesem halbjährlichen Report betrug der Zeitraum zwischen Veröffentlichung einer Schwachstelle und dem Erscheinen eines Exploits im März 2006 6,8 Tage und ist damit größer geworden als im Jahr 2005, in dem durchschnittlich sechs Tage bis zu einem Exploit vergingen . Die Zeit zwischen der Aufdeckung einer Schwachstelle und der Veröffentlichung eines Patches betrug in der zweiten Hälfte des Jahres 2005 nur noch 49 Tage. Dies sind 5 Tage weniger als im Jahr zuvor (54 Tage)([sec05] und [sec06]). Allerdings sehen die Forscher von Symantec eine Zunahme der Diversität und der Leistungsfähigkeit der Schadprogramme voraus [sec06]. Dieses Kapitel gibt zunächst einen Überblick über die Bedrohungen, denen ein Rechner bzw. ein Rechnernetz ausgesetzt ist. Abschliessend werden zentrale Forschungsarbeiten zu zukünftigen Bedrohungen vorgestellt. 3.1 Viren, Würmer und Trojaner Viren und Würmer sind kein neues Phänomen, aber ihre Bedeutung hat in den letzten Jahren stark zugenommen. Zum einen ist die Verbreitung des Internets und schneller Zugänge gewachsen und zum anderen hat sich die 9 KAPITEL 3. ANGREIFER 10 Technik der Angreifer immer weiter verbessert. Dies weist auf eine Koevolution zwischen Viren (oder Würmern) und Antivirensoftware hin. Viren und Würmer brauchen immer ein Schlupfloch“, über das sie in ein System ein” dringen können und sind spezifisch für ein Programm, dessen Schwachstelle sie ausnutzen. Daher sind die Populationen von Schädlingen auch sehr unterschiedlich und richten sich danach wieviele potentielle Opfer existieren. Aufgrund der hohen Dichte an Rechnern mit dem Betriebssystem Micro” soft Windows“ ist auch der Anteil von Schädlingen für Programme dieses Betriebssystems besonders hoch und ihre Wachstumsrate größer als bei solchen für andere Systeme. Die Unterteilung in Viren, Würmer und Trojanische Pferde wird immer schwieriger. Daher spricht man heute häufig einfach von malicious code“ ” oder Schadprogramm, um die Unterscheidung zu umgehen. Die folgenden Abschnitte unterscheiden trotzdem zum besseren Verständnis zwischen Viren, Würmern und Trojanischen Würmern und geben jeweils eine kleine Einführung zur Klassifizierung. 3.1.1 Viren A computer virus is a program that is recursively amd expli- citly copies a possibbly evolved version of itself [Szo05] Ein Virus ist ein Schadprogramm, das nur in Verbindung mit einem Wirtsprogramm ausgeführt werden kann. Es kann nur mit Hilfe eines Benutzers weiterverbreitet werden, indem die infizierte Datei weiter gegeben wird oder sie im Anhang einer e-mail verschickt wird. Die Tatsache, dass sie nur mit dem infizierten Programm ausgeführt werden können, führte zu dem Namen Virus, da in der biologischen Welt Viren ebenfalls einen Wirt benötigen, um sich fortpflanzen zu können. Einen weiterführenden Vergleich findet man in der Tabelle 3.1 3.1.2 Würmer A computer program that can run independently, can propa- gate a complete working version of itself onto other hosts on a network, and may consume computer resources destructively.[Shi00] 11 KAPITEL 3. ANGREIFER Biologische Viren Greifen spezielle Zellen an. Sie brauchen andere Zellen, um sich zu vermehren Die Erbinformation einer Zelle wird verändert. In der befallenen Zelle wachsen neue Viren heran. Eine infizierte Zelle wird nicht mehrfach vom gleichen Virus befallen. Ein befallener Organismus zeigt unter Umständen lange Zeit keine Krankheitserscheinungen. Viren können mutieren und somit nicht immer eindeutig erkennbar sein. Computerviren Greifen spezielle Programme auf bestimmten Architekturen an. Sie brauchen den Benutzer, um sich weiter zu verbreiten. Das Programm wird verändert. Der Virus repliziert sich mit Hilfe des Wirtsprogrammes. Die meisten Viren befallen einen Rechner nur einmal Ein befallenes Programm kann auch unter anderem lange Zeit fehlerfrei weiterarbeiten. Manche Computer-Viren können sich verändern und versuchen damit Suchroutinen auszuweichen. Tabelle 3.1: Vergleich von biologischen und Computerviren )(nach [fSidI] und eigenen Vergleichen) Würmer benötigen im Gegensatz zu Viren keine menschliche Hilfe zur Weiterverbreitung. Sie können sich selbständig replizieren und verschicken. Die meisten Würmer scannen alle erreichbaren Rechner, die am Internet sind. Dies geschieht durch das zufällige Erzeugen von IP-Adressen und kontaktieren dieser Adressen auf Ports, an denen Programme horchen, die eine Schwachstelle aufweisen. Würmer gibt es schon seit den achtziger Jahren. So infizierte zum Beispiel 1988 der Internet Wurm von Robert Tabban Morris über 6000 Rechner. Dies waren etwa zehn Prozent der Rechner, die ans Internet angeschlossen waren[SD01]. Das Internet bietet verschiedene Möglichkeiten, Daten und somit auch Würmer zu verbreiten. Daher werden Würmer auch meist anhand ihrer Verbreitungsart unterschieden. Die meisten erfolgreichen Würmer sind jedoch in der Lage sich auf unterschiedliche Weise zu verbreiten und somit ihre Aus- KAPITEL 3. ANGREIFER 12 breitungsgeschwindigkeit und die Anzahl der potentiellen Opfer zu erhöhen. Im folgenden werden daher die unterschiedlichen Verbreitungsmechanismen vorgestellt. E-Mail-Würmer Wie der Name schon andeutet, nutzen diese Würmer e-mails für ihre Verbreitung. Sie können dies auf verschiedene Weise tun. Zum einen können sie sich direkt mit einem SMTP-Server verbinden, indem sie eine integrierte SMTP API Bibliothek nutzen und zum anderen können sie vorhandene Dienste von MS Outlook oder Windows MAPI Funktionen nutzen. Der Wurm Bobax.P besitzt beispielsweise eine eigene SMTP-Engine , über die er sich weiter verbreitet. Außerdem nutzt er wie auch der SasserWurm die Windows-Schwachstelle im Local Security Authority Subsystem Service (LSASS)[Bac05]. Ihre Opfer können sie wiederum mit unterschiedlichen Methoden1 auf dem infizierten Rechner ausfindig machen und sich an die gefundenen Adressen verschicken. Die Adressen können aus verschiedenen Quellen stammen, zum Beispil aus dem MS Outlook Adressbuch und die WAB Adress-Datenbank2 oder auch durch Scannen von Dateien mit passender Dateiendung nach adressähnlichen Strings. Internet-Würmer Internet Würmer nutzen unterschiedlichste Techniken, um sich in den verschiedenen Bereichen des Internets auszubreiten. Einige Würmer kopieren sich in Bereiche des Netzes, die öffentlich zum Lesen und Schreiben frei sind und versuchen von hier aus in das Netzwerk einzudringen. Andere Würmer suchen im Netz nach Computern, auf denen Software mit bekannten Schwachstellen installiert ist und nutzen diese Schwachstellen aus, um sich selbst auf diesen Rechnern zu installieren. Durch das Kopieren auf öffentliche Server, die FTP oder Web-Services anbieten, versuchen weitere Würmer 1 der Wurm Email-Worm.Win32.VB.bi sucht zum Beispiel in Dateien mit den Endungen DMP“, DOC“, MDB“, MDE“, PDF“, PPS“, PPT“, PSD“, RAR“, XLS“, ZIP“ ” ” ” ” ” ” ” ” ” ” ” nach email-Adressen.[Shi00] 2 WAB: Windows Addressbook, ermöglicht das Zugreifen aller MSAnwendungsprogramme auf Adressen KAPITEL 3. ANGREIFER 13 sich auszubreiten. Wenn auf einem Rechner schon Schadprogramme installiert sind, dann gibt es andere Würmer, die schon geöffnete Backdoors nutzen, um sich selber Zutritt zum Rechner zu verschaffen ( Piggy-backing“). ” Diese nutzen aber in einigen Fällen auch die Konkurrenten“, sie versuchen ” andere Schadprogramme zu entfernen [Dan06] . Filesharing oder Peer-to-Peer Würmer Filesharing bzw. Peer-to-Peer Würmer sind im Prinzip zu den Internetwürmern zu zählen. Aufgrund ihrer Spezialisierung auf Tauschbörsen werden sie aber oft trotzdem speziell aufgeführt. Die meisten dieser Würmer benutzen einen harmlosen Namen und kopieren sich in den Shared“-Ordner eines Rechners, auf dem ein Programm ” für Filesharing installiert ist. Nun propagiert das Programm von sich aus das Erscheinen einer neuen Datei. Das Filesharing Programm bietet auch alle Funktionalitäten zum Herunterladen der Datei.3 Der Wurm Email-Worm.Win32.Bagle.ay (Benennung nach Kaspersky Lab) ist zum Beispiel ein Wurm, der neben der Verbreitung über e-mails sich auch über Filesharing verbreitet. Er sucht nach Ordnern, die den String shar“ enthalten und kopiert sich hinein4 . ” Ein reiner Peer-to-Peer-Wurm ist P2P-Worm.Win32.Alcan.a (nach Kaspersky Lab). Er installiert sich unter Program Files“ eines Windows Sys” tems und sucht nach einem Filesharing Client und kopiert sich dann in bestimmte Verzeichnisse, die für Nutzer der Filesharing-Software frei zugänglich sind. Der installierte Wurm öffnet einen beliebigen TCP-Port und damit eine Backdoor, mit der es möglich ist, neue Dateien aus dem Internet zu laden und auszuführen.5 3 Beschreibung auf viruslist.com (http://www.viruslist.com/de/viruses/ encyclopedia?chapter=152540408) 4 Beschreibung auf viruslist.com(http://www.viruslist.com/de/viruses/ encyclopedia?virusid=70919) 5 Beschreibung auf viruslist.com(http://www.viruslist.com/de/viruses/ encyclopedia?virusid=80560) KAPITEL 3. ANGREIFER 14 Polymorphe Würmer An den Polymorphen Würmern ist die Koevolution von Schadprogrammen und Antivirensoftware gut erkennbar. Die meisten Antiviren-Programme basieren auf Signaturen, mit denen jede auf dem Rechner ankommende Datei verglichen wird. Wenn ein Wurm sich nur klont, also eine identische Kopie von sich selber erstellt, dann kann er leicht und eindeutig durch Signaturen erkannt werden. Ein polymorpher Wurm hingegen verändert bei jeder Kopie seinen Programmcode, indem einzelne Programmblöcke vertauscht werden, aber die Funktionalität erhalten bleibt. Eine weitere Art der Polymorphie ist die Veränderung der e-mail-Texte. Einige Würmer verschicken je nach Domain der e-mail-Adresse den Betreff und den Text in unterschiedlichen Sprachen. Bei einer Top-Level-Domain (TDL) .de verschicken sie einen deutschen Text und an e-mail-Adressen aus Großbritannien (.uk) auf englisch. Zukünftige Würmer Die Kenntnis der Methoden und Verhaltensweisen der aktuellen Schadprogramme ist für die Entwicklung eines effektiven Abwehrsystems jedoch nicht ausreichend. Daher müssen auch mögliche zukünftige Entwicklungen im Bereich der Schadsoftware betrachtet werden. Dieses Kapitel stellt daher den Stand der Forschung im Bereich der zukünftigen Würmer dar. Wie oben erwähnt scannen die meisten Würmer einfach zufällig Rechner, um herauszufinden, ob Software installiert ist, deren Schwachstelle sie ausnutzen können. Dies führt natürlich zu einer hohen Anzahl von nicht erfolgreichen oder mehrfachen Scanversuchen. Daher ist es naheliegend die Suche nach infizierbaren Rechner effinzienter zu gestalten und IP-Adressen nicht mehr zufällig zu erzeugen. Überlegungen zu zukünftigen Würmern mit effizienterer Ausbreitung wurden unter anderem von Staniford et al. [SPW02] entwickelt. Sie gehen davon aus, dass es zwei Entwicklungen geben wird. Zum einen die schnellere und effektivere Ausbreitung durch sogenannte Hitlists und zum anderen schwer nachweisbare Würmer, die sich langsam und im normalen Netzwerkverkehr versteckt ausbreiten. Hitlists sind IP-Adresslisten, die die Würmer mitführen und somit das zufällige Scannen von möglichen Adressen ersetzen. Schon bei dem Slammer“-Wurm geht man davon aus, dass er eine ” KAPITEL 3. ANGREIFER 15 initiale Liste mit IP-Adressen von infizierbaren Rechnern mit sich führte [SMPW04].6 In Weaver et al. [WP04] werden solche auf Hitlists basierende Flash ” Worms“ vorgestellt, die innerhalb weniger Minuten einen Großteil der Rechner im Internet infizieren könnten und somit einen enormen Schaden anrichten würden. Sie sehen voraus, dass der Schaden eines worst case worms“ ” 50 Billionen US Dollar Schaden anrichten könnte. Ziel eines solchen Angriffs wird es sein so viele Systeme wie möglich anzugreifen und soviel Schaden wie möglich auf jedem einzelnen System anzurichten (durch die Zerstörung von Daten und Hardware(BIOS flashen)). Auch Staniford et al. [SPW02] sehen den größten Vorteil bei Würmern mit internen Listen von Ziel-IP-Adressen haben. Sie verlieren keine Zeit mehr mit dem Scannen von zufällig generierten IP-Adressen. Die Verbreitung wird so schnell sein, dass keine menschliche Reaktion mehr möglich ist. Ein weiterer Vorteil der der IP-Listen wird darin gesehen, dass der Verteiler weiß wo sich seine Würmer befinden. Er erhält somit die Möglichkeit die Schadfunktion ferngesteuert zu starten. Eine andere Art von Würmern, die Staniford et al. ([SPW02]) voraussagen sind sogenannte versteckte“ Würmer ( surreptitious“ worms). Diese ” ” breiten sich zwar nur langsam aus, sind aber auf Grund ihrer geringen Größe und nur minimal verändertem Verkehrsaufkommen nur sehr schwer zu erkennen. Ein weiterer Trend, der schon auszumachen ist, sind Würmer, die eine neue Sicherheitslücke schaffen und dadurch anderen Programmen Zutritt zum infizierten Rechner bieten. Solche Rechner lassen sich dann als Botnets(siehe auch Kapitel 3.3) verkaufen [SS03]. Ein schon existierendes Beispiel für einen solchen Wurm, ist der Bugbear.B 7 . 6 http://www.f-secure.com/v-descs/mssqlm.shtml Symantec, http://securityresponse.symantec.com/avcenter/venc/data/w32. [email protected] 7 KAPITEL 3. ANGREIFER 3.2 16 Trojaner Trojaner sind nach ihrem griechischen Vorbild benannt dem Trojanischen Pferd, mit dessen Hilfe die Griechen den Trojanischen Krieg gewannen. Die griechischen Helden versteckten sich in einem riesigen Holzpferd und warteten darauf, dass die Trojaner neugierig wurden und das Pferd selbständig nach Troja brachten. Aufgrund der verdeckten Identität hinter der harmlosen Fassade wurden die Krieger also von ihren Opfern selbst nach Troja gebracht. Auch Trojaner in der digitalen Welt gelangen durch das Vortäuschen von einer gewünschten Funktionalität durch den Besitzer/Benutzer auf den Rechner. Bei der Ausführung des Programmes kommt es entweder zu einer Fehlermeldung weil das vorgetäuschte Programm gar nicht existiert oder neben der vordergründigen Funktionalität wird auch eine weitere Funktionalität ausgeführt oder ein anderes Programm installiert. Diese Programme besitzen meist Schadfunktionen wie das Ausspionieren von Passwörtern oder Kreditkartennummern, das Umleiten auf bestimmte Webseiten oder das Öffnen von sogenannten Backdoors, die es ermöglichen den Rechner über das Internet fern zu steuern[tro]. Laut Kaspersky Lab8 , hat sich der Trend von Schadprogrammen in den letzten Jahren immer mehr in Richtung von Trojanern entwickelt und damit wurden auch die Intentionen der Schädlingsprogrammierer immer krimineller. Ein normaler“ Virus oder Wurm lässt sich zunächst nicht gewinnbrin” gend einsetzen. Ein Botnet in der Gewalt des Programmierers lässt sich jedoch vermieten und somit Geld damit verdienen.[Mas05] Mit Hilfe von Trojanern kann auch der sogenannte DoS Angriff (Denial of Service Angriff), der im folgenden Abschnitt näher beschrieben wird, vorbereitet werden. Indem der infizierte Rechner dazu genutzt wird, den Angriff auszuführen. Dies verhindert zum einen die direkte Nachverfolgbarkeit des Urhebers und zum anderen kann durch Trojaner der DoS-Angriff von vielen Rechnern gleichzeitig gestartet werden und somit die Effizienz gesteigert werden. Einen solchen verteilten DoS-Angriff nennt man dann einen DDoS-Angriff. 8 http://www.kaspersky.com/ KAPITEL 3. ANGREIFER 17 Abbildung 3.1: Entwicklung der Trojaner [Mas05] 3.3 Denial of Service (DoS) Denial of Service-Attacken beschreiben allgemein Angriffe auf Server im Internet, die dazu führen, dass ein oder mehrere Services nicht mehr erreichbar sind. Bei primitiveren DoS-Angriffen werden über das HTTP-Protokoll so viele Anfragen an einen Server geschickt, dass er andere Anfragen nicht mehr beantworten kann. Wenn diese Anfragen von verschiedenen Rechnern kommen, also der Angriff verteilt erfolgt, spricht man von einer Distributed Denial of Service Attacke (DDoS)[Tan03]. Bei einer DDoS-Attacke installiert ein Wurm ein Programm auf einem Wirtsrechner, dass zu einer bestimmten Zeit den Dienst des Angriffsziels in Anspruch nimmt. Je mehr Rechner der Wurm infiziert hat, um so mehr Anfragen gehen dann auch an das Opfer. Dies führt zu einer Überlastung des Dienstes. Eine andere Art von DDoS-Angriffen kommt mit wenigen Paketen aus. Diese Pakete lösen aber auf dem Zielrechner ein Einfrieren seiner Tätgkeit oder einen Neustart (Reboot) aus und verhindern so, dass andere auf die Services des angegriffenen Servers zugreifen können [MR]. 3.4 Buffer Overflow In den vorhergehenden Abschnitten wurden verschiedene Möglichkeiten des Angriffs auf ein Computernetzwerk beschrieben. In diesem abschliessenden Abschnitt soll kurz eine der am weitesten verbreiteten Techniken zur Ausnutzung einer Schwachstelle erklärt werden, um ein besseres Verständnis darüber zu erlangen, wie Schadprogramme Rechner infizieren können. Ein Buffer Overflow“ kann entstehen, weil Sprachen wie C oder C++ ” KAPITEL 3. ANGREIFER 18 nicht überprüfen, ob ein Datum, das in einen Speicherbereich geschrieben wird, nicht länger ist als der verfügbare Platz (reservierte Speicherbereich) ist. Dadurch können Daten eingefügt werden, die länger sind als der Speicherbereich und die Rücksprungadresse der Funktion kann mit einer neuen Adresse überschrieben werden. An dieser Adresse befindet sich dann meist der malicious code, den der Angreifer ausführen möchte [Ska05]. Ein Beispiel ist die Schwachstelle IIS Directory Traversal vulnerabili” ty“ in Microsoft IIS 4.0 und 5.0, welche von dem Wurm Nimda9 ausgenutzt wurde. Durch eine bestimmte URL kann ein Nutzer einen Fehler in der Authorisierung ausnutzen und die Rechte von einem lokal eingeloggten Nutzer erhalten. Durch diese zusätzlichen Rechte ist er in der Lage Dateien hinzuzufügen, zu ändern oder zu löschen. Außerdem kann er Code ausführen, den er entweder selbst auf den Server geladen hat oder der schon dort vorhanden war. Nun kann der Wurm eine Kopie von sich auf den Server bringen und starten. Er kopiert sich in alle erreichbaren Windows Verzeichnisse und den Webinhalten wird Javascript Code hinzugefügt, durch den beim Aufrufen der Seite die Datei readme.eml“ herunter geladen wird (dies ist eine Kopie ” des Wurms), je nach Browser wird diese Datei dann auch sofort ausgeführt. Ein anderes Beispiel ist der Buffer Overflow“ im SQL Server, den der ” Slammer-Wurm ausnutzte[sla]. Der Slammer-Wurm ist ein sehr kleines in Assembler programmiertes Programm. Er konnte durch die Verbreitung über das schnelle UDP Protokoll (siehe Kapitel 9.1) und seine geringe Größe innerhalb von 10 Minuten 90 % der infizierbaren Rechner erreichen. Er nutzt einen Buffer Overflow an Port 1434. Die Problematik wurde durch die nicht bekannte Integration von SQL-Server in andere Programme noch verschärft, denn es wurde häufig kein Patch eingespielt, da die Systemadministratoren oder Nutzer nicht wußten, dass sie gefährdet sind. 3.5 Zusammenfassung In diesem Abschnitt wurden Angriffe beschrieben, die in irgendeiner Form in IT-Netzwerken stattfinden und somit auch von einem Intrusion Detection System, dass auf Basis von Netzwerkdaten arbeitet, erkannt werden müssen. Es konnte gezeigt werden, dass die Verbreitungsmechanismen und auch die Ziele der Angriffe sehr unterschiedlich sind. 9 http://www.dfn-cert.de/infoserv/dsb/dsb-2001-01.html Kapitel 4 Heutige Abwehrtechniken Im Anschluß an die Bedrohungen werden nun die Techniken, die zum Schutz vor Viren, Würmern und anderen Angreifern genutzt werden, betrachtet. Die folgenden Abschnitte behandeln die Abwehrtechniken von außen nach innen. Zunächst werden Firewalls beschrieben, die das System durch eine Art Brandschutzmauer“ schützen sollen und die Bedrohungen gar nicht erst in ” das Innere des zu schützenden Systems lassen. Danach werden Virenscanner und Intrusion Detection Systems (IDS) beschrieben, die Bedrohungen oder Angriffe erkennen sollen, die sich schon innerhalb des Systems befinden. 4.1 Firewall Abbildung 4.1: Funktionsweise einer Firewall Als Firewall bezeichnet man Hard- oder Software, die den Datenfluss zwischen dem internen Netzwerk (LAN) und dem Internet bzw. auch zwischen einem einzelnen Rechner und dem Netzwerk (Personal Firewall) überwachen. Jedes Paket, welches die Firewall passieren will, also egal ob eingehend 19 KAPITEL 4. HEUTIGE ABWEHRTECHNIKEN 20 oder ausgehend, wird von der Firewall überprüft. Eine Firewall kann auf den Schichten 2 bis 7 des OSI-Referenzmodells arbeiten und somit sehr unterschiedliche Aufgaben erfüllen. Um zumindest einen Teil dieser Aufgaben zu erfüllen, bestehen die meisten Firewalls aus unterschiedlichen Komponenten (Paketfilter, Content-Filter, Proxy/ApplicationLevel-Gateway). Für die Regeln einer Firewall gibt es zwei gegensätzliche Ansätze, zum einen kann man zunächst alles verbieten und nur durchlassen, was explizit erlaubt ist (Default Deny) oder man kann explizit Pakete verbieten und alle anderen durchlassen (Default Permit). In den folgenden Abschnitten werden verschieden Filtertechniken, die in Firewalls Anwendung finden. Paketfilter Auf den untersten Ebenen (Internet- und Transportebene) des OSI-Modells arbeiten Paketfilter. Anhand von IP-Adresslisten und der verwendeten Ports können Regeln erstellt werden, ob Pakete durchgelassen werden oder nicht. Paketfilter können im einfachsten Fall nur anhand der Informationen eines einzelnen Paketes entscheiden, ob das Paket durchgelassen wird oder nicht, dann spricht man von einem stateless Paketfilter, weil er sich nicht den Status einer Verbindung merkt. Diese Paketfilter sind sehr schnell und benötigen nur wenig Ressourcen. Alternativ gibt es zustandsgesteuerte Paketfilter, die sich Informationen zu Paketen, die sie passiert haben, merken und anhand derer sie neue Regeln erstellen können. Außerdem können sie sich Zustände von Verbindungen merken und Pakete, die nach einseitiger Beendigung der Verbindung, ankommen nicht mehr durchlassen. Ein solcher Paketfilter beansprucht aufgrund der gespeicherten Informationen mehr Ressourcen, kann aber auch wesentlich komplexere Regeln überwachen und erlaubt somit eine differenziertere Paketüberwachung (weiterführend siehe [Rue05] und [Pfe02]) Contentfilter Da das Filtern auf IP-Adressen und Ports oft nicht ausreicht, besitzen einige Firewalls auch Contentfilter, die den Inhalt der Pakete überprüfen. Es kann KAPITEL 4. HEUTIGE ABWEHRTECHNIKEN 21 zum Beispiel nach ActiveX1 oder JavaScript2 Elementen gesucht werden und diese gegebenenfalls herausgefiltert werden. Proxy/Application-Level-Gateway Einige Firewalls besitzen ein oder mehrere Proxies, die zum Beispiel für die Protokollvalidierung eingesetzt werden. Ein Proxy kann Anfragen an einen Server, der nicht direkt mit dem Internet verbunden ist, weiterleiten und dabei eine gewisse Zugriffssteuerung ermöglichen. So kann ein Proxy zum Beispiel auch den Zugriff von Clients in einem Netzwerk auf bestimmte Webseiten unterbinden. Personal Firewall Eine Personal Firewall ist daher eine Firewall, die direkt auf einem Arbeitsplatzrechner installiert ist und vor allem aus einem Paketfilter besteht. In der Regel verfügt sie über einen Anwendungsfilter, der einzelnen Anwendungen den Zugriff zum Netz erlaubt und anderen nicht. Im Gegensatz dazu sind die Netzwerk-Firewalls (oder auch externe Firewall) zu sehen, die oft auch als Hardware-Firewalls bezeichnet werden, da es sich um ein Gerät handelt, das spezifisch für den Zweck als Firewall eingesetzt wird. Der Begriff Hardware-Firewall“ ist jedoch irreführend, da die Firewall-Funktionalität ” auch hier durch Software realisiert wird. 4.2 Virenscanner Eine Möglichkeit Viren und Würmer zu erkennen sind sogenannte Virenscanner. Sie arbeiten auf der Grundlage von Signaturen. Dies sind kurze Byte-Folgen, die aus den Viren extrahiert werden und diese dann ähnlich wie ein Fingerabdruck eindeutig identifizieren können. Virenscanner arbeiten in der Regel permanent, um Viren in gestarteten Programmen oder in neu eingegangenen e-mails zu erkennen. Ergänzend können sie die Laufwerk 1 ActiveX ist die Bezeichnung für ein Softwarekomponenten-Modell von Microsoft für aktive Inhalte, es gilt nur für das Betriebssystem Windows. Auch die Unterstützung des Internet Explorers ist jedoch fehlerhaft und somit wird die Nutzung in Webbrowsern oft kritisiert. 2 JavaScript ist eine Skriptsprache, die jedoch im Gegensatz zu php oder perl auf dem Client ausgeführt wird. KAPITEL 4. HEUTIGE ABWEHRTECHNIKEN 22 des Rechners auf Viren in gespeicherten Dateien überprüfen. Die Virensignaturen werden in einer Datenbank des Virenscanners verwaltet und müssen immer auf dem aktuellsten Stand gehalten werden, damit auch auf neue Viren reagiert werden kann und sie erkannt werden, bevor sie den Rechner infizieren. Einige Virenscanner sind in der Lage durch leichte Mutation der Signatur, also eine kleine zufällige Veränderung der Byte-Folge, auch leicht veränderte oder neue, der Signatur ähnliche Viren zu erkennen. Neue Viren, die nicht einem bekannten Virus ähneln, können nicht erkannt werden. 4.3 Intrusion Detection System (IDS) Eine Menge von Handlungen, deren Ziel es ist, die Integrität, ” die Verfügbarkeit oder die Vertraulichkeit eines Betriebsmittels zu kompromittieren.“ 3 Das einführende Zitat ist eine Definition des Begriffes Intrusion und zeigt, dass ein Intrusion Detection System“ (IDS) einen weit gefächerten ” Arbeitsbereich hat. Dieses Kapitel der Arbeit befasst sich mit den unterschiedlichen Arten von IDS und gibt eine Einführung in die verschiedenen Ansätze in der Entwicklung von Intrusion Detection“. ” Ergänzend zu den bisher besprochenen Techniken Virenscanner und Firewall werden IDS genutzt, um Angriffe auf das Rechnernetz zu erkennen. Man unterscheidet IDS zum einen anhand ihrer Erkennungsmethode (anomaliebasiert vs. signaturbasiert) und zum andern anhand ihres Aufgabenbereiches (hostbasiert vs. netzwerkbasiert). IDS sind Programme, die Angriffe auf Rechnernetze und Computer erkennen. Anhand von Audit-Daten, die sie je nach System aus verschiedenen Quellen wie Netzwerkverkehr, Betriebssystemlogs etc. erstellen, können sie Angriffe erkennen. Im folgenden werden die verschiedenen Architekturen und Erkennungsprinzipien, sowie die Art der Daten, die zur Erkennung heran gezogen werden, beschrieben. Der Vollständigkeit halber soll hier auch 3 Heberlein, T., Levitt, K., Mukherjee, B.: A Method to Detect Intrusive Activity in a Networked Environment, Proc. 14th National Conference on Computer Security, 1991. KAPITEL 4. HEUTIGE ABWEHRTECHNIKEN 23 das Intrusion Prevention System erwähnt werden. Ein IPS ist die Kombination aus einem Intrusion Detection System und einer Firewall. Also ein System, dass wie ein IDS Angriffe oder Anomalien erkennt und meldet und bekannte Angriffe wie eine Firewall sofort blockt. 4.3.1 Audit-Daten Welche Daten von einem Intrusion Detection System ermittelt bzw. genutzt werden, hängt natürlich stark davon ab welche Methode der Angriffserkennung es anwendet. In diesem Abschnitt sollen nur kurz erwähnt werden, welche Daten sinnvoll erscheinen. Oft verwendete Quellen für Intrusion Detection relevante Audit-Daten sind: • Daten von vom Betriebssystem überwachten Komponenten wie Dateisysteme (hier sind Zugriffsrechte von besonderem Interesse), Netzwerkdienste (wer hat sich von außen angemeldet) etc. • von Sicherheitsanwendungen wie z.B. von Firewalls überwachte Systemkomponenten • Betriebsmittelvergabe durch das Betriebssystem. Hier sind Parameter wie CPU-Auslastung und Ein- /Auslagerungsrate des virtuellen Speichers, Anzahl aktiver Netzverbindungen etc. interessant • Paketinformationen wie Headerinformationen 4.3.2 Signaturbasierte IDS Die charakteristischen Eigenschaften eines Angriffs werden in einer Signatur gespeichert und die Auditdaten werden über Patternmatching Algorithmen mit diesen Signaturen verglichen. Die Voraussetzung für die Erkennung ist, dass der Angriff schon einmal erfolgte und eine Signatur erstellt werden konnte. Der Datenstrom wird nun kontinuierlich mit den in einer Datenbank gespeicherten Signaturen verglichen und bei Übereinstimmung wird Alarm ausgelöst. Ähnlich wie bei Virenscannern gibt es auch bei signaturbasierten IDS solche, die durch Mutation neue Signaturen erzeugen und somit auch etwas veränderte Angriffe erkennen können. KAPITEL 4. HEUTIGE ABWEHRTECHNIKEN 4.3.3 24 Anomaliebasierte IDS Die zunehmende Differenzierung der Angriffe und die schnellere Verbreitung der Schadprogramme führten zu der Suche nach neuen Abwehrtechniken. Eine Möglichkeit ist die Anomalieerkennung. Man versucht nicht Signaturen von Angriffen zu definieren und die Auditdaten mit diesen zu vergleichen, sondern das System soll selbständig lernen was normal ist und potentielle Angriffe davon unterscheiden. Mit unterschiedlichen Methoden wird versucht das normale Verhalten zu definieren und davon abweichendes Verhalten als anormal zu erkennen. Dies kann entweder über statistische Methoden oder auch über Verfahren aus der Künstlichen Intelligenz erfolgen. Bei statistischen Verfahren wird ein Profil des normalen Verhaltens erstellt und die Auditdaten werden auf signifikante Unterschiede bezüglich dieses Profils verglichen. Bei signifikanten Unterschieden löst das System Alarm aus. Neuronale Netze und Künstliche Immunsysteme kommen als Methoden der Künstlichen Intelligenz zum Einsatz. Hierbei werden ClusteringMechanismen genutzt, um die Daten in gut“ und böse“ zu unterteilen. Zu ” ” den statistischen Verfahren, die in der Anomalieerkennung genutzt werden, gehören zum Beispiel Bayessche Netze, Hidden-Markov-Modelle (siehe dazu Qiao et al. [QWxBG02]) und Expertensysteme (siehe [Den87] und [AFV95]). Für alle diese Methoden wird anhand von in der Trainingsphase gesammelten Audit-Daten ein statistisches Profil des Nutzers, eines Netzknotens oder anderer Komponenten des Sytems erstellt. Die oben genannten Techniken werden dann genutzt, um die Abweichung vom normalen Verhalten zu erkennen. Eines der ersten Papiere zu statistischer Anomalieerkennung stammt von Dorothy E. Denning[Den87], indem sie ein Expertensystem vorschlägt, dass Angriffe aufgrund des anormalen Verhaltens erkennt. Andere Methoden nutzen Algorithmen aus der Künstlichen Intelligenz wie überwachte und nicht überwachte Lernverfahren. Zu den überwachten Lernverfahren gehören Neuronale Netze, die anhand bekannter Daten über normalen und nicht normalen Netzwerkverkehr, lernen zwischen normal und nicht normal zu unterscheiden. KAPITEL 4. HEUTIGE ABWEHRTECHNIKEN 25 Für ein Intrusion Detection System, dass auch gänzlich neue Angriffe erkennen soll, scheint jedoch ein nicht überwachtes Lernverfahren sinnvoller zu sein. Nicht überwachte Lernverfahren, wie zum Beispiel Self-OrganizingMaps sind in der Lage aus gegebenen Daten Cluster von ähnlichen Daten zu bilden. Man geht davon aus, dass normales Verhalten in wenigen Clustern beschreibbar ist und Angriffe sich signifikant ausserhalb dieser Cluster befinden (siehe hierzu auch Albayrak et al.[AMSM05]). Der in dieser Arbeit beschriebene Ansatz der Künstlichen Immunsysteme gehört ebenfalls zur anomaliebasierten Angriffserkennung. 4.3.4 Hostbasiert Hostbasierte IDS verarbeiten lokale, den einzelnen Rechner betreffende Daten. Bei einem solchen System werden Logdateien, Prozess Accounting Informationen, Benutzerverhalten und/oder das Verhalten von Applikationen für die Erkennung von Angriffen genutzt. Aber auch Informationen aus den Netzwerkpaketen, die einen Host erreichen oder verlassen werden für hostbasierte IDS genutzt. 4.3.5 Netzwerkbasiert Hier befindet sich das IDS an einem oder mehreren zentralen Punkten im Netzwerk, von wo aus es den Netzwerkverkehr überwacht. Hierbei werden die Daten aus den Headern der Datenpakete und zusätzlichen Informationen aus dem Netzwerkknoten ermittelt (Sender und Empfänger, Anzahl der Pakete zu einer Nachricht, Größe der Pakete, Protokoll, Routing, Uhrzeit und Datum, wann es versendet wurde, Frequenz der versendeten Pakete, genutzte Ports) Statistische Verfahren über die Anzahl der Pakete und ähnliches können ebenfalls verwendet werden. 4.3.6 Monolithische, hierarchische und kooperative Intrusion Detection Systems Eine weitere Unterteilung von Intrusion Detection Systems basiert auf der Art und Weise, wie sie die Daten verarbeiten und wie sie die gewonnenen Informationen an das gesamte Netzwerk verteilen. Diese Herangehensweise in der Unterscheidung von Intrusion Detection Systems wird vor allem von Kim et al. verwendet und stammt aus einem Artikel von Mykherjee et al. KAPITEL 4. HEUTIGE ABWEHRTECHNIKEN 26 ([MHL94], siehe auch Kapitel 6.2) Es werden Systeme unterschieden, die einen zentralen Server zur Auswertung der Auditdaten verwenden (monolithisch) und solche, die dies dezentral durchführen. Bei der dezentralen Verarbeitung kann noch zwischen hierarchisch und kooperativ unterschieden werden. Bei der hierarchischen Verarbeitung werden die Daten in den einzelnen Subnetzen ausgewertet und dann das Ergebnis an eine höher gelegene Ebene weitergeleitet, die die gesammelten Ergebnisse auswertet. Der kooperative Ansatz kommt ohne Hierarchie aus und die einzelnen Hosts bzw. Subnetze kommunizieren ihre Ergebnisse und beziehen die erhaltenen Ergebnisse in ihre weiteren Analysen mit ein. Aus Sicht der Ausfallsicherheit und Skalierbarkeit ist vor allem der zentrale Ansatz nicht für Intrusion Detection Systeme zu empfehlen, da solch ein zentralistisches System mit dem Server immer einen Single-Point-OfFailure besitzt und die Auswertung mit jedem zusätzlichen Host für den Server aufwendiger wird. Er wird trotzdem oft verwendet, weil er sich leichter realisieren lässt. Der zweite Ansatz (hierarchisch) skaliert sehr viel besser. Allerdings führt auch hier wieder der Ausfall einer hohen Hierarchie-Ebene eventuell zum Ausfall des gesamten Systems und das Zufügen eines neuen Hosts kann eine Neukonfiguration des gesamten Systems notwendig machen. Der kooperative Ansatz beschreibt die Arbeitsweise eines verteilten Intrusion Detection Systems, bei dem der Ausfall einer Komponente nie den Ausfall des gesamten Systems zur Folge hat. Die letzten beiden Ansätze lassen sich gut mit Agenten realisieren und sind daher besonders gut für ein AIS wie es im Zuge dieser Arbeit entwickelt werden soll, geeignet. Neben der Kenntnis von den bisher eingesetzten Techniken ist jedoch auch die Diskussion der mit diesen Techniken verbundenen Probleme für die Entwicklung eines weiterführenden Systems erforderlich. KAPITEL 4. HEUTIGE ABWEHRTECHNIKEN 4.4 27 Probleme dieser Techniken/Systeme Die signaturbasierte Analyse kann nur dann zum Erfolg führen, wenn der Angriff schon einmal stattfand und eine Signatur daraus erzeugt wurde. Verbesserte Systeme können auch Signaturen von einem ähnlichem Angriff nutzen, wenn der verwendete Erkennungsalgorithmus auch Ähnlichkeiten erkennt. Aufgrund der sich immer schneller ausbreitenden Würmer bereitet diese Art von Angriffserkennung allerdings immer mehr Probleme. Bei einer der größten Evaluationen von Intrusion Detection Systemen wurde dies auch bestätigt: während der DARPA off-line intrusion detection evaluati” on“ konnten bekannte Angriffe sowohl bei Windows als auch bei UNIX bzw. Solaris Rechnern erkannt werden, jedoch neue Angriffe wurden meist nicht erkannt.([LHF+ 00]) Der anomaliebasierte Ansatz hingegen ist sehr anfällig für fault-positives, das heißt fehlerhaft ausgelöste Angriffsmeldungen. Dies liegt an der Schwierigkeit das normale Verhalten eines Systems eindeutig zu beschreiben. Ein Rechner und auch ein Netzwerk sind ein dynamische Systeme, in denen es schwierig ist zu definieren, was normal ist und was nicht. Das System muss auch Dateien, die sich häufig (legal) ändern, neue Software, verändertes aber legitimes Verhalten eines Benutzers als selbst“ und damit normal erkennen. ” Das biologische Immunsystem ist in der Lage viele dieser Probleme zuverlässig zu lösen. Durch sehr effektive negative Selektion kann es sicher zwischen körpereigen und körperfremd unterscheiden. Wie dies geschieht und wie das Immunsystem aufgebaut ist, wird im folgenden Kapitel beschrieben. Kapitel 5 Das biologische Immunsystem Der menschliche Körper kommt immerzu mit Pathogenen1 in Kontakt. Diese würden ihn schädigen oder töten, wenn sie nicht an ihrer Ausbreitung und Vermehrung gehindert würden. Nahezu jeder Organismus besitzt ein Immunsystem, das genau dies, nämlich den Schutz des Körpers vor fremden Eindringlingen, zur Aufgabe hat. Das menschliche Immunsystem ist hoch effektiv, da es sich schnell an neue Pathogene anpassen kann, sich vergangene Angriffe merkt und bei einem erneuten Angriff schnell und effektiv reagieren kann. Im folgenden Kapitel werden die grundlegenden Prinzipien sowie der Aufbau des menschlichen Immunsystems beschrieben. Neben der gängigen Theorie wird noch auf zwei ergänzende Theorien, die Netzwerk- und die Gefahrentheorie, eingegangen. Biologische Begriffe, die nicht direkt im Text erklärt werden, sind im Glossar aufgeführt. 5.1 Die Grundprinzipien des menschlichen Immunsystems Das biologische Immunsystem besteht aus vielen miteinander kommunizierenden Bestandteilen, die ein hierarchisch aufgebautes, aber stark vernetztes 1 griechisch pathos = Krankheit, genein = entstehen 28 KAPITEL 5. DAS BIOLOGISCHE IMMUNSYSTEM 29 Abbildung 5.1: Rezeptor und Antigen System bilden. Zunächst kann schon die Haut und die Schleimhäute als Barriere und somit als Bestandteil des Immunsystems, gesehen werden. Durch die leicht saure Wasser-Öl-Emulsion, die ständig von den Talgdrüsen der Haut abgesondert wird, werden hier schon die ersten Bakterien abgewehrt. Auch andere Eintrittsstellen des Körpers werden durch einen niedrigen pHWert geschützt (zum Beispiel Magensäfte). Ein wichtiges Grundprinzip des menschlichen Immunsystems ist die Mustererkennung von körperfremden Strukturen mit sogenannten Rezeptoren. Rezeptoren sind Eiweißmoleküle, die aufgrund ihrer Form und elektrischen Ladung nach dem Schlüssel-Schloß-Prinzip an bestimmte Strukturen binden (siehe Abbildung 5.1). Diese Rezeptoren befinden sich auf der Oberfläche der unterschiedlichen Zellen des Immunsystems. Jede Zelle besitzt mehrere Rezeptoren, die jedoch identisch sind, also auch an die gleichen Strukturen binden. Die Stelle, an der der Rezeptor bindet, nennt man Epitop. Moleküle oder Stoffe, die von Immunzellen als fremd erkannt werden bezeichnet man als Antigene. Jedes Antigen kann verschiedene Epitope besitzen und somit verschiedene antigenrezeptortragende Zellen aktivieren. In Abbildung 5.1 sind die Antigene KAPITEL 5. DAS BIOLOGISCHE IMMUNSYSTEM 30 Abbildung 5.2: Schichtenaufbau des Immunsystems mit den dunkel abgesetzten Epitopen erkennbar. Wenn ein Rezeptor eine Bindung mit einem Antigen eingeht, erhält die rezeptortragende Zelle ein Signal, dass etwas“ erkannt wurde. Die Reak” tionen der Zelle unterscheiden sich dann je nach Zelltyp und werden in den folgenden Abschnitten näher erläutert. Es wird zwischen der angeborenen und der adaptiven Immunität unterschieden. Die angeborene Immunität, reagiert auf spezielle im Laufe der Evolution entwickelte Epitope von Bakterien und Viren (siehe Kapitel 5.2). Die Gestalt von Pathogenen verändert sich jedoch rasend schnell und so benötigt man zusätzlich ein Abwehrsystem, dass auch auf unbekannte Stoffe reagiert(adaptives Immunsystem). Das adaptive Immunsystem kann solche Strukturen erkennen, die vorher noch nicht aufgetreten sind. Dies geschieht durch ein zufälliges Erzeugen von Rezeptoren und durch negative Selektion der Zellen mit Rezeptoren, die nicht an körpereigene Strukturen binden (siehe Kapitel 5.3). KAPITEL 5. DAS BIOLOGISCHE IMMUNSYSTEM 5.2 31 Die angeborene Immunität und ihre Komponenten Das angeborene Immunsystem basiert auf unspezifischen Rezeptoren, die an Strukturen von Bakterienmembranen und Viren binden können. Makrophagen erkennen anhand dieser Rezeptoren unspezifisch eingedrungene Pathogene, die sie aufnehmen und verdauen2 . Aktivierte Makrophagen geben Chemokine und Cytokine ab. Diese Stoffe locken Granulozyten und Makrophagen an. Außerdem folgen auch Zellen des adaptiven Immunsystems dem Chemokingradienten. Makrophagen sind phagozytierende Zellen, d. h. sie sind zur Phagozytose3 und Pinozytose4 fähig. Nach Aufnahme und Verdauung von Antigenen können sie einzelne Epitope an ihrer Zelloberfläche den Zellen des adaptiven Immunsystems präsentieren. Weitere Zellen des angeborenen Immunsystems sind Granulozyten und Mastzellen, sie werden durch Mediatoren5 oder bakterielle Stoffe an den Ort der Entzündung gelockt und nehmen dort Fremdstoffe auf. Dendritische Zellen nehmen ebenfalls Pathogene auf (Phagozytose) und wandern zum nächsten Lymphknoten, wo sie zur Aktivierung der adaptiven Abwehr durch Präsentation der Antigene beitragen. Das Komplementsystem Das Komplementsystem dient dazu das angeborene Immunsystem zu aktivieren. Das Komplementsystem besteht aus Proteinen, die sich an die Oberfläche von Bakterien oder Viren setzen und ein Signal zur Eliminierung durch phagozytierende Zellen aussenden. 5.3 Das adaptive Immunsystem und seine Komponenten Die aktivierten Dendritischen Zellen werden zu APC (antigenpresenting cells) und wandern in das nächstgelegene Lymphorgan, wo sie auf die TZellen des adaptiven Immunsystems treffen. T-Zellen tragen Rezeptoren auf 2 Verdauen bedeutet die Zerkleinerung in einzelne Moleküle Aufnahme von festen Bestandteilen durch Ausstülpung der Membran und intrazellulärer Abbau 4 Aufnahme von gelösten Stoffen 5 lateinisch: Vermittler 3 KAPITEL 5. DAS BIOLOGISCHE IMMUNSYSTEM 32 Abbildung 5.3: Aufnahme von Antigenen durch antigen-präsentierende Zellen und Aktivierung der T-Zelle. ihrer Oberfläche, die nur an Antigene binden können, die von solchen antigenpräsentierenden Zellen an ihrer Zelloberfläche dargeboten werden. In Abbildung 5.3 ist die Aufnahme eines Antigens durch Dendritische Zellen (IDC), deren Wanderung in das Lymphgewebe und die dortige Antigenpräsentation an T-Zellen dargestellt. Die Zellen des adaptiven Immunsystems sind die T- und B-Lymphozyten (oder kurz T- und B-Zellen). Sie tragen beide sehr ähnlich aufgebaute Rezeptoren auf ihrer Zelloberfläche und werden bei Bindung an ein Antigen durch dieses aktiviert. In den folgenden Abschnitten werden diese beiden Zelltypen vorgestellt. 5.3.1 T-Zellen und ihre Reifung Die Vorläuferzellen der T-Zellen wandern vom Knochenmark, wo sie gebildet wurden, in den Thymus ein (daher auch der Name T-Zellen), wo ihre weitere Entwicklung abläuft. Zur Reifung der T-Zellen gehört vor allem die Selektion der Zellen, die auch an potentielle Antigene binden können, also solche, die weder an körpereigene Epitope noch an andere Epitope bin- KAPITEL 5. DAS BIOLOGISCHE IMMUNSYSTEM 33 den. T-Zellen können nur durch Antigene aktiviert werden, die schon von Antigenpräsentierenden Zellen (Makrophagen, dendritische Zellen etc.) aufgenommen wurden und an ihrer Oberfläche dargeboten werden. Fast jede kernhaltige Körperzelle besitzt sogenannte MHC-Moleküle, mit denen sie Teile von eingedrungenen Antigenen präsentieren kann. Sie müssen also an MHC-Moleküle + Antigenfragment binden. Damit dies gewährleistet ist, ist der erste Selektionsprozess eine positive Selektion, bei der die Zellen ausgewählt werden, die eine schwache Bindung zwischen einem Komplex von MHC-Molekül und körpereigenem Proteinen eingehen. Alle anderen Zellen sterben. Man nennt diesen Vorgang auch MHC-Restriktion und nur etwa 5% der T-Zellen überleben diesen Schritt. Negative Selektion und weitere Differenzierung der T-Zellen Im nächsten Entwicklungsschritt durchlaufen die übrig gebliebenen T-Zellen eine negative Selektion, das heisst ihnen werden körpereigene Antigene präsentiert und wenn eine starke Bindung zwischen Rezeptor und Antigen auftritt, dann werden diese Zellen auch aus der Menge der T-Zellen entfernt (sie sterben durch Apoptose6 ). Dieser Schritt ist verantwortlich für die Selbsttoleranz des menschlichen Immunsystems und verhindert somit die Immunantwort auf körpereigene Proteine. Die restlichen Zellen wandern nun über die Blutbahn in die Lymphknoten ein, um dort durch die Bindung an einen passenden MHC-AntigenKomplex aktiviert zu werden. Wenn eine T-Zelle außerhalb des Thymus an einen MHC-Protein-Komplex bindet, dann kommt es zu einer Immunreaktion. 5.3.2 B-Zellen und ihre Entwicklung Wie die T-Zellen entstehen die B-Zellen aus Lymphozyten im Knochenmark. Im Knochenmark findet auch eine gewisse negative Selektion der BZellen statt. B-Zellen sind vor allem für die Produktion von Antikörpern zuständig, dies sind frei im Blut schwimmende B-Zell-Rezeptoren. Nach der Aktivierung durch ein passendes Antigen entwickelt sich die B-Zelle zu einer Plasmazelle, die große Mengen von Antikörpern produziert. Einige B-Zellen werden zu Gedächtniszellen, die eine längere Lebenszeit besitzen und bei einer erneuten Infektion schnell reagieren können. 6 Apoptose: griechisch: das Abfallen, der Niedergang KAPITEL 5. DAS BIOLOGISCHE IMMUNSYSTEM 5.4 34 Ablauf einer Immunreaktion Das menschliche Immunsystem kann in mehrere Schichten unterteilt werden. Die erste Barriere bilden schon physikalische und chemische Barrieren wie der Säuremantel der Haut, die Schleimhaut und die Magensäure. Wenn Pathogene jedoch diese Barrieren überwinden, muß das Immunsystem diese bekämpfen. Zunächst tritt das angeborene Immunsystem in Aktion (siehe oben). Bei einer Immunreaktion in den peripheren Geweben werden die Antigene und antigenpräsentierenden Zellen in die sekundären lymphatischen Organe (Lymphknoten, Milz etc.) transportiert, hier befinden sich naive Lymphozyten7 und Gedächtniszellen und es kommt zu einer Immunantwort. 5.4.1 T-Zell-Aktivierung T-Zellen können nur Antigene erkennen, die von anderen Körperzellen präsentiert werden (man nennt diese Zellen dann auch Antigenpräsentierende Zellen). Zellen des angeborenen Immunsystems oder Zellen, die von Viren befallen sind, expremieren8 Epitope des Antigens auf ihrer Oberfläche. T-Zellen mit den passenden Rezeptor binden an diese MHC-Antigen-Komplexe. Für eine Immunantwort benötigt die T-Zelle jedoch noch weitere Stimulantien. Diese Signale erhält sie nur von mit Viren befallenen Zellen oder solchen, die zum angeborenen Immunsystem gehören. Durch dieses Doppelsignal wird verhindert, dass eine T-Zelle fälschlicherweise an körpereigene Strukturen bindet und dann eine Immunreaktion auslöst (siehe Abb. 5.3). Zytotoxische T-Zellen erkennen Antigene, die von Körperzellen präsentiert werden und induzieren entweder Adoptose oder töten die Zelle durch Sezernierung von zytotoxischen Substanzen. Eine weitere Art der T-Zellen sind die T-Helferzellen, die aktivierte B-Zellen stimulieren. 5.4.2 B-Zellaktivierung B-Zellen können im Gegensatz zu T-Zellen auch ungebundene Antigene erkennen und mit ihren Rezeptoren binden. 7 Naiv bedeutet in diesem Zusammenhang, dass sie zuvor keinen Kontakt mit Antigenen hatten und noch nicht ausdifferenziert sind. 8 kleine Teile des Antigens werden an sogenannte MHC-Moleküle gebunden und an der Oberfläche präsentiert KAPITEL 5. DAS BIOLOGISCHE IMMUNSYSTEM 35 Die Reifung der B-Zellen findet im Knochenmark statt. B-Zellen, die mit ihren Rezeptoren mit hoher Affinität an Zellen des Knochenmarks binden, werden apoptotisch (programmierter Zelltod) und werden von Makrophagen eliminiert. Zellen, die an gelöste Moleküle binden, werden nicht eliminiert, können aber auch nicht mehr durch ein Antigen aktiviert werden. Sie sind anergisch. Die Rezeptoren der B-Zellen sind in die Zellmembran eingebettete Antikörper (siehe nächstes Kapitel) und bei Aktivierung werden die Antikörper sezerniert, die den Rezeptoren der Zelle entsprechen. Jede B-Zelle erzeugt immer nur einen Antikörper, da sie auch immer nur eine Art von Rezeptor besitzt. Nach der Bindung des Antigens durch die membrangebundenen Antikörper der B-Zelle erfolgt die Endozytose9 des Antigens. Nach der Aufnahme wird das Antigen zerlegt“ und verschiedene Epito” pe an MHC Moleküle gebunden und an der Oberfläche präsentiert. Die an der Oberfläche präsentierten Antigene können von T-Helferzellen gebunden werden und erst durch diese Bindung mit einer T-Zelle wird die B-Zelle aktiviert. Durch den zusätzlichen Stimulus der T-Helferzelle beginnt die B-Zelle sich zu teilen. Zum einen entstehen so genannte Plasmazellen, die Antikörper in großen Mengen produzieren und sezernieren, zum anderen entwickeln sich Gedächtniszellen, die längere Zeit im Körper verbleiben und bei einer erneuten Infektion mit dem gleichen Antigen eine schnelle Immunantwort auslösen (also das Bilden von Plasmazellen, die Antikörper bilden). 5.5 Aufbau der Antikörper und T-Zellrezeptoren Wie schon in Kapitel 5.1 dargestellt, basiert die Erkennung von Antigenstrukturen auf der Bindung von Rezeptoren an bestimmte Strukturen der Antigenoberfläche. Diese Rezeptoren und auch die von den B-Zellen gebildeten Antikörper sind sogenannte Immunglobuline, die in diesem Abschnitt näher erklärt werden. Alle Immunglobuline haben die gleiche Y-förmige Grundstruktur, die in Abbildung 5.4 dargestellt ist. Anhand der Abbildung 5.4 erkennt man die beiden Bereiche Fab und Fc, die für die unterschiedlichen Aufgaben der Antikörper zuständig sind. 9 Aufnahme von Stoffen in die Zelle KAPITEL 5. DAS BIOLOGISCHE IMMUNSYSTEM 36 Abbildung 5.4: Aufbau von Antikörpern und T-Zell-Rezeptoren Nur der obere variable Teil (Fab) des Antikörpers kann an Antigene binden. Hier befinden sich besonders viele aromatische Aminosäuren, die vor allem aufgrund von Van-der-Waals- und hydrophobischen Kräften Verbindungen mit anderen Molekülen eingehen. Diese Kräfte wirken nur auf sehr kurzen Distanzen, daher muss auch die Oberflächenstruktur ineinander passen. Der Fc-Bereich unterscheidet sich, je nachdem zu welcher Gruppe der Antikörper gehört und defininiert die Funktionalität innerhalb des Immunsystems Der T-Zellrezeptor ähnelt dem Fac-Bereich der Immunglobuline, da er auch nur als Oberflächenrezeptor auftritt. Auch hier gibt es einen variablen Teil und einen konstanten, der Membran zugewandten Teil. 5.5.1 Die Rolle der Antikörper Die sezernierten Antikörper entsprechen dem B-Zellrezeptor und binden an das gleiche spezifische Epitop des Antigens wie dessen Rezeptor. Sie binden an die eingedrungenen Antigene und markieren es als Eindringling. Die gebundenen Antikörper locken Stoffe des Komplementsystems an und stoßen so eine Reaktionskette an, die zur Zerstärkung des Pathogens führt. Die Bereiche VL und VH sind hochgradig variabel und für die Bindung an Epitope KAPITEL 5. DAS BIOLOGISCHE IMMUNSYSTEM 37 der Antigene verantwortlich. Der untere Bereich Fc ist charakteristikisch für die Immunglobulingruppe und bestimmt die Bindung an andere Zellen und Effektormoleküle der freien Antikörper. 5.6 Gefahrentheorie Abbildung 5.5: Gefahrenmodell In der Gefahrentheorie, die Polly Matzinger 1994 erstmals veröffentlichte, ist nicht die Selbst-Nichtselbst-Unterscheidung ausschlaggebend für die Aktivierung des adaptiven Immunsystems, sondern sogenannte Gefahrensignale. Ein wichtiger Bestandteil der Gefahrentheorie ist die Betrachtung des Immunsystem als ein in das umgebende Gewebe integriertes System. Die Gefahrensignale gehen nicht von den Zellen des Immunsystems aus, sondern von den Zellen des Gewebes. Was genau alles zu den Gefahrensignalen zählt ist jedoch bisher noch nicht bekannt. Es scheint aber sicher zu sein, dass Zellen, die nicht eines natürlichen Todes sterben, solche Signale aussenden. Zellen, die einen kontrollierten Tod sterben (Apoptosis10 ), verdauen sich mehr oder weniger zunächst selber, wobei jedoch die Zellmebran intakt bleibt. Es können also 10 griech. apoptosis = etwa das Abfallen KAPITEL 5. DAS BIOLOGISCHE IMMUNSYSTEM 38 keine Zellbestandteile entweichen. In der Endphase werden Makrophagen durch Moleküle an der Oberfläche angelockt und diese nehmen dann die sterbende Zelle auf. Anders bei der Necrosis11 , dem durch Verletzung oder Infizierung durch Viren oder Bakterien herbei geführten Zelltod. Hier zerfallen die inneren Bestandteile chaotisch und die Zelle platzt nach einer Weile, wodurch Zellfragmente in der extrazellulären Flüssigkeit schwimmen. Diese Zellfragmente sind bekannt als Gefahrensignale. Abbildung 5.6: Mengenlehre“ der Antigene. Self-Nonself unterscheidet nur ” in Selbst und Nichtselbst, das Gefahrenmodell unterscheidet noch zwischen gefährlich und nicht gefährlich Das Danger-Modell unterscheidet nicht wie das self-nonself-Modell nur selbst und nicht-selbst sondern auch in gefährliches Selbst“ (wie zum Bei” spiel durch Mutation veränderte Zellen) und nicht gefährliches Fremdes “ ” (wie in Symbiose lebende Organismen oder ein Fötus). Diese Unterscheidung ist schematisch in Abbildung 5.6 dargestellt. KAPITEL 5. DAS BIOLOGISCHE IMMUNSYSTEM 39 Abbildung 5.7: Netzwerktheorie von Jerne (1974) 5.7 Netzwerktheorie Erstmals von Jerne 1974 publiziert stellte die Netzwerktheorie das Immunsystem als ein Netz von Zellen und Molekülen dar. Dieses Modell geht davon aus, dass es ein Netz von Immunzellen gibt, die sich auch bei Abwesenheit eines Antigens gegenseitig beeinflußen. Jeder Rezeptor und jeder Antikörper besitzt ein Paratop, mit dem er Epitope erkennen kann. Außerdem besitzt auch jedes dieser Moleküle auch wieder Epitope, die von anderen Rezeptoren erkannt werden können, die Epitope der Immunmoleküle werden Idiotope genannt. Jedes Molekül und jede Zelle des Immunsystems ist also in der Lage zu erkennen und erkannt zu werden, so entsteht ein Netz aus Immunzellen und -molekülen, die sich gegenseitig positiv oder negativ beeinflußen. 5.8 Zusammenfassung der Vorteile des biologischen Immunsystems Die Vorteile des biologischen Immunsystems lassen sich wie folgt zusammenfassen: • effektive Mustererkennung • Selbstidentifizierung, Anomalieerkennung • Verteiltheit und Autonomie (keine zentrale Steuerung, sondern autonome Klassifizierung und Beseitigung durch die Bestandteile des IS) • Mehrschichtigkeit, wobei es keine geschützte Schicht gibt, auch Zellen des Immunsystems können vom Immunsystem angegriffen werden 11 griech. nekrossi = Absterben KAPITEL 5. DAS BIOLOGISCHE IMMUNSYSTEM 40 • Robustheit (wenn eine einzelne Immunzelle fälschlicherweise ein Molekül als fremd erkannt hat, dann wird dies durch die Vernetzung der verschiedenen Bestandteile abgefangen und es findet keine vollständige Immunreaktion statt) • dynamische Anpassung • Lernen und Gedächtnis • Unterscheidung zwischen gefährlichem Selbst“ und nicht gefährli” ” chem Fremd“ Dies sind alles Funktionalitäten, die auch von einem IDS erwartet werden, aber bisher nur begrenzt erreicht wurden, bzw von signaturbasierten IDS teilweise gar nicht erreicht werden können. Die Übertragung des biologischen Immunsystems auf ein Rechner-“Immunsystem“ wirft jedoch auch eine Reihe von Fragen auf. • Wie lässt sich eine angemessene Reaktionszeit des Immunsystems erreichen? • Bis der Erreger eliminiert ist vergeht eine gewisse Zeit und in dieser Zeit ist der Körper geschwächt. Ist es in der Informationstechnologie vertretbar, dass ein Rechnernetz eine zeitlang krank“ ist? ” • Ist es in zukünftigen großen Rechnernetzen vielleicht gar nicht mehr möglich das gesamte Netz jederzeit hundert Prozent zu schützen, oder es gilt den Schaden möglichst gering zu halten und vor allem die wichtigen Rechner zu schützen und infizierte eventuell in eine Art Karantänezustand zu bringen. Bisherige IDS sind aufgrund der effizienten Kommunikation und guten Skalierbarkeit hierarchisch aufgebaut. Ein großer Nachteil dieser Architektur ist jedoch die Anfälligkeit gegenüber Angriffen in den oberen Hierarchieebenen. Wenn ein Agent der oberen Ebenen angegriffen wird, ist die Kommunikation nicht mehr möglich und evtl das gesamte System nicht mehr arbeitsfähig. Ziel eines künstlichen Immunsystems wäre es also auch den stark vernetzten Aufbau des biologischen Immunsystems zu adaptieren, um so eine möglichst geringe Schädigung durch den Ausfall einzelner Rechner zu erreichen. Im folgenden Kapitel soll die Entwicklung der Forschung an künstlichen Immunsystemen beschrieben und analysiert werden. Kapitel 6 Künstliche Immunsysteme Seit Anfang der 90er Jahre gibt es verschiedene Ansätze das biologische Immunsystem auf ein künstliches Immunsystem für Rechnernetze abzubilden. Die Diskussion um self/nonself wurde vor allem von S. Forrest getragen [FPAC94]. Andere Modelle wurden von Dasgupta [Das96], de Castro ([dCZ99] und [dCZ00]) und Timmis [TNH99] erstellt. Die ersten Systeme waren hostbasiert, das heißt sie waren statisch an einen Host des Netzes gebunden und überprüften den Netzwerkverkehr und/oder die Applikationen dieses Rechners. In diesem Kapitel werden einige der bisher veröffentlichten Arbeiten zu Künstlichen Immunsystemen vorgestellt. 6.1 AIS ohne Agenten Das System LYSIS von Forrest et al.[HF00] ist ein Beispiel eines hostbasierten, künstlichen Immunsystems. Lysis überwacht den Netzwerkverkehr eines Hostes. Es basiert auf zufällig erzeugten Detektoren, die während ihrer tolerization period“ mit normalen data-path-triples“ (Source-IP-Adresse, ” ” Ziel-IP-Adresse und genutzter Dienst) konfrontiert werden, diese Phase wird auch als Trainingsphase bezeichnet. Detektoren, die während dieser Zeit an eines der data-path-triples“ binden, werden entfernt (negative Selek” tion, siehe auch Kapitel 7.2). Die Lebenszeit eines Detektors ist begrenzt. Nur wenn sie während dieser Zeit einen gewissen Schwellenwert an Bindungen eingehen, werden sie aktiviert und nach der Kostimulation zu einem Memory-Detektor“, ähnlich wie im Immunsystem (Gedächtniszellen). Der ” Nachteil dieses Systems ist die Kostimulation durch den Menschen. Dieser muss bei jedem gefundenen nonself-data-path-triple“ entscheiden, ob es ” 41 KAPITEL 6. KÜNSTLICHE IMMUNSYSTEME 42 sich tatsächlich um einen Angriff handelt oder um einen Fehlalarm (false positive). Andere Systeme wurden von Knight et al. [KT01] und Williams et al. [WAB+ 01] vorgestellt. Diese hostbasierten Systeme haben jedoch alle das Problem, dass sie ihrer Natur gemäß statisch an einen Host gebunden sind. Insbesondere in geswitchten Netzwerken, in denen die einzelnen Hosts nicht die Informationen des gesamten Netzes erhalten. 6.1.1 Immunnetzwerke Angelehnt an die Theorie von Jerne (siehe Kapitel 5.7) wurden auch in der Informatik Lernalgorithmen entwickelt, die sich an der Theorie der Immunnetzwerke orientiert. In der Netzwerktheorie sind die Elemente in einer netzartigen Struktur angeordnet, die sich durch die Anordnung der antigenen Muster und der einzelnen Muster im Raum ergibt. Wobei natürlich die antigenen Muster auch die Anordnung der Elemente beeinflusst. Es gibt zwei Ansätze von Immunnetzwerken: zum einen diskrete und zum anderen konstante Netzwerke. Wobei die diskreten Systeme als Künstliche Immunsysteme zur Problemlösung genutzt werden und die konstanten eher zur Simulation des Immunsystems dienen. Die Theorie der Immunnetzwerke wurde auch in anderen Bereichen als der Netzwerksicherheit genutzt zum Beispiel zum Clustern von Dokumenten [HD04] und [TV05] 6.2 Agentenbasierte AIS Eine Weiterentwicklung der Künstlichen Immunsysteme sind die Agentenorientierten Ansätze: sie können ähnlich wie im biologischen Immunsystem flexibel auf lokale Veränderungen reagieren. Agenten können autonom und asynchron arbeiten, was in verteilten Systemen von enormem Vorteil ist, da sie weiter das System überwachen können, auch wenn sie von der Plattform, die sie erzeugt hat, abgeschnitten sind. Durch ihre Möglichkeit sich innerhalb des Netzwerkes zu bewegen und auf Änderungen im System zu reagieren, können Agenten in künstlichen Immunsystemen zu einem sehr robusten und fehlertoleranten System führen.[JMKM99] Eine Einführung in KAPITEL 6. KÜNSTLICHE IMMUNSYSTEME 43 die Agententechnologie findet sich in Kapitel 8. Die ersten Systeme, die auf Agententechnologie basieren sind zum einen IA-NSM (Intelligent Agents for Network Security Management) von Boudaoud et al. [BLBG00] und zum anderen SANTA (Security Agents for Network Traffic Analysis) ) von Dasgupta [DB01]. Beides sind hierarchisch aufgebaute Systeme, wobei die unteren Hierarchieebenen von den darüber liegenden Agenten koordiniert werden. Die Systeme unterscheiden sich vor allem in der Aufgabenverteilung unter den Agenten. Bei IA-NSM sind die Aufgaben aufgrund von lokalen Domains unterschieden, die Agenten kontrollieren also jeweils einen Bereich des Netzwerkes. Die Agenten der untersten Hierarchieebene sind hier in der Lage miteinander zu kommunizieren. Die Architektur von SANTA sieht dagegen eine Arbeitsteilung auf der Grundlage der protokollarischen Netzwerkebenen vor (Userlevel,Prozesslevel, Paketlevel usw.). Die Agenten der unteren Ebene kommunizieren ihre Ergebnisse jeweils nur in die ihnen übergeordnete Ebene, jedoch nicht untereinander. Eine weitere Metapher der Biologie wird in evolutionären Algorithmen herangezogen. Evolutionäre Algorithmen sind Optimierungsalgorithmen, die Mechanismen der biologischen Evolution nutzen. Eine spezielle Form evolutionärer Algorithmen sind genetische Algorithmen. Die Vorgehensweise von genetischen Algorithmen wird in Kapitel 7 beschrieben. Selektion ist ebenfalls Bestandteil der Evolution und daher liegt es nahe auch evolutionäre Algorithmen oder ähnliches in künstlichen Immunsystemen zu integrieren. Dies ist ansatzweise in dem System von Kim und Bentley geschehen. In den Arbeiten von Kim und Bentley ([KB99], [KB02a]) gibt es neben der negativen Selektion verschiedene andere von der Immunologie geliehene Algorithmen. Zum einen werden die Detektoren durch die Nutzung einer GenBibliothek erzeugt, also nicht wie in den vorher vorgestellten Systemen rein zufällig. Bekannte Angriffssignaturen werden in einzelne Gene“ zerteilt und ” beim Erzeugen von neuen Detektoren mehr oder weniger stark verändert (mutiert). Nach der Erzeugung werden die Detektoren anhand eines self ” network traffic profile“ negativer Selektion unterzogen und die übrig gebliebenen Detektoren werden zu mature detectors. Nach der negativen Selektion werden die Detekoren zu den lokalen Rechnern übertragen, wo sie von dem sogenannten sekundären IDS verwendet werden. Wenn ein Detektor eine Anomalie erkennt, dann werden seine Gene in der Genbibliothek gespeichert. KAPITEL 6. KÜNSTLICHE IMMUNSYSTEME 44 Wenn die Gene schon existieren, wird ihr Fitnesswert erhöht. Der Fitnesswert bezeichnet den Grad der Anpassung an die Umweltbedingungen. Individiuen, die sehr gut an die Bedingungen angepasst sind, haben einen hohen Fitnesswert und haben eine höhere Wahrscheinlichkeit zum Überleben. Da die Genbibliothek nur eine begrenzte Größe hat, werden bei Erreichen dieser Grenze die Gene mit dem geringsten Fitnesswert entfernt. So kommt es zu einer Evolution der Genbibliothek, ähnlich der Evolution des Genpools von biologischen Arten. Nachdem ein Detektor auf einem lokalen Rechner eine Anomalie erkannt hat, wird dieser geklont, an die anderen Hosts verteilt und die Gene in der Genbibliothek abgelegt und ihre Fitness erhöht. Von Harras und Fenet wurde 2001 ein sehr interessanter Ansatz eines künstlichen Immunsystems vorgestellt [FH01], in dem neben den Immunalgorithmen auch Prinzipien der Schwarmtheorie integriert sind. (zu SchwarmTheorie siehe Kapitel 7.5) Im Gegensatz zu den meisten bisher publizierten Modellen, ist dieser Ansatz mit einer hohen Mobilität der Agenten verbunden. Neben den Monitoring-Agenten und den sogenannten Pheromonservern (auf die später genauer eingegangen wird) gibt es Lymphozyt-ähnliche Agenten, die auf der Suche nach Eindringlingen durch das Netz wandern. Der Pheromonserver spiegelt den lokalen Zustand des Netzwerkbereiches wieder, die Monitoring-Agenten melden Verdachtsmomente an den Pheromonserver und je nach Schwere des Verdachts wird der Pheromonwert des Server erhöht. Ähnlich wie bei staatenbildenden Insekten wird die Pheromonkonzentration genutzt, um die Quelle einer Anomalie zu finden. Die oben erwähnten lymphozytenähnlichen Agenten wandern entlang des Pheromongradienten und sind für die Abwehr der Ursache zuständig. Dieser Ansatz macht die Integration der Gefahrentheorie (siehe Abschnitt 5.6) möglich. Es erscheint zudem sinnvoll, nicht nur die Ergebnisse der Monitoring-Agenten auszuwerten, sondern auch externe Programme wie Firewall und Virenscanner zu integrieren und wenn diese Auffälligkeiten melden, den Pheromonwert zu steigern. Auch an dieser Stelle könnten wieder bioanaloge Mechanismen hinzukommen. Bei Streßsituationen schüttet das Gehirn Adrenalin aus und versetzt so den Körper in einen angespannten Zustand; er kann schneller rea- KAPITEL 6. KÜNSTLICHE IMMUNSYSTEME 45 gieren und wird langsamer müde. Ähnliches kann auch mit einem Pheromonserver erreichet werden, indem bei Meldungen der Firewall oder des Virenscanners nicht nur lokal der Pheromonwert erhöht wird, sondern auf allen Servern im Netzwerk. Da die Überwachung des Netzwerkverkehrs aufgrund des data-path” tripels“ nicht ausreicht, wurden weitere Verfahren gesucht, mittels der negativen Selektion anormales Verhalten aufzudecken. Eine Möglichkeit ist die Verwendung sogenannter Real-Value-Vektoren ([GD03]). Die Real-Value Vektoren nehmen verschiedene Systemparameter auf. Wie auch schon in dem ursprünglichen negativen Selektions-Algorithmus werden Detektoren während einer Trainingsphase mit Auditdaten konfrontiert, die dem normalen Verhalten entsprechen. Wenn die Detektoren während dieser Zeit binden, werden sie eliminiert. Die Stärke der Bindung wird über die Hamming Distanz errechnet. Danger-Theory und künstliches Gewebe“ ” In Kapitel 5.6 wurde die Danger-Theorie von Polly Matzinger vorgestellt, auch bei künstlichen Immunsystemen hat Uwe Aickelin et al.[ABC+ 03] die These aufgestellt, mit Hilfe der Gefahren-Theorie die Effizienz von künstlichen Immunsystemen zu steigern. In dem ersten Artikel theoretisch beschrieben und dargestellt, dass eine erkannte Anomalie nur bei gleichzeitigem auftreten von Gefahrensignalen auch zu einem Alarm führt. Durch diese Kopplung erhoffen sich Aickelin et al. eine verminderte false-positive-Rate. In weiterführenden Papieren beschreiben die Autoren um Aickelin einen Ansatz, in dem das künstliche Immusystem in ein künstliches Gewebe eingebettet ist. Sie argumentieren, dass ein Immunsystem ohne das umgebende Gewebe keine Aufgabe zu erfüllen hat. Ein aktuelles Projekt, in dem die Gefahren-Theorie integriert ist, ist das System CARDINAL (Cooperative Automated worm Response and Detection Immune Algorithm), das von Kim, Wilson, Aickelin und McLeod entwickelt wurde[KWAM05]. In diesem System gibt es neben der GefahrenTheorie auch noch eine andere Änderung gegenüber den bisher vorgestellten Systemen, an denen die Autoren auch teilweise beteiligt waren. Das System KAPITEL 6. KÜNSTLICHE IMMUNSYSTEME 46 arbeitet ohne negative Selektion und basiert vor allem auf der Kommunikation zwischen den dendritischen Zellen (DC) des angeborenen Immunsystems und den T-Zellen des adaptiven Immunsystems. Die DCs erkennen ein Gefahrensignal, dies sind von bekannten Würmern erzeugte Anomalien wie zum Beispiel erhöhte CPU-Last, Auslastung der Netzwerkbandbreite oder erhöhter e-mail-Verkehr. Das erkannte Antigen“ (eine Signatur des ” Angriffs) wird an den Lymphknoten“ weiter geleitet und hier entstehen ” naive T-Zellen, deren Rezeptoren dem übermittelten Antigen entsprechen. Die T-Zellen werden also nicht zufällig erzeugt, sondern erst bei Auftreten eines Gefahrensignals anhand einer Signatur erstellt. Wenn diese T-Zelle erneut auf eine DC trifft, deren Antigen ihrem Rezeptor entspricht, dann können sie durch diese eine Kostimulation erfahren und nach einer gewissen Zeit differenzieren sich die naiven T-Zellen zu THelferzellen oder zytotoxischen Zellen. Kapitel 7 Algorithmen Nachdem im vorherigen Abschnitt die unterschiedlichen Ansätze von Künstlichen Immunsystemen dargestellt wurden, beschäftigt sich das folgende Kapitel mit den Algorithmen, die in solchen Systemen zur Anwendung kommen. Es werden nicht nur solche Algorithmen vorgestellt, die ursprünglich dem Immunsystem entliehen wurden, sondern auch andere bioanaloge Algorithmen bzw. Theorien wie genetische Algorithmen und Schwarm-Theorie, die ebenfalls in Künstlichen Immunsystemen Anwedung finden. Die Grundlage bildet eine Einführung in die Mustererkennung in der Informatik ( Pattern ” Recognition“), da alle Methoden immer wieder auf Pattern Recognition aufbauen. 7.1 Pattern Recognition Die Pattern Recognition oder Mustererkennung wird in der Künstlichen Intelligenz verwendet, um die Wahrnehmung des Menschen nachzubilden. Daten werden in Klassen ähnlicher Muster unterteilt, sie werden klassifiziert. Es gibt verschiedene Methoden der Mustererkennung, allerdings läßt sich allgemein ein gleicher Prozess erkennen: Datenauf nahme → V orverarbeitung → Klassif izierung Für die Klassifizierung verwendet man Algorithmen, die die Ähnlichkeit zwischen Daten ermitteln, so genannte Pattern-Matching-Algorithmen“. ” Im folgenden werden die Pattern-Matching-Algorithmen und Distanzmaße beschrieben, die auch in Künstlichen Immunsystemen genutzt werden. 47 KAPITEL 7. ALGORITHMEN 48 r-contigious Der einfachste Algorithmus zur Ermittlung der Ähnlichkeit zweier Strings ist der r-contigious Algorithmus. Hier ist der Detektor genauso lang wie der Vergleichsstring. Es werden zusammenhängende, identische Teilstrings einer gewissen Länge innerhalb der beiden Strings gesucht( siehe hierzu auch [Gon03] und [FPAC94]. r-contiguous Algorithmus: gegeben ein String x = x1 x2 ...xn und ein Detektor d = d1 d2 ...dn d erkennt x ≡ ∃i ≤ n − r + 1 wenn xj = dj f orj = i...i + r − 1 r-chunk Eine Erweiterung des r-contiguous Algorithmuses ist der r-chunk-Algorithmus, der anstatt eines Detektors aus einer Menge von Detektoren besteht, die jeweils nur so lang sind, wie die minimale Länge des identischen Teilstrings im r-contiguous Algorithmus (siehe dazu auch [EFH04] ). Stibor et al. [SBE04] untersuchten den Einfluß höherer Alphabete auf den r-chunk-Algorithmus und kamen zu dem Schluß, dass ein höheres Alphabet negativen Einfluß auf die Anzahl der möglichen Detektoren hat. Aus diesem Grunde ist die Nutzung des r-chunk-Algorithmuses bei höheren Alphabeten wie beispielsweise den realen Zahlen nicht zu empfehlen. Hamming Distanz Der Hamming-Abstand zweier Blöcke von binären Daten mit fester Länge (so genannter Codewörter) kann ermittelt werden, indem man beide in binärer Form schreibt, diese Bit für Bit vergleicht und die Stellen zählt, die ungleich sind. Rechnerisch lässt sich der Vergleich durch eine XOROperation und das Abzählen der resultierenden Einsen realisieren (siehe auch [wikb]). Euklidische Distanz Der Euklidische Abstand ermittelt die Distanz zwischen zwei n-dimensionalen Vektoren und wird durch die Summe der Differenzen der einzelnen Elemente des Vektors definiert. Für die Differenz der einzelnen Elemente kann dann 49 KAPITEL 7. ALGORITHMEN wieder entweder ein r-contigious-Algorithmus oder die Hamming-Distanz verwendet werden [wika]. d(x, y) = |x − y| = kx − yk2 = q v u n uX 2 2 (x1 − y1 ) + ... + (xn − yn ) = t (xi − yi ) i=0 7.2 Negative Selektion Das biologische Immunsystem erkennt Eindringlinge aufgrund der Unterscheidung von selbst-nichtselbst und wählt die Zellen aus, die als aktive Immunzellen agieren (vgl. Kapitel 5). Die unreifen T-Zellen mit unterschiedlichen, zufällig erzeugten Rezeptoren werden dazu zunächst einer negativen Selektion im Thymus unterzogen. Dieser Algorithmus ist neben dem Immunnetzwerk auch die Grundlage der meisten Künstlichen Immunsysteme. In Abbildung 7.1 ist das Grundprinzip der Negativen Selektion, wie er 1994 von Forrest et al. vorgestellt wurde, dargestellt. Abbildung 7.1: Negative Selektion nach Forrest et al.[FPAC94] Der Grundgedanke ist, dass eine Menge von zufällig erzeugten Zeichenketten (binäre Strings) während einer Reifungsphase den normalen“ Zei” chenketten präsentiert werden. Wenn während dieser Phase ein so erzeugtes Muster einer normalen Zeichenkette sehr ähnlich ist, dann wird es aus der Menge der Detektoren entfernt. In Abbildung 7.2 ist auch die weitere Verwendung der ausgewählten Detektoren dargestellt: Nachdem ein Detektor die Reifungsphase durchlaufen hat, wird er zu einem reifen Detektor und wird den aktuellen Netzwerkdaten präsentiert. Jeder dieser Detektoren besitzt eine begrenzte Lebensdauer und wenn er innerhalb dieser nicht aktiviert wird, wird er ebenfalls aus der Menge der Detektoren entfernt. KAPITEL 7. ALGORITHMEN 50 Abbildung 7.2: Lebenszyklus eines Detektors nach Forrest et al.[HF00] Jeder Detektor besitzt einen Zähler, der erhöht wird, wenn er mit einem data-path-triple“ eine hohe Übereinstimmung hat. Wenn dieser Zähler ” einen gewissen Schwellwert überschreitet, wird der Detektor aktiviert. Nun hängt es vom Künstlichen Immunsystem ab, welche Reaktion folgt. Bei dem System, das in der Abbildung 7.2 dargestellt ist, muss noch eine zusätzliche Stimulation (Kostimulation) durch einen Administrator erfolgen, dann wird der aktivierte Detektor zu einem Gedächtnis-Detektor. Als GedächtnisDetektor wird er wieder der Menge der Detektoren zugeführt und mit einer erhöhten Lebenszeit versehen. Wenn es zu keiner Kostimulation kommt, dann wird der Detektor entfernt. 7.3 Klonale Selektion In der Biologie versteht man unter einem Klon einen Organismus, der die identische Geninformation hat wie der Organismus, aus dem er entstanden ist. Dies geschieht, indem sich eine Zelle teilt oder bei mehrzelligen Organismen sich ein Teil der Zellen abspaltet und einen neuen Organismus bilden. Es kann jedoch immer zu einer Veränderung der Geninformation aufgrund von Mutationen kommen. In der Informatik werden unter Klonen die Kopien von Datenstrukturen 51 KAPITEL 7. ALGORITHMEN binary string 110100 randomly chosen mutation point 1 10 100 mutation 1 10 110 Abbildung 7.3: Visualisierung der Mutation bei der Klonalen Selektion verstanden, also im Fall der künstlichen Immunsysteme die Kopie eines Detektors. Es wird ein neuer Detektor erzeugt, der identische Werte zu dem ursprünglichen Detektor besitzt. Um jedoch noch die Möglichkeit zu haben einen verbesserten Detektor zu erhalten, werden bei der Klonalen Selektion neben der einfachen Kopie auch zufällige Mutationen durchgeführt (siehe Abb. 7.3) und im Anschluss werden durch einen Selektionsalgorithmus die besten Detektoren ausgewählt. Dieses Verfahren ist eine abgeschwächte Form der Genetischen Algorithmen, die im nächsten Abschnitt näher betrachtet werden. 7.4 Genetische Algorithmen Diese Algorithmen lehnen sich wie der Name schon sagt an die Genetik an. Bei der Fortpflanzung werden zwei Baupläne (Genome) miteinander gekreuzt, es entsteht ein neuer Bauplan, der zufällig verteilt Bestandteile beider Eltern enthält. Allerdings vermehren sich nur solche Individuen, die möglichst gut an ihre Umwelt angepasst sind ( survival of the fittest“); so ” kann der Bauplan immer weiter optimiert werden. Außerdem kann es bei der Fortpflanzung zu zufälligen Veränderungen kommen (Mutationen). Dieses Prinzip wendet man auch bei genetischen Algorithmen an, um möglichst optimale Ergebnisse zu erhalten. Jeder Durchlauf von Selektion, Kreuzung und Mutation stellt eine Generation dar. Ein genetischer Algorithmus wird in der Regel auf 50-100 Durchgänge angewandt und am Ende wird die beste Lösung des letzten Durchgangs als Lösung genommen. Solch KAPITEL 7. ALGORITHMEN 52 ein Algorithmus wird zum Beispiel von Dasgupta et al.[Das02] benutzt, um die Regeln zu selektieren, mit denen das System überprüft wird. Durch die zufällige Mutation kann verhindert werden, dass das Optimierungsverfahren an einem lokalen, aber nicht globalen Optimum hängen bleibt. 1. Codierung des zu optimierenden Problems 2. Erzeugung und zufällige Initialisierung einer Population (von Individuen) ⇒ Generation 0 3. Bewertung der Individuen anhand einer Bewertungsfunktion 4. Selektion der Eltern und Erzeugen von den Nachfolgern durch Cross-Over 5. Mutation der Nachfolger 6. Überprüfen der Abbruchbedingung und evtl neuer Durchgang (Start bei 3.) Kim et al. beschreiben in ihren Papieren die Nutzung einer Genbibliothek zur Erstellung der Detektoren und die Nutzung von einem abgewandelten genetischen Algorithmuses zur Optimierung der Detektoren bei der Klonalen Selektion([Kim02] und [KB02b]) KAPITEL 7. ALGORITHMEN 7.5 53 Swarm Intelligence Swarm Intelligence is defined as the property of a system ” whereby the collective behaviors of (unsophisticated) agents interacting locally with their environment cause coherent functional global patterns to emerge providing a basis with which it is possible to explore collective (or distributed) problem solving without centralized control or the provision of a global model.“ http://www.sce.carleton.ca/netmanage/tony/swarm.html Bei staatenbildenden Insekten finden wir eine für die Agententechnologie interessante Art der Intelligenz. Jedes Individuum hat nur eine sehr begrenzte Zahl von Entscheidungsmöglichkeiten und möglicher Aktionen, man spricht auch von geringer Intelligenz. Der Staat (zum Beispiel Ameisenstaat) agiert intelligent und ist in der Lage komplexe Probleme zu lösen (Bau eines Termitenhügels, Futtersuche etc.), daher werden solche Insektenstaaten auch als Superorganismen“ bezeichnet (siehe hierzu auch [swa] und ” [ant]) Die einzelnen Individuen eines Schwarms sind mit relativ einfachen Algorithmen in der Lage komplexe Optimierungsprobleme zu lösen, dies führte dazu, dass man auch in der Informatik in bestimmten Bereichen sogenannte Ameisen-Algorithmen oder Schwarm-Algorithmen entwickelte. Die Kommunikation zwischen den einzelnen Individuen eines Staates erfolgt immer nur lokal und mit sehr einfachen Mitteln. Ameisen zum Beispiel hinterlassen bei der Suche nach Futter eine Spur von Pheromon1 . Andere Ameisen folgen einer stärkeren Pheromonspur mit höherer Wahrscheinlichkeit als einer schwachen. So wird der Weg, der schon von mehreren Ameisen genommen wurde, auch mit höherer Wahrscheinlichkeit von der der nächsten vorbeikommenden Ameise genommen. Wenn die Futterquelle versiegt, dann werden auch weniger Ameisen den Weg zurück zum Nest nehmen und die Pheromonspur wird wieder geringer. Auch an Vogelschwärmen erkennt man Schwarmalgorithmen. Wenn Vögel im Schwarm fliegen, dann erkennt man häufig bestimmte Formationen (zum 1 Pheromone (altgriechisch: pherein überbringen, übermitteln, erregen“ und hormon ” bewegen“) sind Duftstoffe, die von Lebewesen einer Art zur Kommunikation untereinan” der dienen KAPITEL 7. ALGORITHMEN 54 Beispiel sieht man oft pfeilförmige Figuren), dies erreichen die Vögel alleine dadurch, dass sie sich an ihren nächsten Nachbarn orientieren. In der Informatik wird die Schwarm-Theorie neben Routing-und OptimierungsProblemen auch abgewandelt in der Kommunikation zwischen Agenten eingesetzt, wie zum Beispiel in dem Künstlichen Immunsystem von Fenet et al. [FH01]. Hierbei werden die Pheromone“ nicht von Agenten hinterlassen, ” sondern als Nachrichten verschickt. Je weiter sich die Nachricht von dem Ursprung entfernt, um so geringer wird der Einfluss des Pheromons“. ” Kapitel 8 Agententechnologie in der Angriffsabwehr In den vorherigen Kapiteln wurden biologische und künstliche Immunsysteme, sowie die verwendeten Algorithmen vorgestellt. Da Künstliche Immunsysteme oder IDS allgemein als verteilte System besonders effektiv sind, liegt die Nutzung eines Multi-Agenten-Systems nahe. Die Agententechnologie ist eine Technik, die vor allem in verteilten Systemen von großem Nutzen sein kann, um die Komplexität verteilter Systeme durch kleine, autonom handelnde Programme in den Griff zu bekommen. Zunächst gibt dieses Kapitel einen allgemeinen Überblick zur Agententechnologie und darauf aufbauend wird das vom DAI-Labor1 Labor entwickelte Agentenframework JIAC (Javabased Intelligent Agent Componentware) vorgestellt und abschliessend die Vor - und Nachteile der Agententechnologie diskutiert. 8.1 Kurze Einführung in die Agententechnologie An agent is anything that can be viewed as perceiving its ” environment through sensors and acting upon that environment through effectors.“[RN96] Eine einheitliche Definition für Software-Agent“ zu finden, ist nicht ” möglich. Einige Autoren fassen den Begriff sehr weit wie beispielsweise Rus1 Das DAI-Labor ist Teil des Fachgebietes Agententechnologie in betrieblichen Anwendungen und der Telekommunikation (AOT) von Professor Dr. Ing. Sahin Albayrak 55 KAPITEL 8. AGENTENTECHNOLOGIE IN DER ANGRIFFSABWEHR56 sel [RN96] in dem einführenden Zitat. Diese Definition könnte auch für nor” male“ Programme gelten, wenn die Eingabe des Benutzers als Umwelteinfluß definiert würde. Andere Autoren erwarten von Software-Agenten weitere Eigenschaften, wie sie im folgenden erläutert werden. In den meisten Definitionen werden auch die Eigenschaften Autonomie und Pro-Aktivität als ausschlaggebend für Agenten angesehen. Die Autonomie bezeichnet die Eigenschaft der Agenten selbständig und ohne die Eingabe eines Benutzers, Aktionen auszuführen. Sie haben Kontrolle über ihr Handeln und ihren inneren Zustand [Alb98]. Die Autonomie erlangen Agenten, indem sie in der Lage sind mit Hilfe ihrer Effektoren die Umwelt zu verändern. Ein Agent kann auf die Änderungen seiner Umwelt reagieren oder proaktiv aufgrund seiner Ziele selbständig die Entscheidung über sein Handeln fällen (Um ein gewisses Ziel zu erreichen, muß der Agent bestimmte Schritte ausführen, die von seinem inneren Zustand und von der Umwelt abhängen). Eine weitere Eigenschaft von Agenten ist die Möglichkeit miteinander zu kommunizieren und sich untereinander zu koordinieren; daher spricht man auch davon, dass Agenten sozial“ sind. Die Agentenkommunikation findet ” über eine spezielle Agentenkommunikationssprache statt. Agenten, die in der Lage sind zu lernen und sich an neue Gegebenheiten an zu passen, heißen adaptive Agenten. Die Ausführungsumgebung von Agenten bezeichnet man als Agentenplattform. Eine besondere Art von Agenten sind die mobilen Agenten, sie sind in der Lage von einer Plattform zu einer anderen zu migrieren. Man unterscheidet bei mobilen Agenten zwischen strong mobility“, bei der der Programmco” de, der Datenzustand und der Ausführungszustand des Agenten übertragen wird und weak mobility“ wobei nur der Programmcode und der Daten” zustand übertragen wird. Ein Beispiel für ein Agentenframework, dessen Agenten stark“ mobil sind, ist das JIAC Framework vom DAI Labor. ” KAPITEL 8. AGENTENTECHNOLOGIE IN DER ANGRIFFSABWEHR57 8.2 Agenten-Framework JIAC JIAC IV(Java-based Intelligent Agent Componentware Version IV) ist ein im DAI-Labor entwickeltes Agenten-Framework. Es basiert auf den Standards der FIPA2 . Foreign1 Foreign2 ams Abbildung 8.1: Die JIAC-Plattform, Management-Agent auf der linken Seite. JIAC IV bietet neben der Architektur zur Entwicklung von intelligenten, autonomen und mobilen Agenten auch eine Entwicklungsumgebung, die einen agenten-orientierten Softwareentwicklungsprozess während des gesamten Entwicklungszeitraumes ermöglicht. JIAC Agenten setzen sich aus einer Vielzahl von Komponenten zusammen, die über agenteninterne Rollen identifiziert werden und die Funktionalitäten des Agenten definieren. Diese Rollen können über Nachrichten miteinander kommunizieren. Komponenten setzen sich aus Ontologien, Planelementen und Beans zusammen. JIAC IV selber ist ebenfalls aus einzelnen Komponenten aufgebaut. Dies führt zu einer guten Skalierbarkeit des Systems. Mobile Agenten sollten die Möglichkeit haben auf unterschiedliche Plattformen zu migrieren. Daher ist die Plattformunabhängigkeit von JIAC ein wichtiges Feature und wird zum einen durch die Nutzung von Java als Programmiersprache und den Aufbau des Frameworks als Sammlung von Softwarebibliotheken gewährleistet. Die Fähigkeiten eines Agenten werden über Pläne beschrieben. Diese werden in der JIAC eigenen Sprache JADL3 formuliert. Ein Plan besteht immer aus einer Vor- und einer Nachbedingung. Die Vorbedingung muss vor der Ausführung des Plans gewährleistet werden und die Nachbedingung ist der Effekt, der nach Beendigung des Plans erfüllt ist. Über den Effekt kann der Agent überprüfen, ob er bei Ausführung eines Plans seinem Ziel 2 3 www.fipa.org JIAC Agent Description Language KAPITEL 8. AGENTENTECHNOLOGIE IN DER ANGRIFFSABWEHR58 näher kommt oder es erreicht. Um ein Ziel zu erreichen, kann ein Agent auch die Pläne anderer Agenten nutzen, die diese in Form von Services zur Verfügung stellen. Die Kommunikation zwischen JIAC Agenten ist immer Peer-to-Peer und wird über den Agent Management Service (AMS) vermittelt [KBSB04]. Der AMS muss immer Teil des Management Agenten sein, der auf jeder Plattform für die Koordination, Erzeugung, Terminierung und Migration der anderen Agenten zuständig ist (siehe auch Abbildung 8.1). Wenn ein Agent einem anderen Informationen oder Aufgaben zukommen lassen will, so geschieht dies immer über Sprechakte. Bei JIAC basieren die Sprechakte auf dem FIPA-ACL Standard.4 Im letzten Abschnitt dieses Kapitels werden einige Probleme von MultiAgenten-Systemen aufgeführt. JIAC bietet durch die Möglichkeit der Schlüsselerzeugung und -verwaltung eine gewisse Vertraulichkeit und Sicherheit. Nachrichten, die zwischen Agenten gesendet werden, können verschlüsselt bzw. signiert werden. Dadurch wird nachweisbar von wem die Nachricht gesendet wurde und ihre Integrität kann gewährleistet werden. Eine verschlüsselte Nachricht kann kein unbefugter Dritter lesen. Migrierende Agenten können ebenfalls verschlüsselt und signiert übertragen werden. Durch die Integration einer Public Key Infrastructure (PKI) können auch Vertrauensverhältnisse zwischen Plattformen und Agenten definiert werden und somit Nutzungsbeschränkungen auf Dienste einzelner Agenten oder der ganzen Plattform vergeben werden (eine detaillierte Beschreibung der PKI Integration in JIAC findet sich in [AB01]). Somit bietet JIAC gute Voraussetzungen für die Implementierung von sicherheitsrelevanten Systemen. 8.3 Warum Agenten für Intrusion Detection? In Kapitel 4.3.6 wurden die Vorteile eines kooperativen Intrusion Detection Systems beschrieben. Die Agententechnologie entspricht diesem Ansatz optimal. Ein Vorteil von Multi-Agenten-Systemen ist die Möglichkeit der intelligenten Integration unterschiedlicher Komponenten, dies können unterschiedliche Softwareprogramme oder Agenten mit unterschiedlichen Auf4 Foundation for Intelligent Physical Agents (FIPA): Agent Communication Language. URL: www.fipa.org/repository/aclspecs.html KAPITEL 8. AGENTENTECHNOLOGIE IN DER ANGRIFFSABWEHR59 gaben sein. Zum einen kann man eine gewisse Lastverteilung erreichen, was für Intrusion Detection Systeme, in denen eine große Menge an Daten anfallen, sehr wichtig ist und zum anderen können die Informationen verschiedener Systeme oder auch einfach verschiedener Agenten mit unterschiedlichen Arbeitsdomänen untereinander ausgetauscht und gemeinsam ausgewertet werden. Unter unterschiedlichen Arbeitsdomänen“ werden Agenten verstan” den, die entweder unterschiedliche Aufgaben haben oder auch Agenten, die zwar gleiche Aufgaben haben, diese aber auf unterschiedlichen Rechnern oder in verschiedenen Netzwerkbereichen erfüllen. Die Lastverteilung kann vor allem dadurch erfolgen, dass zunächst durch lokale oder auch mobile Agenten Auswertungen lokal vorgenommen werden und dann nur die Ergebnisse an die weiterverarbeitenden Agenten, die auch auf einem anderen Rechner sein können, geschickt werden. In einigen Agentenarchitekturen (wie zum Beispiel JIAC) ist es möglich Komponenten während der Laufzeit zuzufügen oder zu entfernen, dies bietet die Möglichkeit Agenten während des Betriebs eines IDS neue Funktionalitäten zu geben und somit das System zu aktualisieren. Außerdem können Agenten geklont werden und bei Bedarf auf andere Plattformen migrieren. Dies bietet den Vorteil, dass in einem Multi-Agenten-System nicht alle Agententypen auf allen Plattformen vorhanden sein müssen, sondern sie nur bei Bedarf vervielfältigt werden können und dann auf die Plattformen migrieren, auf denen sie ebenfalls gebraucht werden. Auch andere Agentenframeworks bieten die Möglichkeit mobiler Agenten und es gibt auch schon Ansätze dies für Intrusion Detection Systeme zu nutzen (siehe zum Beispiel Jansen et al. [JMKM99], Barriere et al. [BFFS02] und Mell et al. [MM99]). Agenten werden von einer Art Virtual Machine, der Agentenplattform ausgeführt, sie besitzen also eine eigene Ausführungsumgebung. Dies bietet in gewisser Weise eine Unabhängigkeit von dem kompromitierten System bietet[LMJ04]. Aber neben den genannten Vorteilen gibt es auch Probleme bei der Verwendung von Agententechnologie in Sicherheitsanwendungen wie einem Intrusion Detection System. KAPITEL 8. AGENTENTECHNOLOGIE IN DER ANGRIFFSABWEHR60 8.4 Sicherheitsprobleme von Multi-Agenten-Technologie Allgemein gibt es für Multi-Agenten-Systeme drei Sicherheitsprobleme, denen es ausgesetzt sein kann: • ein bösartiger Agent manipuliert einen anderen Agenten oder Plattform • ein Agent greift den Host an • der Host greift Agent oder Plattform an Die ersten beiden Sicherheitsprobleme können durch Verschlüsselung und Aufbau einer Vertrauensbeziehung zwischen Plattformen und/oder Agenten gelöst werden. JIAC bietet zum Aufbau solcher Vertrauensbeziehungen die Möglichkeit, eine PKI zu integrieren. Für das letzte Problem gibt es mit dem heutigen Stand der Technik keine Lösung, da der Host immer den Programmcode ausführen muss und somit die Möglichkeit der Manipulation gegeben ist. Die Technik der Virtual Machine bietet eine gewisse Unabhängigkeit vom Host[LMJ04]. Letztendlich wird auch hier der Code in maschinenlesbaren Code gebracht und durch den Host selber ausgeführt. Außerdem gibt es auch andere Bedenken, die gegenüber der Agententechnologie angeführt werden können und in den folgenden Jahren gelöst werden müssen. Ein wichtiger Punkt ist die Geschwindigkeit und Speicherauslastung durch Multi-Agenten-Systeme. JIAC Agenten sind aufgrund ihrer Grundkomponenten, die sie schon als Standardagenten besitzen müssen relativ groß [Wet05]. Allerdings wird schon an einer neuen Architektur gearbeitet, die auch schlankere Agenten zulässt. Die Möglichkeit während der Laufzeit Komponenten auszutauschen bietet natürlich auch Schwachstellen und kann auch dazu führen, dass unberechtigte Komponenten hinzugefügt oder verändert werden. Kapitel 9 Die betrachteten Protokolle In Computernetzwerken werden Daten anhand unterschiedlicher Protokolle ausgetauscht. Die beiden für die Kommunikation im Internet wichtigsten Protokolle sind User Datagram Protocol (UDP) und Transmission Control Protocol (TCP). Für den Aufbau eines Systems, dass die Pakete dieser beiden Protokolle untersucht, ist der Aufbau der Pakete und die Struktur der Protokolle von Bedeutung. In den folgenden beiden Abschnitten wird daher zunächst eine kurze Einführung in UDP und TCP gegeben. Zunächst das relativ einfach aufgebaute UDP und darauf folgend das sichere, aber dadurch auch aufwendigere TCP. 9.1 User Datagram Protocol (UDP) UDP ist ein verbindungsloses Transportprotokoll. Der Code ist sehr einfach und bietet keinerlei Fehlerkontrolle, dies führt zu einer sehr schnellen Übertragung der Nutzdaten. Es ist für Kommunikation, in der die Reihenfolge und hundertprozentige Korrektheit weniger wichtig sind, als die Geschwindigkeit wie zum Beispiel Voice over IP“. Ein weiteres bekanntes Beispiel ” ist die IP-Nachfrage beim DNS-Server, es werden nur zwei Nachrichten ausgetauscht, die Anfrage und die Antwort. Der Header von UDP-Paketen ist auch sehr einfach, er besteht nur aus Quellport, Zielport, UDP-Länge und der UDP-Prüfsumme.[Tan03] 61 KAPITEL 9. DIE BETRACHTETEN PROTOKOLLE 9.2 62 Transmission Control Protocol (TCP) TCP garantiert eine sichere verbindungsorientierte Kommunikation in einem unsicheren Netzwerk.[Tan03] Die TCP-Transportinstanz (Bibliotheksprozedur, Benutzerprozess oder ein Teil des Kernels) verwaltet die TCP-Ströme und die Schnittstellen zur IP-Schicht. Diese Transportinstanz erzeugt aus den Daten, die es von der Anwendungsschicht erhält, TCP-Pakete von einer maximalen Größe von 64 KB und gibt sie an die IP-Schicht weiter. In die andere Richtung sind die Aufgaben von TCP vielfältiger, denn hier findet die Fehlerkorrektur statt. Wenn ein IP-Paket fehlt oder die Reihenfolge nicht stimmt, dann ist TCP für ein erneutes Verschicken bzw. das Sortieren der Pakete zuständig. Der TCP-Header muss die Informationen für die Aufgaben von TCP enthalten, daher ist er wesentlich umfangreicher als der UDP-Header(eine detailliertere Beschreibung des TCP-Protokolls findet sich in [Tan03]). Die Verbindungsendpunkte werden durch das Tupel (Portnummer, IPAdresse) repräsentiert und die Verbindung eindeutig durch ihre beiden Endpunkte definiert. Eine TCP-Verbindung wird immer durch einen 3-Wege-Handshake eingeleitet, die Pakete der dazu gehörigen Nachrichten unterscheiden sich von den Datenpaketen, die während der aufgebauten Verbindung übertragen werden. Wenn ein Rechner eine TCP-Verbindung aufbauen möchte, dann schickt er ein Paket, dessen SYN-Flag gesetzt ist, die Antwort enthält SYN und ACK der Sequenznummer des ersten Pakets. Zur Bestätigung Für die Checksummenberechnung benutzt TCP den Pseudoheader, er besteht aus den beiden IP-Adressen, dem verwendeten Protokoll (bei TCP immer 6), der Länge des TCP-Segments, Füllbits und die Daten. Barse et al. [BJ04] untersuchten anhand verschiedener Angriffe und unterschiedlicher log-dateien welche Art von Logdaten für die Erkennung von Angriffen sinnvoll sind. Sie kamen zu dem Ergebnis, dass anhand von den reinen Netzwerk-Daten, wie man sie von tcpdump erhält, beispielsweise ein OpenSSH-Angriff nicht erkennbar ist. Für die Erkennung eines solchen Angriffs auch Prozessaufrufe auswerten muß. Jedoch sind die relevanten Daten, die zur Analyse herangezogen werden müssen, bei den beiden anderen untersuchten Angriffen auch unterschiedlich. Für die tcpdump attack“ ist ” der Datenteil der Pakete wichtig und für den Neptune-Angriff“ (ein SYN” Flood-Angriff) der Header. KAPITEL 9. DIE BETRACHTETEN PROTOKOLLE 9.3 63 Schwachstellen des TCP-Protokolls Schon 1985 wurde die erste Schwachstelle des TCP-Protokolls bekannt, Bob Morris [Mor85] zeigte, dass wenn ein Angreifer eine Sequenznummer voraussagen kann, er in der Lage ist einen 3-Wege-Handshake zwischen zwei Servern zu beenden, ohne eine Antwort des Servers zu bekommen. 1989 wurde bekannt, dass man die Morris-Attacke dazu nutzen kann, einen nicht erreichbaren Server zu simulieren. Dies war auch der erste weit verbreitete Angriff solcher Art im Internet. Auch im Jahr 2005 wurden noch eine Schwachstellen des TCP Protokolls bekannt (siehe [CER05b]). Das TCP-Protokoll erfordert in jedem Paket einen Zeitstempel und eine Sequenznummer, um die Pakete in die richtige Reihenfolge zu bringen und veraltete Pakete zu verwerfen. Wenn der Zeitstempel des Paketes wesentlich höher ist als der des Hosts, wird der Timer des Hosts inkrementiert. Bei den folgenden Paketen werden solche mit einem niedrigerem Zeitstempel als der des Hosts verworfen. Wenn ein Angreifer es nun schafft ein Paket mit einem größeren Zeitstempel einzuschleusen, dann wird der Timer des Hosts hoch gesetzt und nachfolgende Pakete werden abgewiesen. Dies führt dann zu einem DOS-Angriff, weil die Serviceanfragen der folgenden Pakete nicht verarbeitet werden. Der Zeitstempel in Zusammenhang mit der Sequenznummer ist also von Anfang an auch ein Problem gewesen. Das Protokoll wurde nach Bekanntwerden der Morris-Attacke dahingehend verändert, dass die Sequenznummern zufällig erzeugt wurden und somit das erraten sehr aufwendig werden sollte. Allerdings benutzen viele Systeme einen Algorithmus, der nur unzureichend zufällig ist[cer]. Kapitel 10 Modellierung und Implementierung Für die Entwicklung eines Modells für ein Künstliches Immunsystem auf Basis eines Multi-Agenten-Systems und dessen Implementierung sollen in diesem Kapitel weitere Voraussetzungen geschaffen werden. Der erste Schritt ist der Vergleich der biologischen und der künstlichen“ oder virtuellen Angrei” fer. Es wird versucht sowohl Analogien als auch Unterschiede aufzuzeigen. Darauf aufbauend werden Methoden der schon existierenden AIS vorgestellt, die auch in dem eanschließend dargestellten Modell Verwendung finden werden. 10.1 Vergleich von biologischen und künstlichen“ ” Angreifern Analogien Angreifer sind autonome Akteure Replikatives Verhalten der Angreifer Nicht Ziel gerichtete, topologische Ausbreitung Eindringen über Sicherheitslücken oder offene Kanäle Infizierte Zellen weisen fremde Strukturen an der Oberfläche auf - infizierte Programme haben verändertes Muster“ ” Funktion infizierter Zellen verändert sich - infizierte Programme weichen von ursprünglichen Prozessfolgen ab 64 KAPITEL 10. MODELLIERUNG UND IMPLEMENTIERUNG 65 Unterschiede Langsamere Ausbreitung von biologischen Angreifern langsamere Anpassung der Angreifer, aber auch des Verteidigungsysytems“, an neue Gegebenheiten in ” biologischen Systemen (Evolution) Biologische Angreifer sind auf Überleben ausgerichtet, digitale können unterschiedliche Ziele verfolgen (zum Beispiel Informationsbeschaffung) digitale Angreifer können komplexere Angriffe, die koordiniert von mehreren Rechnern aus gestartet werden (z.B. DDoS), durchführen, biologische Angreifer meist passiv Biologisches Selbst deutlicher als digitales hochgradig parallele Verarbeitung in der Biologie und sequenzielle Abarbeitung in Computern Aus der obigen Tabelle ist ersichtlich, dass es neben den Gemeinsamkeiten auch einige gravierende Unterschiede zwischen den biologischen und den virtuellen“ Angreifern gibt und sich die angegriffenen Systeme in einigen ” Punkten unterscheiden. Daher ist es wichtig, sich bei der Entwicklung eines künstlichen Immunsystems vor allem auch die Unterschiede bewußt zu machen. Ein wichtiger Unterschied ist die parallele Verarbeitung in einem biologischen System und im Gegensatz dazu die sequentielle Verarbeitung in Rechnern [Wil02] aber auch die Definition des Selbst“ ist in digitalen Sys” temen mit unterschiedlichen Nutzern und heterogenen Umgebungen schwieriger als im relativ abgeschlossenen System des menschlichen Körpers. Im folgenden Abschnitt wird der Aufbau und die Implemtierung eines Künstlichen Immunsystems beschrieben. Zunächst erfolgt eine Darstellung des Systems, darauf folgt die genaue Beschreibung der einzelnen Bestandteile wie Agenten und Algorithmen. KAPITEL 10. MODELLIERUNG UND IMPLEMENTIERUNG 10.2 66 Überblick über das Agentensystem Networktraffic Monitoring Agent filter rules set of vectors report abnormal behaviour AIS Agent define the threshold GUI Agent user interface Abbildung 10.1: Das Agentensystem eines Netzwerkknotens Auf den überwachten Knoten eines Netzwerkes arbeiten mindestens zwei Agenten zusammen: 1. Monitor-Agent 2. Analyse-Agent Der Monitor-Agent, überwacht mit Hilfe von jpcap1 den Netzwerkverkehr und kann anhand von definierbaren Regeln Pakete heraus filtern. Diese schreibt er in eine Datei und übermittelt die Daten an den Analyse-Agenten. Der Analyse-Agent erzeugt beim Start eine festgelegte Menge von Detektoren. Während einer Trainingsphase werden die Detektoren ausgewählt, die während der Überwachungsphase als Antikörper“ genutzt werden. Dies ” geschieht anhand des in Kapitel 7.2 beschriebenen Negativen Selektionsalgorithmusses. Eine genaue Beschreibung der Implementierung findet sich in Abschnitt 10.3.2. Nach der Trainingsphase werden die Netzwerkdaten nicht mehr zur Auswahl der Detektoren genutzt, sondern die Detektoren zum Erkennen von anormalen Netzwerkpaketen. Diese Überwachung erfolgt durch die Überprüfung der Ähnlichkeit von Detektor und den Informationen eines einzelnen Netzwerkpaketes, dies wird auch klonale Selektion genannt (siehe Kapitel 7.3). Um die Detektion zu verbessern, werden die Detektoren nicht einfach 1 jpcap ist eine java-Bibliothek zur Entwicklung von Paket-Sniffer-Anwendungen (http: //jpcap.sourceforge.net/) KAPITEL 10. MODELLIERUNG UND IMPLEMENTIERUNG 67 vervielfältigt (geklont), sondern dabei auch noch leicht verändert (mutiert). Auch hier erfolgt die genaue Beschreibung in einem eigenen Abschnitt (siehe Abschnitt 10.3.3) 10.2.1 Beschreibung der Agenten Threshold is reached! A nalayse msg: status A ms m s g: s ta g: msg: status A sta tus D tu s A A nalayse msg: status D NodeC NodeB msg: status D NodeA A nalayse A nalayse NodeD Threshold is reached! Abbildung 10.2: Koordination der Systeme auf verschiedenen Netzwerkknoten Auf jedem Knoten agieren die miteinander kooperierenden Agenten MonitorAgent und Analyse-Agent. Zusätzlich gibt es einen GUI-Agenten, der die Auswertung des Analyse-Agenten in der GUI darstellt und auch Informationen wie neue Filterregeln vom Benutzer an den Monitoring-Agenten weiter leitet. Der Aufruf der Algorithmen erfolgt jeweils aus einer Bean, die jeweils einer Rolle eines Agenten zugeordnet ist (siehe hierzu Kapitel 8.2). Die Agenten benachbarter Knoten kommunizieren (wie in Kapitel 7.5 nach der Theorie der Swarm Intelligence beschrieben) nur immer mit ihren direkten Nachbarn. Ihren eigenen Status passen sie bei Erhalt einer Nachricht an. Wenn sie eine Nachricht erhalten, dass der Nachbar seinen Schwellwert überschritten hat und somit eine Anomalie erkannt hat, wird der Agent selber sensibilisiert und setzt seinen eigenen Schwellwert etwas herunter (siehe Abbildung 10.2). Dies erfolgt aus der Überlegung heraus, dass wenn ein Rechner in einem Netzwerk infiziert ist, mit ziemlicher Wahrscheinlichkeit die anderen auch infiziert werden. KAPITEL 10. MODELLIERUNG UND IMPLEMENTIERUNG 10.3 68 Implementierungen der Algorithmen TcpVector sourcePort: int destPort: int Detector DetectorSet vector: TcpVector decList: LinkedList<Detector> age: int seqNumber: long sourceIP: byte[] destIP: byte[] time: String flag: BitSet ack: long urg: long radius: int age: int «instantiate» DetectorSet() Detector() match() getVector() createDetectorSet() setCount() addDetectors() main() train() * TcpVector() size: int count: int «instantiate» - detectors clonalSelection() TcpVector() copyVector() print() match_Vector() NegativeSelection detectors: Detector MAX_MATCH: int negSelection() Abbildung 10.3: UML-Diagramm der Klassen für die Negative Selektion Der folgende Abschnitt beschreibt die Umsetzung der in Kapitel 7 beschriebenen Algorithmen Negative und Klonale Selektion. Zunächst werden die wichtigen Klassen beschrieben und danach die Funktionalität und Umsetzung des Algorithmuses selber. Für beide Algorithmen werden Datenstrukturen benötigt, die die Informationen der Netzwerkpakete darstellen und die zusätzlichen Informationen eines Detektors, wie Anzahl der Treffer2 und das Alter des Detektors. Außerdem wird eine Datenstruktur implementiert, die diese Detektoren in die Menge der aktiven Detektoren zusammenfasst. Diese Datenstrukturen Detector und DetectorSet sind in dem UML-Diagramm in Abbildung 10.3 dargestellt. 10.3.1 Preprocessing der Netzwerkdaten Mit einem Paket-Sniffer wird der Netzwerkverkehr mitgeschnitten und die Packetinformationen liegen dann im tcpdump-Format vor. Die Daten wer2 Ein Treffer ist immer dann erfolgt, wenn der Detektor mit einem Netzwerkpaket sehr ähnlich ist. KAPITEL 10. MODELLIERUNG UND IMPLEMENTIERUNG 69 den in einer Datei abgespeichert und können dann eingelesen werden. Das Auslesen der Datei und auch das Sniffen wird mit Hilfe der java-Bibliothek jpcap3 durchgeführt. Diese Bibliothek bietet Methoden zum Erstellen von Netzwerksniffern, zum Auslesen von tcpdump Dateien, aber auch zur Analyse von Netzwerkdaten. Bevor die Negative Selektion oder das Monitoring durch Klonale Selektion stattfinden kann, müssen die gewonnenen Netzwerkdaten in ein verwertbares Format gebracht werden. In Abbildung 10.3 ist die verwendete Datenstruktur TcpVector dargestellt. Für die Analyse wird anhand der Informationen eines Paketes jeweils ein Objekt der Klasse TcpVector erstellt und die Gesamtheit der TcpVectors in einer Liste verwaltet. Die Daten innerhalb der Klasse TcpVector sind binär codiert, um einen binären Vergleich zu vereinfachen und auch die Mutation während der Klonalen Selektion performanter zu gestalten. 10.3.2 Implementierung der Negativen Selektion Für die Implementierung der Negativen Selektion wird eine eigene Klasse erstellt (NegativeSelection), die alle Methoden, die für die Negative Selektion benötigt werden enthält. Der Ablauf erfolgt wie in Kapitel 7.2 beschrieben. Zu Beginn werden Detektoren zufällig erstellt, indem Daten erzeugt werden, die zwischen 0 und dem in den Protokollen TCP oder UDP spezifizierten Werten liegen. Die eingelesenen TcpVektoren werden nun alle mit allen Detektoren verglichen und Detektoren, deren Vektoren eine höhere Übereinstimmung mit einem TcpVektor als der festgelegte Schwellwert besitzen, werden aus der Liste der Detektoren entfernt. Dieser Vorgang wird so oft wiederholt bis die Anzahl der Detektoren nach der Negativen Selektion der geforderten Menge an Detektoren entspricht. Der Pattern-Matching-Algorithmus wird sowohl mit der Hamming Distanz (siehe Kapitel 7.1) als auch mit der Euklidischen Distanz (siehe Kapitel 3 jpcap – ein network packet capture library“ basierend auf libpcap/winpcap (http: ” //jpcap.sourceforge.net/) KAPITEL 10. MODELLIERUNG UND IMPLEMENTIERUNG 70 7.1) implementiert. Während der Phase des Monitorings werden die als nicht gefährlich eingestuften Daten wieder als Trainingsdaten genutzt, damit das System sich an neues Verhalten anpassen kann. 10.3.3 Implementierung der Klonalen Selektion Auch die Klonale Selektion basiert auf dem Pattern-Matching der TCPVektoren des Datenverkehrs und den Vektoren der Detektoren. Wie auch bei der Negativen Selektion wird die Ähnlichkeit anhand der Hamming oder Euklidischen Distanz ermittelt.4 Bei der Klonalen Selektion ist, wie in Kapitel 7.3 beschrieben, die Selektion positiv, das bedeutet, dass die ausgewählten Detektoren zur weiteren Verarbeitung genutzt werden. Nachdem die Detektoren über das Pattern-Matching ausgewählt wurden, werden die TCP-Vektoren der Detektoren mutiert und noch einmal mit dem TCP-Vektor verglichen. Wenn er eine größere Ähnlichkeit besitzt als der ursprüngliche Detektor wird er der Menge der Detektoren zugefügt. Wenn Detektoren bei der Klonalen Selektion ausgewählt wurden, so wird das Attribut count“ inkrementiert, für alle Detektoren wird ebenfalls das ” Alter um eins erhöht. Neu erzeugte Detektoren erhalten ebenfalls schon einen count“-Wert von eins und das Alter wird auf null gesetzt. ” Nach jedem Durchlauf der klonalen Selektion wird die Menge der Detektoren wieder auf die ursprüngliche Größe gebracht, indem die ältesten und am seltensten passenden Detektoren entfernt werden. Letzteres kann anhand des Attributs count“ ermittelt werden, da bei jedem Matching mit ” den Daten eines Netzwerkpaketes wird dieser Zähler inkrementiert. 10.4 Implementierung der Oberfläche Zur Visualisierung und Bedienung wurden zunächst nur einfache graphische Oberflächen implementiert. Zum einen dienen sie zur Steuerung des Künst4 Wie in Kapitel 7 beschrieben kann der Abstand über unterschiedliche Abstandsmaße bestimmt werden. Dies ist zum einen die Hammingdistanz und zum anderen die euklidische Distanz. In einem Testprogramm zur Überprüfung des hier entwickelten Modells wurden beide Distanzmaße implementiert, aber es konnten keine relevanten Unterschiede festgestellt werden. KAPITEL 10. MODELLIERUNG UND IMPLEMENTIERUNG 71 lichen Immunsystems und zum anderen zur Visualisierung des Fortschritts der Negativen Selektion und der Detektion von Anomalien mit Klonaler Selektion KAPITEL 10. MODELLIERUNG UND IMPLEMENTIERUNG 10.5 72 Weitere Aspekte des Künstlichen Immunsystems Die in den vorherigen Abschnitten beschriebene Implementierung des Künstlichen Immunsystems weist noch einige Probleme auf. Ein wichtiger Punkt ist die Betrachtung der einzelnen Pakete. Je nach Aufgabenstellung muss der Monitor-Agent einzelne Pakete zu einer TCP-Verbindung zusammenfassen und in einer auswertbarer Form an den Analyse-Agenten weiterleiten. Somit gehen Informationen über den Status einer Verbindung oder den Inhalt der übertragenen Informationen nicht verloren. Bei der Betrachtung des Netzwerkverkehrs sind nicht nur die Informationen in den Paketen selber von Bedeutung, sondern auch statistische Daten wie Netzwerkauslastung zu bestimmten Zeiten, Anzahl von Paketen insgesamt, protokollabhängig oder portabhängig oder ähnliches. Ein weiteres Problem könnte die Kommunikation zwischen den Agenten der einzelnen Hosts sein. Wenn das überwachte Netzwerk durch einen Angriff eine hohe Auslastung der Verbindungen aufweist und alle Hosts eine Nachricht an ihre Nachbarn verschicken, kommt es durch diese zusätzliche Kommunikation zu einem weiteren Anstieg der Verbindungslast. In Kapitel 3.1.2 wurden zukünftige Würmer beschrieben, die sich langsam und unauffällig verbreiten, solche Angriffe sind durch dieses System ebenfalls nur schwer erkannbar, da es eventuell nur eines Paketes bedarf (wie schon bei dem in Kapitel 3.4 beschriebenen Slammer-Wurm), um einen Host zu infizieren. Nur wenn der infizierte Host plötzlich beginnt große Mengen an Daten zu verschicken, kann er als infiziert erkannt werden. Auch die von Staniford et al. [SMPW04] beschriebenen versteckten“ Würmer wären ” aber auch mit einem AIS nur schwer erkennbar. Das im folgenden beschriebene Modell greift diese Probleme auf und versucht durch Integration verschiedener Techniken, Wege zur Lösung der Probleme aufzuzeigen. Kapitel 11 Modell eines Sicherheitssystems mit integriertem AIS Das im vorhergehenden Kapitel beschriebene System berücksichtigt nur die einzelnen Pakete in einem Netzwerk, nicht jedoch die Aktivitäten auf Applikationsebene und nicht die Zusammenhänge zwischen den einzelnen Paketen. Für ein umfassendes IDS ist es jedoch notwendig, dass auch die Applikationsebene betrachtet wird, da zum Beispiel verschlüsselte Inhalte auf Paketebene nicht ausgewertet werden können und auch komplexe Angriffe, wie sie in Kapitel 3.1.2 beschrieben werden, nur schwer im Netzwerkverkehr nachweisbar sind. Sie können nur erkannt werden, wenn auch anormales Verhalten der Applikationsebene in die Untersuchung mit einbezogen wird. Eine Möglichkeit das System zu verbessern ist die Integration eines herkömmlichen signaturbasierten IDS in das Multi-Agenten-System. Ein solches System publizierten beispielsweise Helmer et al. [HWH+ 03]. Auch das in diesem Kapitel entwickelte Modell basiert auf diesem Ansatz eines kooperativen Systems. 73 KAPITEL 11. MODELL EINES SICHERHEITSSYSTEMS MIT INTEGRIERTEM AIS74 11.1 Koordination zwischen Applikationsebene und Netzwerkebene Um die Möglichkeiten eines Künstlichen Immunsystems effektiv nutzen zu können, muss das oben beschriebene System der dn Netzwerkverkehr überwachenden Agenten in ein Gesamtsicherheitssystem integriert werden. Die Abbildung 11.1 stellt ein solches Gesamtsicherheitssystem dar. process calls Networktraffic Process Monitoring Agent Monitoring Agent feature vectors feature vectors filter rules Process Analysing Agent NetworkAnalysing Agent Danger Monitoring • CPU load • memory usage • etc Firewall -Assistant GUI Agent Abbildung 11.1: Mögliche Integration eines AIS in ein Sicherheitssystem Das Verfahren der Anomalieerkennung durch ein Künstliches Immunsystem kann auch auf sogenannte Feature-Vektoren des Systemverhaltens eines Rechners angewandt werden. Solche Feature-Vektoren können unterschiedlichster Art sein; sie können Informationen über die CPU-Auslastung, Speicherverbrauch und ähnliches enthalten oder auch Benutzerverhalten wie Anschlaggeschwindigkeit beim Tippen, Prozessaufrufverhalten und andere noch zu untersuchende Merkmale des Systemverhaltens. Schon 1996 haben Forrest et al. ein künstliches Immunsystem für UNIX Prozessaufrufe publiziert [FLHS96], wobei die Detektoren immer mit einer kurzen Sequenz von Prozessaufrufen verglichen wurden. Auch im Netzwerkbereich lassen sich aus den einzelnen Paketen wichtige Informationen zu Feature-Vektoren zusammenfassen. Hier bieten sich Statistiken wie Anzahl der Pakete, Anzahl der Verbindungen zu unterschiedlichen Hosts, Anzahl der Pakete zugeordnet zu den benutzten Protokollen usw. an. Wichtig erscheint auch die Korrelation mit Zeitperioden oder - KAPITEL 11. MODELL EINES SICHERHEITSSYSTEMS MIT INTEGRIERTEM AIS75 punkten. Dies scheint vor allem in Hinblick auf Schadprogramme, die Daten auf den infizierten Rechnern sammeln und diese dann verschicken von Bedeutung. Beispielsweise kann eine hohe Frequenz auf Port 25 (SMTP) von 8-18 h während der Woche normal sein, aber nachts oder spät abends ist die Wahrscheinlichkeit, dass eine Person an einem Rechner sitzt und sehr viele e-mails verschickt, gering. 11.2 Einbinden der Gefahrentheorie Ein wichtiger Bestandteil des in Abbildung 11.1 dargestellten Systems ist die Integration von sogenannten Gefahrensignalen (siehe hierzu auch Kapitel 6.2 und 5.6). Neben den AIS-Agenten für die Überwachung des Netzwerkverkehrs und der Applikationsebene sind mindestens zwei weitere Agenten erforderlich, die Informationen über den Systemzustand sammeln und auswerten. Bei Auffälligkeiten leiten sie diese an die Analyseagenten weiter. Diese Ge” fahren“-Agenten kontrollieren zum Beispiel CPU-Auslastung, Speicherverbrauch, Anzahl fehlgeschlagener Einlogversuche und ähnliches. Ein weiterer Monitor-Agent (in der Abbildung Firewall-Assistant genannt) analysiert die Meldungen der Firewall und leitet die Ergebnisse an den Netzwerk-Analyse-Agenten weiter. Solche Gefahrensignale des Firewall-Assistenten könnten hohe Nutzungsfrequenz ungewöhnlicher Ports, ungewöhnliche Anzahl von Paketen, sehr viele Verbindungen zu einem Host oder ähnliches sein. Um Gefahrensignale zu erzeugen oder auszuwerten bieten sich statistische Methoden an, wie sie bei anomaliebasierten Intrusion Detection Systems in Kapitel 4.3 schon erwähnt wurden. 11.3 Erstellen der Detektoren In dem hier entwickelten Modell werden die Detektoren nicht rein zufällig erzeugt, sondern die einzelnen Einträge werden in dem Bereich der möglichen Werte erzeugt, um die Anzahl der Detektoren, die niemals als Detektor verwendet werden können, zu minimieren. Ein weiterer Schritt wäre die Erstellung und Nutzung einer Gendaten” bank“ für die Detektoren. Solch ein Ansatz könnte sich an der Entwicklung KAPITEL 11. MODELL EINES SICHERHEITSSYSTEMS MIT INTEGRIERTEM AIS76 von Kim und Bentley ([KB99] und [KB02a]) orientieren. Ein weiterer Ansatz, der sinnvoll erscheint, ist die Gewichtung der einzelnen Einträge, da einige Informationen bei einem Abweichen vom Normalen“ bei der Ent” scheidung, ob es sich tatsächlich um eine Anomalie handelt, eine größere Rolle spielen als andere. 11.4 Agenten und Mobilität Durch die Verteiltheit und die Möglichkeit der Migration bieten Agenten die optimale Basis für eine immunanaloges System, da die Vorteile des biologischen Immunsystems vor allem auf der Mobilität und die extreme Verteiltheit des Systems basieren. Allerdings ist es wie in Kapitel 5 erläutert nicht möglich Agenten als Immunzellen agieren zu lassen, sondern es ist eher sinnvoll die Agenten als Lymphknoten“ zu betrachten und die Kommuni” kation zwischen den Agenten analog zu der Kommunikation“ im Immun” system durch zirkulierende Immunzellen zu modellieren. Dieser Forderung entsprichtdie Agententechnologie durch ihr autonomes Handeln der einzelnen Komponenten optimal. Kapitel 12 Schlussfolgerung und Ausblick Ausschlaggebend für diese Arbeit war die Feststellung, dass die bisherigen Techniken, mit denen heute Netzwerke gegen Angriffe geschützt werden können, der wachsenden Zahl von Bedrohungen und der Geschwindigkeit, mit der sie auftreten, nicht mehr gewachsen sind. Bisher wird ein Angriff von den herkömmlichen Schutzmechanismen erst dann erkannt, wenn er von einem Hersteller von Antivirensoftware analysiert wurde und dieser eine passende Signatur erstellt hat. Diese Technik wird in zunehmendem Maße nicht mit der Entwicklung der Schadsoftware mithalten können. Das biologische Abwehrsystem, das Immunsystem, weist viele vorteilhafte Eigenschaften auf, die man gerne auch für ein Sicherheitssystem für Rechnernetze erreichen würde. Daher wurden in dieser Arbeit technische und biologische Systeme verglichen und ein agentenorientiertes Basissystem für Künstliche Immunsysteme entwickelt. 12.1 Schlussfolgerung Es zeigt sich, dass Agenten für die Entwicklung eines Künstlichen Immunsystems besonders gut geeignet sind. Zum einen kann das System aufgrund des komponentenbasierten Aufbaus der Agenten jederzeit den Gegebenheiten angepasst werden. Zum anderen erweist sich die Arbeitsteilung zwischen Agenten, die das Netzwerk überwachen und Agenten, die die Beobachtungen auswerten als sinnvoll. 77 KAPITEL 12. SCHLUSSFOLGERUNG UND AUSBLICK 78 Vor allem auch in Hinblick auf die Verwendung in Netzwerken mit vielen Knoten profitiert man von den Eigenschaften der Multi-Agenten-Systeme. Die einzelnen Systeme auf den Knoten kommunizieren jeweils mit ihren direkten Nachbarn und passen ihren eigenen Status an, bevor sie diesen wieder an ihre Nachbarn weiter geben. So erreicht man eine Kommunikation ähnlich wie in einem Schwarm. Diese Kommunikation ist auch beim Ausfall einzelner Knoten weitgehend ausfallsicher. Bei der Analyse des biologischen Immunsystems und der bereits bekannten Künstlichen Immunsysteme erkennt man schnell, dass die Negative und Klonale Selektion auch sehr gut für das Clustern von Netzwerkdaten verwendet werden kann. Allerdings ist auch der Faktor, dass das Immunsystem nicht nur aus der zellulären Abwehr besteht, sondern ein mehrschichtiges und vernetztes System ist, von großer Bedeutung. Diese Bedeutung sollte auch für ein Künstliches Immunsystem gelten. Die meisten Angriffe auf den menschlichen Körper werden schon abgewehrt, bevor das zelluläre Immunsystem in Aktion treten kann. Da die heutigen Angriffe komplex sind, reicht ein Künstliches Immunsystem, das rein auf Negativer und Klonaler Selektion basiert, nicht aus. In dieser Arbeit wurde daher ein System vorgestellt, dass neben den beiden Immunalgorithmen auch Gefahrensignale der Firewall und eines Systemmonitors mit in die Entscheidung einbezieht, ob es sich bei dem Verhalten um eine Anomalie handelt oder nicht. 12.2 Ausblick Diese Arbeit kann als Grundlage für weiterführende Forschung im Bereich der Künstlichen Immunsysteme und Multi-Agenten-Systeme gesehen werden. Als zentrale Aufgaben und Forschungsbereiche sind zu nennen: Auf die im letzten Kapitel beschriebenen offenen Fragen und Probleme müssen angemessene Antworten gefunden werden. Hierzu ist es wichtig auch im Bereich der Gefahrensignale weitere Erkenntnisse zu erlangen und diese dann einfließen zu lassen. Im Rahmen zukünftiger Forschung müssen die Möglichkeiten der Klassifizierung statistischer Auswertungen, z.B. der Firewall, aber auch der Ereignisse auf einem Host, verbessert werden, um KAPITEL 12. SCHLUSSFOLGERUNG UND AUSBLICK 79 Gefahrensignale zu generieren. Außerdem wäre die Überlegung sinnvoll mobile Agenten zu integrieren, die bestimmte Analysen durchführen. Solche Agenten würden Aufgaben erfüllen, die nicht immer auf einem Knoten verfügbar sein müssen, aber in regelmäßigen Abständen oder bei Bedarf. Dann migrieren sie auf den entsprechenden Knoten. Allerdings sollte bei diesen Überlegungen auch der Aufwand einer Migration beachtet werden und über die Möglichkeit nachgedacht werden leichtere“, dafür weniger intelligente Agenten zu nutzen. ” Da das Künstliche Immunsystem nur in begrenztem Maße auch für die Analyse von zeitlich abhängigen Daten sinnvoll eingesetzt werden kann, sollten weitere Methoden aus dem Maschinellen Lernen auf ihre Verwendbarkeit untersucht werden. Eine im DAI-Labor schon untersuchte Methode ist zum Beispiel eine Self-Organizing-Map (SOM) von Albayrak et al.[AMSM05]. Eine geeignete Möglichkeit zeitliche Muster zu integrieren, wäre die Integration eines Sniffers, der in der Lage ist, Pakete einer Verbindung zuzuordnen. Diese Informationen könnten ebenfalls in Feature-Vektoren dargestellt und in einem AIS verwendet werden. Um auch die Angriffe aus dem Szenario 2 aus Kapitel 2 mit einem anomaliebasierten IDS zu erkennen, muss auch das Benutzerverhalten in die Betrachtung einbezogen werden. Hier könnten als Gefahrensignale fehlgeschlagene Einlogversuche, ungewöhnliche Dateizugriffe oder vermehrte Versuche unberechtigter Dateizugriffe verwendet werden. Weitere Untersuchungen, was als Gefahrensignal verwendet werden kann und wie es auszuwerten ist, sollten ebenfalls Inhalt zukünftiger Forschung sein. Der in dieser Arbeit vorgestellte Ansatz bietet eine gute Grundlage für weitere Forschungen an den oben genannten Gefahrensignalen. Außerdem bietet er Ansatzpunkte für die Überlegung auch mobile Agenten in einem AIS basierten Multi-Agenten-System zur Gefahrenerkennung und -abwehr einzusetzen. Glossar Antigen bezeichnet einen körperfremden Stoff, der die Bildung von Antikörpern induziert. Antikörper sind Proteine (Eiweiße), die in Wirbeltieren gebildet werden, und zwar angeregt durch bestimmte eingedrungene Fremdstoffe, die als Antigene bezeichnet werden. Sie dienen der Abwehr dieser Fremdstoffe. Antikörper werden von den B-Zellen produziert und sezerniert. Sie befinden sich im Blut und in der extrazellulären Flüssigkeit der Gewebe. Apoptose bezeichnet den sogenannten programmierten Zelltod, Selbstmord“ ” der Zelle Botnet ist ein fernsteuerbares Netz von Rechnern im Internet. Es kann zum Versand von Spam oder für DDoS Angriffe verwendet werden. Clustering bezeichnet das Bilden von zusammenhängenden Untermengen einer Datenmenge anhand ihrer numerisch beschriebenen Merkmale. Cytokine sind Botenstoffe. Sie sind niedermolekulare Stoffe, die von Leukozyten und anderen Zellen abgesondert werden und Immunzellen bei der Entwicklung stimulieren oder hemmen. Chemokine sind chemotaktisch wirkende Cytokine, also Moleküle, die Zellen anlocken. Effektorzellen folgen einem Chemokingradienten Dendritische Zellen sind Zellen mit bäumchenartigen Zellausläufern, mit denen sie Lymphozyten umfassen können und Antigen-Antikörper-Komplexe präsentieren. Domain ist ein zusammenhängender Teilbereich des hierarchischen DNSNamensraumes. Eine Domain umfasst ausgehend von ihrem Domainnamen immer die gesamte untergeordnete Baumstruktur. 80 KAPITEL 12. SCHLUSSFOLGERUNG UND AUSBLICK 81 Domain Name Service (DNS) ist der Dienst zur Verwaltung des Namensraums des Internets. Mit dem DNS können URLs in IP-Adressen umgewandelt werden und umgekehrt. Der Namensraum ist in einer Baumstruktur organisiert. Epitop ist die Struktur an einem Antigen, die zur Bindung mit einem Rezeptor oder Antikörper führt. Exploit ist ein Computerprogramm oder Script, welches spezifische Schwächen beziehungsweise Fehlfunktionen eines anderen Computerprogramms, zur Erlangung von Privilegien oder in Absicht einer DoS-Attacke, ausnutzt. Filesharing ist das Weitergeben von Dateien zwischen Benutzern des Internets. Meist wird darunter das Weitergeben von Dateien in einem Peer-to-Peer-Netzwerk gemeint. FIPA Foundation for Intelligent Physical Agents ist eine non-profit Organistation, die sich zum Ziel gesetzt hat Standards für heterogene und interaktive Software-Agenten und agentenbasierte Systeme zu erstellen, um die Interoperabilität dieser Systeme zu gewährleisten. Gateway erlaubt es Netzwerken, die auf völlig unterschiedlichen Protokollen basieren, miteinander zu kommunizieren. hydrophobe Kräfte sind ‘wasserabweisende’ Kräfte, nicht polare Stoffe wie Fette sind hydrophob und zwischen diesen wirken schwache Anziehungskräfte. IT-Infrastruktur ist die Gesamtheit aller technischen und logischen Elemente innerhalb einer Organisation, die zur automatisierten Informationsverarbeitung eingesetzt werden. Koevolution bezeichnet einen evolutionären Prozess der wechselseitigen Einflussnahme zweier stark interagierender Arten aufeinander, der sich über sehr lange Zeiträume in der Stammesgeschichte beider Partner erstreckt. In dieser Arbeit bezieht sich der Begriff auf die sich gegenseitig beeinflußende Entwicklung von Malware und der Software, die sie bekämpfen soll. Kostimulation bezeichnet einen zusätzlichen Reiz, der für die Ausführung einer Aktion notwendig ist. KAPITEL 12. SCHLUSSFOLGERUNG UND AUSBLICK 82 Logdatei beinhaltet das automatisch erstellte Protokoll aller oder bestimmter Aktionen von einem oder mehreren Nutzern an einem Rechner. LSASS Local Security Authority Subsystem Service (LSASS), der lokale Sicherheitsdienst steuert die Richtlinien für den Benutzer Lymphknoten gehören zum Lymphsystem und filtert die Lymphe (die Flüssigkeit im Lymphsystem) einer Körperregion. Die Lymphknoten gehören zum Immunsystem des Menschen. Bei Erkrankungen wandern vermehrt B- und T-Zellen in die Lymphknoten ein wodurch sie anschwellen. Lymphsystem ist neben dem Blutkreislauf das wichtigste Transportsystem im menschlichen Körper. Es entsorgt Abfallstoffe wie Krankheitserreger, Fremdstoffe, Eiweiße und auch Wasser. In den Lymphknoten wird die Flüssigkeit auf schädliche Stoffe untersucht und gefiltert. Makrophagen sind Zellen des angeborenen Immunsystems. Sie nehmen Fremdkörper auf und präsentieren Teile des Antigens auf ihrer Oberfläche (antigenpräsentierende Zellen) MAPI Messaging Application Programming Interface (MAPIs), Schnittstelle ursprünglich von Microsoft, um das Versenden von e-Mails auch aus den Anwendungsprogrammen zu ermöglichen. Mediator ist ein Stoff, der andere Immunzellen anlockt, also eine Immunreaktion vermittelt. MHC-Antigen-Komplex Der Komplex zwischen Antigen und MHC-Molekül auf der Oberfläche von antigenpräsentierenden Zellen. Nur diesen Komplex können T-Zellen erkennen. MHC-Molekül Major Histocompatibility Complex (MHC) bezeichnet Moleküle, die dazu verwendet werden Antigene auf der Oberfläche (Membran) von nahezu allen Zellen des Körpers zu präsentieren. So präsentiert können die Antigene von T-Zellen erkannt werden. Paket-Sniffer ist eine Software, die den Datenverkehr eines Netzwerks empfangen, aufzeichnen, darstellen und gegebenenfalls auswerten kann. Paratop bezeichnet die Stelle des Antikörpers, mit dem er das Epitop des Antigens erkennt. Sozusagen das Gegenstück zum Epitop. KAPITEL 12. SCHLUSSFOLGERUNG UND AUSBLICK 83 Patch ist ein Update einer Software, u.a. um eine Sicherheitslücke zu entfernen. Pathogen ist ein lebender Krankheitserreger (Viren, Bakterien oder Pilze). Patternmatching Mustervergleich, in der Informatik oft der Vergleich von binären Zeichenketten und Suche nach Teilstrings mit gleicher Bitfolge Peer-to-Peer bezeichnet Kommunikation zwischen Gleichen. Alle Computer in einem Peer-to-Peer-Netzwerk sind gleichberechtigt, sie können also Dienste zur Verfügung stellen und von anderen Rechnern Dienste in Anspruch nehmen. Port ist eine Adresskomponente, die in Netzwerkprotokollen eingesetzt wird, um Datenpakete den richtigen Diensten (Protokollen) zuzuordnen. Process Accounting ist die Möglichkeit alle Prozesse des Kernels aufzuzeichnen (Linux) Proxy bedeutet zunächst nur ‘Stellvertreter’ und vermittelt zwischen Server und Client, dabei erscheint er dem Server als Client und dem Client als Server. In der Regel bezeichnet man aber einen HTTP-Proxy als ‘Proxy’, dieser vermittelt zwischen Webbrowser und Webserver. Public Key Infrastructure (PKI) ist eine Infrastruktur zur Verwaltung und Verteilung von kryptographischen Schlüsseln. PKI ist die Methode mit deren Hilfe nach dem derzeitigen Stand der Technik die Authentisierung, Identifizierung, Vertraulichkeit und Nichtabstreitbarkeit von elektronischen Daten sichergestellt wird. Rezeptor ist ein Molekül auf der Oberfläche von Zellen, das zur Bindung bestimmter Partikel fähig ist. Die Bindung löst eine Reaktion in der Zelle aus. Self-Organizing-Map ist eine spezielle Art von neuronalen Netzen. Es gehört zu den unüberwachten Lernverfahren. Sicherheitslücke bezeichnet eine Schwachstelle in einer Software, durch die ein Schadprogramm auf einen Rechner gelangen kann. Meist entstehen sie durch Programmierfehler. KAPITEL 12. SCHLUSSFOLGERUNG UND AUSBLICK 84 SMTP-Engine SMTP (Simple Mail Transport Protocol) ist das Protokoll zum Versenden von e-mail, eine smtp-Engine simuliert einen Mailserver und kann e-mails versenden. Thymus ist ein Lymphorgan, indem die Reifung der T-Zellen stattfindet. Da er nur der Reifung der T-Zellen dient, wird er als primäres Lymphorgan bezeichnet. Top-Level-Domain (TDL) ist der letzte Teil des ‘Internet Domain Name’. In der URL ‘www.dai-labor.de’ ist ‘de’ die TDL. Man unterscheidet zwischen länderspezifischer TDL (z.B. de), generischer TDL (z.B. .com, .info oder .museum) und gebietsspezische TDL (z.B. .arpa). Van-der-Waals-Kräfte sind schwache elektrostatische Bindung zwischen Molekülen, aufgrund von temporärer ungleicher Ladungsverteilung (temporärer Dipol) zytotoxisch bedeutet für Zellen giftig. Literaturverzeichnis [AB01] Sahin Albayrak and Karsten Bsufka. Integration von Public-Key-Infrastruktur-Funktionalitäten in Agenten- Toolkits. 2001. http://www.dai-labor.de/fileadmin/files/ publications/PKI-JIAC-Toolkit1.pdf[09.04.2006]. [ABC+ 03] Uwe Aickelin, Peter Bentley, Steve Cayzer, Jungwon Kim, and Julie McLeod. AIS and IDS? Danger Theory: The Link between In Proceedings ICARIS-2003, 2nd Inter- national Conference on Artificial Immune Systems, Lecture Notes in Computer Science, pages 147–155. Springer, 2003. http://www.cs.nott.ac.uk/~uxa/papers/03icaris_ danger.pdf[09.04.2006]. [AFV95] Anderson, Frivold, and Valdes. NIDES: A summary. may 1995. http://www.sdl.sri.com/papers/4sri/[09.04.2006]. [Alb98] Sahin Albayrak. Introduction to Agent Oriented Technology for Telecommunications. In Sahin Albayrak, editor, Intelligent Agents in Telecommunications Applications - Basics, Tools, Languages and Applications, volume 36 of Frontiers in Artificial Intelligence and Applications. IOS Press, 1998. [AMSM05] Sahin Albayrak, Achim Müller, Christian Scheel, and Dragan Milosevic. Combining Self-Organizing Map Algorithms for Robust and Scalable Intrusion Detection. In M. Mohammadian, editor, Proceedings of International Conference on Computational Intelligence for Modelling Control and Automation (CIMCA 2005), Vienna, Austria, 2005. 85 86 LITERATURVERZEICHNIS [ant] Pheromonsignale im superorganismus. http: //www.sinnesphysiologie.de/hvsinne/phero/amei. htm[09.04.2006]. [Bac05] Daniel Bachfeld. Wurm tarnt sich als Nachricht über Verhaftung von Osama bin Laden. 2005. www.heise.de/security, http://www.heise.de/security/news/meldung/ 60231[09.04.2006]. [BFFS02] L. Barrière, P. Flocchini, P. Fraigniaud, and N. Santoro. Capture of an intruder by mobile agents. In 14th ACM Symp. on Parallel Algorithms and Architectures (SPAA ’02), Winnipeg, August 10-13, 2002., 2002. urlciteseer.ist.psu.edu/barri02capture.html[09.04.2006]. [BJ04] Emilie Lundin Barse and Erland Jonsson. Extracting attack manifestations to determine log data requirements for intrusion detection. In Proceedings 20th Annual Computer Security Applications Conference, December 2004. http://www.acsac. org/2004/papers/127.pdf[09.04.2006]. [BLBG00] K. Boudaoud, H. Labiod, R. Boutaba, and Z. Guessoum. Network security management with intelligent agents. In Proceedings of 2000 IEEE/IFIP Network Operations and Management Symposium NOMS 2000, 2000. http://bbcr.uwaterloo.ca/~rboutaba/Papers/ Conferences/noms2000.pdf[09.04.2006]. [cer] R Advisory CA-2001-09 Statistical Weaknesses in CERT TCP/IP Initial Sequence Numbers. http://www.cert.org/ advisories/CA-2001-09.html[09.04.2006]. [cer05a] CERT/CC Statistics 1988-2005. Internet, April 2005. http: //www.cert.org/stats/cert_stats.html[09.04.2006]. [CER05b] Vulnerability note vu#637934, tcp does not adequately validate segments before updating timestamp value. Technical report, US-CERT, 2005. http://www.kb.cert.org/vuls/id/ 637934[09.04.2006]. 87 LITERATURVERZEICHNIS [CF] CSI and FBI. 2004 Computer Crime and Security Survey. Internet, June. [Dan06] Dancho Danchev. 2006. Malware- Future Trends, January http://www.infosecwriters.com/text_resources/ pdf/malware_DDanchev.pdf[09.04.2006]. [Das96] Dipankar Dasgupta. Using Immunological Principles in Anomaly Detection. In Proceedings of the Artificial Neural Networks in Engineering (ANNIE) Conference, November 1996. [Das02] Dipankar Dasgupta. An Immunity-Based Technique to Characterize Intrusions in Computer Networks. In Proceedings of IEEE Transactions on Evolutionary Computation, volume 6, 2002. http://issrl.cs.memphis.edu/papers/ec/ 2002/TEC-02.pdf[09.04.2006]. [DB01] Dipankar Dasgupta and Hal Brian. Mobile Security Agents for Network Traffic Analysis. In Proceedings of DARPA Information Survivability Conference and Exposition II, volume 2. IEEE Computer Society Press, 2001. http://ieeexplore.ieee. org/search/wrapper.jsp?arnumber=932184[09.04.2006]. [dCZ99] Leandro Nunes de Castro and Fernando Jose Von Zuben. Artificial Immune Systems: Part I - Basic Theories and Applications. Technical report, RT DCA, 1999. http://http://www. dca.fee.unicamp.br/~lnunes/immune.html[09.04.2006]. [dCZ00] Leandro Nunes de Castro and Fernando Jose Von Zuben. Artificial Immune Systems: Part II - A Ssurvey of Applications. Technical report, RT DCA, 2000. http://http://www.dca. fee.unicamp.br/~lnunes/immune.html[09.04.2006]. [Den87] Dorothy del. E. Denning. IEEE An Transactions on Intrusion-Detection Software Mo- Engineering, 1987. www.ece.cmu.edu/~adrian/731-sp04/readings/ denning-ids.pdf[09.04.2006]. [EFH04] F. Esponda, S. Forrest, and P. Helman. A formal fra- mework for positive and negative detection. In IEEE Transactions on Systems, Man, and Cybernetics. IEEE, 88 LITERATURVERZEICHNIS 2004. http://www.cs.unm.edu/~forrest/publications/ EspFrame1.pdf[09.04.2006]. [FH01] S. Fenet and S. Hassas. A distributed Intrusion De- tection and Response System based on mobile autonomous agents using social insects communication paradigm. Electr. Notes Theor. Comput. Sci., 63, 2001. urlcite- seer.ist.psu.edu/465543.html[09.04.2006]. [FLHS96] Stephanie Forrest, Thomas A. Longstaff, Steven A. Hofmeyr, and Anil Somayaji. Processes. A Sense of Self for Unix In Proceedings of the 1996 IEEE Symposium on Security and Privacy. IEEE Computer Society Press, 1996. http://www.cs.unm.edu/~forrest/publications/ ieee-sp-96-unix.pdf[09.04.2006]. [FPAC94] Stephanie Forrest, Alan S. Perelson, Lawrence Allen, and Rajesh Cherukuri. Self-nonself discrimination in a computer. In Proceedings of the IEEE Symposium on Research in Security and Privacy. IEEE Computer Society Press, 1994. http://www.cs.unm.edu/~immsec/papers.htm[09.04.2006]. [fSidI] Bundesamt für Sicherheit in der Informationstechnik. Vi- ren und andere tiere. http://www.bsi-fuer-buerger.de/ viren/04_0204.htm[09.04.2006]. [GD03] Fabio A. Gonzalez and Dipankar Dasgupta. Anomaly detection using real-valued negative selection. In special issue of the Journal of Genetic Programming and Evolvable Machine, 4(4):383–403, December 2003. [Gon03] Fabio Gonzalez. A Study of Artificial Immune Systems Applied to Anomaly Detection. PhD thesis, Universi- ty of Memphis, 2003. dis.unal.edu.co/~fgonza/papers/ gonzalez03study.pdf[09.04.2006]. [HD04] Xiaoshu Hang and Honghua Dai. An Immune Network Approach for Web Document Clustering. In Proceedings of the IEEE/WIC/ACM International Web Intelligence (WI’04), 2004. http://ieeexplore.ieee.org/iel5/9689/ 89 LITERATURVERZEICHNIS 30573/01410815.pdf?tp=&arnumber=1410815&isnumber= 30573[09.04.2006]. [HF00] Stephen Hofmeyr and Stephanie Forrest. Architecture for an Artificial Immune System. Evolutionary Computation Journal, 8(4):443–473, 2000. [HWH+ 03] Guy Helmer, Johnny S.K. Wong, Vasant Honavar, Les Miller, and Yanxin Wang. Lightweight agents for intrusion detection. The Journal of Systems and Software, 67:108–122, 2003. http: //www.recursionsw.com/Mobile_Agent_Papers/Light_ Weight_Agent_forIntrusion_Detection.pdf[09.04.2006]. [JMKM99] Wayne Jansen, Peter Mell, Tom Karygiannis, and Don Marks. Applying mobile agents to intrusion detection and response. Technical Report 6416, National Institute of Standards and Technology, Computer Security Devision, 1999. [KB99] Jungwon Kim and Peter Bentley. An Artificial Immu- ne Model for Network Intrusion Detection. In 7th Euro- pean Conference on Intelligent Techniques and Soft Computing (EUFIT’99), 1999. http://citeseer.ist.psu.edu/ kim-artificial.html[09.04.2006]. [KB02a] Jungwon Kim and Peter Bentley. A Model of Gene Li- brary Evolution in the Dynamic Clonal Selection Algorithm. In Proceedings of the First International Conference on Artificial Immune Systems (ICARIS) Canterbury, September 2002. http://www.cs.ucl.ac.uk/staff/J.Kim/pub/ icaris2_camera.ps[09.04.2006]. [KB02b] Jungwon Kim and Peter Bentley. Towards an Artificial Immune System for Network Intrusion Detection: An Investigation of Dynamic Clonal Selection. In Congress on Evolutionary Computation (CEC-2002), Honolulu, May 2002. [KBSB04] Jan Kaiser, Karsten Bsufka, Heiko Scheunemann, and J. Bräuer. Jiac iv technical referenz. Technical report, DAI Labor, 2004. 90 LITERATURVERZEICHNIS [Kim02] Jungwon Kim. Integrating Artificial Immune Algorithms for Intrusion Detection. PhD thesis, Department of Computer Science, University College London, 2002. http://www.cs. ucl.ac.uk/staff/J.Kim/pub/JW_Thesis.zip[09.04.2006]. [KT01] Tom Knight and Jonathan Timmis. Assesing the performance of the ressouce limited artificial immune system AINE. Technical Report 3-01, Computing Laboratory, University of Kent at Canterbury, Canterbury, Kent. CT2 7NF, May 2001. [KWAM05] Jungwon Kim, William William, Uwe Aickelin, and Julie McLeod. Cooperative Automated worm Response and Detection ImmuNe ALgorithm (CARDINAL) inspired by T-cell Immunity and Tolerance. In Proceedings ICARIS-2005, 4th International Conference on Artificial Immune Systems, Banff, Canada, 2005. http://eprints.nottingham.ac.uk/archive/ 00000277/[09.04.2006]. [LHF+ 00] Richard Lippmann, Joshua W. Haines, David J. Fried, Jonathan Korba, and Kumar Das. The 1999 DARPA off-line intrusion detection evaluation. Computer Networks, 34:579– 595, 2000. http://www.ll.mit.edu/IST/ideval/pubs/ 2000/1999Eval-ComputerNetworks2000.pdf[09.04.2006]. [LMJ04] Marcos Laureano, Carlos Maziero, and Edgard Jamhour. Intrusion Detection in Virtual Machine Environments. In Proceedings of the Euromicro 2004. IEEE Computer Society1, 2004. http://www.ppgia.pucpr.br/pesquisa/sisdist/ papers/2004-euromicro-laureano-maziero-jamhour. pdf[09.04.2006]. [Mas05] Yury Mashevsky. Tendenzverschiebung bei der Ent- wicklung von Schadprogrammen. www.viruslist.com, ju- ly 2005. http://www.viruslist.com/de/analysis?pubid= 167696592[09.04.2006]. [MHL94] Biswanath Mukherjee, L. Todd Heberlein, and Karl N. Levitt. Network Intrusion Detection. In IEEE Network, 1994. [MM99] Peter Mell and Mark McLarnon. Mobile Agent Attack Resistant Distributed Hierarchical Intrusion Detection Systems. In 91 LITERATURVERZEICHNIS Proceedings of RAID99, 1999. http://www.raid-symposium. org/raid99/PAPERS/Mell.pdf[09.04.2006]. [Mor85] Robert T. Morris. A Weakness in the 4.2 BSD Unix TCP/IP Software. Technical Report 117, AT & T Bell Laborato- ries, 1985. http://www.pdos.lcs.mit.edu/~rtm/papers/ 117.pdf[09.04.2006]. [MR] Jelena Mirkovic and Peter Reiher. A Taxonomy of DDoS Attack and DDoS Mechanisms. http://citeseer.ist.psu. edu/mirkovic04taxonomy.html[09.04.2006]. [Pfe02] Rene Pfeiffer. Firewalls. Technical report, Technikum Wien, 2002. http://www.computec.ch/_files/downloads/ dokumente/firewalling/firewalls3.pdf[09.04.2006]. [QWxBG02] Yan Qiao, Xie Wei-xin, Yang Bin, and Yu Ge. Anomaly intrusion detection on HMM. Electronic Letters, 38:663–664, 2002. http://ieeexplore.ieee.org/iel5/2220/21865/ 01015747.pdf?tp=&arnumber=1015747&isnumber=21865. [RN96] Stuart J. Russel and Peter Norvig. Artificial Intelligence: A Modern Approach. Prentice Hall, 1996. [Rue05] Marc Ruef. puterworld, Firewalling: Typen und Techniken. 2005. Com- http://www.computec.ch/_files/ downloads/dokumente/firewalling/firewalling-typen_ und_techniken.pdf[09.04.2006]. [SBE04] Thomas Stibor, Kpatscha M. Bayarou, and Claudia Eckert. An Investigation of R-Chunk Detector Generation on Higher Alphabets. In Proceedings of the Genetic and Evolutiona- ry Computation Conference (GECCO-2004). Springer-Verlag, 2004. http://www.sec.informatik.tu-darmstadt.de/en/ mitarbeiter/stibor/papers/rchunkdg.pdf[09.04.2006]. [Sca05] Sarah D. Scalet. Pulling Threads on E-Crime. CSO Magazine, July 2005. http://www.csoonline.com/read/070105/ eCrime.html[09.04.2006]. 92 LITERATURVERZEICHNIS [SD01] Charles Schmidt and Tom Darby. The What, Why, and How of the 1988 Internet Worm, July 2001. http://snowplow.org/ tom/worm/worm.html[09.04.2006]. [sec05] Symantec Internet Security Threat Report, viii edition, September 2005. http://www.symantec.com/region/de/ PressCenter/Threat_Reports.html[09.04.2006]. [sec06] Symantec Internet Security Threat Report, ix edition, March 2006. http://www.symantec.com/region/de/PressCenter/ Threat_Reports.html[09.04.2006]. [Shi00] R. Shirey. Internet Security Glossary, May 2000. http://www. ietf.org/rfc/rfc2828.txt[09.04.2006]. [Ska05] Christian Skalka. Programming languages and system security. IEEE Security & Privacy, 3(3), 2005. [sla] R CERT Advisory CA-2003-04 MS-SQL Server Worm. http://www.cert.org/advisories/CA-2003-04. html[09.04.2006]. [SMPW04] Stuart Staniford, David Moore, Vern Paxson, and Nicholas Weaver. The Top Speed of Flash Worms. In Procee- dings WORM04, Washington, DC, USA, October 2004. http://www.icir.org/vern/papers/topspeed-worm04. pdf[09.04.2006]. [SPW02] Stuart Staniford, Vern Paxsony, and Nicholas Weaver. How to 0wn the Internet in Your Spare Time. In Proceedings USENIX Security Symposium 2002, 2002. http://www.icir.org/ vern/papers/cdc-usenix-sec02/index.html[09.04.2006]. [SS03] Stuart E. Schechter and Michael D. Smith. Sale: A New Class of Worm. Access For In Proceedings WORM ’03. ACM, 2003. http://www.eecs.harvard.edu/~stuart/ papers/worm03.pdf[09.04.2006]. [swa] Superorganismus. http://de.wikipedia.org/wiki/ Superorganismus[09.04.2006]. 93 LITERATURVERZEICHNIS [Szo05] Peter Szor. The Art of Computer Virus Research an Defense. Addison Wesley, Upper Sadle River, 1 edition, 2005. [Tan03] Andrew Tanenbaum. Computernetzwerke. Pearson Studium, München, 4 edition, 2003. [TNH99] Jon Timmis, Mark Neal, and John Hunt. Data Ana- lysis using Artificial Immune Systems, Cluster Analysis and Kohonen Networks : Some Comparisons. In Proceedings of IEEE International Conference on Systems, Man and Cybernetics, October 1999. http: //ieeexplore.ieee.org/iel5/6569/17812/00823351. pdf?tp=&arnumber=823351&isnumber=17812[09.04.2006]. [tro] Trojanisches Pferd. http://de.wikipedia.org/wiki/ Trojanisches_Pferd_(Computerprogramm)[09.04.2006]. [TV05] Na Tang and V. Rao Vemuri. An Artificial Immune Sys- tem Approach to Document Clustering. In The 20th Annual ACM Symposium on Applied Computing, Santa Fe, New Mexico, March 2005. http://www.cs.ucdavis.edu/~vemuri/ papers/tangAiNetSAC.pdf[09.04.2006]. [WAB+ 01] Paul Williams, Kevin Anchor, John Bebo, Gregg Gunsch, and Gary Lamont. CDIS: Towards a Computer Immune System for Detecting Network Intrusions. In Recent Advances in Intrusion Detection : 4th International Symposium, 2001. [Wet05] Robert Wetzker. Beherrschbarkeit zukünftiger Bedrohungen durch ein künstliches Immunsystem (AIS) auf Basis von Agententechnologien, 2005. [wika] Euklidischer abstand. http://de.wikipedia.org/wiki/ Euklidische_Distanz[09.04.2006]. [wikb] Hammingdistanz. http://de.wikipedia.org/wiki/ Hammingdistanz[09.04.2006]. [Wil02] Matthew M. Williamson. Throttling Viruses: Restricting propagation to defeat malicious mobile code. In Proceedings 18th Annual Computer Security Applications Conference, 94 LITERATURVERZEICHNIS December 2002. http://www.acsac.org/2002/papers/97. pdf[09.04.2006]. [WP04] Nicholas Weaver and Vern Paxson. Worm. The Worst Case In Proceedings Third Annual Workshop on Eco- nomics and Information Security (WEIS04), May 2004. http://www.icir.org/vern/papers/worst-case-worm. WEIS04.pdf[09.04.2006].