Entwurf eines Künstlichen Immunsystems zur - DAI

Werbung
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].
Herunterladen