Mobile Intrusion Detection in Mobilen Ad-Hoc Netzwerken
Mobile Intrusion Detection in Mobilen Ad-Hoc Netzwerken
Mobile Intrusion Detection in Mobilen Ad-Hoc Netzwerken
Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.
YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.
UNIVERSITÄT ULM · SCIENDO · DOCENDO · CURANDO ·<br />
Universität Ulm<br />
Fakultät Informatik<br />
Abteilung Medien<strong>in</strong>formatik<br />
Diplomarbeit<br />
MOBILE INTRUSION DETECTION<br />
IN MOBILEN AD-HOC NETZWERKEN<br />
Andreas Klenk<br />
Juni 2003<br />
Gutachter:<br />
Prof. Dr. Michael Weber<br />
Prof. Dr. Jörg Kaiser<br />
Betreuer:<br />
Dipl. Inf. Frank Kargl
Inhaltsverzeichnis<br />
1 E<strong>in</strong>leitung 1<br />
1.1 Gliederung der Arbeit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2<br />
2 <strong>Ad</strong> hoc Rout<strong>in</strong>g, e<strong>in</strong>e neue Perspektive der Kommunikation 3<br />
2.1 Drahtlose <strong>Ad</strong> hoc Netzwerke . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3<br />
2.2 Rout<strong>in</strong>g <strong>in</strong> <strong>Ad</strong> hoc <strong>Netzwerken</strong> . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4<br />
2.2.1 Drahtlose Kommunikation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4<br />
2.2.2 Rout<strong>in</strong>g Protokolle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5<br />
2.2.2.1 Proaktives Rout<strong>in</strong>g . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5<br />
2.2.2.2 Reaktives Rout<strong>in</strong>g . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6<br />
2.2.2.3 Dynamic Source Rout<strong>in</strong>g . . . . . . . . . . . . . . . . . . . . . . . . . . 6<br />
3 <strong>Intrusion</strong> <strong>Detection</strong> 9<br />
3.1 Computersysteme und Sicherheit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9<br />
3.2 Sicherheit für <strong>Ad</strong> hoc Netzwerke . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10<br />
3.2.1 Die Funkschnittstelle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10<br />
3.2.2 Rout<strong>in</strong>g Sicherheit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11<br />
3.2.3 Firewalls . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11<br />
3.2.4 Sicherheit durch Reaktion: <strong>Intrusion</strong> <strong>Detection</strong> . . . . . . . . . . . . . . . . . . . . 12<br />
3.3 Grundlagen der <strong>Intrusion</strong> <strong>Detection</strong> . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12<br />
3.3.1 <strong>Intrusion</strong> <strong>Detection</strong> für Festnetze . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12<br />
3.3.1.1 Darstellung e<strong>in</strong>es IDS mit CIDF . . . . . . . . . . . . . . . . . . . . . . 14<br />
3.3.1.2 Signaturanalyse (Misuse <strong>Detection</strong>) . . . . . . . . . . . . . . . . . . . . . 16<br />
3.3.1.3 Anomalieerkennung (Anomaly <strong>Detection</strong>) . . . . . . . . . . . . . . . . . 17<br />
3.3.1.4 Spezifikationsbasierte <strong>Intrusion</strong> <strong>Detection</strong> . . . . . . . . . . . . . . . . . 20<br />
i
INHALTSVERZEICHNIS<br />
3.3.1.5 Der Anfang der <strong>Intrusion</strong> <strong>Detection</strong> . . . . . . . . . . . . . . . . . . . . . 21<br />
3.3.2 Diskussion der Ansätze und ihrer Verwendbarkeit für <strong>Ad</strong> hoc Netzwerke . . . . . . 22<br />
3.4 <strong>Intrusion</strong> <strong>Detection</strong> im mobilen <strong>Ad</strong> hoc Netzwerk . . . . . . . . . . . . . . . . . . . . . . . 23<br />
3.4.1 Die besonderen Probleme der traditionellen IDS mit <strong>Ad</strong> hoc <strong>Netzwerken</strong> . . . . . . 23<br />
3.4.2 Aktuelle Forschung zur <strong>Intrusion</strong> <strong>Detection</strong> <strong>in</strong> mobilen <strong>Ad</strong> hoc <strong>Netzwerken</strong> . . . . . 24<br />
3.4.2.1 Watchdog und Pathrater . . . . . . . . . . . . . . . . . . . . . . . . . . . 24<br />
3.4.2.2 Nodes Bear<strong>in</strong>g Grudges - Das CONFIDANT Protokoll . . . . . . . . . . 25<br />
3.4.2.3 CORE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27<br />
3.4.2.4 <strong>Intrusion</strong> <strong>Detection</strong> Techniques for <strong>Mobile</strong> Wireless Networks . . . . . . 29<br />
3.4.2.5 <strong>Intrusion</strong> <strong>Detection</strong> Agent System(IDA) . . . . . . . . . . . . . . . . . . 33<br />
3.4.2.6 Nuglets, e<strong>in</strong> Vermeidungsansatz . . . . . . . . . . . . . . . . . . . . . . . 34<br />
3.4.3 Bewertung der aktuellen Forschung . . . . . . . . . . . . . . . . . . . . . . . . . . 35<br />
3.4.3.1 Vergleich aktueller IDS . . . . . . . . . . . . . . . . . . . . . . . . . . . 35<br />
3.4.3.2 Anforderungen an e<strong>in</strong> besseres IDS für <strong>Ad</strong> hoc Netzwerke . . . . . . . . . 36<br />
4 Verwundbarkeiten des DSR Protokolls 39<br />
4.1 Egoistisches Verhalten und se<strong>in</strong>e Auswirkungen . . . . . . . . . . . . . . . . . . . . . . . . 39<br />
4.2 Böswillige Knoten und deren Schadwirkung . . . . . . . . . . . . . . . . . . . . . . . . . . 41<br />
4.2.1 Informationsgew<strong>in</strong>nung durch böswillige Knoten . . . . . . . . . . . . . . . . . . . 41<br />
4.2.2 Angriff auf den Datenverkehr e<strong>in</strong>es Knotens . . . . . . . . . . . . . . . . . . . . . . 42<br />
4.2.3 Angriff auf die Luftschnittstelle . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44<br />
4.3 Besondere Verwundbarkeiten des DSR Designs . . . . . . . . . . . . . . . . . . . . . . . . 44<br />
5 Simulation von <strong>Ad</strong> hoc <strong>Netzwerken</strong> 47<br />
5.1 Simulation mit ns2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47<br />
5.1.1 Parameter der Simulation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48<br />
5.2 Simulation egoistischer Knoten . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50<br />
5.3 Simulation böswilliger Knoten . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53<br />
6 MobIDS, e<strong>in</strong> <strong>Intrusion</strong> <strong>Detection</strong> System für mobile <strong>Ad</strong> hoc Netzwerke 57<br />
6.1 E<strong>in</strong> sicheres Rahmenwerk für e<strong>in</strong> IDS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57<br />
6.2 Konzept des <strong>Intrusion</strong> <strong>Detection</strong> Systems . . . . . . . . . . . . . . . . . . . . . . . . . . . 58<br />
6.2.1 Aufbau von MobIDS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58<br />
6.3 Lokale Erkennung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59<br />
ii
INHALTSVERZEICHNIS<br />
6.3.1 Overhear<strong>in</strong>g mit dem Promiscuous Mode . . . . . . . . . . . . . . . . . . . . . . . 59<br />
6.3.1.1 Die Problematik des Overhear<strong>in</strong>g . . . . . . . . . . . . . . . . . . . . . . 59<br />
6.3.1.2 E<strong>in</strong>e verbesserte Technik des Overhear<strong>in</strong>g . . . . . . . . . . . . . . . . . 60<br />
6.3.1.3 Ergebnisse des neuen Overhear<strong>in</strong>g Systems . . . . . . . . . . . . . . . . 61<br />
6.3.2 Prob<strong>in</strong>g . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65<br />
6.3.2.1 Prob<strong>in</strong>g <strong>in</strong> der Literatur . . . . . . . . . . . . . . . . . . . . . . . . . . . 65<br />
6.3.2.2 Das Prob<strong>in</strong>g Dilemma . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66<br />
6.3.2.3 E<strong>in</strong> Prob<strong>in</strong>g mit e<strong>in</strong>deutiger Identifikation des Angreifers . . . . . . . . . 69<br />
6.3.2.4 Ergebnisse der Prob<strong>in</strong>g Mechanismen . . . . . . . . . . . . . . . . . . . 72<br />
6.3.3 Erkennung von Egoismus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75<br />
6.3.3.1 Die Notwendigkeit Egoismus zu erkennen und zu bestrafen . . . . . . . . 75<br />
6.3.3.2 Aufbau des Erkennungssystems . . . . . . . . . . . . . . . . . . . . . . . 75<br />
6.3.3.3 Erkennung der Knoten <strong>in</strong> der Nachbarschaft . . . . . . . . . . . . . . . . 77<br />
6.3.3.4 Erkennungsrate von egoistischen Knoten . . . . . . . . . . . . . . . . . . 78<br />
6.4 Bewertungsverfahren . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79<br />
6.4.1 Lokale Bewertung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79<br />
6.4.1.1 Subjektives Ansehen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79<br />
6.4.1.2 Die Bildung des Ansehens e<strong>in</strong>es Knotens . . . . . . . . . . . . . . . . . . 80<br />
6.4.1.3 Implementierungsdetails . . . . . . . . . . . . . . . . . . . . . . . . . . . 81<br />
6.4.2 Verteilte Bewertungsverfahren . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81<br />
6.4.2.1 Verteilung von Anschuldigungen . . . . . . . . . . . . . . . . . . . . . . 81<br />
6.4.2.2 Bewertung e<strong>in</strong>es Knotens . . . . . . . . . . . . . . . . . . . . . . . . . . 82<br />
6.5 Reaktion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84<br />
6.5.1 Reaktion auf erkannte Angreifer im <strong>Ad</strong> hoc Netzwerk . . . . . . . . . . . . . . . . 84<br />
6.5.2 E<strong>in</strong> globaler Reaktionsmechanismus für alle MobIDS Netzwerke . . . . . . . . . . 85<br />
6.5.3 Bewertung der Reaktionsmechanismen . . . . . . . . . . . . . . . . . . . . . . . . 87<br />
6.6 MobIDS auf den Punkt gebracht . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87<br />
6.7 Die Implementierung von MobIDS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88<br />
6.7.1 IDSAgent . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88<br />
6.7.2 IDSApp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89<br />
6.7.3 Audit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89<br />
6.7.4 Analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91<br />
6.7.5 Rat<strong>in</strong>g . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93<br />
6.7.6 Die Anpassungen des DSRAgent für MobIDS . . . . . . . . . . . . . . . . . . . . . 94<br />
iii
INHALTSVERZEICHNIS<br />
7 Fazit von MobIDS 97<br />
7.1 Ausblick auf Entwicklungsmöglichkeiten . . . . . . . . . . . . . . . . . . . . . . . . . . . 97<br />
A Simulationsarchitektur 99<br />
B Glossar 101<br />
Abbildungsverzeichnis 102<br />
Literaturverzeichnis 111<br />
iv
Kapitel 1<br />
E<strong>in</strong>leitung<br />
Drahtlose <strong>Ad</strong> hoc Netzwerke s<strong>in</strong>d s<strong>in</strong>d e<strong>in</strong>e an Popularität gew<strong>in</strong>nende Form der Kommunikation. Während<br />
die neu entwickelten Rout<strong>in</strong>g Protokolle an e<strong>in</strong>em Punkt angelangt s<strong>in</strong>d, an dem sie bereits gute Lösungen<br />
für die def<strong>in</strong>ierten E<strong>in</strong>satzszenarien bieten, wurde die Sicherheit vernachlässigt. Es gibt e<strong>in</strong>e Vielzahl von<br />
Schwachstellen der Rout<strong>in</strong>gprotokolle, die nahezu beliebige Manipulationen durch e<strong>in</strong>en Angreifer zulassen.<br />
Es kann nicht nur die Kommunikation an sich gestört werden, sondern die kommunizierenden Applikationen<br />
werden auch <strong>in</strong> erhöhtem Maße angreifbar. Zu e<strong>in</strong>em gewissen Grad lassen sich die Rout<strong>in</strong>gprotokolle<br />
durch Authentisierung und den E<strong>in</strong>satz krypthographischer Funktionen gegen Manipulationen schützen.<br />
E<strong>in</strong> Teilnehmer im <strong>Ad</strong> hoc Netzwerk kann aber trotzdem Pakete verwerfen und <strong>in</strong> egoistischer Absicht nicht<br />
am Rout<strong>in</strong>g teilnehmen; deshalb werden noch andere Verfahren benötigt um mit diesem Verhalten umgehen<br />
zu können.<br />
Diese Arbeit befasst sich aus diesem Grund mit der Erkennung von Angriffen auf das Rout<strong>in</strong>g <strong>in</strong> drahtlosen<br />
<strong>Ad</strong> hoc <strong>Netzwerken</strong>. Hierfür wurde das DSR Kommunikationsprotokoll auf Angriffspunkte analysiert. Im<br />
Ergebnis wurden Egoismus und Bösartigkeit als Motivation für e<strong>in</strong>e Störung des Rout<strong>in</strong>gs identifiziert. Die<br />
Gefährlichkeit solcher Angreifer wurde durch Simulation bestätigt.<br />
Das mobile <strong>Intrusion</strong> <strong>Detection</strong> System MobIDS ist e<strong>in</strong> System, das diesen Angreifern begegnen kann. Dazu<br />
stützt sich MobIDS auf zwei Säulen: die Erkennung und die Reaktion. Es wurden deshalb mehrere neuartige<br />
Methoden der lokalen Erkennung aufgestellt, implementiert und durch Simulation verifiziert.<br />
Das aktivitätsbasierte Overhear<strong>in</strong>g stellt e<strong>in</strong>e Verbesserung <strong>in</strong> der Erkennung von manipulierten oder gar<br />
nicht weitergesendeten Paketen dar; e<strong>in</strong>deutiges Prob<strong>in</strong>g kann gezielt Tests auf bösartige Knoten im Pfad<br />
unternehmen. Nicht nur bösartiges Verhalten kann erkannt werden, sondern auch egoistisches Verhalten<br />
durch e<strong>in</strong>en Algorithmus, der die korrekte Bearbeitung von Route Requests verifiziert. Die erzielten Ergebnisse<br />
der drei Verfahren zeigen deren Wirksamkeit.<br />
Für die Reaktionskomponente von MobIDS wurde e<strong>in</strong> Modell aufgestellt, mit dem Angreifer automatisch<br />
vom Netzwerk ausgeschlossen werden. Dazu wurde e<strong>in</strong> Bewertungsschema def<strong>in</strong>iert und mit den Ergebnissen<br />
der lokalen Erkennung gekoppelt. Diese Bewertungen werden im Netzwerk verbreitet und führen, falls<br />
genügend negative Bewertungen von e<strong>in</strong>em Knoten vorliegen, zu dessen Ausschluss <strong>in</strong> dem aktuellen <strong>Ad</strong><br />
hoc Netzwerk. Darüber h<strong>in</strong>aus gibt es e<strong>in</strong> globales System, das bei langanhaltendem bösartigen Verhalten<br />
1
KAPITEL 1. EINLEITUNG<br />
den Teilnehmer aus allen <strong>Ad</strong> hoc Netzwerke aussperren kann, <strong>in</strong>dem die zur Teilnahme benötigte Identität<br />
nicht verlängert wird.<br />
MobIDS kann damit das Rout<strong>in</strong>g gegen bösartige und egoistische Teilnehmer absichern und e<strong>in</strong>e sichere<br />
Kommunikation gewährleisten. Die für <strong>Ad</strong> hoc Netzwerke spezifischen Angriffspunkte können durch MobIDS<br />
geschützt werden, traditionelle Sicherheitssysteme s<strong>in</strong>d <strong>in</strong> der Lage den Schutz vor Angriffen auf<br />
Applikationen und Betriebssysteme zu bieten.<br />
1.1 Gliederung der Arbeit<br />
Der erste Teil der Arbeit 1 wird, stellvertretend für andere Rout<strong>in</strong>g Protokolle <strong>in</strong> <strong>Ad</strong> hoc <strong>Netzwerken</strong>, Dynamic<br />
Source Rout<strong>in</strong>g(DSR) <strong>in</strong> Kapitel 2 vorstellen. Daraufh<strong>in</strong> wird <strong>in</strong> Kapitel 3 e<strong>in</strong>e E<strong>in</strong>führung zur Sicherheit<br />
<strong>in</strong> <strong>Ad</strong> hoc <strong>Netzwerken</strong> und zur <strong>Intrusion</strong> <strong>Detection</strong> <strong>in</strong>sbesondere gegeben. Die wichtigen Publikationen<br />
der aktuellen Forschung werden e<strong>in</strong>zeln aufgegriffen und diskutiert, um später Forderungen für e<strong>in</strong> besseres<br />
<strong>Intrusion</strong> <strong>Detection</strong> System für <strong>Ad</strong> hoc Netzwerke aufzustellen.<br />
Als erster Schritt zum Entwurf von MobIDS wird <strong>in</strong> Kapitel 4 das DSR Protokoll e<strong>in</strong>er detaillierten Verwundbarkeitsanalyse<br />
unterzogen. Dazu gehören <strong>in</strong> Kapitel 5 zahlreiche Simulationen von Angriffen auf das<br />
Protokoll, um die Schadwirkung der jeweiligen Bedrohung e<strong>in</strong>ordnen zu können. Danach werden e<strong>in</strong>e Reihe<br />
von typischen Angriffen identifiziert, mit denen MobIDS umgehen können muss.<br />
Im Kapitel 6 werden dann die neuartigen Algorithmen, die die identifizierten Angriffe erkennen können,<br />
vorgestellt. Durch Simulation der erarbeiteten Algorithmen wird deren Wirksamkeit gegen die Angreifer<br />
demonstriert. Erkannte Angriffe werden dann schließlich <strong>in</strong>tern bewertet, um diese Bewertungen mit den<br />
anderen Knoten austauschen zu können. Die Kommunikation der Bewertungen führt damit zu e<strong>in</strong>er koord<strong>in</strong>ierten<br />
Reaktion, um die Stabilität des Netzwerkes zu gewährleisten und bösartige Knoten zu bestrafen.<br />
Diese e<strong>in</strong>zelnen Aufgaben werden durch MobIDS abgedeckt, dessen Gesamtkonzept <strong>in</strong> diesem Kapitel<br />
ebenfalls vorgestellt wird.<br />
Nach dem Fazit und dem Ausblick der Möglichkeiten der weiteren Vertiefung der Forschung zu MobIDS,<br />
gibt es im Appendix auch noch e<strong>in</strong>en kurze Übersicht über die entwickelte Simulationswerkzeuge. In dem<br />
Glossar werden e<strong>in</strong>ige Begriffe aus der Informatik erklärt, die für das Verständnis dieser Arbeit hilfreich<br />
s<strong>in</strong>d.<br />
1 Diese Arbeit wurde nach den neuen amtlichen Rechtschreiberegeln verfasst<br />
2
Kapitel 2<br />
<strong>Ad</strong> hoc Rout<strong>in</strong>g, e<strong>in</strong>e neue Perspektive der<br />
Kommunikation<br />
Dieses Kapitel wird e<strong>in</strong>e E<strong>in</strong>führung <strong>in</strong> <strong>Ad</strong> hoc Netzwerke darstellen und erklären was diese auszeichnet.<br />
Danach wird e<strong>in</strong> E<strong>in</strong>blick <strong>in</strong> die Funktionsweise von DSR, e<strong>in</strong>em Protokoll zum Rout<strong>in</strong>g <strong>in</strong> <strong>Ad</strong> hoc <strong>Netzwerken</strong>,<br />
gegeben.<br />
2.1 Drahtlose <strong>Ad</strong> hoc Netzwerke<br />
Drahtlose <strong>Ad</strong> hoc Netzwerke s<strong>in</strong>d Netzwerke mit dynamischer Organisation, bei dem die mobilen Knoten<br />
oft nur für begrenzte Zeit Teil des Netzwerkes s<strong>in</strong>d. E<strong>in</strong> <strong>Ad</strong> hoc Netzwerk ist selbstorganisierend und<br />
kommt, um die Topologie des Netzwerkes zu erfassen und Rout<strong>in</strong>g zu ermöglichen, ohne e<strong>in</strong>e zentrale<br />
Verwaltungs<strong>in</strong>stanz und Infrastruktur aus. Das Wissen um die Topologie des Netzwerkes wird dynamisch<br />
durch Kooperation der e<strong>in</strong>zelnen Teilnehmer aufgebaut, die Teilnehmer übernehmen zudem wechselseitig<br />
Weiterleitungsaufgaben.<br />
Die mobilen Knoten haben nur e<strong>in</strong>e kurze Funkreichweite und benutzen andere Knoten zur Weiterleitung,<br />
also das Empfangen und Weiterleiten von Datenpaketen, um die Kommunikationsreichweite zu erhöhen. E<strong>in</strong><br />
Teilnehmer muss sich <strong>in</strong> Sende- und Empfangsreichweite zum<strong>in</strong>destens e<strong>in</strong>es anderen Knotens bewegen, um<br />
mit dem Netzwerk kommunizieren zu können. Damit die Kommunikation gewährleistet ist, muss außerdem<br />
über das verwendete Kommunikationsprotokoll sowie über die Hardware zur drahtlosen Kommunikation<br />
e<strong>in</strong>e Übere<strong>in</strong>kunft bestehen.<br />
Es gibt <strong>Ad</strong> hoc Netzwerke mit genau bestimmter Identität der Teilnehmer; das ist zum Beispiel der Fall,<br />
wenn alle Knoten derselben Organisation angehören und damit die Identitäten der Benutzer fest mit den<br />
mobilen Geräten verknüpft werden können. E<strong>in</strong> etwas allgeme<strong>in</strong>erer Fall ist, wenn e<strong>in</strong> vertrauenswürdiger<br />
Dritter die Identität des Teilnehmers bestätigt und diese mit dem Gerät verknüpft hat. Manchmal ist aber<br />
auch nur das Gerät selbst e<strong>in</strong>deutig identifizierbar. Der schwierigste Fall ist aber, wenn der Teilnehmer<br />
ke<strong>in</strong>e unveränderbaren Identifikationsmerkmale besitzt. Dieser Fall ist, solange es ke<strong>in</strong>e Standards zur Identifikation<br />
der Geräte etabliert wurde, der typische Fall.<br />
3
KAPITEL 2. AD HOC ROUTING, EINE NEUE PERSPEKTIVE DER KOMMUNIKATION<br />
Wenn die Identitäten festgelegt s<strong>in</strong>d, kann der Grad des Vertrauens zwischen diesen Teilnehmern variieren.<br />
Vertrauen kann sich nämlich nur aus zwei Quellen herleiten: Vertrauen durch positive Erfahrung und<br />
Beobachtung oder Vertrauen durch Sanktionierung bei e<strong>in</strong>em Fehlverhalten. Wer weiß, dass er für se<strong>in</strong> Fehlverhalten<br />
bestraft wird, ist vertrauenswürdiger als jemand, der weiß, dass er auch bei schlechtem Betragen<br />
ke<strong>in</strong>e Konsequenzen fürchten muss.<br />
Die MANET (<strong>Mobile</strong> <strong>Ad</strong> hoc Network<strong>in</strong>g Group) ist federführend bei der Def<strong>in</strong>ition und Spezifikation von<br />
<strong>Mobile</strong>n <strong>Ad</strong> hoc <strong>Netzwerken</strong> und der dafür geeigneten Netzwerkprotokolle. Die MANET unter dem Dach<br />
IETF (Internet Eng<strong>in</strong>eer<strong>in</strong>g Task Force) veröffentlichte diverse Publikationen zum Thema, unter anderem<br />
RFC 2501 ”<strong>Mobile</strong> <strong>Ad</strong> hoc Network<strong>in</strong>g (MANET): Rout<strong>in</strong>g Protocol Performance Issues and Evaluation<br />
Consideration” oder auch Spezifikationen diverser <strong>Ad</strong> hoc Rout<strong>in</strong>g Protokolle.<br />
2.2 Rout<strong>in</strong>g <strong>in</strong> <strong>Ad</strong> hoc <strong>Netzwerken</strong><br />
Im Folgenden wird vorgestellt, wie die drahtlose Kommunikation <strong>in</strong> <strong>Ad</strong> hoc <strong>Netzwerken</strong> vonstatten geht.<br />
Dazu werden auf verschiedenen logischen Ebenen Protokolle benötigt, um Daten zu übertragen.<br />
2.2.1 Drahtlose Kommunikation<br />
<strong>Ad</strong> hoc Netzwerke können auch mit Drahtverb<strong>in</strong>dungen aufgebaut werden dieser Typ <strong>Ad</strong> hoc Netzwerk ist<br />
aber nicht Gegenstand dieser Arbeit. Für die drahtlose Kommunikation gibt es nun verschiedene Möglichkeiten:<br />
Für kurze Entfernungen und ger<strong>in</strong>ge Sendeleistungen beg<strong>in</strong>nt sich gerade die Technik Bluetooth am Markt<br />
zu etablieren. E<strong>in</strong>e ältere Technik, die etwas größere Entfernungen zulässt, ist Infrarot. Um mittels Infrarot<br />
zu kommunizieren, ist aber e<strong>in</strong>e Sichtverb<strong>in</strong>dung erforderlich, da die Infrarotwellen leicht abgeschirmt<br />
werden können. Schließlich hat der IEEE 802.11 Standard weite Verbreitung <strong>in</strong> zahlreichen Produkten gefunden.<br />
Dieses IEEE 802.11 (siehe Tabelle 2.1) bietet e<strong>in</strong>e gute Reichweite, bei ausreichender Bandbreite.<br />
Es gibt noch unzählige andere Standards zur drahtlosen Kommunikation am Markt, aber auf Grund der hohen<br />
Verbreitung von IEEE 802.11 s<strong>in</strong>d viele Simulatoren und Netzwerkprotokolle dafür verfügbar und es<br />
eignet sich deshalb gut für diese Arbeit.<br />
Dieser Standard bietet heute e<strong>in</strong>e Sende- und Empfangsreichweite von bis zu 250 m je nach Geländebeschaffenheit.<br />
Es s<strong>in</strong>d zwei Operationsmodi vorgesehen: Der Erste ist der Infrastrukturmodus. In diesem Modus<br />
wird davon ausgegangen, dass es e<strong>in</strong>e Basisstation gibt. Alle Karten kommunizieren mit dieser Basisstation,<br />
können untere<strong>in</strong>ander aber nicht direkt <strong>in</strong> Kontakt treten. Alle Daten müssen für e<strong>in</strong>e Verb<strong>in</strong>dung zwischen<br />
zwei Teilnehmern über die Basisstation weitergeleitet werden. Damit ist die Entfernung, die e<strong>in</strong> Teilnehmer<br />
von der Basisstation entfernt se<strong>in</strong> darf, auf 250 m beschränkt.<br />
Die andere Betriebsart ist der <strong>Ad</strong> hoc Modus. In diesem können die Teilnehmer Daten direkt austauschen,<br />
dafür gibt es aber ke<strong>in</strong>e Basisstation mehr. Durch Kooperation der Teilnehmer kann die Reichweite des<br />
Netzwerkes erhöht werden, <strong>in</strong>dem Teilnehmer für andere Teilnehmer Daten weiterleiten. Die Reichweite<br />
des Netzwerks ist damit dynamisch, kann die e<strong>in</strong>fache Sendeleistung e<strong>in</strong>es Teilnehmers von 250 m bei Weitem<br />
übertreffen.<br />
4
KAPITEL 2. AD HOC ROUTING, EINE NEUE PERSPEKTIVE DER KOMMUNIKATION<br />
2.2.2 Rout<strong>in</strong>g Protokolle<br />
IEEE 802.11<br />
ISM Band bei 2,4 GHz<br />
11 Mbits<br />
48 Bit MAC Geräteadresse<br />
bis 128 Teilnehmer<br />
verb<strong>in</strong>dungslos<br />
Infrastruktur und ad-hoc Modus<br />
40-128 Bit Verschlüsselung RC4<br />
Tabelle 2.1: IEEE 802.11<br />
Jetzt wird entwickelt, wie die Kommunikation <strong>in</strong> <strong>Ad</strong> hoc <strong>Netzwerken</strong> abläuft, dazu wird angenommen, dass<br />
e<strong>in</strong> Knoten Q e<strong>in</strong>em Ziel Z m<strong>in</strong>destens e<strong>in</strong> Paket schicken möchte. Knoten <strong>in</strong> unmittelbarer Nachbarschaft<br />
s<strong>in</strong>d direkt zu erreichen und benötigen dafür ke<strong>in</strong> ausgefeiltes Protokoll. Weiter entfernte Knoten s<strong>in</strong>d aber<br />
auf die Kooperation der anderen Teilnehmer angewiesen. Diese müssen Pakete im Auftrag von Q entgegen<br />
nehmen und <strong>in</strong> Richtung von Z weiterleiten (englisch: forward<strong>in</strong>g). Der gesamte Vorgang des Aufbaus e<strong>in</strong>es<br />
Pfades von e<strong>in</strong>er Quelle Q zu e<strong>in</strong>em Ziel Z und die spätere Nutzung wird als Rout<strong>in</strong>g bezeichnet.<br />
Rout<strong>in</strong>g Protokolle können als proaktiv oder reaktiv klassifiziert werden.<br />
2.2.2.1 Proaktives Rout<strong>in</strong>g<br />
Proaktive Protokolle versuchen alle möglichen Verb<strong>in</strong>dungen im Netzwerk zu erkennen und die Informationen<br />
lokal zu speichern. Wird nun e<strong>in</strong> Pfad von e<strong>in</strong>er Quelle Q zu e<strong>in</strong>em Ziel Z benötigt, kann das Protokoll<br />
den Pfad dorth<strong>in</strong> unmittelbar bereitstellen. Jeder Knoten Q kann also mit se<strong>in</strong>er lokalen Information e<strong>in</strong>en<br />
geeigneten Pfad auswählen und Pakete entlang dieses Pfades schicken. Dieser Auswahlmechanismus kann<br />
entweder alle<strong>in</strong>e durch Q erfolgen oder der nächste Knoten auf dem Pfad wird durch den jeweiligen Knoten<br />
bestimmt, auf dem das Paket gerade angekommen ist.<br />
Das Distanz Vektor Rout<strong>in</strong>g ist für drahtlose <strong>Ad</strong> hoc Netzwerke e<strong>in</strong>e Methode des Rout<strong>in</strong>gs.<br />
Dabei hat jeder e<strong>in</strong>zelne Knoten für jeden anderen Knoten im Netzwerk e<strong>in</strong>en Vektor der Form (Ziel, Kosten,<br />
nächster Knoten). Alle direkten Nachbarn werden <strong>in</strong> dem Vektor mit den m<strong>in</strong>imalen Kosten <strong>in</strong>itialisiert,<br />
unerreichbare Nachbarn werden dagegen mit e<strong>in</strong>em unendlichen Wert belegt. Nun werden Kopien dieser<br />
Vektoren an andere Knoten verschickt, die diese erhaltenen Vektoren nun mit den bisherigen Vektoren vergleichen.<br />
Indem transitive Verb<strong>in</strong>dungen genutzt und dabei die Kosten addiert werden, werden nun auch weiter entfernte<br />
Ziele erreichbar. S<strong>in</strong>d die berechneten neuen Kosten für das Erreichen des Ziels nun kle<strong>in</strong>er als im<br />
lokalen Vektor für dasselbe Ziel, wird der lokale Vektor durch den neuen Vektor ersetzt. Nimmt man an,<br />
dass die Topologie statisch ist, werden die Vektoren im Laufe der Zeit auf den optimalen Pfad zeigen.<br />
5
KAPITEL 2. AD HOC ROUTING, EINE NEUE PERSPEKTIVE DER KOMMUNIKATION<br />
Der Vorteil des proaktiven Rout<strong>in</strong>g ist die ger<strong>in</strong>ge Latenz, die benötigt wird, bis das erste Paket gesendet<br />
werden kann. Es können optimale Pfade zum Ziel gefunden werden.<br />
Dieser Ansatz birgt nun aber e<strong>in</strong>ige Probleme: Die Pfade bei sich verändernden Topologien werden schnell<br />
ungültig, dadurch muss das Protokoll ständig die Vektoren neu austauschen und erzeugt e<strong>in</strong>en großen Overhead<br />
im Netzwerk,4444 bis schließlich kaum mehr Kapazitäten für den eigentlichen Datenverkehr vorhanden<br />
ist. Damit ist proaktives Rout<strong>in</strong>g für schnell veränderliche Netzwerke ungeeignet.<br />
Die e<strong>in</strong>zelnen Stationen müssen die Informationen über die Topologie speichern. Wenn e<strong>in</strong>e Station ausfällt<br />
führt das zu komplizierten Störungen im Rout<strong>in</strong>g.<br />
2.2.2.2 Reaktives Rout<strong>in</strong>g<br />
Reaktive Protokolle s<strong>in</strong>d die andere Kategorie der <strong>Ad</strong> hoc Rout<strong>in</strong>g Protokolle. Diese versuchen e<strong>in</strong>en Pfad<br />
<strong>in</strong> dem Moment aufzubauen, <strong>in</strong> dem dieser benötigt wird. Sie reagieren also auf Anfragen von Q und bauen<br />
daraufh<strong>in</strong> e<strong>in</strong>en Pfad von Q nach Z auf.<br />
Dieses Verfahren hat den Vorteil, dass die aktuelle Topologie zur Bildung e<strong>in</strong>er Route benutzt wird, außerdem<br />
wird nur Overhead für das Rout<strong>in</strong>g Protokoll erzeugt, wenn e<strong>in</strong>e Route benötigt wird.<br />
<strong>Ad</strong> hoc On Demand Distance Vector (AODV) oder Dest<strong>in</strong>ation Sequenced Distance Vector Rout<strong>in</strong>g (DSDV)<br />
s<strong>in</strong>d reaktive Protokolle; <strong>in</strong> dieser Arbeit wird aber vor allem das Dynamic Source Rout<strong>in</strong>g (DSR) untersucht.<br />
2.2.2.3 Dynamic Source Rout<strong>in</strong>g<br />
Das <strong>in</strong> [JMB01] vorgestellte Dynamic Source Rout<strong>in</strong>g Protokoll, kurz DSR 1 , ist e<strong>in</strong> reaktives Protokoll.<br />
Bei DSR gibt es die Route Discovery, um Pfade von e<strong>in</strong>er Quelle zu e<strong>in</strong>em Ziel, die sogenannten Source<br />
Routen, zu entdecken. Die Source Routen bestehen aus e<strong>in</strong>er Liste von Knoten, die e<strong>in</strong> Paket nache<strong>in</strong>ander<br />
durchlaufen muss, um am Ziel anzukommen. Jedes Datenpaket <strong>in</strong> diesem Netzwerk enthält e<strong>in</strong>e Source<br />
Route. Damit haben <strong>in</strong> dieser e<strong>in</strong>fachen Form die Hops e<strong>in</strong>e re<strong>in</strong>e Weiterleitungsaufgabe und müssen ke<strong>in</strong>en<br />
Zustand speichern.<br />
Die Route Discovery wird mit Hilfe der Route Request Nachrichten implementiert. E<strong>in</strong> Route Request ist e<strong>in</strong>e<br />
Nachricht, die das Ziel, die Quelle und e<strong>in</strong>e leere Source Route enthält. Dieses Route Request Nachricht<br />
wird von der Quelle an alle Nachbarn <strong>in</strong> Sendereichweite geschickt. Das geschieht mit e<strong>in</strong>em speziellen<br />
Paket, das an alle adressiert ist, die es empfangen können, e<strong>in</strong> sogenanntes Broadcast Paket.<br />
Jeder Knoten, der e<strong>in</strong>en Route Request erhält, den er noch nicht bearbeitet hat, fügt se<strong>in</strong>e eigene <strong>Ad</strong>resse<br />
an die letzte Position der Source Route und schickt den Route Request dann mit e<strong>in</strong>em Broadcast weiter.<br />
Der nächste Knoten, der diesen Route Request empfängt, verfährt genauso. Irgendwann erreicht der Route<br />
Request dann das Ziel.<br />
Das Ziel nimmt die im Route Request enthaltene Source Route und sendet e<strong>in</strong>en Route Reply mit der empfangenen<br />
Source Route zum Ziel zurück. Das kann bei e<strong>in</strong>em Netzwerk mit bidirektionalen Verb<strong>in</strong>dungen<br />
dadurch geschehen, dass die Reihenfolge der Stationen der Source Route e<strong>in</strong>mal umgedreht wird. Das<br />
1 In dem Rahmen der Diplomarbeit soll nur e<strong>in</strong> kurzer Überblick über DSR gewährt werden; um den Ablauf des Protokolls im<br />
Detail zu verstehen empfiehlt es sich [JMB01] und [JMHJ02a] zu konsultieren.<br />
6
KAPITEL 2. AD HOC ROUTING, EINE NEUE PERSPEKTIVE DER KOMMUNIKATION<br />
Route Reply Paket folgt dann dieser umgedrehten Source Route zur Quelle. Gibt es ke<strong>in</strong>e bidirektionalen<br />
Verb<strong>in</strong>dungen, muss das Ziel e<strong>in</strong>en Route Request zur Quelle aussenden, welcher allerd<strong>in</strong>gs zusätzlich die<br />
empfangene Source Route enthält.<br />
Quelle<br />
D<br />
{ }<br />
{A,D}<br />
D<br />
{A}<br />
A<br />
{A} C<br />
{A,C}<br />
{A,C ,E}<br />
E<br />
{A,C}<br />
Abbildung 2.1: DSR Route Request<br />
Quelle<br />
D<br />
{A,D}<br />
D<br />
{A,D}<br />
{A,D}<br />
A<br />
E<br />
C<br />
Abbildung 2.2: DSR Route Reply<br />
Es gibt <strong>in</strong> DSR zwei Optimierungen der Route Discovery: Der Route Cache ist von zentraler Bedeutung,<br />
denn er speichert die Routen ab, von denen der Knoten Kenntnis hat. Will dieser Knoten nun e<strong>in</strong> Paket<br />
schicken, prüft er, ob sich die benötigte Route bereits im Route Cache bef<strong>in</strong>det. Durch diesen Mechanismus<br />
können viele Route Requests e<strong>in</strong>gespart werden. Der Route Cache kann aber auch während der Route Discovery<br />
helfen, <strong>in</strong>dem e<strong>in</strong> Knoten, der e<strong>in</strong>en Route Request erhält, prüft, ob er e<strong>in</strong>e Route zum Ziel kennt.<br />
7
KAPITEL 2. AD HOC ROUTING, EINE NEUE PERSPEKTIVE DER KOMMUNIKATION<br />
Kennt er diese, wird die Route im Cache mit der Route im Route Request duplikatfrei zusammengefügt und<br />
zur Quelle geschickt.<br />
Die R<strong>in</strong>g-0-Search limitiert die Reichweite der Route Requests. Wie die später <strong>in</strong> dieser Arbeit gefundenen<br />
Ergebnisse zeigen, bef<strong>in</strong>den sich über e<strong>in</strong> Drittel der Ziele e<strong>in</strong>es Route Requests <strong>in</strong> direkter Nachbarschaft.<br />
Bei der R<strong>in</strong>g-0-Search wird der Route Request zuerst mit e<strong>in</strong>er kurzen Reichweite von e<strong>in</strong>em Knoten, dann<br />
von zwei Knoten, dann von vier Knoten,... geschickt, bis e<strong>in</strong> Route Reply zurückkommt.<br />
Nachdem mit der Route Discovery e<strong>in</strong> Pfad von der Quelle zum Ziel gefunden wurde, können Pakete<br />
zum Ziel gesendet werden. Parallel tritt DSR <strong>in</strong> die Phase der Route Ma<strong>in</strong>tenance e<strong>in</strong>. Diese ist e<strong>in</strong><br />
Mechanismus, der e<strong>in</strong>e Kontrolle bietet, ob e<strong>in</strong>e genutzte Verb<strong>in</strong>dung noch funktioniert. Dazu wird e<strong>in</strong>e<br />
Bestätigungsnachricht (Acknowledgement) von jedem Knoten verschickt, um den Empfang e<strong>in</strong>es Datenpaketes<br />
zu quittieren. Dieses Acknowledgement kann <strong>in</strong> Hardware implementiert se<strong>in</strong> oder durch das Netzwerkprotokoll.<br />
Wird, nachdem e<strong>in</strong> Paket gesendet wurde, von e<strong>in</strong>em Knoten ke<strong>in</strong> Acknowledgement empfangen, wird versucht<br />
das Paket nochmals zu schicken. Bleibt die Bestätigung auch nach mehreren Versuchen aus wird die<br />
Verb<strong>in</strong>dung zwischen diesen beiden Knoten als getrennt angesehen.<br />
Um die verlorene Verb<strong>in</strong>dung zu signalisieren, gibt es <strong>in</strong> DSR die Route Error Nachricht. Diese wird an<br />
alle Knoten geschickt, die diese Verb<strong>in</strong>dung momentan benutzen. Die Route Error Nachricht enthält, außer<br />
e<strong>in</strong>er Quelle und e<strong>in</strong>em Ziel, den Knoten auf der Route, der unerreichbar ist.<br />
Tritt e<strong>in</strong> Route Error auf, sieht das DSR Protokoll noch die Möglichkeit vor, dass der Knoten, der die<br />
verlorene Verb<strong>in</strong>dung erkennt, das Paket trotzdem noch zum Ziel schickt. Dazu wird die Route mit e<strong>in</strong>er<br />
alternativen Route aus dem Route Cache komb<strong>in</strong>iert, um das Paket doch noch zu senden. Diese Technik<br />
nennt sich Salvag<strong>in</strong>g.<br />
Das reaktive DSR hat gegenüber den proaktiven Protokollen den Vorteil, dass DSR nur Netzwerkverkehr<br />
generiert, wenn Pakete gesendet werden sollen. Die Verwaltung der Routen erzeugt nur e<strong>in</strong>en kle<strong>in</strong>en Aufwand,<br />
die Korrektheit der Routen ist e<strong>in</strong>fach sicherzustellen.<br />
Aus Sicht e<strong>in</strong>es <strong>Intrusion</strong> <strong>Detection</strong> Systems ist DSR gut geeignet, da die Source Routen leicht zu analysieren<br />
s<strong>in</strong>d. Durch die Source Routen wird nachvollziehbar, welche Knoten für die erfolgreiche Auslieferung<br />
e<strong>in</strong>es Paketes kooperiert haben. Das <strong>in</strong> dieser Arbeit vorgestellte MobIDS stützt sich deshalb auf DSR, wobei<br />
die zu Grunde liegenden Mechanismen auch <strong>in</strong> andere Protokolle <strong>in</strong>tegriert werden können.<br />
Bevor MobIDS erarbeitet wird, werden im nächsten Kapitel <strong>Intrusion</strong> <strong>Detection</strong> Systeme behandelt, wie sie<br />
den aktuellen Stand der Forschung ausmachen.<br />
8
Kapitel 3<br />
<strong>Intrusion</strong> <strong>Detection</strong><br />
Computer Systeme s<strong>in</strong>d verwundbar und das umso mehr, je mehr sie mit anderen Systemen <strong>in</strong>teragieren.<br />
Sicherheit ist deshalb gerade <strong>in</strong> <strong>Ad</strong> hoc <strong>Netzwerken</strong>, deren Teilnehmer sich ständig auf ihre Nachbarn verlassen<br />
müssen, wichtig. In diesem Kapitel werden wir die etablierten Sicherheitskonzepte kennenlernen, die<br />
konventionelle wie auch <strong>Ad</strong> hoc Netzwerke absichern können.<br />
3.1 Computersysteme und Sicherheit<br />
Seit es Computersysteme gibt war auch deren Schutz e<strong>in</strong> wichtiges Thema. Genügte am Anfang noch e<strong>in</strong><br />
bewachtes Gebäude, aus dem niemand etwas h<strong>in</strong>e<strong>in</strong> oder heraus tragen konnte, ist es heute nicht mehr so<br />
e<strong>in</strong>fach e<strong>in</strong> System zu schützen. Aktuelle Systeme s<strong>in</strong>d verteilt und vernetzt, oft sogar vom Internet aus<br />
erreichbar. Das macht es ungleich schwieriger das System zu schützen. Zuerst wollen wir uns Gedanken<br />
darüber machen, welche Eigenschaften e<strong>in</strong>es Systems zu schützen s<strong>in</strong>d. In [RG92] wurde e<strong>in</strong>e E<strong>in</strong>teilung<br />
vorgestellt.<br />
1. Daten-Sicherheit (<strong>in</strong>formation security)<br />
2. Kommunikations-Sicherheit (communications security)<br />
3. Schutz des Equipments (physical security)<br />
Jeden dieser drei Bereiche kann man wiederum unter drei Aspekten betrachten:<br />
1. Heimlichkeit / Vertraulichkeit (secrecy / confidentiality)<br />
2. Genauigkeit / Integrität / Echtheit (accuracy / <strong>in</strong>tegrity / authenticity)<br />
3. Verfügbarkeit (availability)<br />
9
KAPITEL 3. INTRUSION DETECTION<br />
3.2 Sicherheit für <strong>Ad</strong> hoc Netzwerke<br />
Sicherheit <strong>in</strong> Computer <strong>Netzwerken</strong> befasst sich mit allen Angriffsformen, die über e<strong>in</strong> Netzwerk ausgeführt<br />
werden können. Es gibt verschiedene Ansatzpunkte <strong>in</strong> Software und Hardware, um e<strong>in</strong> Sicherheitssystem<br />
zu <strong>in</strong>tegrieren, das vor e<strong>in</strong>em Großteil der Angriffe schützt oder sie zum<strong>in</strong>dest erkennt. Zuerst müssen wir<br />
uns aber Gedanken darüber machen, welche Komponenten Angriffe vermeiden und erkennen können.<br />
Reaktion und Kontrolle<br />
IDS<br />
System<br />
Firewall<br />
abgesichertes Rout<strong>in</strong>g<br />
fehlertolerante Kommunikation<br />
Abbildung 3.1: Schichtenmodell e<strong>in</strong>es Sicherheitssystems für <strong>Ad</strong> hoc Netzwerke<br />
In Abbildung 3.1 wird schematisch e<strong>in</strong>e Staffelung von Sicherheitmechanismen gezeigt, die für <strong>Ad</strong> hoc<br />
Netzwerke relevant s<strong>in</strong>d. Die Funkschnittstelle ist gegen physikalische Störungen der Kommunikation geschützt.<br />
Das abgesicherte Rout<strong>in</strong>g gibt bestimmte Garantien bezüglich Authentizität des Absenders und Korrektheit<br />
der Rout<strong>in</strong>g<strong>in</strong>formationen. Darauf setzt die Firewall auf, die das System von Angreifern abschottet; h<strong>in</strong>zu<br />
kommen Sicherheitsmechanismen im System selbst.<br />
Parallel zu der Firewall und der Systemsicherheit operiert die <strong>Intrusion</strong> <strong>Detection</strong>. Sie kann oberhalb des<br />
abgesicherten Rout<strong>in</strong>gs Angreifer passiv und aktiv erkennen und analysiert Aktivitäten an der Firewall und<br />
im System.<br />
Es soll nun e<strong>in</strong> kurzer Überblick über die Rahmenbed<strong>in</strong>gungen und Interaktionen mit den anderen Sicherheitskomponenten<br />
des Systems gegeben werden.<br />
3.2.1 Die Funkschnittstelle<br />
Die Datenübertragung über Radiowellen ist pr<strong>in</strong>zipbed<strong>in</strong>gt anfällig gegen Störungen. Das erste Ziel ist es gegenüber<br />
zufälligen Störungen im Frequenzband (Rauschen) unempf<strong>in</strong>dlich zu se<strong>in</strong>. Dies wird durch Spread<br />
Spectrum Kommunikation erreicht.<br />
Mit Spread Spectrum Kanalkodierung wird für Punkt zu Punkt Verb<strong>in</strong>dungen e<strong>in</strong>e hohes Maß an Sicherheit<br />
gegenüber Störungen (engl. jam) des Sendesignals erreicht. Spread Spectrum verteilt mittels e<strong>in</strong>es Spread<br />
10<br />
sicherheitsrelevanten Ereignisse
KAPITEL 3. INTRUSION DETECTION<br />
Codes die Datenübertragung auf viele unterschiedliche Frequenzen, wodurch e<strong>in</strong>e Unempf<strong>in</strong>dlichkeit gegenüber<br />
zufälligen Störungen e<strong>in</strong>er bestimmten Frequenz erreicht wird. Damit Sender und Empfänger wissen,<br />
auf welchen Frequenzen sie lauschen müssen, gibt es e<strong>in</strong>e Übere<strong>in</strong>kunft, wann auf welchen Frequenzen<br />
zu senden ist.<br />
E<strong>in</strong> willkürliches Stören mehrerer Frequenzbänder erfordert e<strong>in</strong> große Sendeleistung des Angreifers bei nur<br />
ger<strong>in</strong>ger Schadwirkung. Wie aber bei der Analyse der Angriffe auf das DSR Protokoll <strong>in</strong> Abschnitt 4.2.2<br />
später gezeigt wird, gehen <strong>Ad</strong> hoc Netzwerke heute von e<strong>in</strong>em allgeme<strong>in</strong> bekannten Spread Spectrum Codes<br />
aus, um Broadcasts durchzuführen.<br />
Das eröffnet e<strong>in</strong>en neuen Angriffspunkt: mit dem bekannten Spread Spectrum Code können Frequenzen<br />
gezielt gestört werden, auf denen e<strong>in</strong> <strong>Mobile</strong>s Gerät als nächstes senden würde. Für diesen Angriff wird<br />
aber nur e<strong>in</strong>e ger<strong>in</strong>ge Sendeleistung benötigt, wodurch solche Angriffe wieder gefährlich werden.<br />
3.2.2 Rout<strong>in</strong>g Sicherheit<br />
Das Rout<strong>in</strong>g ist bei <strong>Ad</strong> hoc <strong>Netzwerken</strong> besonders anfällig gegenüber Angriffen. In Kapitel 4 werden später<br />
verschiedene Angriffe auf DSR anaylsiert. Die meisten machten sich die Anfälligkeit des Rout<strong>in</strong>gs gegenüber<br />
Manipulationen zu Nutze.<br />
Bei DSR ist besonders die Source Route zu schützen, e<strong>in</strong> Protokoll das dies leistet wurde mit ARIADNE<br />
[HPJ02] vorgestellt. Dieses Protokoll sichert die Source Route ab, <strong>in</strong>dem jeder Knoten se<strong>in</strong>en E<strong>in</strong>trag im<br />
Route Request authentifiziert. Die Authentifizierung erlaubt festzustellen, ob der Routene<strong>in</strong>trag von e<strong>in</strong>em<br />
anderen Knoten als dem Erzeuger manipuliert wurde.<br />
Durch das Verfahren von ARIADNE können Source Routen und alle übrigen Rout<strong>in</strong>g Informationen effizient<br />
vor unauthorisierten Veränderungen geschützt werden. Dieses Verfahren hatte aber auch e<strong>in</strong>ige Nachteile,<br />
vorallem die für jedes Paket vorhandene Latenzzeit, die nicht unterschritten werden konnte. Die Arbeiten<br />
der Abteilung Medien<strong>in</strong>formatik zu diesem Thema, können für das Problem der Latenzzeit e<strong>in</strong>e Lösung<br />
bieten.<br />
3.2.3 Firewalls<br />
Ist das Rout<strong>in</strong>g abgesichert, kommen alle Pakete unverändert am Ziel an. Die Applikationen können nun<br />
aber auch direkt angegriffen werden.<br />
Idealerweise s<strong>in</strong>d Applikationen immun gegen Angriffe und können deshalb auch ungeschützt im Netzwerk<br />
zugreifbar se<strong>in</strong>. Designzwänge und verwendete Algorithmen der Applikationen machen sie angreifbar und<br />
dadurch zu e<strong>in</strong>er gefährlichen H<strong>in</strong>tertür <strong>in</strong> e<strong>in</strong> System. H<strong>in</strong>zu kommen noch Anfälligkeiten durch schlechtes<br />
Design, Programmierfehler und mangelhafte Konfiguration und Wartung des Systems.<br />
E<strong>in</strong>e effektive Möglichkeit ist, den Zugriff von außen auf diese Schwachstellen im System zu versperren.<br />
Dafür gibt es Firewalls, deren Aufgabe es ist den Zugriff von außen auf bestimmte, als sicher angesehene<br />
Applikationen zu erlauben und alle anderen Zugriffe zu verweigern. Firewalls nutzen das Konzept von<br />
TCP/IP, dass Applikationen über def<strong>in</strong>ierte und wohlbekannte Ports (Ports können als Kommunikationskanäle<br />
gesehen werden) mit der Außenwelt kommunizieren. Es genügt also, alle Ports zu sperren, bis auf<br />
die, die auch von außen zugreifbar se<strong>in</strong> müssen.<br />
11
KAPITEL 3. INTRUSION DETECTION<br />
Dieses Konzept kann die Angriffsmöglichkeiten auf e<strong>in</strong>ige Applikationen begrenzen.<br />
3.2.4 Sicherheit durch Reaktion: <strong>Intrusion</strong> <strong>Detection</strong><br />
Es wurden nun Möglichkeiten gezeigt Angriffe zu vermeiden oder abzuwehren. Diese Ansätze waren passiv<br />
gegenüber den Angriffen; es wurde versucht die Angriffe auszuschließen.<br />
Das Problem kann aber auch andersherum angegangen werden, <strong>in</strong>dem e<strong>in</strong> reaktives System e<strong>in</strong>gesetzt wird.<br />
Wenn es gel<strong>in</strong>gt Angriffe zu erkennen und das Angriffsziel festzustellen, kann e<strong>in</strong>e Gegenstrategie angewandt<br />
werden. <strong>Intrusion</strong> <strong>Detection</strong> Systeme können dies nun leisten, wie im nächsten Abschnitt gezeigt<br />
wird.<br />
3.3 Grundlagen der <strong>Intrusion</strong> <strong>Detection</strong><br />
<strong>Intrusion</strong> <strong>Detection</strong> ist oft die letzte Abwehrfront e<strong>in</strong>es Computer Systems gegen E<strong>in</strong>dr<strong>in</strong>gl<strong>in</strong>ge. Sie muss<br />
Angriffe erkennen und Gegenmaßnahmen e<strong>in</strong>leiten können.<br />
3.3.1 <strong>Intrusion</strong> <strong>Detection</strong> für Festnetze<br />
Die erste Def<strong>in</strong>ition der <strong>Intrusion</strong> <strong>Detection</strong> stammte von Andersons Publikation über <strong>Intrusion</strong> <strong>Detection</strong><br />
aus dem Jahr 1980 [And80]:<br />
The potential possibility of a deliberate unauthorized attempt to<br />
• access <strong>in</strong>formation,<br />
• manipulate <strong>in</strong>formation, or<br />
• render a system unreliable or unusable.<br />
Ähnlich def<strong>in</strong>ierten Heberle<strong>in</strong> et al. [HLM91] e<strong>in</strong>e <strong>Intrusion</strong> als<br />
... e<strong>in</strong>e Menge von Handlungen, deren Ziel es ist die Integrität, die Verfügbarkeit oder die<br />
Vertraulichkeit e<strong>in</strong>es Betriebsmittels zu kompromittieren.<br />
Ziel der <strong>Intrusion</strong> <strong>Detection</strong> ist nun möglichst alle Angriffe auf das Netzwerk zu erkennen und daraufh<strong>in</strong><br />
geeignete Maßnahmen e<strong>in</strong>zuleiten. Diese Angriffe können von außen gerichtet se<strong>in</strong>, aber auch von <strong>in</strong>nen,<br />
von e<strong>in</strong>em Benutzer mit direktem Zugang zu den Systemressourcen.<br />
E<strong>in</strong> IDS besteht deshalb aus zwei wichtigen Komponenten: Die Erkennung e<strong>in</strong>er fe<strong>in</strong>dlichen Aktivität (<strong>Intrusion</strong><br />
<strong>Detection</strong> System, IDS) und die Reaktion auf diese Erkenntnis (<strong>Intrusion</strong> Response System, IRS).<br />
ID Systeme versuchen folgenden Aufgaben gerecht zu werden:<br />
12
KAPITEL 3. INTRUSION DETECTION<br />
• Überwachung der System- und Nutzeraktivität<br />
• Vorverarbeitung der Daten<br />
• Erkennung von Angriffen auf das System<br />
• Gegenmaßnahmen auf e<strong>in</strong>en Angriff<br />
• Analyse der Verwundbarkeiten des Systems und der Systemkonfiguration<br />
Zur Erkennung der fe<strong>in</strong>dlichen Aktivität werden Audit Daten aus verschiedenen Quellen im System genutzt.<br />
Audit Daten s<strong>in</strong>d Daten die auf verschiedenen Ebenen im Netzwerk und im Computer gesammelt werden.<br />
Diese Daten können meist auf e<strong>in</strong>en Benutzer abgebildet werden.<br />
• Betriebssystem: Hier werden Daten über Ressourcenzugriffe, Nutzerverhalten und Ressourcenverbrauch<br />
protokolliert.<br />
• Applikation: Auf dieser Ebene werden spezifische Ereignisse über die Aktivität der Applikation festgehalten.<br />
Insbesondere s<strong>in</strong>d Benutzer<strong>in</strong>teraktion und resultierender Zugriff auf Ressourcen <strong>in</strong>teressant.<br />
• Netz: Es werden hier Daten über die Chrakteristika des Netzwerkverkehrs erfasst. Oft werden direkt<br />
auf Netzwerkprotokollebene die Audit Dateien geschrieben. Das führt aber später zu Schwierigkeiten<br />
e<strong>in</strong>en Zeit- und Nutzerbezug herzustellen.<br />
Die heute etablierten IDS können bei der Erkennung nach Signaturanalyse (siehe Kapitel 3.3.1.1), Anomalieerkennung<br />
(siehe Kapitel 3.3.1.2) und spezifikationsbasierter Erkennung (siehe Kapitel 3.3.1.3) unterschieden<br />
werden. Die Signaturanalyse versucht Handlungen im System zu erkennen, die bekanntermaßen<br />
schädlich s<strong>in</strong>d. Die Anomalieerkennung geht von e<strong>in</strong>em normalen Verhalten aus und schlägt bei signifikanten<br />
Abweichungen davon Alarm. Spezifikationsbasierte Erkennung def<strong>in</strong>iert das zulässige Verhalten und<br />
wertet jede Abweichung davon als kritisches Ereignis.<br />
Die Reaktion ist meist passiv, das heißt, es werden entsprechende Audit Daten erzeugt und der zuständige<br />
Sicherheitsbeauftragte alarmiert. Zu den aktiven Reaktionen e<strong>in</strong>es IDS gehört gezieltes Sammeln von Informationen<br />
über das angreifende System bis h<strong>in</strong> zum Anstoßen von Gegenmaßnahmen.<br />
E<strong>in</strong>e von der Bundesanstalt für Sicherheit <strong>in</strong> der Informationstechnik beauftragten Studie [HK98] machte<br />
folgende E<strong>in</strong>teilung der Angriffsformen auf Computersysteme und Netzwerke. Das s<strong>in</strong>d auch die typischen<br />
<strong>Intrusion</strong>s, mit denen e<strong>in</strong> IDS umgehen können muss.<br />
• Niedrige Ebene:<br />
– ARP-, IP- oder ICMP-Angriffe<br />
– Verschiedene Formen von Spoof<strong>in</strong>g<br />
– Verschiedene Formen von Überflutung<br />
13
KAPITEL 3. INTRUSION DETECTION<br />
– Verschiedene Formen von Tunneln<br />
• Mittlere Ebene:<br />
– Aktiver/passiver FTP-Angriff<br />
– DNS-, X11-, NIS- und NFS-Angriffe<br />
• Hohe Ebene:<br />
– Angriffe auf Authentisierungsmechanismen<br />
– Missbrauch von Anwendungen<br />
– Verteilter, koord<strong>in</strong>ierter Angriff<br />
3.3.1.1 Darstellung e<strong>in</strong>es IDS mit CIDF<br />
Das Common <strong>Intrusion</strong> <strong>Detection</strong> Framework (CIDF) def<strong>in</strong>iert e<strong>in</strong> Komponentenmodell zum Aufbau von<br />
<strong>Intrusion</strong> <strong>Detection</strong> Systemen. Es gibt dabei e<strong>in</strong>en Ereignisgenerator (E-Box), e<strong>in</strong>e Analysee<strong>in</strong>heit (A-Box),<br />
e<strong>in</strong>en Teil für Gegenmaßnahmen (G-Box) und schließlich e<strong>in</strong>e E<strong>in</strong>heit zur Speicherung der Daten (D-Box);<br />
siehe Abbildung 3.2.<br />
Die Internet Eng<strong>in</strong>eer<strong>in</strong>g Task Force (IETF) arbeitet mit e<strong>in</strong>er Arbeitsgruppe daran das CIDF Modell durch<br />
e<strong>in</strong> verbessertes Modell zu ersetzen. Um das Verständnis von IDS zu vertiefen, ist das CIDF aber gut geeignet.<br />
Analysis<br />
A - Box<br />
Countermeasure<br />
C - Box<br />
Event<br />
E - Box<br />
Raw<br />
Events<br />
Abbildung 3.2: Komponenten e<strong>in</strong>es IDS nach CIDF<br />
14<br />
Storage<br />
D - Box
KAPITEL 3. INTRUSION DETECTION<br />
Mit der E-Box (engl. Event Box) werden verschiedene Ereignisse des Systems (z.B. auf Netzwerkprotokollebene,<br />
Kernelebene, Applikationsebene...) erfasst und <strong>in</strong> e<strong>in</strong> e<strong>in</strong>heitliches Format gebracht. Die E-Box<br />
muss große Datenmengen verarbeiten und ist deshalb ihrerseits angreifbar durch E<strong>in</strong>dr<strong>in</strong>gl<strong>in</strong>ge.<br />
Die A-Box (engl. Analysis Box) ist die Analysee<strong>in</strong>heit. Sie nimmt die Ausgabe der E-Box und analysiert<br />
diese, meist durch Signaturanalyse. Hier können Techniken der Signaturanalyse (siehe Kapitel 3.3.1.1) und<br />
der Anomalieerkennung (siehe 3.3.1.2) zum E<strong>in</strong>satz kommen.<br />
Die D-Box führt nun Protokoll über die durch die Analysee<strong>in</strong>heit gewonnenen Daten, ebenso wie über die<br />
Daten der E-Box. Dies ermöglicht später Angriffe an Hand dieser Audit Daten nachzuvollziehen. Üblicherweise<br />
werden Datenbanken zur Speicherung dieser großen Datenmengen benutzt.<br />
Die C-Box (engl. Countermeasure Box) ist schließlich für die Alarmierung e<strong>in</strong>es Sicherheitsbeauftragten<br />
zuständig. Die C-Box kann aber noch weitergehende Fähigkeiten haben: Sie kann aktiv auf e<strong>in</strong>e <strong>Intrusion</strong><br />
reagieren, es können Schritte zur Identifizierung des Angreifers, Schutz des Systems vor weiteren Schäden<br />
und die Beseitigung entstandener Schäden Ziel se<strong>in</strong>.<br />
Meistens wird versucht Daten über den Angreifer zu sammeln um se<strong>in</strong>e Identität festzustellen, <strong>in</strong>dem<br />
beispielsweise der E<strong>in</strong>wahlpunkt <strong>in</strong>s Internet <strong>in</strong> Erfahrung gebracht wird, ebenso wie versucht wird e<strong>in</strong><br />
möglichst charakteristisches Bild von dem System des Angreifers zu bekommen (z.B. durch Portscans).<br />
Diese Daten ermöglichen es dann später e<strong>in</strong>e Strafverfolgung e<strong>in</strong>zuleiten. Es ist sogar e<strong>in</strong> Gegenangriff<br />
durch e<strong>in</strong> IRS durch e<strong>in</strong>en Denial of Service Angriff auf das System des Angreifers denkbar.<br />
Hostbasierte IDS<br />
IDS, die nur auf e<strong>in</strong>em Host arbeiten, werden hostbasiert genannt. Alle IDS waren am Anfang hostbasiert,<br />
da es kaum Netzwerke gab. Hostbasierte IDS analysieren das Systemverhalten aus Sicht des Hosts, <strong>in</strong>dem<br />
alle lokal vorhandenen Informationen wie Audit Informationen des Betriebsystems analysiert werden. Da<br />
die Laufzeit dieser Art IDS sehr lange ist, werden sie zumeist nur e<strong>in</strong>mal am Tag aktiviert.<br />
Hostbasierte IDS können feststellen, ob Angriffe erfolgreich waren oder nicht. Der Nachteil von hostbasierten<br />
IDS ist, dass diese nur vergangene Angriffe entdecken, sie können ke<strong>in</strong>e Aussage machen, wie e<strong>in</strong><br />
Angriff zu Stande kam. Gel<strong>in</strong>gt es dem Angreifer Kontrolle über den Rechner zu erhalten, kann er alle H<strong>in</strong>weise<br />
löschen, die das hostbasierte IDS erkennen könnte. Gibt es e<strong>in</strong>e Reihe von Angriffen auf verschiedene<br />
Rechner im Netzwerk, werden diese Ereignisse nicht <strong>in</strong> Zusammenhang gebracht.<br />
Netzbasierte IDS<br />
Netzbasierte IDS analysieren die e<strong>in</strong>zelnen Pakete im Netzwerk auf Angriffsmuster. Sie laufen <strong>in</strong> Echtzeit<br />
ab und können Angriffe durch e<strong>in</strong>e geeignete Reaktion verh<strong>in</strong>dern. E<strong>in</strong> netzbasiertes IDS kann mehreren<br />
Rechner schützen, muss allerd<strong>in</strong>gs Zugriff die gesamte Kommunikation im Netzwerk haben. Verschlüsselte<br />
15
KAPITEL 3. INTRUSION DETECTION<br />
Verb<strong>in</strong>dungen verh<strong>in</strong>dern den erfolgreichen E<strong>in</strong>satz von netzbasierten IDS. Diese können Attacken erkennen,<br />
die zu ke<strong>in</strong>en E<strong>in</strong>trägen im Audit führen und deshalb nicht von hostbasierten Systemen erkannt werden.<br />
Beispiele solcher Angriffe s<strong>in</strong>d Manipulationen an den Status<strong>in</strong>formationen der Pakete und Angriffe, die<br />
ke<strong>in</strong>en Erfolg hatten.<br />
3.3.1.2 Signaturanalyse (Misuse <strong>Detection</strong>)<br />
Bei Signaturanalysesystemen (engl. Misuse <strong>Detection</strong> Systems) wird versucht e<strong>in</strong> schädliches Verhalten<br />
oder gar e<strong>in</strong>en Angriff zu erkennen. In diesen Systemen werden große Datenbanken gepflegt, <strong>in</strong> denen verschiedene<br />
Angriffsmuster (Signaturen) gespeichert s<strong>in</strong>d. Das ID System wendet nun diese Signatur auf die<br />
anfallenden Audit Daten an. Es werden dafür die verschiedenen Ausgaben der E-Box auf bekannte Signaturen<br />
von Angriffen untersucht; dabei wird meist e<strong>in</strong> e<strong>in</strong>faches ”Pattern Match<strong>in</strong>g” verwandt, also die 1 zu 1<br />
Überprüfung auf Übere<strong>in</strong>stimmung. Bei e<strong>in</strong>em solchen primitiven Pattern Match<strong>in</strong>g s<strong>in</strong>d alle Permutationen<br />
e<strong>in</strong>es Angriffs <strong>in</strong> der Datenbank aufzunehmen.<br />
Die Ausgabe des Systems ist nur e<strong>in</strong> ’Angriff erkannt’/’ke<strong>in</strong> Angriff erkannt’, es gibt also ke<strong>in</strong>e differenzierte<br />
Analyse der Schwere des Angriffs. Lediglich die Häufigkeit dieser Angriffe ist ersichtlich, die Schwere<br />
geht daraus nicht hervor.<br />
Experten Systeme s<strong>in</strong>d immer noch sehr verbreitet. Deren Datenbank besteht aus e<strong>in</strong>em Satz hart kodierter<br />
Regeln, oft <strong>in</strong> der Form von if.. then.. else.. Konstrukten. Es wird auf e<strong>in</strong>e Anomalie (gefährliche<br />
Signatur) geprüft und e<strong>in</strong>e Reaktion darauf festgelegt. Solche Regeln können zum Beispiel: if ’Anomalie<br />
erkannt’ then ’Sperre-Account’ se<strong>in</strong>. Mit IDES [DN85] wurde durch Denn<strong>in</strong>g und Neumann e<strong>in</strong> frühes Experten<br />
System geschaffen.<br />
Die Qualität der Erkennung hängt sehr stark von der Qualität der Regeln und der Aktualität der Datenbank<br />
ab, außerdem müssen die Regeln an das spezifische Netzwerk angepasst werden.<br />
Zustandsautomaten könne auch zur Signaturanalyse verwendet werden. Es wird abstrahiert, dass bei Angriffsversuchen<br />
mehrere Zustände durchlaufen werden. Der Zustand des zu überwachenden Systems wird<br />
mit e<strong>in</strong>em Zustandsautomaten dargestellt. Das IDS verwaltet nun für die bekannte Angriffe je e<strong>in</strong> Zustandsübergangsdiagramm.<br />
Das IDS versucht nun die Zustandsübergänge mit dem Diagramm der Angriffe zu vergleichen.<br />
Das Erreichen e<strong>in</strong>es Endknotens <strong>in</strong> e<strong>in</strong>em Angriffsbaum bedeutet, dass das beobachtete Verhalten<br />
als Angriff gilt und signalisiert wird. Die abstrahierten Zustandsübergänge und die leichter verständliche<br />
Darstellung e<strong>in</strong>es Angriffs s<strong>in</strong>d e<strong>in</strong> großer Vorteil dieses Systems. Es hat damit die Fähigkeit nur Aktionen<br />
zu betrachten, die e<strong>in</strong>en Angriff signalisieren, und Aktionen, die e<strong>in</strong> Pattern Match<strong>in</strong>g System ablenken<br />
würden, nicht zu berücksichtigen. Das STAT System [Por92] war das erste System mit dieser Technik.<br />
Bewertung der Signaturanalyse<br />
Die Signaturanalyse ist das am Markt etablierte System. Es gibt auch e<strong>in</strong>e Reihe von praktischen Gründen<br />
für diese Technik:<br />
16
KAPITEL 3. INTRUSION DETECTION<br />
• Installations- und Wartungsaufwand s<strong>in</strong>d ger<strong>in</strong>g. In der Regel können direkt vom Hersteller aktuelle<br />
Signaturen bezogen und e<strong>in</strong>gespielt werden.<br />
• Die IDS s<strong>in</strong>d effizient, da die verwendeten Algorithmen oft nur ger<strong>in</strong>ge Komplexität haben.<br />
• Attacken im Internet werden oft durch Skripte ausgeführt und folgen deshalb e<strong>in</strong>em exakt bestimmbaren<br />
Muster, aus dem dann leicht e<strong>in</strong>e passende Signatur erzeugt werden kann.<br />
• E<strong>in</strong> erkannter Alarm ist <strong>in</strong> den Audit Daten leicht überprüfbar und nachvollziehbar.<br />
• Solche Systeme haben nur e<strong>in</strong>e ger<strong>in</strong>ge Rate von Fehlalarmen (engl. false positive rate)<br />
Die Signaturanalyse hat aber auch Nachteile:<br />
• Unbekannte, neue Angriffsarten können nicht erkannt werden.<br />
• Das System ist sehr abhängig von der Qualität der Regeln und Flexibilität des Erkennungsmodells.<br />
• Bei pattern match<strong>in</strong>g genügt e<strong>in</strong>e leichte Abwandlung des Angriffs um nicht erkannt zu werden.<br />
• Die Anpassung der Signaturdaten an e<strong>in</strong> spezifisches System ist sehr aufwändig.<br />
3.3.1.3 Anomalieerkennung (Anomaly <strong>Detection</strong>)<br />
Die Anomalieerkennung (engl. Anomaly <strong>Detection</strong>) geht davon aus, dass der Nutzer e<strong>in</strong>es Systems e<strong>in</strong> statistisch<br />
erfassbares und regelmäßiges Verhalten zeigt. Die Nutzungszeit, die Häufigkeit der Nutzung, der<br />
Ressourcenverbrauch und regelmäßig genutzte Programme können e<strong>in</strong> dafür benötigtes Nutzerprofil bilden.<br />
Nun wird angenommen, dass signifikante Abweichungen von diesem Profil e<strong>in</strong>en Angriff signalisieren. Der<br />
Ausgabewert gibt an, wie stark die Abweichung vom Normalverhalten ist, also mit welcher wahrsche<strong>in</strong>lich<br />
e<strong>in</strong> Angriff erkannt wird. Abhängig davon können verschiedene abgestimmte Reaktionen und Benachrichtigungen<br />
erfolgen.<br />
Die Anomalieerkennungssysteme können <strong>in</strong> programmierte und <strong>in</strong> selbstlernende Systeme unterteilt werden.<br />
Im ersten Fall werden die als normal angesehenen Parameter fest def<strong>in</strong>iert. Der Nachteil ist, dass das<br />
System bei sich änderndem Nutzerverhalten und sich ändernden Parametern ke<strong>in</strong>e s<strong>in</strong>nvolle Erkennung<br />
mehr liefern kann.<br />
Selbstlernende Systeme versuchen dynamisch, meist über e<strong>in</strong> Zeitfenster, das Benutzerverhalten statistisch<br />
zu erfassen. Um diese Systeme zu starten müssen sie am Anfang erst mit Referenzdaten angelernt werden.<br />
Bei lernenden Systemen haben die Referenzdaten e<strong>in</strong>en entscheidenden E<strong>in</strong>fluss auf die Qualität der Erkennung.<br />
17
KAPITEL 3. INTRUSION DETECTION<br />
Datenanalyse<br />
Bei der statistischen Analyse wird zuerst versucht das normale Verhalten der Benutzer durch verschiedene<br />
Parameter zu erfassen. Dazu werden die Parameter am aktuellen System analysiert und es wird versucht<br />
Normalwerte und Varianz zu bestimmen. Es ist <strong>in</strong> manchen IDS auch möglich das Verhalten durch bed<strong>in</strong>gte<br />
Wahrsche<strong>in</strong>lichkeiten zu erfassen, unter Zuhilfenahme von zustandsabhängigen Parametern. Typische Parameter<br />
s<strong>in</strong>d CPU- und Netzwerkauslastung, Zugriffe auf Ressourcen, Log<strong>in</strong> Versuche, Nutzungsfrequenzen,<br />
etc... .<br />
E<strong>in</strong> e<strong>in</strong>faches System der statistischen Analyse ist es, daraus Schwellenwerte (engl. threshold) zu bilden<br />
und diese <strong>in</strong> das IDS zu speisen. Das aktuelle Verhalten e<strong>in</strong>es Benutzers wird nun <strong>in</strong> den gleichen Metriken<br />
erfasst. Überschreitet e<strong>in</strong> Parameter nun e<strong>in</strong>en Schwellenwert, wird das als <strong>Intrusion</strong> angesehen und die C-<br />
Box übernimmt die weiteren Schritte.<br />
Man kann noch e<strong>in</strong> Schritt weiter gehen: Oft ist es nämlich aufschlussreich, <strong>in</strong> welcher Reihenfolge bestimmte<br />
Aktionen ausgeführt werden. Deshalb wird versucht vorherzusagen, welche Reihenfolge von Befehlen<br />
normal ist; Abweichungen von der erwarteten Sequenz werden signalisiert. Wenke Lee stellte e<strong>in</strong>en<br />
Satz von geeigneten <strong>in</strong>formationstehoretischen Maßen [LX00] vor, mit denen Audit Daten auf Anomalien<br />
h<strong>in</strong> analysiert werden können. Dazu werden die Daten mit bestimmten Funktionen charakterisiert und die<br />
Daten entsprechend strukturiert, so e<strong>in</strong>e möglichst präzise Aussage möglich ist.<br />
Def<strong>in</strong>ition 1 (Entropie). Für Daten X, bei denen jedes Element x ∈ CX ist, ist CX die Klasse der Daten und<br />
P(x) die Wahrsche<strong>in</strong>lichkeit von x <strong>in</strong> X und es gelte<br />
H(X) = ∑ P(X)log<br />
x∈CX<br />
1<br />
P(x)<br />
Die Entropie bezeichnet den Informationsgehalt. Man kann es sich so vorstellen, je mehr Bits benötigt werden,<br />
um e<strong>in</strong>e Nachricht zu kodieren, desto größer ist der Informationsgehalt und desto größer entsprechend<br />
die Entropie. In der Anomalieerkennung wird die Entropie verwendet, um die Regularität der Daten zu<br />
messen. Alle Daten und Kommandos, die im Normalbetrieb vorkommen, werden als Basis für die spätere<br />
Berechnung def<strong>in</strong>iert. Für den regulären Betrieb sollten dann immer nur kle<strong>in</strong>e Entropien errechnet werden,<br />
für e<strong>in</strong> abweichendes, abnormales Verhalten dagegen e<strong>in</strong>e große Entropie.<br />
Entsprechend kann man dann auch die relative Entropie def<strong>in</strong>ieren als:<br />
Def<strong>in</strong>ition 2 (relative Entropie).<br />
relEntropie(p|q) = ∑ p(x)log<br />
x∈CX<br />
p(x)<br />
q(x)<br />
Das ist nun der Abstand zwischen zwei Wahrsche<strong>in</strong>lichkeitsverteilungen p(x) und q(x), die beide Element<br />
CX s<strong>in</strong>d. Für IDS wird nun e<strong>in</strong> Tra<strong>in</strong><strong>in</strong>gsdatensatz genommen und mit Hilfe der relativen Entropie mit den<br />
aktuellen Daten im System verglichen. Je kle<strong>in</strong>er diese Entropie, desto ähnlicher und regulärer s<strong>in</strong>d die Daten.<br />
E<strong>in</strong> solcher Tra<strong>in</strong>igsdatensatz kann aus e<strong>in</strong>em laufenden System genommen werden oder konstruiert<br />
se<strong>in</strong>. Ist er konstruiert, muss man wachsam se<strong>in</strong>, dass nicht bereits das normale Benutzerverhalten Abweichungen<br />
von den konstruierten Daten aufweist.<br />
18
KAPITEL 3. INTRUSION DETECTION<br />
Def<strong>in</strong>iert man nun die relative konditionale Entropie als<br />
Def<strong>in</strong>ition 3 (relative konditionale Entropie).<br />
relKondEntropie(p|q) = ∑ p(x|y)log<br />
x,y∈CX ,∈CY<br />
p(x|y)<br />
q(x|y)<br />
erhält man die obige Formel für Sequenzen für Ereignisse.<br />
p(x|y) gibt die Wahrsche<strong>in</strong>lichkeitsverteilung <strong>in</strong> Abhängigkeit e<strong>in</strong>es vorigen Ereignisses y an. Damit werden<br />
also <strong>in</strong> e<strong>in</strong>em IDS Sequenzen von Ereignissen analysiert.<br />
Def<strong>in</strong>ition Informationgew<strong>in</strong>n (Information Ga<strong>in</strong>) von Attribut A auf Datensatz X ist<br />
Def<strong>in</strong>ition 4 (Informationsgew<strong>in</strong>n).<br />
|Xv|<br />
Ga<strong>in</strong>(X,A) = H(X) − ∑ |X| v∈Values(A)<br />
H(X)<br />
Values(A) gibt alle möglichen Werte von A an. Xv ist e<strong>in</strong>e Teilmenge von X, <strong>in</strong> der A den Wert x hat. Mit<br />
diesem Maß kann nun auf der Datenmenge bestimmt werden, wie hoch der Informationsgew<strong>in</strong>n bei e<strong>in</strong>er<br />
bestimmten Aufspaltung der Datenmenge ist. Je höher GAIN für diese Aufspaltung, desto schärfer können<br />
die Daten charakterisiert werden.<br />
Zusammenfassung: Vorgehen bei der Datenanalyse für die Anomalieerkennung<br />
Zuerst muss e<strong>in</strong> sauberer Tra<strong>in</strong><strong>in</strong>gsdatensatz zusammengestellt werden. Dieser soll das Verhalten der Benutzer<br />
möglichst gut widerspiegeln. Dieser Tra<strong>in</strong>igsdatensatz muss aber ohne Angriffe vorliegen (sonst würde<br />
das System diese Angriffe als Normalzustand ansehen).<br />
Danach wird nun der Informationsgew<strong>in</strong>n für bestimmte Partitionierungen maximiert. Auf dieser gefundenen<br />
Partitionierung wird nun weitergearbeitet. Können nur ger<strong>in</strong>ge Informationsgew<strong>in</strong>ne gefunden werden,<br />
ist auch die Erkennungsrate des IDS unbefriedigend.<br />
Jetzt können z.B. mit der relativen konditionalen Entropie Abweichungen der laufenden Daten festgestellt<br />
werden. Das Ziel ist das System so e<strong>in</strong>zustellen, dass möglichst viele echte Angriffe zu e<strong>in</strong>em Alarm führen,<br />
es aber wenige Fehlalarme gibt.<br />
Bewertung der Anomalieerkennung<br />
Die Anomalieerkennung ist auch heute noch e<strong>in</strong> Thema aktueller Forschung und vieler Publikationen. Diese<br />
Systeme bieten e<strong>in</strong>ige Vorteile:<br />
• Automatische Erkennung auch von unbekannten Angriffen.<br />
• E<strong>in</strong> perfekt an die Parameter e<strong>in</strong>es Zielsystems angepasstes IDS kann so theoretisch Angriffe erkennen,<br />
die nicht durch Signaturanalyse erkannt werden.<br />
19
KAPITEL 3. INTRUSION DETECTION<br />
• Dynamische Anpassung an sich ändernde Konfiguration des zu schützenden Systems.<br />
Es gibt leider noch e<strong>in</strong>e Reihe von Nachteilen, die die praktische Nutzung der re<strong>in</strong>en Anomalieerkennung<br />
bisher verwehrt haben.<br />
• Die hohe Rate von Fehlalarmen führt <strong>in</strong> der Praxis dazu, dass die wirklich stattf<strong>in</strong>denden Angriffe<br />
<strong>in</strong> der Menge der Fehlalarme übersehen werden. Es gibt Angriffe, die das ausnutzen, <strong>in</strong>dem viele<br />
Fehlalarme provoziert werden.<br />
• Das Ergebnis ist oft nur ’ungewöhnliches Verhalten beobachtet’, die Analyse muss dann wieder ganz<br />
der <strong>Ad</strong>m<strong>in</strong>istrator leisten. E<strong>in</strong>e automatische Reaktion ist somit ausgeschlossen.<br />
• Viele Attacken werden nicht erkannt, weil ke<strong>in</strong>e passende Metrik spezielle Angriffe registriert.<br />
• Die selbst lernenden Systeme können durch e<strong>in</strong>en Angreifer so tra<strong>in</strong>iert werden, dass der eigentliche<br />
Angriff unerkannt bleibt.<br />
• Die Referenzdaten müssen ohne jegliche <strong>Intrusion</strong> se<strong>in</strong>; dies kann aber nur durch aufwändige Analysen<br />
sichergestellt werden.<br />
• Die Wahl der Schwellenwerte ist sehr schwierig und nicht determ<strong>in</strong>istisch bestimmbar.<br />
• Solche Systeme registrieren langsame Attacken, die unter dem Schwellenwert bleiben, nicht, obwohl<br />
die Schadwirkung beträchtlich se<strong>in</strong> kann.<br />
• Computer und Netzwerke ändern sich <strong>in</strong> der Regel sprunghaft (neue Hardware, viele neue Benutzer,...)<br />
und überlagern durch die Menge der Fehlalarme wichtige Alarme im IDS.<br />
Re<strong>in</strong>e Anomalieerkennung gibt es <strong>in</strong> der Praxis bisher nicht. Diese Techniken werden hauptsächlich <strong>in</strong><br />
hybriden Systemen als Ergänzung zur Signaturanalyse verwandt.<br />
3.3.1.4 Spezifikationsbasierte <strong>Intrusion</strong> <strong>Detection</strong><br />
Spezifikationsbasierte <strong>Intrusion</strong> <strong>Detection</strong> ist der jüngste Ansatz der <strong>Intrusion</strong> <strong>Detection</strong>, erstmals e<strong>in</strong>geführt<br />
durch Ko 1996 [KFL96]. Das Revolutionäre daran ist, genau zu spezifizieren, was e<strong>in</strong>er Software erlaubt<br />
ist. Jedes feststellbare nicht spezifizierte Verhalten wird als <strong>Intrusion</strong> gewertet. Dieser Ansatz ist ähnlich der<br />
Anomalieerkennung, verlässt sich aber nicht auf schwer nachvollziehbare mathematischen Regeln, sondern<br />
auf händische Spezifikationen des Programms.<br />
Für diesen Ansatz werden meist e<strong>in</strong>fache, zum Teil kontextfreie Grammatiken verwendet, welche die genauen<br />
Rechte festlegen. Es werden vor allem die Schnittstellen zwischen Programm und Betriebsystem und<br />
zwischen Programm und Rechte über andere Programme spezifiziert.<br />
20
KAPITEL 3. INTRUSION DETECTION<br />
Bewertung<br />
Die spezifikationsbasierte ID liefert experimentell sehr gute Ergebnisse; ke<strong>in</strong>e Fehlalarme bei guter Erkennungsrate.<br />
Dennoch gibt es auch hier positive und negative Aspekte zu beleuchten.<br />
Vorteile der spezifikationsbasierten <strong>Intrusion</strong> <strong>Detection</strong>:<br />
• Die Regeln s<strong>in</strong>d verständlich und nachvollziehbar. Bei e<strong>in</strong>er <strong>Intrusion</strong> ist ganz genau feststellbar, was<br />
sie versuchte und nicht durfte. Die C-Box kann dementsprechend automatisch reagieren.<br />
• Die Regeln s<strong>in</strong>d vor Ort anpassbar.<br />
• Verschiedenen Programmen können unterschiedliche Profile zugeteilt werden.<br />
• Ke<strong>in</strong> Wissen über Angreifer oder Angriff ist nötig für die Erkennung.<br />
• Es s<strong>in</strong>d auch Fehler der Software auffangbar.<br />
Nachteile bei dieser Methode:<br />
• Für alle Programme im System sollten Spezifikationen existieren. Programme ohne Spezifikation s<strong>in</strong>d<br />
sonst e<strong>in</strong> Angriffspunkt.<br />
• Es ist e<strong>in</strong> großer Aufwand e<strong>in</strong>e Software so zu spezifizieren, dass sie ohne Alarm <strong>in</strong> diesem System<br />
funktioniert.<br />
• Die Granularität, nur die offenen Schnittstellen zu spezifizieren, reicht nicht aus. Es kann zum Beispiel<br />
wünschenswert se<strong>in</strong> den Zugriff auf bestimmte Teile e<strong>in</strong>er Datei zu erlauben, auf andere Teile aber zu<br />
verwehren.<br />
3.3.1.5 Der Anfang der <strong>Intrusion</strong> <strong>Detection</strong><br />
E<strong>in</strong> erstes Pioniersystem wurde durch Anderson vorgestellt [And80]. Dieses System konnte bereits Audit<br />
Daten automatisch analysieren und war e<strong>in</strong> erstes Signaturanalyse System für Ma<strong>in</strong>frames. Anderson gab<br />
mit dieser Publikation den Anstoß zur Entwicklung automatischer <strong>Intrusion</strong> <strong>Detection</strong> Systeme.<br />
Bereits 1972 hatte Anderson [And80] angefangen für militärische Computersysteme Tools zu schaffen, mit<br />
denen große Mengen an Audit Daten auf <strong>Intrusion</strong>s überprüft werden konnten. Auch <strong>in</strong> kommerziell genutzten<br />
Computernetzwerken wurden die Angriffe häufiger und rege Forschungsaktivität setzte e<strong>in</strong>, um diese zu<br />
erkennen und zu vereiteln.<br />
<strong>Intrusion</strong> <strong>Detection</strong> Systeme (kurz IDS) wurden <strong>in</strong> den 80er Jahren auch für kommerziell betriebene Rechenzentren<br />
e<strong>in</strong> Thema. In den USA wurden damals Blue Boxes verkauft, Geräte, mit denen kostenlose<br />
Anrufe getätigt werden konnten, <strong>in</strong>dem bestimmte von der Telefongesellschaft <strong>in</strong>tern genutzen Signale erzeugt<br />
wurden. Diese Angriffe wurden damals manuell mühsam aus logfiles rekonstruiert, jedoch mit ger<strong>in</strong>gen<br />
Erfolgen, da die Datenmengen e<strong>in</strong>fach zu groß waren. AT&T setzte damals e<strong>in</strong>es der ersten <strong>Intrusion</strong><br />
<strong>Detection</strong> Systeme e<strong>in</strong>, um diese Manipulationen zu erkennen und e<strong>in</strong>e Strafverfolgung zu ermöglichen.<br />
21
KAPITEL 3. INTRUSION DETECTION<br />
E<strong>in</strong>e weitere Arbeit auf diesem Gebiet war IDES von Denn<strong>in</strong>g und Neumann [DN85]. Für das IDES System<br />
wird angenommen, dass es e<strong>in</strong> normales Verhalten der Benutzer gibt: Angriffe und Manipulationen am System<br />
weichen dagegen von dem Standard Verhalten ab und s<strong>in</strong>d deshalb verdächtig. Dieses System wertete<br />
Audit Daten des Systems aus und erstellte für jeden Benutzer e<strong>in</strong> Profil über die letzten 50 Tage. Es wurden<br />
Audit über CPU Last, Log<strong>in</strong>versuche pro Stunde oder auch ausgeführte Befehle je Session ausgewertet.<br />
Diese ersten Systeme haben alle nachfolgenden IDS entscheidend geprägt, nun sollen aber die Lösungen für<br />
<strong>Ad</strong> hoc Netzwerke vorgestellt werden.<br />
3.3.2 Diskussion der Ansätze und ihrer Verwendbarkeit für <strong>Ad</strong> hoc Netzwerke<br />
Es wurden bis jetzt IDS Systeme für drahtgebundene Netzwerke vorgestellt. Diese haben sich <strong>in</strong> der Praxis<br />
bewährt und s<strong>in</strong>d <strong>in</strong>zwischen unverzichtbarer Bestandteil für den Schutz von Computer <strong>Netzwerken</strong> geworden.<br />
Können diese bestehenden Systeme, entsprechend modifiziert, e<strong>in</strong> gleiches Maß an Sicherheit auch für<br />
<strong>Ad</strong> hoc Netzwerke etablieren?<br />
Viele Ansätze der ID s<strong>in</strong>d bisher zentral organisiert; dies ermöglichte e<strong>in</strong>e leichtere <strong>Ad</strong>m<strong>in</strong>istration und reduzierte<br />
die Angriffsmöglichkeiten auf das IDS selbst. <strong>Ad</strong> hoc Netzwerke gehen dagegen von e<strong>in</strong>er sehr dynamischen<br />
Struktur mit ständig wechselnden Teilnehmern aus. Zuerst wäre e<strong>in</strong> Teilnehmer auszuwählen, dessen<br />
Hardware e<strong>in</strong> solches zentrales System beherbergen sollte. Dieser Teilnehmer müsste vertrauenswürdig<br />
se<strong>in</strong>, se<strong>in</strong> System müsste von allen Punkten im Netz erreicht werden können und das System selbst müsste<br />
Zugriff auf die Kommunikation zwischen allen Knoten haben.<br />
• Das erste Problem ist schon, <strong>in</strong> e<strong>in</strong>em Netzwerk den erforderlichen, absolut vertrauenswürdigen<br />
Teilnehmer zu f<strong>in</strong>den. In <strong>Ad</strong> hoc Netzen s<strong>in</strong>d per se beim E<strong>in</strong>tritt e<strong>in</strong>es Teilnehmers ke<strong>in</strong>e Informationen<br />
über diesen verfügbar. Vertrauen muss <strong>in</strong> irgende<strong>in</strong>er Form erst aufgebaut werden - unmöglich<br />
e<strong>in</strong>e Wahl zu treffen <strong>in</strong> der <strong>in</strong>itialen Phase, wenn e<strong>in</strong> <strong>Ad</strong> hoc Netz sich erstmals bildet.<br />
• Das nächste Problem wäre die Kommunikation des zentralen IDS mit den Teilnehmern. Durch die<br />
Hop zu Hop Kommunikation e<strong>in</strong>es <strong>Ad</strong> hoc Netzes würden alle Daten über die umliegenden Knoten<br />
des IDS geleitet. Diese wären also stark beansprucht und, abgesehen von dem hohen Energieverbrauch<br />
an diesen Knoten, würden die Nachbarn alle<strong>in</strong>e schon wegen der ger<strong>in</strong>gen zur Verfügung stehenden<br />
Bandbreite e<strong>in</strong>en Bottelneck <strong>in</strong> der Kommunikation darstellen.<br />
• Schließlich müsste das IDS auch noch alle verfügbaren Daten im Netz analysieren können. Es ist davon<br />
auszugehen, dass sich immer e<strong>in</strong> Teil der Kommunikation außerhalb der Empfangsreichweite des<br />
zentralen IDS zuträgt. Bei e<strong>in</strong>er solchen zentralen Lösung müssten viele Datenströme über das IDS<br />
umgeleitet werden. Das wäre bei der typischen Kommunikationshardware e<strong>in</strong>es <strong>Ad</strong> hoc Netzwerkes<br />
nicht realisierbar.<br />
22
KAPITEL 3. INTRUSION DETECTION<br />
• Wenn es e<strong>in</strong> solches zentrales IDS gäbe, müsste immer noch das Nachfolgeproblem gelöst werden:<br />
Was ist zu tun, wenn der Teilnehmer, der das IDS betrieben hat, das Netz verlässt oder zeitweise von<br />
den anderen Knoten nicht erreicht werden kann? Dann müsste e<strong>in</strong> IDS an anderer Stelle gestartet<br />
werden, möglichst mit dem Wissen von den bisher gesammelten Daten.<br />
3.4 <strong>Intrusion</strong> <strong>Detection</strong> im mobilen <strong>Ad</strong> hoc Netzwerk<br />
3.4.1 Die besonderen Probleme der traditionellen IDS mit <strong>Ad</strong> hoc <strong>Netzwerken</strong><br />
Zu den Problemen der typischen zentralen IDS Systemen kommen noch spezifische Sicherheitsprobleme<br />
e<strong>in</strong>es <strong>Ad</strong> hoc Netzes.<br />
• Die Kommunikation erfolgt über e<strong>in</strong> öffentliches Medium, die Luft. Jeder <strong>in</strong> Empfangsreichweite<br />
kann die Radiowellen belauschen und erhält somit Zugriff auf die Kommunikation. E<strong>in</strong> böswilliger<br />
Knoten könnte sogar Daten <strong>in</strong> den Verkehr e<strong>in</strong>schleusen und fremde Daten fälschen.<br />
• Das Kommunikationsmedium, die Luft als Radiowellenträger, muss mit allen Teilnehmern geteilt<br />
werden. Die verfügbare Bandbreite ist begrenzt und zudem s<strong>in</strong>d die Übertragungen störanfällig gegenüber<br />
anderen Teilnehmern und äußeren E<strong>in</strong>flüssen.<br />
• Bei den traditionellen ID Systemen fallen große Datenmengen an, die e<strong>in</strong>e hohe Rechenleistung<br />
benötigen, um diese zu analysieren. Bei <strong>Ad</strong> hoc <strong>Netzwerken</strong> s<strong>in</strong>d typischerweise die Ressourcen<br />
begrenzt. Die meisten Geräte werden mit Batterien oder Akkumulatoren als Energiequelle betrieben<br />
und müssen sparsam mit Rechen- und Festplattenressourcen umgehen.<br />
• Die meisten bestehenden IDS verlassen sich <strong>in</strong> letzter Instanz auf das Urteil e<strong>in</strong>es gelernten <strong>Ad</strong>m<strong>in</strong>istrators,<br />
der die Entscheidung über Reaktion und Schwere e<strong>in</strong>es Angriffs fällt. In <strong>Ad</strong> hoc <strong>Netzwerken</strong><br />
muss von ungelernten Endnutzern ausgegangen werden, denen das Verständnis von Netz<strong>in</strong>terna und<br />
Sicherheitsmechanismen fehlt. Deshalb können diese nur schwer e<strong>in</strong> Urteil über eventuelle Angriffe<br />
fällen.<br />
• <strong>Ad</strong> hoc Netzwerke brauchen, um zu funktionieren, die Kooperation möglichst aller Teilnehmer. Speziell<br />
der Aufbau der Routen im Netz sowie das Weiterleiten von Paketen liegen <strong>in</strong> der Pflicht jedes<br />
e<strong>in</strong>zelnen Knoten. Diese Knoten könnten aber versuchen die eigenen Ressourcen zu schonen, <strong>in</strong>dem<br />
nur im eigenen Nutzen kommuniziert wird. Fremde Pakete würden dann nicht weitergeleitet und e<strong>in</strong><br />
solcher Knoten würde dann auch am Aufbau von Routen nicht teilnehmen. E<strong>in</strong> solches Verhalten<br />
nennen wir Egosimus.<br />
23
KAPITEL 3. INTRUSION DETECTION<br />
Anforderungen an e<strong>in</strong> IDS <strong>in</strong> e<strong>in</strong>em dynamischen <strong>Ad</strong> hoc Netzwerk:<br />
1. E<strong>in</strong> IDS muss nicht nur böswillige Knoten erkennen, sondern auch zur Kooperation im Netzwerk<br />
motivieren.<br />
2. Das IDS muss dezentral ausgelegt se<strong>in</strong>. Es darf nicht mehr von e<strong>in</strong>em Punkt im Netzwerk ausgegangen<br />
werden, durch den alle Datenströme serialisiert durchgereicht werden.<br />
3. Das IDS muss davon ausgehen, dass <strong>in</strong> der Startphase ke<strong>in</strong>e <strong>in</strong>itiale Vertrauensbeziehungen zwischen<br />
den Teilnehmern vorhanden s<strong>in</strong>d. Die Teilnehmer kennen sich typischerweise gegenseitig nicht.<br />
4. Das System muss die vorhandenen Ressourcen sparsam nutzen. Insbesondere Energiespeicher, Rechenkapazität,<br />
Speicherplatz und Kommunikation sollen möglichst für den Endanwender reserviert<br />
bleiben.<br />
5. Es werden ständig neue Angriffsmethoden entwickelt, deshalb ist es wichtig, dass das System erweiterbar<br />
ist, um auf neue Bedrohungen reagieren zu können.<br />
Diese neuen Anforderungen, die durch die <strong>Ad</strong> hoc Netzwerke entstanden s<strong>in</strong>d, haben e<strong>in</strong> neues Teilgebiet<br />
<strong>in</strong> der Sicherheitsforschung geschaffen: Die <strong>Intrusion</strong> <strong>Detection</strong> <strong>in</strong> mobilen Netzen.<br />
3.4.2 Aktuelle Forschung zur <strong>Intrusion</strong> <strong>Detection</strong> <strong>in</strong> mobilen <strong>Ad</strong> hoc <strong>Netzwerken</strong><br />
In diesem Kapitel werden verschiedene Verfahren der aktuellen Forschung zur Erkennung von böswilligen<br />
und nicht kooperativen Knoten vorgestellt. Es ist erkennbar, wie aktuell dieses Thema ist, wenn man sieht,<br />
dass die meisten Arbeiten zu <strong>Intrusion</strong> <strong>Detection</strong> im <strong>Mobile</strong>n <strong>Ad</strong> hoc <strong>Netzwerken</strong> erst <strong>in</strong> den letzten drei<br />
Jahren entstanden s<strong>in</strong>d.<br />
Die Ansätze haben teilweise verschiedene Ziele: Während mit Watchdog und Pathrater e<strong>in</strong> re<strong>in</strong>er Erkennungsansatz<br />
verfolgt wird, ist das Gegenstück Nuglets, das die Knoten durch e<strong>in</strong>e künstliche ’Währung’ zur<br />
Kooperation motiviert. Bei dem Erkennungsansatz gibt es fast nur Misuse <strong>Detection</strong> Systems; im vorletzten<br />
Kapitel wird der anderen Ansatz der Anomalieerkennungssystem von Wenke Lee vorgestellt.<br />
3.4.2.1 Watchdog und Pathrater<br />
Das DSR Protokoll mit se<strong>in</strong>en Verwundbarkeiten stimulierte Sergio Marti zu se<strong>in</strong>er Arbeit über Watchdog<br />
und Pathrater [MGB00]. Die Watchdog Komponente basiert auf dem Promiscuous Mode. In diesem werden<br />
alle Pakete verarbeitet, die empfangen werden können, im Gegensatz zu Unicast Verb<strong>in</strong>dungen, bei denen<br />
nur Pakete aktiv verarbeitet werden, die an diesen Empfänger adressiert s<strong>in</strong>d. Der Watchdog soll prüfen,<br />
ob der nächste Knoten auf dem Pfad das Paket auch wirklich weiterleitet und ob dieser die Daten im Paket<br />
manipuliert.<br />
Der Knoten hat dazu e<strong>in</strong>e Liste von allen Paketen, die er an e<strong>in</strong>en anderen Knoten sendet. Der andere Knoten<br />
soll dieses Paket dann weiterleiten, wenn das Paket se<strong>in</strong> Ziel noch nicht erreicht hat. Der Watchdog<br />
überprüft, ob er hören kann, dass der andere Knoten das Paket unverändert weiterschickt. Stellt der Watchdog<br />
e<strong>in</strong>e Änderung am Paket fest oder empfängt der Watchdog nicht, wie das Paket weitergeleitet wird,<br />
24
KAPITEL 3. INTRUSION DETECTION<br />
dann wurde hier e<strong>in</strong> böswilliger Knoten erkannt. Der Watchdog wartet nur e<strong>in</strong>e bestimmte Zeit, bis er das<br />
Paket als durch se<strong>in</strong>en Nachbarn zerstört ansieht.<br />
Jetzt wird e<strong>in</strong>e Nachricht über den böswilligen Knoten an die Quelle das Paketes geschickt. Der Path Rater<br />
bezieht aber auch das Wissen über Knoten, die ihre Forward<strong>in</strong>g Funktion nicht erfüllen, <strong>in</strong> se<strong>in</strong>e Routenf<strong>in</strong>dung<br />
mit e<strong>in</strong>. Der Path Rater meidet <strong>in</strong> Zukunft Routen, die über e<strong>in</strong>en böswilligen Knoten verlaufen.<br />
Sendereichweite von B<br />
Quelle A<br />
B Ziel<br />
Watchdog<br />
Paket<br />
weiterleiten<br />
Abbildung 3.3: Watchdog mit Overhear<strong>in</strong>g e<strong>in</strong>er Nachricht<br />
Abbildung 3.3 zeigt das Overhear<strong>in</strong>g der Nachricht im Promiscuous Mode durch den Knoten A. A hat also<br />
e<strong>in</strong> Paket an B geschickt, welches B an das Ziel weiterleiten sollte. Entsprechend hat A dieses Paket <strong>in</strong> se<strong>in</strong>e<br />
Tabelle aufgenommen und wartet darauf, dass es von B das Forward<strong>in</strong>g des Paketes empfängt.<br />
Wenn B das Paket weiterleitet, empfängt A auch dieses Paket und entfernt es aus se<strong>in</strong>er Tabelle. Verändert<br />
B dagegen das Paket und A empfängt es oder A empfängt gar nichts, dann wird das als böswillige Handlung<br />
angesehen.<br />
Der Watchdog und Pathrater Ansatz kann e<strong>in</strong>faches Fehlverhalten im Netzwerk zuverlässig erkennen. Durch<br />
Simulation wurde gezeigt, dass mit diesem Protokoll deutlich mehr Pakete ihr Ziel erreichen als ohne das<br />
Protokoll. Es wurden 50 Knoten simuliert, von denen 40% böswillig waren. Ohne das Protokoll erreichten<br />
64% der Pakete ihr Ziel, mit Protokoll 85%.<br />
Der verwendete Promiscuous Mode hat, wie <strong>in</strong> Kapitel 6.3.1.1 beschrieben, e<strong>in</strong>e Reihe von Problemen,<br />
die das Protokoll aushebeln können. Außerdem kann diese Protokoll nichts gegen egoistisches Verhalten<br />
bewirken. E<strong>in</strong> Knoten, der um Ressourcen zu schonen, fremde Pakete verwirft und nur <strong>in</strong> eigenem Interesse<br />
kommuniziert, wird auch noch belohnt. Zukünftig meidet der Pathrater diesen Knoten für neue Routen.<br />
Darüber h<strong>in</strong>aus darf der egoistische Knoten aber trotzdem noch kommunizieren!<br />
3.4.2.2 Nodes Bear<strong>in</strong>g Grudges - Das CONFIDANT Protokoll<br />
E<strong>in</strong>e grundlegende Argumentation über die Auswirkungen von Egoismus auf <strong>Ad</strong> hoc <strong>Netzwerken</strong> wurde<br />
von Sonja Buchegger <strong>in</strong> ihrer Arbeit Nodes Bear<strong>in</strong>g Grudges [BB01] geführt. Sie leitet aus der Biologie<br />
25<br />
Sendereichweite von B
KAPITEL 3. INTRUSION DETECTION<br />
die Motivation zur Bestrafung böswilliger, bzw. egoistischer Knoten her. Ohne Gegenmaßnahmen, argumentiert<br />
sie, werden egoistische Knoten überhand nehmen und dadurch die korrekte Funktionsfähigkeit des<br />
Netzwerkes unterm<strong>in</strong>ieren.<br />
Um dem entgegen zu steuern skizziert sie das Grudger Protokoll. In diesem kontrollieren sich die Knoten<br />
gegenseitig <strong>in</strong> ihrer Nachbarschaft durch Overhear<strong>in</strong>g der Nachrichten. Sie glaubt dadurch Änderungen<br />
und das Nicht-Weiterleiten von Paketen erkennen zu können. Die Knoten kommunizieren ihre Beobachtungen<br />
untere<strong>in</strong>ander und <strong>in</strong>tern mit Alarm Nachrichten. E<strong>in</strong>e Alarm Nachricht warnt vor e<strong>in</strong>em erkannten<br />
bösartigen Knoten und wird an alle Knoten <strong>in</strong> der Freundesliste geschickt. Diese Liste umfasst alle Knoten,<br />
denen dieser Knoten traut.<br />
Path Manager<br />
(Pfade anpassen)<br />
Alarm Nachricht<br />
Trust Manager<br />
(Alarm Tabelle)<br />
Toleranz überschritten<br />
überwachen<br />
Ihr System besteht aus den folgenden Komponenten:<br />
Reputation System<br />
(Alarm- und<br />
Ereignisanalyse)<br />
Ereignis<br />
Toleranzbereich<br />
Monitor<br />
Abbildung 3.4: Trust Architektur des Grudger Protokolls<br />
• Monitor erfasst Pakete der Nachbarn im Promiscuous Mode und versucht potentiell bösartiges Verhalten<br />
zu erkennen. Der Monitor erzeugt dann e<strong>in</strong> Ereignis für das Reputation System.<br />
26
KAPITEL 3. INTRUSION DETECTION<br />
• Reputation System ordnet den Knoten e<strong>in</strong>zelnen Rat<strong>in</strong>gs zu. Diese werden aus eigener Beobachtung<br />
(hohes Gewicht) und von fremden Alarm Nachrichten (nach Vertrauenswürdigkeit der Quelle<br />
gewichtet; immer ger<strong>in</strong>ger als eigene Beobachtung) erzeugt. Wenn die Schwelle der zu tolerierenden<br />
Erkennungen e<strong>in</strong>es Angriffs überschritten ist, wird der Path Manager benachrichtigt.<br />
• Trust Manager fasst die Alarm Nachrichten zu e<strong>in</strong>er Bewertung zusammen. Der Trust Manager<br />
nimmt auch von anderen Knoten empfangene Rat<strong>in</strong>gs <strong>in</strong> die Bewertung auf. Er sendet Alarm Nachrichten<br />
zu allen Knoten aus se<strong>in</strong>er Freundesliste.<br />
• Path Manager soll entsprechend der Rat<strong>in</strong>gs Pfade mit böswilligen Knoten vermeiden und se<strong>in</strong>erseits<br />
ke<strong>in</strong>en Datenverkehr böswilliger Knoten weiterleiten. Die Quelle von Paketen, die über e<strong>in</strong>en<br />
böswilligen Knoten gehen, werden durch e<strong>in</strong>e Alarm Nachricht <strong>in</strong>formiert; ist diese Quelle der böswillige<br />
Knoten, wird das Paket verworfen.<br />
Die E<strong>in</strong>teilung des Systems von Buchegger war richtungsweisend durch die Aufteilung <strong>in</strong> die verschiedenen<br />
Module. Der Ansatz böswillige Knoten zu bestrafen, <strong>in</strong>dem ihre Pakete verworfen werden, ist e<strong>in</strong>e effektive<br />
Motivation zur Kooperation. Allerd<strong>in</strong>gs ist das System nicht praktisch implementiert und lässt deshalb viele<br />
zentrale Problemstellungen unbeantwortet.<br />
Das konkrete Rat<strong>in</strong>g der Knoten wird nicht spezifiziert. Es werden ke<strong>in</strong>e Mechanismen angedacht, wie<br />
das IDS se<strong>in</strong>erseits sicher gegen Angreifer gemacht werden kann. Sie verlässt sich zur Erkennung von<br />
Böswilligkeit e<strong>in</strong>zig auf den Promiscuous Mode, der, wie <strong>in</strong> [MGB00] gesehen, viele Probleme mit sich<br />
br<strong>in</strong>gt und ke<strong>in</strong>e sichere Erkennung gewährleisten kann. Das Aufstellen der Freundesliste geschieht willkürlich<br />
und ist weder auf Sicherheit noch auf Performance abgestimmt.<br />
Zusammenfassend bleibt festzustellen, dass Buchegger’s System <strong>in</strong>teressant ist, aber auch, dass nicht gezeigt<br />
wurde, dass das System auf diese Weise funktioniert. Bisher ist sie die Simulationsergebnisse und<br />
auch Beweise grundlegender Algorithmen schuldig geblieben.<br />
3.4.2.3 CORE<br />
CORE ist e<strong>in</strong> Akronym für ’Collaborative Reputation Mechanism’. Dies kann <strong>in</strong>s Deutsche übersetzt <strong>in</strong><br />
etwa als ”Geme<strong>in</strong>schaftlicher Bewertungsmechanismus” wiedergegeben werden. Michardi und Molva haben<br />
<strong>in</strong> [MM01] diesen Ansatz umrissen. Bei diesem bewerten sich die Knoten im Netzwerk gegenseitig<br />
und tauschen diese Bewertungen aus. Werden Knoten schlecht bewertet, werden diese bestraft; Knoten, die<br />
kooperieren, werden durch e<strong>in</strong>e gute Bewertung belohnt. Durch Bestrafung soll Kooperation der Knoten<br />
erzwungen werden.<br />
Michardi stellte e<strong>in</strong> allgeme<strong>in</strong>es System auf, bei dem mit dem Promiscuous Mode die Ausführung e<strong>in</strong>er<br />
bestimmten Funktion von dem überwachten Knoten kontrolliert wird. Wird die überwachte Funktion anders<br />
als erwartet ausgeführt oder gar nicht ausgeführt, wird die Bewertung deutlich verschlechtert. E<strong>in</strong>e solche<br />
Funktion stellt beispielsweise das Weiterleiten e<strong>in</strong>es Paketes oder die Teilnahme am Rout<strong>in</strong>gprotokoll dar.<br />
Der Funktionswert ist dann die resultierende Bewertung für das beobachtete Verhalten.<br />
27
KAPITEL 3. INTRUSION DETECTION<br />
E<strong>in</strong> Knoten hat drei Rollen im System:<br />
• Requestor ist e<strong>in</strong> Knoten, der e<strong>in</strong>e bestimmte Funktion durch den Provider ausführen lassen will.<br />
Er schickt dazu die Anfrage an den Provider, der die entsprechende Funktion dann ausführt. Führt<br />
der Provider die Funktion nicht korrekt aus, erkennt der Requestor das und bewertet dieses Verhalten<br />
negativ.<br />
• Provider bietet se<strong>in</strong>e Dienste dem Requestor an und führt die angeforderte Funktion aus. E<strong>in</strong> korrekt<br />
funktionierender Knoten muss die angeforderte Funktion ausführen.<br />
• Peer validation, auch übersetzbar als ”Partnerbewertung”, überprüft negative Nachrichten über e<strong>in</strong>en<br />
Knoten auf Plausibilität.<br />
Wird <strong>in</strong> diesem System e<strong>in</strong> Fehlverhalten von e<strong>in</strong>em Knoten M erkannt, wird e<strong>in</strong>e explicit DoS Nachricht<br />
gesendet, die besagt, dass dieser Knoten zukünftige Anfragen von M nicht mehr ausführen wird. Die Knoten<br />
im Umkreis überprüfen ihre Bewertungen von M; wenn diese nun aber positiv s<strong>in</strong>d, wird die explicit DoS<br />
verweigert und dafür bekommt der Absender der explicit DoS e<strong>in</strong>e schlechtere Bewertung.<br />
Bewertungsfunktion<br />
Die Bewertungsfunktion aggregiert die Teilbewertungen subjektives Ansehen und mittelbares Ansehen zu<br />
e<strong>in</strong>er Bewertung von e<strong>in</strong>em Knoten.<br />
Subjektives Ansehen (subjective reputation)<br />
Das subjektive Ansehen wird durch direkte Beobachtungen des Knotens gewonnen und geht <strong>in</strong> die lokale<br />
Bewertung e<strong>in</strong>.<br />
Def<strong>in</strong>ition 5 (subjektives Ansehen).<br />
r t si (s j| f ) = ∑ρ(t,tk) · σk<br />
r t si (s j| f ) bezeichnet das subjektive Ansehen e<strong>in</strong>es Knotens i zur Zeit t von e<strong>in</strong>em Knoten j. Es wird die<br />
zeitabhängige Funktion ρ(t,tk) verwendet, um den vergangenen Ereignissen e<strong>in</strong>e höhere Relevanz zu geben<br />
als das Ereignis, welches gerade erst stattgefunden hat. Die k-te Bewertung wird durch σk ausgedrückt; es<br />
gilt σk ∈ [−1,1]. E<strong>in</strong> σk > 0 steht für e<strong>in</strong>e positive Beobachtung, e<strong>in</strong> negativer Wert entsprechend für e<strong>in</strong>e<br />
negative. E<strong>in</strong> Knoten bewertet mit dieser Funktion nur Nachbarn <strong>in</strong> unmittelbarer Umgebung.<br />
28
KAPITEL 3. INTRUSION DETECTION<br />
Mittelbares Ansehen (<strong>in</strong>direct reputation)<br />
Mittelbares Ansehen ir t si (s j| f ) wird von anderen Knoten erhalten; entweder direkt oder durch Beobachtung<br />
e<strong>in</strong>es Verhaltens und Rückschluss auf die beteiligten Knoten. Es werden mit diesem Mechanismus nur<br />
positive Bewertungen verteilt, um diese Angriffsmöglichkeit zu m<strong>in</strong>imieren.<br />
In der Publikation wird e<strong>in</strong>e spezielle Bestätigungsnachricht (Acknowledgement - ACK), die den benutzen<br />
Pfad enthält und nach dem Ausführen der Funktion f an den Requestor zurückgeschickt wird, verwendet.<br />
Diese ACK Nachricht enthält e<strong>in</strong>e Bewertung von allen Knoten, die zur korrekten Ausführung der Funktion<br />
kooperiert haben.<br />
Aggregation<br />
Mehrere Funktionswerte werden nun zu e<strong>in</strong>em Wert aggregiert.<br />
r t si (s j) = ∑ k<br />
wk · {r t si (s j| fk) + ir t si (s j| fk)}<br />
Mit wk wird die Gewichtung der e<strong>in</strong>zelnen Funktion bezeichnet, fk s<strong>in</strong>d die Funktionen. Somit steht r t si (s j)<br />
für die Bewertung e<strong>in</strong>es Knotens j, die e<strong>in</strong> Knoten i besitzt.<br />
Bewertung<br />
CORE bietet e<strong>in</strong> <strong>in</strong>teressantes System, das bereits bestehende Verfahren wie Watchdog und Pathrater <strong>in</strong><br />
e<strong>in</strong>em übergeordneten Rahmenwerk komb<strong>in</strong>iert. Es ist außerdem e<strong>in</strong>es der wenigen Systeme, die sich der<br />
Kommunikation zwischen den verteilten IDS näher annehmen und diese genauer spezifizieren.<br />
Später <strong>in</strong> dieser Arbeit wird gezeigt werden, dass nur wenige Knoten das Wissen von e<strong>in</strong>em böswilligen<br />
Knoten haben. Damit wird aber e<strong>in</strong>e explicit DoS Nachricht von den meisten Knoten als böswillig erkannt<br />
und der Absender abgewertet. In e<strong>in</strong>em normalen Szenario kann es also leicht vorkommen, dass warnende<br />
Knoten bestraft werden, während der böswillige Knoten ungeschoren davonkommt, besonders wenn es der<br />
böswillige Knoten nur auf e<strong>in</strong> bestimmtes Opfer abgesehen hat. E<strong>in</strong>e weiteres praktisches Problem ist die<br />
Beschränkung von σk auf [−1,1]; damit müssen die positiven Bewertungen sehr kle<strong>in</strong> werden, um negativen<br />
Bewertungen e<strong>in</strong>e stärkere Gewichtung zu verleihen.<br />
Michiardi hat bisher auch noch ke<strong>in</strong>e Simulationsergebnisse veröffentlicht. Man muss davon ausgehen,<br />
dass es auch schwierig ist die Balance zwischen dem Verbreiten von explicit DoS und der Tolerierung von<br />
böswilligen Knoten zu f<strong>in</strong>den, so dass viele böswillige Knoten, ohne ungewollte Nebenwirkung, erkannt<br />
werden. Lange Simulationszeiten helfen da sicherlich weiter, schließen aber so manches E<strong>in</strong>satzszenario<br />
aus.<br />
3.4.2.4 <strong>Intrusion</strong> <strong>Detection</strong> Techniques for <strong>Mobile</strong> Wireless Networks<br />
Wenke Lee und Zhang verfolgen mit [ZLH02] e<strong>in</strong>e andere Strategie der <strong>Intrusion</strong> <strong>Detection</strong>, <strong>in</strong>dem sie ihr<br />
bestehendes Anomalieerkennungssystem auf <strong>Ad</strong> hoc Netzwerke anwendet. In ihrer Arbeit stellte sie e<strong>in</strong>e<br />
29
KAPITEL 3. INTRUSION DETECTION<br />
auch allgeme<strong>in</strong> verwendbare Architektur e<strong>in</strong>es <strong>Intrusion</strong> <strong>Detection</strong> Systems auf, welches hier nun zuerst<br />
vorgestellt wird.<br />
1. Lokale Datensammlung kann Aktivitäten des Nutzers im System sowie Kommunikation erfassen.<br />
Es kann theoretisch auch sämtliche Kommunikation anderer Knoten mit e<strong>in</strong>beziehen.<br />
2. Lokale Erkennung nutzt die Daten der lokalen Datensammlung zur Anomalieerkennung. Wenn mit<br />
großer Sicherheit e<strong>in</strong>e bösartige Anomalie erkannt worden ist, erfolgt die Reaktion. Ansonsten kann<br />
die globale Erkennung genutzt werden.<br />
3. Globale Erkennung nutzt auch die Erkenntnisse anderer Knoten für die Bewertung e<strong>in</strong>es potentiell<br />
bösartigen Knotens.<br />
4. Lokale Reaktion wäre es zum Beispiel den Benutzer zu <strong>in</strong>formieren.<br />
5. Globale Reaktion könnte so aussehen, dass der böswillige Knoten aus dem Netzwerk ausgeschlossen<br />
wird. Lee schlägt dazu vor, an alle Knoten, bis auf M, neue Schlüssel auszuteilen und damit M von der<br />
Kommunikation auszuschließen. Außerdem sollen sich die Teilnehmer bei dem Wiederaufbau durch<br />
Blickkontakt authentisieren.<br />
lokale<br />
Reaktion<br />
lokale<br />
Erkennung<br />
lokale Datensammlung<br />
Systemaufrufe<br />
Kommunikation<br />
Audit.....<br />
IDS Agent<br />
globale<br />
Reaktion<br />
globale<br />
Erkennung<br />
sichere<br />
Kommunikation<br />
benachbarter IDS<br />
Agent<br />
Abbildung 3.5: Komponenten e<strong>in</strong>es IDS nach Wenke Lee<br />
30
KAPITEL 3. INTRUSION DETECTION<br />
Die globale Erkennung tauscht E<strong>in</strong>schätzungen aus, wie sicher andere Knoten s<strong>in</strong>d, dass e<strong>in</strong> Knoten M<br />
bösartig ist. E<strong>in</strong>e solche Nachricht sieht so aus:<br />
Mit p% Zuversicht zieht A mit se<strong>in</strong>en lokalen Daten die Schlussfolgerung, dass M bösartig ist.<br />
Mit p% Zuversicht zieht A mit se<strong>in</strong>en lokalen Daten und den Beobachtungen se<strong>in</strong>er Nachbarn B,C,D die<br />
Schlussfolgerung, dass M bösartig ist.<br />
Wenn die Mehrzahl der e<strong>in</strong>gehenden Nachrichten über M aussagen, dass M bösartig ist, dann wird M neu<br />
bewertet. Die Erkenntnisse durch die e<strong>in</strong>gegangenen Nachrichten werden nun gewichtet nach der Vertrauenswürdigkeit<br />
des Knotens, der diese Beobachtung kommuniziert, zusammen rechnet und damit die neue<br />
Bewertung des Knoten M erzeugt.<br />
Anomalieerkennung nach Wenke Lee<br />
Mit der Veröffentlichung ”Information Theoretic Measures for Anomaly <strong>Detection</strong>” [LX00] stellte Wenke<br />
Lee die Grundlagen e<strong>in</strong>es Anomalieerkennungssystems vor. Als Motivation für diese Arbeit beruft sie sich<br />
auf e<strong>in</strong>e Untersuchungen der DARPA, dass 70% der simulierten Angriffe auf e<strong>in</strong> Netzwerk mit traditionellen<br />
Misuse <strong>Detection</strong> Systemen unentdeckt geblieben s<strong>in</strong>d. Ihr Argument ist, mit Hilfe der Anomalieerkennung<br />
auch unbekannte und neuartige Angriffe erkennen zu können.<br />
In e<strong>in</strong>em weiteren Schritt überträgt sie ihre Erkenntnisse auf <strong>Ad</strong> hoc Netzwerke. Als Audit Daten nutzt sie<br />
zwei lokale Informationsquellen.<br />
1. Rout<strong>in</strong>g Informationen wie Source Routen, Route Cache E<strong>in</strong>träge und Verkehrsstatistiken.<br />
2. GPS, um die eigene Position zu erhalten und dann mit der Rout<strong>in</strong>g<strong>in</strong>formation auf die Position und<br />
Geschw<strong>in</strong>digkeit benachbarter Knoten zu schließen.<br />
In ihrer Implementierung berechnet sie die eigene Geschw<strong>in</strong>digkeit und die Position mit GPS. Die<br />
Rout<strong>in</strong>g Änderungen misst sie mit der Änderungsrate der Routen, der Änderungen der Längen der<br />
Routen und des Prozentsatzes der neu h<strong>in</strong>zugefügten Routen.<br />
Diese Daten dienen also als Basis um die Funktionen der Informationstheorie 3.3.1.2 zu nutzen und um<br />
Aussagen über das System zu machen. Für die Anomalieerkennung werden nun die Daten <strong>in</strong> mehreren Phasen<br />
ausgewertet:<br />
1. Partitionierung der Daten so, dass die Daten e<strong>in</strong>e möglichst kle<strong>in</strong>e konditionale Entropie haben.<br />
Der Informationsgew<strong>in</strong>n ist nicht a priori bestimmbar, sondern wird <strong>in</strong> mehreren Durchläufen mit<br />
Tra<strong>in</strong><strong>in</strong>gsdaten bestimmt. Es werden Partitionierungen gewählt, bei denen der Informationsgew<strong>in</strong>n<br />
oberhalb e<strong>in</strong>es festgelegten Schwellenwertes liegt.<br />
Für <strong>Ad</strong> hoc Netzwerke wurden verschiedene normale Situationen durchgespielt. Für jede Situation<br />
wurden dann alle Daten der e<strong>in</strong>zelnen Knoten <strong>in</strong> e<strong>in</strong> geme<strong>in</strong>samen Datensatz zusammengeführt.<br />
2. Transformation der Daten, um die erkannten Partitionen mit hohem Informationsgew<strong>in</strong>n zu erschließen.<br />
31
KAPITEL 3. INTRUSION DETECTION<br />
Es wurde e<strong>in</strong> Tool namens RIPPER e<strong>in</strong>gesetzt, um Regeln mit den Erkenntnissen aus Schritt 1.) zu<br />
generieren. E<strong>in</strong> anderes Tool hieß SVM Light und konnte die Daten mehrdimensional mit den Funktionen<br />
auswerten.<br />
3. Funktionen auf Tra<strong>in</strong><strong>in</strong>gsdaten anwenden, um Schwellenwerte für e<strong>in</strong>e Erkennung e<strong>in</strong>es abnormalen<br />
Verhaltens festzulegen.<br />
4. Funktionen auf Testdaten anwenden, um die Qualität der Erkennung festzustellen und gegebenenfalls<br />
mit anderen Tra<strong>in</strong><strong>in</strong>gsdaten zu arbeiten. Lee benutzte dazu unter anderem das Tool RIPPER, um<br />
<strong>in</strong>formationstheoretische Funktionen anzuwenden.<br />
5. Alarm Nachrichten auswerten und möglichst Fehlalarme unterdrücken. Dazu wird e<strong>in</strong> Ausschnitt<br />
der Audit Daten betrachtet. Wenn <strong>in</strong> diesem Abschnitt mehr Funktionen e<strong>in</strong>e abnormale Erkennung<br />
liefern als Funktionen e<strong>in</strong>e normale, dann wird dieser Abschnitt als abnormal gewertet. Zusammenhängende<br />
abnormale Abschnitte werden als e<strong>in</strong> abnormales Ereignis gewertet.<br />
Nach allen diesen Phasen hat man e<strong>in</strong> System, das auf die Endgeräte übertragen werden kann, damit sie<br />
dort e<strong>in</strong> IDS bilden. Die Simulationen liefen m<strong>in</strong>destens 10.000 Sekunden mit jeweils 10 verschiedenen,<br />
zusammenhängenden Angriffsfolgen auf DSR. E<strong>in</strong>e Angriffsfolge bestand entweder aus der Änderung e<strong>in</strong>er<br />
Source Route oder aus dem Vewerfen von Paketen. Mit RIPPER konnten 90% der Angriffe erkannt<br />
werden bei e<strong>in</strong>er Fehlerkennungsrate von 15%. SVM Light dagegen lieferte bessere Ergebnisse mit e<strong>in</strong>er<br />
Erkennungsrate von 99% und e<strong>in</strong>er Fehlerkennungsrate von 2%.<br />
Diese Ergebnisse s<strong>in</strong>d aber mit Vorsicht zu genießen, da von langen Angriffssequenzen ausgegangen wurde,<br />
die aber bei DSR untypisch s<strong>in</strong>d. Bei DSR reichen oft schon wenige modifizierte Pakete aus, um den<br />
gewünschten Effekt zu erzielen. Zudem werden nur die Angriffe an sich erkannt, der Angreifer ist nicht<br />
identifizierbar, denn die Teilnehmer im Netzwerk s<strong>in</strong>d nicht authentifiziert. H<strong>in</strong>zu kommt, dass es ke<strong>in</strong>en<br />
Schutz der Rout<strong>in</strong>g Information gibt; selbst wenn man e<strong>in</strong>e Änderung erkannt hat, kann kann nicht gesagt<br />
werden, welcher Knoten auf der Route denn nun die Änderung verursacht hat.<br />
Bewertung<br />
Es wurde oben dargestellt, wie mit dem Ansatz von Wenke Lee versucht wird Anomalieerkennung <strong>in</strong> die<br />
Welt der <strong>Ad</strong> hoc Netzwerke zu übertragen. Es muss festgestellt werden, dass dieser Ansatz, selbst wenn<br />
er funktioniert, ke<strong>in</strong>en Rückschluss auf den Angreifer liefert. Dadurch ist e<strong>in</strong>e Reaktion auf die <strong>Intrusion</strong><br />
schwierig, wenn nicht ausgeschlossen.<br />
Zudem ist es dieser Forscher-Gruppe bis heute nicht gelungen e<strong>in</strong> praxistaugliches System aufzustellen.<br />
Bisher konnte nur ”Schönwetterbeispiele” implementiert werden; diese gehen von e<strong>in</strong>em sehr e<strong>in</strong>fach aufgebautem<br />
Benutzerverhalten aus. Angriffe werden dabei bei e<strong>in</strong>em großen Volumen der Angriffsereignisse<br />
erkannt. Es konnte deshalb nicht gezeigt werden, dass die typischen Angriffe, die oft nur aus e<strong>in</strong>er kurzen<br />
Sequenz von Anweisungen und Daten bestehen, erkannt werden können. (E<strong>in</strong> solches Beispiel wäre der<br />
SQL Slammer Angriff im Januar 2003, der nur aus e<strong>in</strong>em e<strong>in</strong>zigen UDP Daten Paket bestand).<br />
Gerade bei <strong>Ad</strong> hoc <strong>Netzwerken</strong> s<strong>in</strong>d nur sehr wenige Fehlalarme tolerierbar, da viele Benutzer nicht das<br />
32
KAPITEL 3. INTRUSION DETECTION<br />
Wissen haben, um den Angriff verstehen zu können. Aus diesem Grund s<strong>in</strong>d selbst 2% Fehlalarme wie <strong>in</strong><br />
ihren Simulationen noch zu viel.<br />
Lee glaubt, mit ihrem System bösartige Knoten davon abhalten zu können, falsche Anschuldigungen gegen<br />
andere Knoten zu verbreiten. Sie führt an, dass ja nur durch Mehrheitsentscheidung e<strong>in</strong> Knoten als böswillig<br />
angesehen wird. Wie aber später <strong>in</strong> dieser Arbeit gezeigt wird, haben oft nur sehr wenige Knoten überhaupt<br />
das Wissen über e<strong>in</strong>en Angriff. Nach ihrem Schema könnten viele folgenschwere Angriffe überhaupt nicht<br />
erkannt werden.<br />
Es gibt auch handwerkliche Probleme; so wird zum Beispiel der Schlüsselaustausch, der genutzt wird, um<br />
e<strong>in</strong>en Knoten aus dem Netzwerk auszuschließen, nirgendwo sonst <strong>in</strong> der Publikation erwähnt. E<strong>in</strong>e Reauthentisierung<br />
durch Blickkontakt ist selbst heute nicht mehr möglich, da die Reichweite e<strong>in</strong>er Wireless LAN<br />
Karte nach dem IEEE 802.11 bereits e<strong>in</strong>e Reichweite von 250 Metern hat. Es muss davon ausgegangen werden,<br />
dass die physikalisch mögliche Reichweite der e<strong>in</strong>zelnen Geräte noch steigen wird. Es gibt aber auch<br />
die konträre Erwartung, dass durch die höhere Dichte von mobilen Geräten die Reichweite durch Interferenzen<br />
reduziert wird<br />
3.4.2.5 <strong>Intrusion</strong> <strong>Detection</strong> Agent System(IDA)<br />
E<strong>in</strong> Ansatz, der <strong>in</strong> Richtung der Anomalieerkennung geht, ist das IDA System von Midori Asaka [AOT + 98].<br />
Er schlägt vor, <strong>Mobile</strong> Agenten zu verwenden, um Spuren von E<strong>in</strong>dr<strong>in</strong>gl<strong>in</strong>gen zu folgen. Diese Agenten<br />
können von Knoten zu Knoten reisen, dort Informationen sammeln und Anfragen an das System stellen.<br />
Zur lokalen Erkennung der Spuren könnte man dann zum Beispiel Methoden der Anomalieerkennung verwenden,<br />
ebenso wie Methoden der Misuse <strong>Detection</strong>. Das System erkennt solche Anzeichen e<strong>in</strong>es E<strong>in</strong>griffes<br />
und sammelt weitere Daten über diesen Vorfall.<br />
In [AOG02] beschreibt Asaka genauer, wie Anzeichen e<strong>in</strong>er <strong>Intrusion</strong> entdeckt werden können: E<strong>in</strong>erseits<br />
werden bestimmte Dateien im System überwacht wie das Starten der Root Shell, Modifikation von<br />
/etc/passwords u.ä., aber auch das Starten e<strong>in</strong>er shell /b<strong>in</strong>/sh. Es werden aber auch Aktivitäten wie Systemaufrufe<br />
überwacht und mit e<strong>in</strong>er Klassifizierungsfunktion wie <strong>in</strong> der Anomalierkennung analysiert. Die<br />
Methode von Asaka nutzt nur die Häufigkeit der Aufrufe, nicht aber die Reihenfolge. Alle anderen Systemaktivitäten<br />
werden nicht beobachtet.<br />
Das IDA System baut auf fünf Komponenten auf:<br />
• Manager analysiert Informationen, die durch Information Gather<strong>in</strong>g Agents gesammelt wurden und<br />
erkennt die <strong>Intrusion</strong>. Er ist verantwortlich für die Benutzerkommunikation, das Bullet<strong>in</strong> Board und<br />
natürlich für die Information Gather<strong>in</strong>g Agents. Es gibt e<strong>in</strong>en Manager <strong>in</strong> jedem Netzwerksegment.<br />
• Sensor gibt es <strong>in</strong> jedem System. Es überwacht kritische Stellen und alarmiert bei Anzeichen e<strong>in</strong>er<br />
<strong>Intrusion</strong> den Manager.<br />
• Trac<strong>in</strong>g Agent wird durch den Manager gestartet, um e<strong>in</strong> bestimmtes Anzeichen der <strong>Intrusion</strong> zu untersuchen.<br />
Dieser Agent geht zum System, das den ursprünglichen Alarm ausgelöst hat, und versucht<br />
33
KAPITEL 3. INTRUSION DETECTION<br />
die Quelle der <strong>Intrusion</strong> zu lokalisieren. Der Agent migriert Knoten zu Knoten <strong>in</strong> Richtung der Quelle<br />
und untersucht auch alle anderen bereisten Systeme auf Anzeichen dieser <strong>Intrusion</strong>.<br />
• Information Gather<strong>in</strong>g Agent wird durch den Trac<strong>in</strong>g Agent auf dem jeweiligen aktuellen System<br />
aktiviert. Dieser Agent übernimmt die eigentliche Aufgabe, nach Anzeichen der <strong>Intrusion</strong> auf diesem<br />
System zu suchen. Der Agent kehrt nach getaner Arbeit zum Manager zurück und berichtet die gefundenen<br />
Daten. Dieser Agent kann ke<strong>in</strong>e Entscheidung darüber treffen, ob e<strong>in</strong>e <strong>Intrusion</strong> stattgefunden<br />
hat oder nicht!<br />
• Bullet<strong>in</strong> Board und Message Board. Das Message Board dient der <strong>in</strong>ternen Agenten Kommunikation<br />
auf jedem Knoten. Das Bullet<strong>in</strong> Board gibt es nur auf dem Manager und es dient als Ablage der<br />
Ergebnisse der Information Gather<strong>in</strong>g Agents.<br />
Bewertung<br />
Das System zielt <strong>in</strong> erster L<strong>in</strong>ie auf Erkennung von <strong>Intrusion</strong>s <strong>in</strong> das System als solches. Es kann ke<strong>in</strong>e<br />
Manipulationen an dem anfälligen Rout<strong>in</strong>g erkennen. Es geht damit nicht auf die speziellen Probleme e<strong>in</strong>es<br />
<strong>Ad</strong> hoc Netzwerkes e<strong>in</strong>, ist aber wegen se<strong>in</strong>er verteilten Architektur dennoch <strong>in</strong>teressant.<br />
Die Agenten selbst s<strong>in</strong>d nicht gegen Manipulationen auf dem Wirtsystem geschützt. Ist dieses System schon<br />
befallen, kann e<strong>in</strong> Angreifer den Agenten so verändern, dass der Agent ke<strong>in</strong>e Spuren meldet und die Verfolgung<br />
abbricht. Das wird begünstigt, da das IDA System nur Angriffe erkennen kann, nachdem diese<br />
passiert s<strong>in</strong>d. IDA an sich hat aber auch Probleme, da es e<strong>in</strong>en zentralen, und damit angreifbaren, Manager<br />
besitzt. Die Agentenstruktur führt e<strong>in</strong>en großen Overhead e<strong>in</strong>, da e<strong>in</strong>erseits Agenten transportiert werden<br />
müssen, und andererseits die Information Gather<strong>in</strong>g Agents doch mit e<strong>in</strong>em Großteil der Daten zum Manager<br />
zurückkehren.<br />
3.4.2.6 Nuglets, e<strong>in</strong> Vermeidungsansatz<br />
Unter Hubaux und Blascevic wurde das Term<strong>in</strong>odes Projekt [HBC01] [BBC + 01] vorangetrieben. Es befasst<br />
sich <strong>in</strong> erster L<strong>in</strong>ie mit lokationsabhängigem Rout<strong>in</strong>g <strong>in</strong> <strong>Ad</strong> hoc Netzen, aber es stellt auch e<strong>in</strong>en e<strong>in</strong>zigartigen<br />
Ansatz der Motivation zur Kooperation dar. Es ist also ke<strong>in</strong> IDS, sondern versucht Sicherheitsprobleme<br />
durch e<strong>in</strong> geeignetes Design zu vermeiden.<br />
Kooperation soll durch E<strong>in</strong>führung e<strong>in</strong>er künstlichen Währung erreicht werden, die Nuglets genannt wird.<br />
Die Idee ist, alle Knoten für die Nutzung e<strong>in</strong>es Services Nuglets bezahlen zu lassen, Anbieter von Services<br />
bekommen Nuglets. Jede Kommunikation <strong>in</strong> diesem Netz verursacht also Kosten, für die e<strong>in</strong> Knoten aufkommen<br />
muss. Dadurch ist das ke<strong>in</strong> IDS mehr, das auf die Erkennung abzielt, sondern e<strong>in</strong> System, das<br />
durch geeignetes Rout<strong>in</strong>gregeln die Knoten zur Kooperation motiviert.<br />
Es wurden zwei Abrechnungsmodelle vorgeschlagen: E<strong>in</strong>mal zahlt der Sender e<strong>in</strong>er Nachricht für den Versand<br />
(Packet Purse Model), die andere Möglichkeit ist den Empfänger bezahlen zu lassen (Packet Trade<br />
Model). Das Problem der ersten Methode ist, nicht genau die Kommunikationskosten im voraus zu kennen,<br />
die nötig s<strong>in</strong>d, um e<strong>in</strong> Ziel zu erreichen. Diese müssen aber schon vor dem Versand dem Konto abgezogen<br />
werden.<br />
34
KAPITEL 3. INTRUSION DETECTION<br />
Um die Integrität der Nugletskonten zu gewährleisten, wird von ”tamper proof hardware” ausgegangen:<br />
Hardware, die so gestaltet ist, dass nur das Nuglets System den Kontostand verändern darf, der Benutzer<br />
aber ke<strong>in</strong>en direkten Zugriff hat.<br />
Die zweite Methode lässt jeden Empfänger (auch die Knoten, die Pakete weiterleiten) entlang der Route<br />
für das Paket bezahlen. Diese wird dann für e<strong>in</strong>e bestimmte Zahl Nuglets e<strong>in</strong>gekauft und für mehr Nuglets<br />
”weiterverkauft”. Dadurch erhöht jeder Knoten durch forward<strong>in</strong>g des Pakets se<strong>in</strong>en Bestand an Nuglets.<br />
Effektiv bezahlt damit das Ziel den Transport.<br />
Die zweite Methode hat aber Schwächen, denn e<strong>in</strong>em Knoten können durch Senden vieler unnützer Pakete<br />
alle Nuglets entzogen werden. Die Wirkung wäre e<strong>in</strong> Denial of Service auf diesen Knoten; denn wenn e<strong>in</strong><br />
Knoten nicht bezahlen kann, kann er auch ke<strong>in</strong>e Pakete empfangen.<br />
Bewertung<br />
Das Nuglets Konzept ist <strong>in</strong>teressant, weil es Kooperation wie <strong>in</strong> ke<strong>in</strong>em anderen Modell stimulieren kann.<br />
Knoten könnten sogar am Verkehr teilnehmen, nur um Nuglets zu verdienen, auch wenn sie zu diesem<br />
Zeitpunkt gar nicht kommunizieren wollen. Allerd<strong>in</strong>gs gib es schwerwiegende Probleme am Konzept. Man<br />
muss davon ausgehen, dass das Kommunikatiosnverhalten der e<strong>in</strong>zelnen Knoten stark variiert. Manche Knoten<br />
werden wahrsche<strong>in</strong>lich überwiegend senden, z.B. wenn sie bestimmte Services für andere Teilnehmer<br />
beherbergen. Diesen Knoten würden je nach Abrechnungsmodell schnell alle Nuglets entzogen.<br />
Knoten, die <strong>in</strong> der Peripherie im Netzwerk positioniert s<strong>in</strong>d, können wesentlich seltener Pakete weiterleiten<br />
als solche im Zentrum. Es würden sich also die Nuglets im Zentrum sammeln und die Peripherie aushungern.<br />
Wie oben schon erwähnt, s<strong>in</strong>d auch Denial of Service Angriffe durch Entziehen aller Nuglets e<strong>in</strong>es<br />
Knoten möglich.<br />
Zuletzt zeigt auch die Erfahrung, dass es ”tamper proof hardware” nicht gibt, also davon auszugehen ist,<br />
dass es Knoten im System gibt, die beliebig Nuglets zum Eigennutzen generieren können.<br />
E<strong>in</strong> ganz anderes Problem ist, dass das Nuglets-Konzept ke<strong>in</strong>e Möglichkeit der Erkennung von Angriffen<br />
bietet. Nuglets kann Egoismus entgegen treten, aber bei Angriffen, zum Beispiel durch e<strong>in</strong>en Knoten, der<br />
Pakete e<strong>in</strong>fach verwirft, kann das System das weder erkennen noch den Angreifer identifizieren und bestrafen.<br />
3.4.3 Bewertung der aktuellen Forschung<br />
3.4.3.1 Vergleich aktueller IDS<br />
In diesem Kapitel werden nun viele Systeme vorgestellt, die versuchen Egoismus und Böswilligkeit zu verh<strong>in</strong>dern<br />
oder zu reduzieren. Besonders herausragend war dabei CORE mit se<strong>in</strong>em Bewertungsschema, das<br />
die Idee des Promiscuous Mode von Watchdog und Pathrater erweiterte. Nuglets bot e<strong>in</strong>e <strong>in</strong>novative Herangehensweise<br />
durch se<strong>in</strong> Bezahlmodell für die Weiterleitung von Nachrichten.<br />
Es bleibt festzustellen, dass der Forschungsgeme<strong>in</strong>schaft der große Wurf e<strong>in</strong>es praxistauglichen IDS noch<br />
nicht geglückt ist. Verteilte Erkennung und automatische Reaktion s<strong>in</strong>d bis jetzt nur im Konzeptstadium<br />
35
KAPITEL 3. INTRUSION DETECTION<br />
vorhanden. Bisher fokussiert sich die Forschung auf die lokale Erkennung von böswilligem Verhalten; aus<br />
gutem Grund, denn die bisher vorgestellten Verfahren können zwar Angriffe feststellen, haben aber noch<br />
Schwierigkeiten den Angreifer zu identifizieren. Es wird zwar meist implizit e<strong>in</strong> Sicherheitsrahmen vorausgesetzt,<br />
der aber nicht näher spezifiziert wird. Damit bleibt auch unklar, welche Bedrohungen durch e<strong>in</strong><br />
Sicherheitsrahmenwerk abgefangen werden können und welchen dann noch durch das IDS zu begegnen ist.<br />
E<strong>in</strong> IDS, <strong>in</strong> dem die Quelle e<strong>in</strong>er Nachricht nicht sicher bestimmbar ist und <strong>in</strong> dem somit jeder Nachrichten<br />
im Namen e<strong>in</strong>es Anderen verschicken kann, wird nicht mehr leisten können als e<strong>in</strong>en Angriff festzustellen.<br />
Für die Identifikation des Angreifers ist e<strong>in</strong>e Authentisierung von Nachrichten zw<strong>in</strong>gend erforderlich. Das<br />
wurde bisher von ke<strong>in</strong>em IDS für <strong>Ad</strong> hoc Netzwerke bedacht.<br />
Böswilligkeit ist bisher nicht h<strong>in</strong>reichend untersucht worden, man sieht <strong>in</strong> den diversen Publikationen, dass<br />
sie von verschiedenartigen Angriffsszenarien ausgehen. Diese Angriffe s<strong>in</strong>d zudem schlecht klassifiziert und<br />
unzureichend durch Simulation untersucht worden.<br />
Mit Egoismus konnte bisher nur das Nuglets System umgehen, das aber den zentralen Nachteil hat, dass<br />
selbst kooperationswillige Knoten ke<strong>in</strong>e Nuglets mehr haben können, um die Kommunikation zu bezahlen.<br />
3.4.3.2 Anforderungen an e<strong>in</strong> besseres IDS für <strong>Ad</strong> hoc Netzwerke<br />
Um e<strong>in</strong> IDS aufzustellen, das e<strong>in</strong>en Fortschritt gegenüber dem bisherigen Stand der Forschung darstellt,<br />
müssen zuerst das Problem der Angriffe und das des Egoismus <strong>in</strong> <strong>Ad</strong> hoc <strong>Netzwerken</strong> kategorisiert werden.<br />
Mit diesen Angriffsformen muss dann simuliert werden, wie sich e<strong>in</strong> solches Verhalten auf das Netzwerk<br />
auswirkt. Diese Erkenntnisse werden dann helfen e<strong>in</strong> umfassendes <strong>Intrusion</strong> <strong>Detection</strong> System zu etablieren.<br />
Das Ziel muss es danach se<strong>in</strong> das <strong>Ad</strong> hoc Netzwerk gegen fehlerhaftes Verhalten, Böswilligkeit und Egoismus<br />
abzusichern. Das Problem kann von zwei Seiten her angegangen werden:<br />
• Rout<strong>in</strong>g Sicherheit muss Authentisierung leisten und Änderungen an den Daten auf den Verursacher<br />
zurückführen können.<br />
• <strong>Intrusion</strong> <strong>Detection</strong> muss bösartige Modifikationen erkennen, die Identität des Angreifers feststellen<br />
und Gegenmaßnahmen e<strong>in</strong>leiten.<br />
Rout<strong>in</strong>g Sicherheit und <strong>Intrusion</strong> <strong>Detection</strong> lassen sich nicht scharf gegene<strong>in</strong>ander abgrenzen, sondern<br />
müssen s<strong>in</strong>nvoll <strong>in</strong>e<strong>in</strong>ander greifen. Alles bösartige Verhalten, das nicht durch die Rout<strong>in</strong>g Sicherheit unterbunden<br />
wurde, muss vom IDS erkannt werden.<br />
Es soll danach e<strong>in</strong>e möglichst wirkungsvolle Gegenreaktion erfolgen; deshalb müssen die Knoten ihre Erkenntnisse<br />
untere<strong>in</strong>ander kommunizieren: e<strong>in</strong>erseits, um nicht selbst verdächtigt zu werden, andererseits um<br />
e<strong>in</strong>e kollektive Reaktion zu ermöglichen.<br />
Als letzter Schritt wäre dann zu zeigen, dass durch dieses System <strong>Intrusion</strong>s erkannt, Angreifer ausgeschlossen<br />
werden können und dass sich durch diese Maßnahmen die Performance des Netzwerkes verbessert hat.<br />
36
KAPITEL 3. INTRUSION DETECTION<br />
Name des Systems Watchdog CONFIDANT CORE Anomalie- IDA Nuglets<br />
Pathrater erkennung<br />
Sicherheit durch Erkennung Vermeidung<br />
Abgedecktes Verhalten<br />
fehlerhaft ja ja ja ja ne<strong>in</strong> ne<strong>in</strong><br />
egoistisch ne<strong>in</strong> ne<strong>in</strong> ne<strong>in</strong> ne<strong>in</strong> ne<strong>in</strong> ja<br />
böswillig ja ja ja ja ja ne<strong>in</strong><br />
Informationsquelle<br />
Rout<strong>in</strong>g ne<strong>in</strong> ne<strong>in</strong> ja ja ja ne<strong>in</strong><br />
Promiscuous Mode ja ja ja ne<strong>in</strong> ne<strong>in</strong> ne<strong>in</strong><br />
Position(GPS) ne<strong>in</strong> ne<strong>in</strong> ne<strong>in</strong> ja ne<strong>in</strong> ja<br />
IDS Nachrichten ja ja ja ne<strong>in</strong> ne<strong>in</strong> ne<strong>in</strong><br />
Bewertung des Angriffs<br />
Lokal ja ja ja ja ja ne<strong>in</strong><br />
Global ne<strong>in</strong> ne<strong>in</strong> ja ne<strong>in</strong> ne<strong>in</strong> ne<strong>in</strong><br />
Reaktion<br />
Bestrafung ne<strong>in</strong> ja ja ja ne<strong>in</strong> ne<strong>in</strong><br />
Belohnung ne<strong>in</strong> ne<strong>in</strong> ne<strong>in</strong> ne<strong>in</strong> ne<strong>in</strong> ja<br />
Vermeidung ja ja ne<strong>in</strong> ja ne<strong>in</strong> ne<strong>in</strong><br />
Vertrauen jedem Nachbarn Erfahrung Mehrheit eigene sichere<br />
Agenten Hardware<br />
Informationsaustausch durch ja ja ja ja ne<strong>in</strong> ja<br />
Denunzierungen ja ja ne<strong>in</strong> ja - ne<strong>in</strong><br />
Bewertungen ne<strong>in</strong> ne<strong>in</strong> ja ne<strong>in</strong> - ne<strong>in</strong><br />
Missbrauch möglich ja ja ja ja - ne<strong>in</strong><br />
Schutz<br />
Nutzdaten ja ja ja ja ne<strong>in</strong> ne<strong>in</strong><br />
IDS Nachrichten ja ja ja ne<strong>in</strong> ne<strong>in</strong> ja<br />
Lokales System ne<strong>in</strong> ne<strong>in</strong> ne<strong>in</strong> ne<strong>in</strong> ja ne<strong>in</strong><br />
Architektur<br />
Zentral ne<strong>in</strong> ne<strong>in</strong> ne<strong>in</strong> ne<strong>in</strong> ja ne<strong>in</strong><br />
Regelbasiert ja ja ja ne<strong>in</strong> ja ne<strong>in</strong><br />
<strong>Ad</strong>aptiv ne<strong>in</strong> ne<strong>in</strong> ne<strong>in</strong> ja ja ne<strong>in</strong><br />
Abbildung 3.6: Tabellarischer Vergleich der aktuellen Forschung <strong>in</strong> der <strong>Intrusion</strong> <strong>Detection</strong><br />
37
KAPITEL 3. INTRUSION DETECTION<br />
38
Kapitel 4<br />
Verwundbarkeiten des DSR Protokolls<br />
Im vorigen Kapitel wurde dargelegt, dass e<strong>in</strong> wesentlicher Teil der <strong>Intrusion</strong> <strong>Detection</strong> <strong>in</strong> der Erkennung<br />
von Angriffen liegt.<br />
In diesem Kapitel werden mit e<strong>in</strong>em Attack Tree [Sch99a] verschiedene Verwundbarkeiten des DSR Protokolls<br />
aufgezeigt. Attack Trees s<strong>in</strong>d e<strong>in</strong>e formale Methode, um Angriffe auf Protokolle und Systeme systematisch<br />
zu analysieren.<br />
Es ist mit diesem Formalismus möglich viele Angriffsarten zu kategorisieren. Der Leser muss sich jedoch<br />
bewusst machen, dass ke<strong>in</strong> Attack Tree jemals alle Angriffe erschöpfend darstellen kann, zudem s<strong>in</strong>d auch<br />
andere Kategorieren und Unterteilungen denkbar. Aus diesem Grund können auch ganze Teilbäume an mehreren<br />
Stellen im Gesamtbaum s<strong>in</strong>nvoll e<strong>in</strong>gefügt werden.<br />
4.1 Egoistisches Verhalten und se<strong>in</strong>e Auswirkungen<br />
Ziel: Ressourcen schonen<br />
Beschreibung: Egoismus ist das Motiv e<strong>in</strong>es Knotens, wenn er, um die CPU Last und den Energieverbrauch<br />
zu reduzieren, ke<strong>in</strong>e fremden Pakete weiterleitet. Das Ziel ist es deshalb nur zu kooperieren, wenn<br />
der Knoten dadurch e<strong>in</strong>en direkten Nutzen hat. Wenn er selbst Daten senden und empfangen will, würde er<br />
natürlich bei der Route Discovery mitwirken.<br />
Die CPU Last, um an e<strong>in</strong>em Netzwerk Protokoll teilzunehmen, kann sehr groß se<strong>in</strong>, ebenso wie der Energieverbrauch<br />
bei e<strong>in</strong>igen mobilen Geräten durch die Sendee<strong>in</strong>heit. Das Ziel des egoistischen Knotens ist es<br />
daher die eigenen CPU und Akku Ressourcen zu schonen, <strong>in</strong>dem nur am Netzwerkverkehr teilgenommen<br />
wird, der dem Knoten auch Nutzen br<strong>in</strong>gt. Man kann sich leicht vorstellen, dass dieses Verhalten den Durchsatz<br />
und die Erreichbarkeit von anderen Knoten stark bee<strong>in</strong>trächtigen kann.<br />
Folgende Angriffe beziehen sich auf die Fälle, <strong>in</strong> denen der Knoten ke<strong>in</strong>en unmittelbaren Nutzen zu erwarten<br />
hätte.<br />
39
KAPITEL 4. VERWUNDBARKEITEN DES DSR PROTOKOLLS<br />
Angriff:<br />
OR 1. Routen bilden, die den egoistischen Knoten meiden<br />
OR 1. nicht bei der Route Discovery kooperieren<br />
OR 1. ROUTE REQUEST nicht weiterleiten<br />
2. ke<strong>in</strong> ROUTE REPLY senden<br />
3. ke<strong>in</strong> ACK senden, erzeugt e<strong>in</strong>en ROUTE ERROR<br />
bei Knoten zuvor<br />
2. Route Discovery manipulieren<br />
OR 1. ROUTE REQUEST mit gefälschtem Source Path weiterleiten<br />
OR 1. Source Path, der M nicht enthält<br />
OR 1. ungültigen Source Path<br />
2. M <strong>in</strong> <strong>Ad</strong>ressliste durch e<strong>in</strong>e<br />
Umleitung über andere Knoten ersetzen<br />
AND 1. mit MAC <strong>Ad</strong>resse von e<strong>in</strong>gefügtem Knoten senden<br />
3. Source Path durch virtuelle Knoten <strong>in</strong> ROUTE REPLY<br />
länger ersche<strong>in</strong>en lassen<br />
2. ROUTE REPLY mit gefälschtem Source Path zurücksenden<br />
OR 1. M <strong>in</strong> Source Route als external markieren<br />
(damit automatisch letzter Knoten im Pfad)<br />
2. Source Path durch virtuelle Knoten <strong>in</strong> ROUTE REPLY<br />
länger ersche<strong>in</strong>en lassen<br />
3. hop limit (TTL aus IP Header) auf 0 setzen<br />
OR 4. M <strong>in</strong> <strong>Ad</strong>ressliste durch e<strong>in</strong>e<br />
Umleitung über andere Knoten ersetzen<br />
2. bestehende Routen manipulieren<br />
OR 1. Source Route ändern, manipuliert<br />
auch die Cache E<strong>in</strong>träge<br />
2. ROUTE ERRORS erzeugen<br />
OR 1. falsche ROUTE ERROR Messages, M nimmt an<br />
Verkehr dann nicht mehr teil<br />
2. SALVAGING der Route ignorieren<br />
3. erneuten ROUTE REQUEST durch Sender vortäuschen<br />
3. ke<strong>in</strong>e Datenweiterleitung<br />
OR 1. fremde Pakete verwerfen<br />
2. hop limit(TTL) auf 0 setzen<br />
Anmerkungen: Das Fälschen der MAC <strong>Ad</strong>resse ist nur bei bestimmten IEEE 802.11 Karten über undokumentierte<br />
Funktionen möglich. Wenn die Implementierung des DSR Protokolls ke<strong>in</strong>e entsprechende<br />
Überprüfung vornimmt, kann die Änderung der MAC <strong>Ad</strong>resse auch entfallen.<br />
40
KAPITEL 4. VERWUNDBARKEITEN DES DSR PROTOKOLLS<br />
4.2 Böswillige Knoten und deren Schadwirkung<br />
E<strong>in</strong> Knoten kann auch aggressivere Gründe für e<strong>in</strong>en Angriff haben. Im Unterschied zu Angriffen aus Egoismus,<br />
bei denen der Angriff nicht gezielt gegen andere Knoten gerichtet ist, will e<strong>in</strong> böswilliger Angreifer<br />
e<strong>in</strong>en Knoten oder e<strong>in</strong>e Gruppe von Knoten gezielt manipulieren.<br />
4.2.1 Informationsgew<strong>in</strong>nung durch böswillige Knoten<br />
Ziel: Informationen über e<strong>in</strong> Opfer sammeln<br />
Beschreibung: E<strong>in</strong>e denkbare Form des Angriffs ist es, Informationen über e<strong>in</strong> Opfer zu sammeln.<br />
Für manche Angreifer ist es wichtig, Informationen über e<strong>in</strong> Opfer zu gew<strong>in</strong>nen, um beispielsweise später<br />
<strong>in</strong> das System des Opfers direkt e<strong>in</strong>dr<strong>in</strong>gen zu können. Interessante Informationen können passive Informationen<br />
wie die Position, das Verhalten und die Kommunikationsbeziehungen e<strong>in</strong>es Knotens se<strong>in</strong>. Noch mehr<br />
lässt sich allerd<strong>in</strong>gs <strong>in</strong> Erfahrung br<strong>in</strong>gen, wenn die gesendeten und empfangenen Daten e<strong>in</strong>es Knotens ausgewertet<br />
werden können.<br />
Angriff:<br />
OR 1. verfügbare Informationen auswerten<br />
OR 1. aus mitgehörter Rout<strong>in</strong>g Information Nachbarschaft des<br />
Opfers herleiten<br />
2. von Opfer durch M weitergeleitete Datenpakete auswerten<br />
2. Rout<strong>in</strong>g manipulieren, um mehr Informationen zu gew<strong>in</strong>nen<br />
OR 1. e<strong>in</strong>er Route höchster Priorität(kürzester Länge) erzeugen<br />
OR 1. ROUTE REPLY von M, bei dem Ziel als nächster Knoten<br />
angegeben wird<br />
OR 1. Verkehr mit Ziel durch M vortäuschen<br />
2. Verkehr über kooperierenden bösartigen Knoten<br />
über separate Verb<strong>in</strong>dung leiten (Wurmloch Angriff)<br />
AND 1. alle ROUTE REQUEST und ROUTE REPLY über diese<br />
private Verb<strong>in</strong>dung weiterleiten<br />
2. Pakete ebenso über diese Verb<strong>in</strong>dung schicken<br />
2. Source Path <strong>in</strong> ROUTE REQUEST verfälschen, M als Quelle<br />
e<strong>in</strong>tragen<br />
AND 1. separater ROUTE REQUEST zu Ziel<br />
2. ROUTE REPLY mit M und direkt danach Ziel an Opfer<br />
3. Route von M zu Ziel <strong>in</strong> ankommende Pakete von Opfer<br />
schreiben<br />
2. Knoten so positionieren, dass er partitionierte Segmente<br />
verb<strong>in</strong>det; der Verkehr zwischen den Segmenten läuft dann<br />
über ihn<br />
41
KAPITEL 4. VERWUNDBARKEITEN DES DSR PROTOKOLLS<br />
Anmerkungen: Gefälschte Source Routen werden auch noch <strong>in</strong> die Caches der Knoten aufgenommen,<br />
durch die das Paket mit der gefälschten Source Route reist (Cache Poison<strong>in</strong>g). Es ist e<strong>in</strong> weiterer Teil<br />
der Strategie, erfolgreich gefälschte Cachee<strong>in</strong>träge regelmäßig zu nutzen, um sie im Cache zu halten. Die<br />
Wirkung von Manipulationen der Source Route wird noch verstärkt, wenn der Promiscuous Mode aktiv ist.<br />
Bei diesem werden auch Source Routen <strong>in</strong> den Cache aufgenommen, die nicht über diesen Knoten gehen.<br />
4.2.2 Angriff auf den Datenverkehr e<strong>in</strong>es Knotens<br />
Ziel: Denial of Service im Netzwerk durchführen<br />
Beschreibung: Denial of Service beschreibt e<strong>in</strong>en Prozess, der dazu dient Netzwerkdienste für die Außenwelt<br />
unzugänglich zu machen. Das kann durch schlichte Überlastung des Opfers geschehen oder durch<br />
E<strong>in</strong>griffe <strong>in</strong> das Rout<strong>in</strong>g, um das Opfer unerreichbar zu machen. Berechtigte Anfragen erreichen das Opfer<br />
dann nicht mehr.<br />
E<strong>in</strong> Denial of Service Angriff kann gegen e<strong>in</strong> ganzes Netzwerkes gerichtet se<strong>in</strong>. Besonders auffällig ist das<br />
bei Angriffen, die sich ähnlich dem Schneeballeffekt ständig vermehren. Viele Knoten des Netzes können<br />
dann ihrer Weiterleitungsfunktion nicht mehr nachkommen und Pakete nicht mehr empfangen oder müssen<br />
Pakete verwerfen.<br />
Der Denial of Servcie kann aber auch e<strong>in</strong> direkter Angriff auf e<strong>in</strong>en Knoten se<strong>in</strong>, der durch Überlastung<br />
und übermäßigen Ressourcenverbrauch für längere Zeit blockiert wird. E<strong>in</strong> so angegriffener Knoten wird<br />
teilweise vom Netzwerk isoliert und damit s<strong>in</strong>d auch andere Dienste, die dieser Knoten anbietet, nicht mehr<br />
verfügbar. Welche Kettenreaktion das im Netz bei kritischen, zentralen Diensten auslösen kann, ist leicht<br />
vorstellbar.<br />
Angriff:<br />
OR 1. Rout<strong>in</strong>g stören<br />
OR 1. bekannte Knoten <strong>in</strong> der Nähe des Ziels <strong>in</strong> Pfad der<br />
ROUTE REQUEST aufnehmen, ROUTE REQUEST wird dann<br />
nicht weitergeleitet und schlägt fehl; alle folgenden<br />
ROUTE REQUESTS mit dieser ID werden zusätzlich<br />
abgelehnt<br />
2. Discovery Sturm durch große Zahl von<br />
unbekannten Zielen und IDs<br />
3. Angriffe auf Send Buffer (wenn dieser FIFO Strategie nutzt)<br />
OR 1. Send Buffer fluten durch viele neue Pakete über Knoten,<br />
ROUTE REQUEST und andere "ältere" Pakete gehen dann<br />
verloren<br />
2. Nach jedem fremden Paket Send Buffer fluten und<br />
das fremde Paket verdrängen<br />
4. Discovery ID auf alte ID setzen, Antwort der<br />
Discovery geht verloren<br />
42
KAPITEL 4. VERWUNDBARKEITEN DES DSR PROTOKOLLS<br />
5. ROUTE REQUEST mit gefälschter ID weit <strong>in</strong> Zukunft,<br />
Discoverys durch echten Erzeuger gehen dann verloren<br />
AND 1. ändere MAC auf MAC des Opfers<br />
2. schicke gefälschten Route Request<br />
6. auf unterster Protokollebene Pakete für e<strong>in</strong>en anderen<br />
Knoten während Route Request weiterleiten<br />
für Route Reply <strong>in</strong> Rückrichtung ebenso (Replay Angriff)<br />
danach alle Pakete verwerfen<br />
2. Pakete zerstören<br />
1. Schwarze Loch Attacke, Pakete gehen unbemerkt verloren<br />
OR 1. falsches ACK für nicht erreichbaren Nachbarn,<br />
L<strong>in</strong>k wird dann als funktionierend angesehen<br />
AND 1. MAC <strong>Ad</strong>resse auf die des Opfers ändern<br />
2. falsches ACK senden<br />
2. ROUTE ERROR nicht weiterleiten, Verlust des Pakets<br />
3. nur ROUTE REQUEST und ROUTE REPLY weiterleiten,<br />
normale Pakete verwerfen<br />
3. Ressourcen verbrauchen<br />
OR 1. Schleife <strong>in</strong> Route über Opfer e<strong>in</strong>führen<br />
OR 1. beim Weiterleiten des Paketes Schleife <strong>in</strong><br />
SOURCE ROUTE e<strong>in</strong>führen<br />
2. piggybacked ROUTE REPLY entfernen und<br />
nur ROUTE REQUEST weiter,<br />
Endlosschleife mit ROUTE REQUESTs<br />
2. Überlast auf Knoten erzeugen um Ressourcen zu zehren<br />
OR 1. alten Route Reply nochmals senden<br />
2. e<strong>in</strong> weitergeleitetes Paket immer wieder senden<br />
3. künstlich aufgeblähten Pfad weitergeben, erhöht<br />
Latenzzeit&Traffic, Überlast auf bestimmten Knoten<br />
4. falsche ROUTE ERRORs und SALVAGE COUNT auf Maximum<br />
setzen, erzw<strong>in</strong>gt e<strong>in</strong>e neue Route Discovery<br />
5. Knoten, die e<strong>in</strong> "Bottleneck" im Netzwerk durch viele<br />
Pakete überlasten<br />
6. e<strong>in</strong>en Knoten solange durch Pakete überlasten,<br />
bis Batterie leer ist<br />
7. Pakete mit langen Pfaden angeben, um die gesamte<br />
Netzwerklast zu erhöhen<br />
8. SALVAGE COUNT auf Maximum setzen, ke<strong>in</strong>e Änderung mehr<br />
möglich; neuer ROUTE REQUEST nötig, wenn ROUTE ERROR<br />
43
KAPITEL 4. VERWUNDBARKEITEN DES DSR PROTOKOLLS<br />
4.2.3 Angriff auf die Luftschnittstelle<br />
Ziel: E<strong>in</strong>em Knoten die Möglichkeit nehmen zu kommunizieren<br />
Beschreibung: Die Luftschnittstelle ist für jede Fremde<strong>in</strong>wirkung offen. Es ist für e<strong>in</strong>en Angreifer<br />
<strong>in</strong>teressant das Netz partiell zu stören, um Übertragungen der Nachbarn zu verh<strong>in</strong>dern. Man kann diesen<br />
Angriff als Unterart des Denial of Service betrachten; allerd<strong>in</strong>gs ist es hier schwieriger e<strong>in</strong>en Knoten gezielt<br />
anzugreifen, da der Angriff auch e<strong>in</strong>er gewissen räumliche Nähe bedarf.<br />
E<strong>in</strong>e kurze E<strong>in</strong>führung <strong>in</strong> die Spread Spectrum Kommunikation wird unter 3.2 gegeben.<br />
MANETs, speziell DSR, erfordern für e<strong>in</strong>en effizienten Betrieb die Möglichkeit e<strong>in</strong>en Broadcast an viele<br />
Empfänger gleichzeitig durchzuführen oder sogar e<strong>in</strong>es Promiscuous Mode, bei dem fremde Übertragungen<br />
mitgehört werden. Es ist deshalb erforderlich, dass allen potentiellen Empfängern das Tim<strong>in</strong>g des Spread<br />
Codes bekannt ist.<br />
Angriff:<br />
OR 1. ganzes Frequenzband stören<br />
aber oft 1000x stärkere Sendeleistung für jamm<strong>in</strong>g<br />
als Leistung des zu störenden Senders, selbst bei<br />
ger<strong>in</strong>ger Distanz zum Ziel nötig<br />
2. künstliches Herbeiführen von Kollisionen<br />
mit bekanntem Spread Code konstant jede Übertragung<br />
stören; mit ger<strong>in</strong>ger Sendeleistung möglich<br />
3. auf Kanal lauschen, Übertragung erkennen,<br />
dann sofort zu senden anfangen<br />
4. ROUTE REQUEST - ROUTE REPLY Antwortfenster bekannt,<br />
im gesamten Fenster Übertragung stören<br />
besonders für Antworten aus Route Cache<br />
Anmerkungen: Für e<strong>in</strong>en Angreifer besteht der Reiz, e<strong>in</strong>en mit Spread Spectrum kodierten Kanal anzugreifen,<br />
dar<strong>in</strong> dass dies schon mit Standard Hardware möglich ist, also auch durch e<strong>in</strong>en bösartigen Knoten.<br />
Die Wirkung ist aber mit der Sendeleistung beschränkt.<br />
Es ist <strong>in</strong> erster L<strong>in</strong>ie e<strong>in</strong> Problem des Hardware Designs diese Angriffe abzuwehren. Diese Angriffsform<br />
wird deshalb <strong>in</strong> dieser Arbeit nicht mehr behandelt.<br />
4.3 Besondere Verwundbarkeiten des DSR Designs<br />
DSR leidet <strong>in</strong> der jetzigen Form daran, dass die Rout<strong>in</strong>g Informationen ungeschützt gegen böswillige<br />
Änderungen s<strong>in</strong>d. Jeder Knoten kann versuchen mit manipulierten Source Routen <strong>in</strong> normalen Paketen<br />
oder Route Replys die Route Caches anderer Knoten zu vergiften.<br />
44
KAPITEL 4. VERWUNDBARKEITEN DES DSR PROTOKOLLS<br />
Der SendBuffer mit FIFO Strategie ist e<strong>in</strong>fach zu überfüllen und zum Überlauf zu br<strong>in</strong>gen; mobile Geräte<br />
haben meist nur sehr wenig Speicher und entsprechend kle<strong>in</strong> dürfte dann auch der SendBuffer ausfallen. Es<br />
ist deshalb sehr e<strong>in</strong>fach gezielt e<strong>in</strong>en Knoten durch fluten des SendBuffers auszuschalten.<br />
Die Luftschnittstelle ist zwar bei DSR nicht spezifiziert, allerd<strong>in</strong>gs fordert DSR, dass broadcasts möglich<br />
s<strong>in</strong>d, wenn nicht sogar e<strong>in</strong> promiscuous mode. Das macht erforderlich, dass alle teilnehmenden Knoten mit<br />
e<strong>in</strong>em Interface immer auf e<strong>in</strong>em von allen Knoten geteilten SpreadSpectrum Code senden und empfangen.<br />
Dadurch kann jeder Knoten auch mit se<strong>in</strong>er normalen Sendeleistung die Übertragung physikalisch stören.<br />
E<strong>in</strong>en weiteren Angriffspunkt auf das DSR Protokoll stellen e<strong>in</strong>ige Felder im Kopf der Pakete dar, die durch<br />
Jeden geändert werden können. Man könnte e<strong>in</strong>ige Felder kryptografisch absichern, aber es gibt Felder, die<br />
veränderlich se<strong>in</strong> müssen:<br />
• Die Source Route wird während dem Route Request durch alle Knoten bearbeitet und verlängert,<br />
außerdem wird e<strong>in</strong>e bestehende Route beim Paket Salvag<strong>in</strong>g geändert.<br />
• Der Salvage Count muss ebenso für Salvag<strong>in</strong>g abänderbar se<strong>in</strong> können, wenn auch die Schadwirkung<br />
eher ger<strong>in</strong>g se<strong>in</strong> dürfte.<br />
Nachdem nun theoretisch Angriffsmöglichkeiten auf DSR gezeigt wurden, sollen diese nun mittels Simulation<br />
untersucht werden.<br />
45
KAPITEL 4. VERWUNDBARKEITEN DES DSR PROTOKOLLS<br />
46
Kapitel 5<br />
Simulation von <strong>Ad</strong> hoc <strong>Netzwerken</strong><br />
Es gibt verschiedene Möglichkeiten Thesen <strong>in</strong> der Informatik zu überprüfen. Je komplizierter die Wechselwirkungen<br />
und je mehr Unbekannte es gibt, desto schwieriger wird es e<strong>in</strong> System mit formal mathematischen<br />
Methoden zu beweisen. Die Simulation stellt e<strong>in</strong>e gute Möglichkeit dar, die Praxistauglichkeit e<strong>in</strong>es<br />
Systems zu erproben. Dieses Kapitel soll sich nun der Simulation des Netzwerkes und se<strong>in</strong>er Angreifer<br />
widmen.<br />
5.1 Simulation mit ns2<br />
Bei der Suche nach e<strong>in</strong>em Tool zur Simulation der <strong>Ad</strong> hoc Netzwerke fiel unsere Wahl auf ns2 [ns2a]. Ns2<br />
ist e<strong>in</strong> diskreter und ereignisbasierter Simulator, der für Lehre und Forschung entwickelt wurde. Er eignet<br />
sich gut, um Rout<strong>in</strong>g <strong>in</strong> e<strong>in</strong>em drahtgebundenen und drahtlosen Netzwerk zu simulieren. Dazu unterstützt<br />
er e<strong>in</strong>e Vielzahl von Protokollen auf verschiedenen Ebenen - wie z.B. TCP/IP, UDP und Multicastprotokolle.<br />
DSR und AODV s<strong>in</strong>d die drahtlosen Netzwerkprotokolle <strong>in</strong> ns2, die auf die Orig<strong>in</strong>alimplementierungen<br />
zurückgehen und deshalb ideal für Experimente s<strong>in</strong>d.<br />
Ns2 erfreut sich großer Beliebtheit <strong>in</strong> der Forschergeme<strong>in</strong>schaft, denn er ist <strong>in</strong> se<strong>in</strong>em Quellcode frei<br />
verfügbar und für viele Plattformen compilierbar. Die meisten Thesen der aktuellen Forschung über IDS<br />
wurde mit ns2 verifiziert. Da es bereits e<strong>in</strong> breites Angebot der gebräuchlichen Applikationen und Protokolle<br />
für den Simulator gibt, kann sich die aktuelle Forschungsarbeit auf die neuen Felder konzentrieren. Ns2<br />
ist deshalb auch für diese Diplomarbeit e<strong>in</strong>e gute Wahl, um deren Ergebnisse mit bestehenden Verfahren<br />
vergleichbar zu machen.<br />
Ns war 1989 die erste Version des Network Simulators, der auf den REAL Netzwerksimulator zurückg<strong>in</strong>g.<br />
Ns g<strong>in</strong>g seither durch mehrere Redesigns, um schließlich die Version ns2.1b26 zu erreichen. Die DARPA<br />
unterstützt die Entwicklung von ns2, um die Forschung der drahtlosen Kommunikation voranzutreiben. Es<br />
werden <strong>Ad</strong> hoc Netzwerke, Satellitenkommunikation sowie Sensornetzwerke mit Unterstützung der DAR-<br />
PA <strong>in</strong>tegriert. Diese Felder s<strong>in</strong>d auch jetzt noch ständig <strong>in</strong> Entwicklung.<br />
47
KAPITEL 5. SIMULATION VON AD HOC NETZWERKEN<br />
Für diese Arbeit wurde anfänglich die Version ns2.1b9a evaluiert; leider musste festgestellt werden, dass<br />
diese Version auf dem L<strong>in</strong>k Layer fehlerhaft war. Diese Fehler wurden unter anderem <strong>in</strong> den Release Notes<br />
der erst kürzlich erschienenen Version ns2.1b26 dokumentiert [ns2b]. Es war mit dieser Version somit nicht<br />
möglich die publizierten DSR Ergebnisse zu erreichen. Mit der Version ns2.1b8a dagegen waren die Ergebnisse<br />
erreichbar. Für diese Arbeit wird deshalb die etwas ältere Version ns2.1b8a verwendet.<br />
5.1.1 Parameter der Simulation<br />
Die aktuellen Publikationen der IDS waren Basis für die gewählten Simulationsparameter. Plausibel gewählt<br />
s<strong>in</strong>d die Anzahl der Knoten ebenso die Länge und Breite, um h<strong>in</strong>reichend viele Paketweiterleitungen zu erreichen.<br />
Die Tabelle 5.1 zeigt die typischen Parameter, die <strong>in</strong> den meisten Publikationen verwendet wurden.<br />
Um Pakete zu generieren, wird von dem CBR(constant-bit-rate) Modell ausgegangen; bei diesem werden die<br />
Daten mit konstanter Rate über die Verb<strong>in</strong>dungen gesendet. Die Knoten bewegen sich nach dem ”Random<br />
Waypo<strong>in</strong>t Modell”. Dieses Modell geht von e<strong>in</strong>er zufälligen Verteilung der Knoten über die Fläche aus. E<strong>in</strong><br />
Knoten wartet e<strong>in</strong>e def<strong>in</strong>ierte Zeit, die sogenannte ”Pause Time”, und bewegt sich dann mit e<strong>in</strong>er zufälligen<br />
Geschw<strong>in</strong>digkeit <strong>in</strong> e<strong>in</strong>e zufällige Richtung (deshalb: random waypo<strong>in</strong>t). Die gewählte Geschw<strong>in</strong>digkeit<br />
übersteigt dabei nicht die def<strong>in</strong>ierte Maximalgeschw<strong>in</strong>digkeit. Nach e<strong>in</strong>er zufälligen Zeit (aber <strong>in</strong>nerhalb<br />
der def<strong>in</strong>ierten Fläche) kommt der Knoten zum Stehen und wartet wieder während der Pause Time, bis er<br />
sich schließlich wieder <strong>in</strong> e<strong>in</strong>e weitere zufällige Richtung <strong>in</strong> Bewegung setzt. Alle Knoten bewegen sich<br />
nach diesem Modell bis zum Simulationsende.<br />
Parameter Wert<br />
ns2 Version ns2.1b8a<br />
Rout<strong>in</strong>g Protokoll DSR<br />
Anzahl Knoten 50<br />
Länge 1500<br />
Breite 300<br />
Datenverkehr CBR<br />
Senderate 4.0<br />
maximale Verb<strong>in</strong>dungen 20<br />
Paketgröße 512<br />
Bewegungsmodell Random-Waypo<strong>in</strong>t<br />
Pausezeit 0<br />
Simulationsläufe je Parameter 10<br />
Tabelle 5.1: Parameter der Simulation<br />
Forschungsergebnisse zeigen, dass es mit e<strong>in</strong>er kle<strong>in</strong>en Pause Time mit DSR schwieriger wird Pakete zuzustellen.<br />
Da der maximale Effekt von Rout<strong>in</strong>g Anomalien und deren Auswirkungen auf die Zustellungsrate<br />
48
KAPITEL 5. SIMULATION VON AD HOC NETZWERKEN<br />
mit DSR <strong>in</strong>teressiert, wird mit der Pause Time 0 simuliert.<br />
Simulationen mit ns2 können e<strong>in</strong>e sehr langwierige Angelegenheit se<strong>in</strong>, weshalb <strong>in</strong> dieser Arbeit jeweils<br />
zehn Simulationsdurchläufe, für jedes untersuchte Szenario, unternommen werden. Die Erfahrung hat gezeigt,<br />
dass mit diesen zehn Durchläufen bereits e<strong>in</strong> breites Spektrum der Konstellationen der Knoten <strong>in</strong> den<br />
Szenarien durchgespielt wird.<br />
Simulationen mit ns2 s<strong>in</strong>d langsam und die Ergebnisse <strong>in</strong> den sogenannten Trace-Dateien sehr umfangreich<br />
(bis zu 300 MB für e<strong>in</strong>e e<strong>in</strong>zelne Simulation). Die Laufzeit und der Platzverbrauch hängen entscheidend<br />
von der Länge der Simulation ab. Deshalb war die erste Aufgabe, die Simulationsergebnissen abhängig von<br />
der Zeit zu bewerten, um e<strong>in</strong>e s<strong>in</strong>nvolle Laufzeit für spätere Simulationen festzulegen.<br />
Zu diesem Zweck wurden mit den Standardparametern Simulationen mit den Laufzeiten 200, 300, 600, 900,<br />
1200 und 1500 Sekunden durchgeführt. Es wurden die Zustellungsrate und der Rout<strong>in</strong>g Overhead gemessen.<br />
Die Zustellungsrate ist das Verhältnis der Datenpakete, die beim Empfänger angekommen s<strong>in</strong>d zu allen<br />
Datenpaketen, die gesendet wurden. Um nun auch zu erfassen, wie viele Pakete für den Routen-Aufbau an<br />
sich anfallen, wurde auch noch der Rout<strong>in</strong>g Overhead, def<strong>in</strong>iert als alle DSR Rout<strong>in</strong>g Pakete im Verhältnis<br />
zu allen gesendeten Datenpaketen, gemessen. Für unsere Untersuchungen zählen wir ke<strong>in</strong>e Pakete auf MAC<br />
Ebene. Innerhalb der ersten 200 Sekunden der Simulation werden die CBR Verb<strong>in</strong>dungen gestartet, deshalb<br />
ist das der kle<strong>in</strong>ste Zeitparameter für die Simulationsreihe.<br />
%<br />
3<br />
2.5<br />
2<br />
1.5<br />
1<br />
0.5<br />
0<br />
200 400 600 800<br />
Sekunden<br />
1000 1200 1400<br />
Rout<strong>in</strong>g Overhead mit DSR bei 1m/s<br />
Abbildung 5.1: Normalisierter Rout<strong>in</strong>g Overhead als<br />
Funktion der Zeit<br />
%<br />
100<br />
99.5<br />
99<br />
98.5<br />
98<br />
97.5<br />
97<br />
200 400 600 800<br />
Sekunden<br />
1000 1200 1400<br />
Empfangsrate mit DSR bei 1m/s<br />
Abbildung 5.2: Zustellungsrate als Funktion der Zeit<br />
Simulationszeit 200 300 600 900 1200 1500<br />
Rout<strong>in</strong>g Overhead (%) 2.83 2.25 2.24 1.99 1.62 1.92<br />
Zustellungsrate (%) 99.97 99.81 99.81 99.44 99.82 99.45<br />
Abbildung 5.3: Zustellungsrate und Rout<strong>in</strong>g Overhead bei 1m/s<br />
Die erste Simulation lief mit der Maxmimalgeschw<strong>in</strong>digkeit von 1m/s. Die Abbildungen 5.1 und 5.2 zeigen<br />
die Ergebnisse der Simulation. Interessant ist, dass sich <strong>in</strong> Abbildung 5.1 der anfängliche Aufwand die<br />
Routen zu bilden schnell e<strong>in</strong>pendelt und über die Simulationsdauer konstant bleibt. Die Zustellungsrate ist<br />
49
KAPITEL 5. SIMULATION VON AD HOC NETZWERKEN<br />
bei dieser niedrigen Geschw<strong>in</strong>digkeit konstant, was daher rührt, dass Pakete <strong>in</strong> kurzer Zeit e<strong>in</strong>en Weg zum<br />
Ziel f<strong>in</strong>den.<br />
%<br />
32<br />
30<br />
28<br />
26<br />
24<br />
22<br />
20<br />
18<br />
16<br />
14<br />
200 400 600 800 1000 1200 1400<br />
Rout<strong>in</strong>g Overhead mit DSR bei 20 m/s<br />
Abbildung 5.4: Normalisierter Rout<strong>in</strong>g Overhead als<br />
Funktion der Zeit<br />
%<br />
90<br />
88<br />
86<br />
84<br />
82<br />
80<br />
200 400 600 800<br />
Sekunden<br />
1000 1200 1400<br />
Empfangsrate mit DSR bei 20 m/s<br />
Abbildung 5.5: Zustellungsrate als Funktion der Zeit<br />
Simulationszeit 200 300 600 900 1200 1500<br />
Rout<strong>in</strong>g Overhead (%) 28.3 25.3 22.9 19.9 18.4 17.1<br />
Zustellungsrate (%) 88.7 81.8 83.3 84.6 83.9 84.1<br />
Abbildung 5.6: Zustellungsrate und Rout<strong>in</strong>g Overhead bei 20m/s<br />
Bei 20m/s kann man nun <strong>in</strong> Abbildungen 5.4 und 5.5 sehen, wie mit der schnelleren Knotenbewegung die<br />
Zustellung der Pakete schwieriger wird. Zu sehen ist, wie <strong>in</strong> der Startphase 28% aller Pakete nur für die<br />
Route Discovery vewendet werden; dieser Wert stabilisiert sich mit steigender Simulationszeit auf ungefähr<br />
19%. Die Zustellungsrate <strong>in</strong>sgesamt liegt mit um 84% deutlich unter der Simulation bei 1m/s, die über<br />
99% erreichen konnte. Dieses Szenario ist aber bereits sehr anspruchsvoll, wenn man sich verdeutlicht, dass<br />
20m/s e<strong>in</strong>er Bewegung von 72km/h entspricht, und dies stellt üblicherweise das extremste simulierte Szenario<br />
dar.<br />
Die Ergebnisse zeigen, dass mit e<strong>in</strong>er Simulationszeit von 900 Sekunden zuverlässige Ergebnisse gewonnen<br />
werden können. Die Laufzeit bei 900 Sekunden und jeweils 10 Durchläufen mit 15 verschiedenen Werten<br />
kann so immer noch 18 Stunden se<strong>in</strong>. Diese Simulationszeit stellt somit e<strong>in</strong>en ausgewogenen Kompromiss<br />
zwischen Laufzeit und Ergebnisgenauigkeit dar.<br />
5.2 Simulation egoistischer Knoten<br />
Es wurde bereits dargelegt, welche Möglichkeiten das DSR Protokoll egoistischen Knoten lässt, um eigene<br />
Ressourcen zu schonen. Egoistische Knoten können aber dennoch das <strong>Ad</strong> hoc Netzwerk zur Kommunikation<br />
benutzen. Der Anreiz für e<strong>in</strong>en e<strong>in</strong>zelnen Knoten ist damit hoch nicht zu kooperieren und das Netzwerk<br />
50
KAPITEL 5. SIMULATION VON AD HOC NETZWERKEN<br />
dennoch zu gebrauchen.<br />
Egoismus und se<strong>in</strong>e Auswirkungen auf die Leistungsfähigkeit der <strong>Ad</strong> hoc Netzwerke wurden bisher nur<br />
wenig untersucht. Welche Auswirkungen haben also egoistische Knoten auf die Zustellungsrate? Für die<br />
Simulation wird das Verhalten e<strong>in</strong>es egoistischen Knotens folgendermaßen def<strong>in</strong>iert:<br />
• Eigene Pakete werden regulär empfangen und gesendet.<br />
• Fremde Route Discoverys werden verworfen.<br />
Das Ignorieren von Route Requests genügt bereits, um später ke<strong>in</strong>e Pakete weiterleiten zu müssen. Deshalb<br />
werden <strong>in</strong> der Simulation die egoistischen Knoten ke<strong>in</strong>e Route Requests weiterleiten. Die Simulation startet<br />
mit e<strong>in</strong>em Referenzszenario ohne egoistische Knoten, dann werden zwischen 1 und 50 egoistische Knoten<br />
simuliert. Da <strong>in</strong>sgesamt 50 Knoten im Szenario vorliegen, s<strong>in</strong>d 50 egoistische Knoten logischerweise 100%<br />
der vorhandenen Knoten.<br />
Empfangsrate %<br />
100<br />
80<br />
60<br />
40<br />
20<br />
0<br />
0 10 20 30 40 50<br />
Anzahl egoistischer Knoten<br />
Bewegung der Knoten: 1 m/s<br />
Anzahl Knoten 0 1 3 5 7 10 15<br />
Zustellungsrate 99.38 98.82 97.55 96.71 96.82 94.16 90.40<br />
Anzahl Knoten 20 25 30 35 40 45 50<br />
Zustellungsrate 89.83 87.11 84.09 74.23 63.67 50.52 35.81<br />
Abbildung 5.7: Auswirkung von Egoismus auf die Zustellungsrate bei 1m/s<br />
Die Ergebnisse <strong>in</strong> Abbildung 5.7 mit 1m/s zeigen bereits bei e<strong>in</strong>em egoistischen Knoten e<strong>in</strong>e ger<strong>in</strong>ge Auswirkung<br />
auf die Zustellungsrate. Wir können beobachten, dass bei 30 egoistischen Knoten die Zustellungsrate<br />
fast l<strong>in</strong>ear bis auf 84% fällt. Danach bricht sie schließlich bis auf 35% e<strong>in</strong>, wohlgemerkt bei 100%<br />
egoistischen Knoten! Alle Pakete, die zu Zielen adressiert s<strong>in</strong>d, die Weiterleitung durch e<strong>in</strong>en Knoten auf<br />
dem Weg benötigen, werden von den anderen egoistischen Knoten verworfen. Daraus kann abgeleitet werden,<br />
dass 35.8% der Pakete von Knoten direkt zu Knoten <strong>in</strong> unmittelbarer Nachbarschaft geschickt werden.<br />
Diese Pakete würden im Grunde auch ohne das DSR Protokoll am jeweiligen Ziel ankommen.<br />
51
KAPITEL 5. SIMULATION VON AD HOC NETZWERKEN<br />
Empfangsrate %<br />
100<br />
80<br />
60<br />
40<br />
20<br />
0<br />
0 10 20 30 40 50<br />
Anzahl egoistischer Knoten<br />
Bewegung der Knoten: 20 m/s<br />
Anzahl Knoten 0 1 3 5 7 10 15<br />
Zustellungsrate 95.65 94.50 92.26 91.63 89.89 88.09 82.91<br />
Anzahl Knoten 20 25 30 35 40 45 50<br />
Zustellungsrate 81.29 79.52 74.45 68.43 59.37 48.77 36.46<br />
Abbildung 5.8: Auswirkung von Egoismus auf die Zustellungsrate bei 20m/s<br />
E<strong>in</strong> ähnliches Bild ergibt sich bei 20m/s <strong>in</strong> Abbildung 5.8. Auch hier ist e<strong>in</strong> Sockelsatz der Kommunikation<br />
mit den direkten Nachbarn mit e<strong>in</strong>er Zustellungsrate von 36.5% vorhanden. Die Ergebnisse sche<strong>in</strong>en sogar<br />
besser besser zu se<strong>in</strong> als bei dem Szenario mit 1m/s. Das ist folgendermaßen erklärbar: e<strong>in</strong> Paket, das gesendet<br />
werden soll, wartet im Send Buffer, bis e<strong>in</strong>e Verb<strong>in</strong>dung durch die Antwort auf e<strong>in</strong>e Route Discovery<br />
erkannt wird. Diese Route Discoverys werden periodisch wiederholt, bis das Paket irgendwann später se<strong>in</strong>e<br />
Lebenszeit überschreitet und verworfen wird.<br />
Bei dieser hohen Geschw<strong>in</strong>digkeit durchqueren die Knoten aber tendenziell öfters ihre gegenseitige Sendereichweite<br />
als bei 1m/s. E<strong>in</strong> Paket das im Send Buffer gewartet hat wird also dann gesendet, wenn gerade<br />
zufällig das Ziel <strong>in</strong> Sendereichweite gekommen ist. Die hohe Mobilität hilft hier also e<strong>in</strong> Paket doch noch<br />
auszuliefern.<br />
Das Fazit dieser Simulationen ist, dass DSR auch bei vielen egoistischen Knoten noch e<strong>in</strong>e gute Zustellungsrate<br />
erreicht. Selbst bei 50% egoistischen Knoten kommen immerh<strong>in</strong> noch um die 80% der Pakete am<br />
Ziel an.<br />
Problematisch ist allerd<strong>in</strong>gs, dass Knoten, die sich <strong>in</strong> den Randbereichen aufhalten, wesentlich schlechtere<br />
Zustellungsraten erreichen. Es kann vorkommen, dass der e<strong>in</strong>zige Knoten, der Pakete weiterleiten könnte,<br />
gerade e<strong>in</strong> egoistischer, nicht kooperativer Knoten ist. Damit wäre e<strong>in</strong> solcher Randknoten dann vom Netzwerk<br />
isoliert.<br />
E<strong>in</strong>ige wenige egoistische Knoten mögen noch tolerabel se<strong>in</strong>, ist man geneigt zu sagen, aber die Spieletheorie<br />
warnt vor dem Trittbrettfahrerproblem. Die Spieletheorie wurde von John von Neumann begründet und<br />
52
KAPITEL 5. SIMULATION VON AD HOC NETZWERKEN<br />
modellierte das Trittbrettfahrerproblem wie folgt:<br />
• E<strong>in</strong> Knoten versucht se<strong>in</strong>en <strong>in</strong>dividuellen Gew<strong>in</strong>n zu maximieren.<br />
• Je mehr Knoten zu e<strong>in</strong>em Kollektivgut beitragen, desto höher ist die Auszahlung durch dieses Kollektivgut<br />
für jeden Knoten.<br />
• Der Beitrag zum Kollektivgut durch den e<strong>in</strong>zelnen Knoten ist größer als der Rückgang der Auszahlung<br />
aus dem Kollektivgut zurück an diesen Knoten.<br />
E<strong>in</strong> Beispiel:<br />
Wenn Knoten A 100mW Sendeleistung <strong>in</strong> das Kollektivgut <strong>Ad</strong> hoc Rout<strong>in</strong>g <strong>in</strong>vestiert, profitiert er unmittelbar<br />
erst e<strong>in</strong>mal gar nicht. Andere Knoten erhalten e<strong>in</strong>e Auszahlung durch das erfolgte Rout<strong>in</strong>g. A könnte<br />
nun versuchen nur noch das <strong>Ad</strong> hoc Netzwerk für sich selbst zu nutzen und nicht zu kooperieren; dadurch<br />
spart er die Sendeleistung und profitiert trotzdem von den kooperierenden Knoten.<br />
Andere Knoten können nun dieselbe Strategie verfolgen. Dadurch steigt die Last auf den kooperativen Knoten,<br />
bis deren Kosten so hoch s<strong>in</strong>d, dass sie ke<strong>in</strong>e Motivation mehr haben weiterh<strong>in</strong> zu kooperieren. Selbst<br />
wenn sie noch kooperieren, werden sie niemals e<strong>in</strong>e Auszahlung haben, die an den Aufwand für das fremde<br />
Rout<strong>in</strong>g heranreicht. Das Ergebnis ist e<strong>in</strong> Netzwerk, bei dem niemand mehr kooperiert und alle Knoten<br />
egoistisch s<strong>in</strong>d.<br />
5.3 Simulation böswilliger Knoten<br />
Der andere Typus des Fehlverhaltens von Knoten <strong>in</strong> <strong>Netzwerken</strong> s<strong>in</strong>d die böswilligen Knoten. Diese wollen<br />
nicht nur maximal <strong>in</strong>dividuell profitieren, sondern auch noch Schaden zufügen. Angriffe auf Applikationen<br />
und Betriebssysteme s<strong>in</strong>d bekannt und h<strong>in</strong>reichend untersucht. Von Interesse s<strong>in</strong>d deshalb vor allem Angriffe<br />
auf das Rout<strong>in</strong>g mit DSR.<br />
Es wurde e<strong>in</strong> simples bösartiges Verhalten def<strong>in</strong>iert:<br />
• Eigene Pakete werden regulär empfangen und gesendet.<br />
• Fremde Route Discoverys werden weitergeleitet.<br />
• Fremde Datenpakete werden verworfen.<br />
Dieses bösartige Verhalten ist nicht gegen e<strong>in</strong>en e<strong>in</strong>zelnen Knoten gerichtet, sondern gegen das Rout<strong>in</strong>g an<br />
sich. Wie schon bei den egoistischen Szenarien wurde auch hier mit zwischen 0 und 50 böswilligen Knoten<br />
simuliert.<br />
53
KAPITEL 5. SIMULATION VON AD HOC NETZWERKEN<br />
Empfangsrate %<br />
100<br />
80<br />
60<br />
40<br />
20<br />
0<br />
0 10 20 30 40 50<br />
Anzahl bösartiger Knoten<br />
Bewegung der Knoten: 1 m/s<br />
Anzahl Knoten 0 1 3 5 7 10 15<br />
Zustellungsrate 99.59 93.49 81.42 71.36 66.77 60.33 49.36<br />
Anzahl Knoten 20 25 30 35 40 45 50<br />
Zustellungsrate 46.42 42.46 41.27 42.6 42.07 41.22 33.64<br />
Abbildung 5.9: Auswirkung von Böswilligkeit auf die Zustellungsrate bei 1m/s<br />
Empfangsrate %<br />
100<br />
80<br />
60<br />
40<br />
20<br />
0<br />
0 10 20 30 40 50<br />
Anzahl bösartiger Knoten<br />
Bewegung der Knoten: 20 m/s<br />
Anzahl Knoten 0 1 3 5 7 10 15<br />
Zustellungsrate 94.25 85.48 67.02 56.35 50.21 46.90 42.35<br />
Anzahl Knoten 20 25 30 35 40 45 50<br />
Zustellungsrate 39.29 37.38 36.38 37.29 36.89 36.62 33.52<br />
Abbildung 5.10: Auswirkung von Böswilligkeit auf die Zustellungsrate bei 20m/s<br />
54
KAPITEL 5. SIMULATION VON AD HOC NETZWERKEN<br />
Erkennbar ist im Gegensatz zu den Ergebnissen der Simulation von egoistischem Verhalten <strong>in</strong> Kapitel 5.2,<br />
dass schon wenige böswillige Knoten e<strong>in</strong>e deutliche Auswirkung <strong>in</strong> den Ergebnissen der Abbildung 5.9<br />
zeigen. Bereits drei böswillige Knoten führen zu e<strong>in</strong>er Zustellungsrate von 81.4%; es waren immerh<strong>in</strong> 25<br />
egoistische Knoten nötig, um e<strong>in</strong> ähnlich negatives Ergebnis zu bewirken. Bei nur sieben böswilligen Knoten<br />
werden nun schon 33% der Pakete böswillig verworfen.<br />
Auch hier ist e<strong>in</strong> ähnlicher Sockel feststellbar wie bei dem Egoismus, denn auch hier werden Pakete <strong>in</strong> eigenem<br />
Interesse noch korrekt verschickt und empfangen.<br />
Auch Abbildung 5.10 zeigt, wie schon wenige Knoten genügen, um e<strong>in</strong>en großen Teil der Pakete zu zerstören.<br />
Interessant ist, dass bei 20m/s e<strong>in</strong> e<strong>in</strong>zelner Knoten fast 14,5% der Pakete verwirft. Damit ist e<strong>in</strong> e<strong>in</strong>zelner<br />
Knoten <strong>in</strong> der Lage das Netzwerk relevant zu bee<strong>in</strong>trächtigen. Waren es bei 1m/s noch sieben böswillige<br />
Knoten, die 33% der Pakete verwerfen, so erreichen dies nun bereits drei Knoten. Das zeigt, dass bei hohen<br />
Geschw<strong>in</strong>digkeiten wenige Knoten e<strong>in</strong>en starken E<strong>in</strong>fluss auf das Rout<strong>in</strong>g haben. Da diese Knoten bewusst<br />
böswillig s<strong>in</strong>d und Route Replys ordnungsgemäß beantworten und weiterleiten, Datenpakete aber verwerfen,<br />
wird DSR die Möglichkeit genommen, um diese Knoten Pakete herumzuleiten. Deshalb ist jetzt e<strong>in</strong>en<br />
stärker Effekt als bei Egoismus ersichtlich.<br />
Diese Ergebnisse s<strong>in</strong>d besonders bedeutsam, da bisher nur Auswirkungen von Egoismus auf DSR simuliert<br />
wurden. Mit dieser Arbeit konnte der bisher <strong>in</strong> der Literatur nicht untersuchte gravierende Effekt von<br />
Böswilligkeit auf das DSR Rout<strong>in</strong>g gezeigt werden.<br />
Als Ziel e<strong>in</strong>es <strong>Intrusion</strong> <strong>Detection</strong> Systems bleibt damit die Erkennung und Unterdrückung von böswilligem<br />
Verhalten als primäres Ziel. Um die Kooperation zu stimulieren, um effektive <strong>Ad</strong> hoc Netzwerke zu erreichen,<br />
müssen <strong>in</strong> e<strong>in</strong>em weiteren Schritt Egoismus erkannt und ausgemerzt werden.<br />
55
KAPITEL 5. SIMULATION VON AD HOC NETZWERKEN<br />
56
Kapitel 6<br />
MobIDS, e<strong>in</strong> <strong>Intrusion</strong> <strong>Detection</strong> System für<br />
mobile <strong>Ad</strong> hoc Netzwerke<br />
Erklärtes Ziel dieser Arbeit war es e<strong>in</strong> mobiles IDS zu schaffen, das ständig wechselnden Netzwerktopologien<br />
zum Trotz <strong>in</strong> der Lage ist, bösartige und egoistische Knoten zu erkennen und Gegenmaßnahmen<br />
e<strong>in</strong>zuleiten. Dieses System wird kurz MobIDS (<strong>Mobile</strong> <strong>Intrusion</strong> <strong>Detection</strong> System) genannt.<br />
Es werden verschiedene neuartige Methoden der lokalen Erkennung vorgestellt und im Anschluss Bewertungsverfahren<br />
sowie die Reaktion auf bösartige Knoten behandelt.<br />
6.1 E<strong>in</strong> sicheres Rahmenwerk für e<strong>in</strong> IDS<br />
Jedes IDS <strong>in</strong> dem schwierigen Umfeld von mobilen <strong>Ad</strong> hoc <strong>Netzwerken</strong> macht Annahmen über die Teilnehmer<br />
und die durch andere Systemkomponenten garantierte Sicherheit. Diese Arbeit nimmt möglichst<br />
wenige Beschränkungen an, denen die Teilnehmer unterworfen s<strong>in</strong>d.<br />
Dennoch benötigt MobIDS e<strong>in</strong> abgestimmtes Sicherheitsrahmenwerk, um damit zusammen das Netz besser<br />
zu schützen, als die bisher diskutierten Ansätze es vermochten. Jeder kann Teilnehmer <strong>in</strong> e<strong>in</strong>em von MobIDS<br />
kontrolliertem Netzwerk werden. Aber jeder muss e<strong>in</strong>e Instanz von MobIDS auf dem mobilen Gerät<br />
am Laufen haben sowie über e<strong>in</strong>e e<strong>in</strong>deutige von MobIDS bestimmbare Identität verfügen, die zyklisch<br />
an zentraler Stelle erneuert werden muss. Das Netzwerkprotokoll muss, zum Beispiel durch e<strong>in</strong> kryptografisches<br />
System, sicherstellen, dass Rout<strong>in</strong>g Informationen nur durch den jeweiligen Erzeuger verändert<br />
werden können. Im Netzwerk müssen entlang e<strong>in</strong>er Route paarweise Schlüssel mit der Quelle e<strong>in</strong>er Route<br />
ausgetauscht worden se<strong>in</strong>, um verschlüsselte Datenübertragung zu ermöglichen.<br />
Diese Annahmen s<strong>in</strong>d realistisch und werden von den anderen aktuellen Arbeiten der Abteilung Medien<strong>in</strong>formatik<br />
der Universität Ulm abgedeckt. Im Gegensatz zu den bisher <strong>in</strong> dieser Arbeit diskutierten Ansätzen<br />
wird weder von e<strong>in</strong>er globalen Zeit im Netzwerk ausgegangen noch von sicherer Hardware; weder unterliegen<br />
die Teilnehmer e<strong>in</strong>er Beschränkung noch werden unerschütterliche Vertrauensbeziehungen vorausgesetzt.<br />
57
KAPITEL 6. MOBIDS, EIN INTRUSION DETECTION SYSTEM FÜR MOBILE AD HOC NETZWERKE<br />
6.2 Konzept des <strong>Intrusion</strong> <strong>Detection</strong> Systems<br />
MobIDS operiert <strong>in</strong> drei Stufen: Die Erkennung läuft immer, <strong>in</strong> dieser wird e<strong>in</strong> Knoten als bösartig, egoistisch<br />
oder aber auch als kooperativ erkannt. Die Bewertung führt die E<strong>in</strong>zelbewertungen der beobachtetem<br />
Verhalten zu e<strong>in</strong>em Wert zusammen. Dieser wird verbreitet, sofern die Bewertung e<strong>in</strong>en negativen Schluss<br />
über e<strong>in</strong>en Knoten zulässt. Die Reaktion erfolgt, sobald e<strong>in</strong>ige negative Bewertungen von e<strong>in</strong>em Knoten<br />
empfangen wurden.<br />
6.2.1 Aufbau von MobIDS<br />
MobIDS besteht, wie <strong>in</strong> Abbildung 6.1 dargestellt, aus vier Komponenten: Der IDSAgent ist auf unterer<br />
Ebene angesiedelt, übernimmt die Kommunikation und erzeugt die Pakete für das IDS, die IDSApplication(IDSApp)<br />
bietet die Schnittstelle nach außen, um die Funktionen des IDS nutzbar zu machen. Innerhalb<br />
der IDSApp wird die Instanz des eigentlichen IDS erzeugt.<br />
Das IDS hat drei Hauptteile: Die Analysis Komponente ist zuständig für die Koord<strong>in</strong>ation und Auswertung<br />
von Untersuchungen und Audit Daten. Das Ergebnis wird bewertet und der Rat<strong>in</strong>g Komponente übergeben.<br />
Im Rat<strong>in</strong>g werden diese zu Bewertungen aggregiert und zu e<strong>in</strong>er Gesamtbewertung verdichtet.<br />
Alle relevanten Ereignisse, die für e<strong>in</strong>e spätere Auswertung <strong>in</strong>teressant se<strong>in</strong> könnten, werden e<strong>in</strong>e gewisse<br />
Zeit <strong>in</strong> Audit gespeichert. Ebenso werden dort die Ergebnisse der Analyse abgelegt sowie die Bewertungen<br />
verwaltet.<br />
Audit<br />
Hops<br />
L<strong>in</strong>ks<br />
Probes<br />
DSR Graph<br />
Analysis<br />
Prob<strong>in</strong>g<br />
Overhear<strong>in</strong>g<br />
Malicious<br />
Check<br />
Rat<strong>in</strong>g<br />
Behaviour<br />
positive<br />
negative<br />
activity<br />
IDSApp<br />
IDS System<br />
Command API<br />
Abbildung 6.1: Aufbau des IDS<br />
58<br />
IDSAgent<br />
Communication<br />
Interface<br />
NS2 und DSR
KAPITEL 6. MOBIDS, EIN INTRUSION DETECTION SYSTEM FÜR MOBILE AD HOC NETZWERKE<br />
Diese Struktur kann auch auf das CIDF Modell abgebildet werden:<br />
Die Aufgabe der Event-Box wird auf mehrere Komponenten verteilt, denn der IDSAgent und die Schnittstelle<br />
zum DSR Protokoll liefern die benötigten Ereignisse auf unterer Protokollebene. Die Analysis Box<br />
wird e<strong>in</strong>erseits auf Analysis und andererseits auf Rat<strong>in</strong>g aufgeteilt. Die Aufgabe der Storage Box (D-Box)<br />
wird durch IDS Audit wahrgenommen. Die Countermeasure Box schließlich ist e<strong>in</strong> Konglomerat von Funktionen<br />
und Aufrufen, die direkt an das DSR Protokoll gerichtet s<strong>in</strong>d.<br />
Am Ende dieses Kapitels werden die e<strong>in</strong>zelnen Komponenten und Funktionen im Detail besprochen. Die<br />
Implementierungen der Algorithmen zur lokalen Erkennung werden direkt im Zusammenhang mit dem jeweiligen<br />
Erkennungskonzept erklärt.<br />
6.3 Lokale Erkennung<br />
Die lokale Erkennung ist von zentraler Bedeutung bei e<strong>in</strong>em IDS. Wenn sie nicht zuverlässig <strong>in</strong> Erkennung<br />
und Identifikation des Angreifers ist, s<strong>in</strong>d die weiteren Schritte, die Bewertung und die Reaktion obsolet.<br />
Später <strong>in</strong> diesem Kapitel <strong>in</strong> Abschnitt 6.4 werden die Bewertungsfunktionen diskutiert. Momentan genügt<br />
es zu wissen, dass es e<strong>in</strong>e Bewertungsfunktion gibt, die aus mehreren E<strong>in</strong>zelverhalten e<strong>in</strong>en Wert für e<strong>in</strong><br />
Gesamtverhalten ableiten kann... .<br />
6.3.1 Overhear<strong>in</strong>g mit dem Promiscuous Mode<br />
Dies ist wohl die meist verwendete Technik bei aktuellen IDS, wie bereits <strong>in</strong> Kapitel 3 dargelegt wurde.<br />
Auch <strong>in</strong> diesem System wird sie e<strong>in</strong>e wichtige Rolle e<strong>in</strong>nehmen.<br />
6.3.1.1 Die Problematik des Overhear<strong>in</strong>g<br />
Im normalen Betrieb e<strong>in</strong>er Netzwerkkarte nach dem IEEE 802.11 Standard werden nur Unicast Pakete empfangen<br />
und gesendet, also immer nur Pakete, die von e<strong>in</strong>em Sender an e<strong>in</strong>en Empfänger adressiert s<strong>in</strong>d. Es<br />
kann darüber h<strong>in</strong>aus auch noch im Broadcast Modus gesendet werden; dann empfangen alle Knoten <strong>in</strong> Empfangsreichweite<br />
dieses Paket.<br />
Aktuelle Netzwerkkarten bieten zusätzlich noch die Möglichkeit auch alle Unicast Pakete <strong>in</strong> Empfangsreichweite<br />
zu verarbeiten (overhear<strong>in</strong>g). Dadurch können also Pakete mitgehört werden, die nicht für diesen<br />
Knoten bestimmt s<strong>in</strong>d. Diesen Modus nennt man auch ”Promiscuous Mode”.<br />
Wie gezeigt wurde nutzen viele IDS für <strong>Ad</strong> hoc Netzwerke diesen Modus, ebenso wie das DSR Protokoll.<br />
Nun soll auf die spezielle Problematik des Promiscuous Mode e<strong>in</strong>gegangen werden.<br />
Das generelle Problem des Energieverbrauchs <strong>in</strong> Funknetzwerken wurde <strong>in</strong> [LF01] analysiert. E<strong>in</strong>e IE-<br />
EE 802.11 Netzwerkkarte verbraucht demnach selbst im Ruhemodus(idle Zustand) 800mW. Senden kostet<br />
1400mW, während der Empfang immer noch 1000mW verbraucht. Es ist ersichtlich, dass e<strong>in</strong>fache Datenverarbeitung<br />
im Promiscuous Mode zusätzliche Kosten verursacht. Diese zusätzlichen Kosten mögen aber<br />
59
KAPITEL 6. MOBIDS, EIN INTRUSION DETECTION SYSTEM FÜR MOBILE AD HOC NETZWERKE<br />
tolerabel se<strong>in</strong>, da der größte Energieverbrauch <strong>in</strong> e<strong>in</strong>em Rechner von Display, Speicher und Prozessor verursacht<br />
wird.<br />
Viele IDS nehmen an, dass man mit dem Hören e<strong>in</strong>es Paketes mit dem Promiscuous Mode folgern kann,<br />
dass dieses Paket se<strong>in</strong> Ziel erreicht hat. Es gibt aber e<strong>in</strong>e Reihe von Problemen mit dem Empfang von<br />
Paketen im Promiscuous Mode:<br />
1. Kollision beim Knoten im Promiscuous Mode: Wenn es beim Senden an irgende<strong>in</strong>em Knoten im<br />
Promiscuous Mode zu e<strong>in</strong>er Kollision kommt, hört der lauschende Knoten nichts mehr. Es kann also<br />
nicht gesagt werden, ob das Paket nun geschickt wurde oder nicht.<br />
2. Selbst wenn der lauschende Knoten e<strong>in</strong>e Übertragung des Paketes hört, kann er nicht feststellen, ob es<br />
nicht beim Empfänger des Paketes zur Kollision gekommen ist. In diesem Fall hätte der Empfänger<br />
nämlich trotzdem dieses Paket nicht bekommen.<br />
3. Mit mancher Hardware kann die Sendeleistung reguliert werden. Dann kann e<strong>in</strong> böswilliger Knoten<br />
se<strong>in</strong>e Leistung so anpassen, dass der lauschende Knoten das Paket hört, das Paket se<strong>in</strong> eigentliches<br />
Ziel aber nicht erreicht.<br />
4. E<strong>in</strong> anderes Problem ist, dass kooperative Angriffe nicht erkennbar s<strong>in</strong>d. Wenn der erste böswillige<br />
Knoten se<strong>in</strong> Paket weiterleitet, aber e<strong>in</strong> zweiter böswilliger Knoten das Paket direkt danach verwirft,<br />
wird es der lauschende Knoten höchst wahrsche<strong>in</strong>lich nicht erkennen.<br />
6.3.1.2 E<strong>in</strong>e verbesserte Technik des Overhear<strong>in</strong>g<br />
Meistens können die Knoten ihre Transmissionen gegenseitig hören manchmal treten aber die oben beschriebenen<br />
Probleme auf. Es ist also nötig zu erkennen, wann man von e<strong>in</strong>em Knoten nichts hört, weil<br />
e<strong>in</strong>er der beschriebenen Effekte aufgetreten ist, und wann man den Knoten gut hören kann, aber er sich<br />
weigert das Paket weiter zu senden.<br />
Der Gedanke ist mitzuhören, ob e<strong>in</strong> Knoten im eigenen Interesse aktiv ist. Wenn man diese Aktivitäten<br />
wahrnimmt, kann davon ausgegangen werden, dass man zu diesem Zeitpunkt auch hören würde, wie der<br />
Knoten das gewünschte Paket sendet.<br />
Die Methode besteht nun dar<strong>in</strong>, Protokoll über alle Sendeaktivitäten der Nachbarn zu führen. Ist beabsichtigt,<br />
dass M e<strong>in</strong> Paket weiterleitet, senden wir dieses und warten. Hören wir von M, dass er das Paket sendet,<br />
werten wir das als kooperatives Verhalten positiv.<br />
Hören wir <strong>in</strong> e<strong>in</strong>er Zeitspanne allerd<strong>in</strong>gs nicht, dass M das Paket weiterleitet, prüfen wir se<strong>in</strong>e Aktivität.<br />
Wenn wir e<strong>in</strong>e hohe, gut wahrnehmbare Aktivität <strong>in</strong> e<strong>in</strong>er gewissen Zeitspanne vor oder während dem Warten<br />
feststellen, dann werten wir dies als böswilliges Verhalten. Denn wer <strong>in</strong> eigenem Interesse senden kann<br />
und bei uns damit zu hören ist, sollte auch beim Senden unseres Paketes hörbar se<strong>in</strong>.<br />
60
KAPITEL 6. MOBIDS, EIN INTRUSION DETECTION SYSTEM FÜR MOBILE AD HOC NETZWERKE<br />
Die Schwierigkeit liegt nun dar<strong>in</strong> die Aktivität passend festzustellen. Wir wollen die Aktivität, nur kurz<br />
bevor wir den Auftrag erteilen und während wir warten, e<strong>in</strong>beziehen. Zusätzlich muss der Schwellenwert<br />
günstig gelegt se<strong>in</strong>, um noch e<strong>in</strong>e h<strong>in</strong>reichend gute Erkennungsrate zu gewährleisten.<br />
Details der Implementierung<br />
Das aktivitätsbasierte Overhear<strong>in</strong>g basiert auf dem Promiscuous Mode: Pakete werden <strong>in</strong> diesem empfangen<br />
und direkt <strong>in</strong> e<strong>in</strong>er zeitlich geordneten Warteliste gespeichert. Mit Hilfe dieser Liste erfolgt e<strong>in</strong>e Prüfung aller<br />
Pakete, die empfangen werden, ob diese Teil der Liste s<strong>in</strong>d. Kann e<strong>in</strong> entsprechendes Paket gefunden werden,<br />
wird dieses aus der Warteliste entfernt und mit dem empfangenen Paket verglichen. Falls Änderungen<br />
festgestellt werden, wird dies als böswillige Manipulation gewertet und führt zu e<strong>in</strong>er negativen Bewertung.<br />
Ist der Inhalt des empfangenen Paketes wie erwartet, wird e<strong>in</strong>e positive vergeben.<br />
Die Bewertungen werden für den e<strong>in</strong>zelnen beobachteten Knoten <strong>in</strong> drei getrennten Queues 1 gespeichert: je<br />
e<strong>in</strong>e Queue für positive und negative Bewertungen sowie e<strong>in</strong>e Queue zur Erfassung der Aktivität. Es handelt<br />
sich dabei um separate Queues um zu verh<strong>in</strong>dern, dass beispielsweise positive Bewertungen negative<br />
verdrängen können. Jeder E<strong>in</strong>trag dieser Listen umfasst die Zeit, die vergebene Bewertung und die Identifikationsnummer<br />
des Pakets. Die Queues haben e<strong>in</strong>e maximale Länge, um e<strong>in</strong> Überlasten des Systems zu<br />
verh<strong>in</strong>dern. In der Aktivitäts-Queue wird jedes empfangene Paket mit konstanter Bewertung gespeichert.<br />
Diese Queue ist zudem kürzer als die beiden anderen.<br />
Die E<strong>in</strong>zelbewertungen werden, wie <strong>in</strong> Abschnitt 6.4 vorgestellt wird, zu e<strong>in</strong>er Gesamtbewertung unter E<strong>in</strong>beziehung<br />
der Zeit aggregiert. Wenn e<strong>in</strong>e Bewertung zeitlich ke<strong>in</strong>e Relevanz mehr hat, wird sie aus der<br />
Queue entfernt.<br />
Werden Pakete nun überhaupt nicht empfangen, warten sie theoretisch für immer <strong>in</strong> der Warteliste. Damit<br />
dieser Fall nicht e<strong>in</strong>tritt, wird jedes Paket dort mit e<strong>in</strong>er maximalen Wartezeit versehen. Die Bewertungen<br />
s<strong>in</strong>d <strong>in</strong> der Aktivitäts-Queue ebenso lange enthalten wie die Wartezeit. Nach Ablauf der Wartezeit wird das<br />
Paket entfernt. Nun muss entschieden werden, ob e<strong>in</strong>e negative Bewertung vergeben wird.<br />
Zeigt die Aktivitäts-Bewertung e<strong>in</strong>e h<strong>in</strong>reichende Aktivität des beobachteten Knotens, um daraus zu schließen,<br />
dass guter Empfang bestand, wird e<strong>in</strong>e negative Bewertung vergeben. Ansonsten wird das Paket stillschweigend<br />
aus der Warteliste gelöscht.<br />
6.3.1.3 Ergebnisse des neuen Overhear<strong>in</strong>g Systems<br />
Overhear<strong>in</strong>g ist der <strong>in</strong> der Literatur am stärksten verbreitete Ansatz, um bösartiges Verhalten lokal zu erkennen.<br />
Deshalb wurde Overhear<strong>in</strong>g als Erkennungssystem implementiert und mit den Szenarien aus Kapitel<br />
5.3 überprüft.<br />
1 Queue siehe Glossar<br />
61
KAPITEL 6. MOBIDS, EIN INTRUSION DETECTION SYSTEM FÜR MOBILE AD HOC NETZWERKE<br />
2<br />
1.5<br />
1<br />
0.5<br />
0<br />
0 2 4 6 8 10 12 14<br />
Anzahl bösartiger Knoten<br />
Erkennungen e<strong>in</strong>es e<strong>in</strong>zelnen bösartigen Knotens<br />
Fehlerkennungen<br />
Abbildung 6.2: Erkennungsrate von bösartigen Knoten<br />
mit Overhear<strong>in</strong>g bei 1m/s<br />
4<br />
3.5<br />
3<br />
2.5<br />
2<br />
1.5<br />
1<br />
0.5<br />
0<br />
0 5 10 15 20 25 30<br />
Anzahl bösartiger Knoten<br />
Erkennungen e<strong>in</strong>es e<strong>in</strong>zelnen bösartigen Knotens<br />
Fehlerkennungen<br />
Abbildung 6.3: Erkennungsrate von bösartigen Knoten<br />
mit Overhear<strong>in</strong>g bei 20m/s<br />
Bösartige Knoten 0 1 2 3 4 5 6 7 10 15<br />
Erkennungsrate bei 1m/s 0.6 1.1 1.8 1.3 1.8 1.5 1.4 1.0 0.5<br />
Fehlerkennungen bei 1m/s 1.7 1.2 0.4 0.7 0.6 0.1 0.4 0.1 0.1 0<br />
Erkennungsrate bei 20m/s 2.9 2.9 3.1 3.0 3.4 3.4 3.1 2.4 0.9<br />
Fehlerkennungen bei 20m/s 0.4 0.2 0.1 0.1 0 0 0 0 0 0<br />
Abbildung 6.4: Erkennungsraten von bösartigen Knoten mit Overhear<strong>in</strong>g<br />
Alle Ergebnisse wurden abhängig von der Anzahl der bösartigen Knoten simuliert. Dabei wurden zwei verschiedene<br />
Größen gemessen; die Erkennungsrate von bösartigen Knoten ist dabei von besonderem Interesse.<br />
Es ist dabei zu beachten, dass diese Größe die durchschnittliche Anzahl der Erkennungen e<strong>in</strong>es e<strong>in</strong>zelnen<br />
Knotens angibt. Wurden beispielsweise 5 Knoten simuliert und die Ergebnisse weisen e<strong>in</strong>e Erkennungsrate<br />
von 1.8 aus, dann bedeutet dies, dass im Durchschnitt jeder e<strong>in</strong>zelne Knoten 1.8 mal richtig als böswillig<br />
erkannt wurde. Absolut betrachtet gab es also 9 richtige Erkennungen bei 5 simulierten Knoten.<br />
Dagegen ist die Fehlerkennung e<strong>in</strong> absolutes Maß, auch wenn sie im gleichen Diagramm gezeichnet wird.<br />
Sie gibt alle Fehlerkennungen an, die während der Simulation aufgetreten s<strong>in</strong>d. Da jeweils 10 Simulationsläufe<br />
zu Grunde gelegt s<strong>in</strong>d, muss diese Größe gemittelt werden. Für alle Fehlerkennungen <strong>in</strong> diesem<br />
Kapitel gilt, dass es sich dabei um verschiedene Knoten gehandelt hat, dass also ke<strong>in</strong> Knoten <strong>in</strong> e<strong>in</strong>em Simulationslauf<br />
mehr als e<strong>in</strong>mal fälschlicherweise beschuldigt wurde.<br />
Wie die Ergebnisse zeigen, konnte das herkömmliche Overhear<strong>in</strong>g nicht die erhofften Resultate liefern. Bei<br />
e<strong>in</strong>em simulierten Knoten bei 1m/s konnte dieser e<strong>in</strong>e Knoten 0.6 mal richtig erkannt werden, 1.7 verschiedene<br />
andere Knoten wurden dagegen fälschlicherweise beschuldigt und stellen e<strong>in</strong>e Fehlerkennung dar.<br />
Zwei simulierte bösartige Knoten wurden jeweils 1.2 mal erkannt, absolut betrachtet wurden also 2.4 Knoten<br />
richtig erkannt. Bei der höheren Geschw<strong>in</strong>digkeit von 20m/s konnten die Knoten besser erkannt werden;<br />
es wurde jeder Knoten stabil 3 mal richtig erkannt, bei nur wenigen Fehlerkennungen. Diese bessere Erkennung<br />
ist auf erhöhte Aktivität zum Routen Aufbau zurückzuführen. Die Topologie ändert sich schnell,<br />
dadurch müssen ständig neue Routen aufgebaut werden; der böswillige Knoten bef<strong>in</strong>det sich entsprechend<br />
<strong>in</strong> mehreren Routen und kann dort se<strong>in</strong>en Angriff ausführen. Dadurch haben mehr Knoten die Chance diesen<br />
bösartigen Knoten zu erkennen. 62
KAPITEL 6. MOBIDS, EIN INTRUSION DETECTION SYSTEM FÜR MOBILE AD HOC NETZWERKE<br />
8<br />
7<br />
6<br />
5<br />
4<br />
3<br />
2<br />
1<br />
0<br />
0 2 4 6 8 10 12 14<br />
Anzahl bösartiger Knoten<br />
Erkennungen e<strong>in</strong>es e<strong>in</strong>zelnen bösartigen Knotens<br />
Fehlerkennungen<br />
Abbildung 6.5: Aktivitätsbasiertes Overhear<strong>in</strong>g bei<br />
1m/s<br />
8<br />
7<br />
6<br />
5<br />
4<br />
3<br />
2<br />
1<br />
0<br />
0 2 4 6 8 10 12 14<br />
Anzahl bösartiger Knoten<br />
Erkennungen e<strong>in</strong>es e<strong>in</strong>zelnen bösartigen Knotens<br />
Fehlerkennungen<br />
Abbildung 6.6: Aktivitätsbasiertes Overhear<strong>in</strong>g komb<strong>in</strong>iert<br />
mit normalem Overhear<strong>in</strong>g bei 1m/s<br />
Bösartige Knoten mit 1m/s 0 1 2 3 4 5 6 7 10 15<br />
Erkennungsrate aktivitätsbasiert 6.2 4.5 2.8 2.1 1.3 1.2 0.9 0.7 0.5<br />
Fehlerkennungen aktivitätsbasiert 1.8 1.0 0.4 0.6 0.2 0 0.1 0 0 0<br />
Erkennungsrate mit beiden Methoden 6.8 5.6 4.2 2.9 2.3 2.0 1.6 1.2 0.7<br />
Fehlerkennungen mit beiden Methoden 2.9 1.8 0.8 1.0 0.6 0 0.4 0.1 0.2 0<br />
Abbildung 6.7: Overhear<strong>in</strong>g und aktivitätsbasiertes System<br />
Die bereits diskutierten Probleme des Overhear<strong>in</strong>gs beim Empfang von Paketen sche<strong>in</strong>en e<strong>in</strong>e wichtige Rolle<br />
zu spielen. Knoten versuchen mittels Overhear<strong>in</strong>g die Verarbeitung e<strong>in</strong>es Paketes zu empfangen, während<br />
aber e<strong>in</strong>e Störung vorliegt, die den Empfang verh<strong>in</strong>dert. Im Resultat wird e<strong>in</strong> Knoten fälschlicherweise beschuldigt<br />
obwohl er kooperativ war. Die Schwellenwerte müssen entsprechend angepasst werden, um zu<br />
viele Fehlerkennungen zu verh<strong>in</strong>dern, dadurch fällt aber auch die Erkennungsleistung.<br />
Overhear<strong>in</strong>g mit Überprüfung der Aktivität ist e<strong>in</strong> <strong>in</strong> dieser Arbeit neu entwickelter Ansatz, deshalb muss<br />
sich nun zeigen, ob es die erwünschten Erkennungsraten liefern kann. Der Grundgedanke, dass Knoten, von<br />
denen e<strong>in</strong>e Aktivität empfangen werden kann, auch durch Overhear<strong>in</strong>g überprüfbar s<strong>in</strong>d.<br />
Aktivitätsbasiertes Overhear<strong>in</strong>g führt wie <strong>in</strong> Abbildung 6.7 zu besseren Ergebnissen als herkömmliches<br />
Overhear<strong>in</strong>g. E<strong>in</strong> bösartiger Knoten wird nun von bis zu 6.2 Knoten <strong>in</strong> e<strong>in</strong>er Simulation erkannt. Das ist<br />
e<strong>in</strong>e deutliche Steigerung gegenüber herkömmlichem Overhear<strong>in</strong>g mit Erkennungsraten kle<strong>in</strong>er zwei. Die<br />
Trennschärfe zwischen Fehlerkennungen und echten bösartigen Knoten ist besser; das zeigt sich durch das<br />
Maximum von 1.8 Fehlerkennungen je Simulation.<br />
63
KAPITEL 6. MOBIDS, EIN INTRUSION DETECTION SYSTEM FÜR MOBILE AD HOC NETZWERKE<br />
Herkömmliches Overhear<strong>in</strong>g kann auch mit aktivitätsbasiertem Overhear<strong>in</strong>g komb<strong>in</strong>iert werden, <strong>in</strong>dem Ereignisse<br />
des herkömmlichen Overhear<strong>in</strong>gs schwach bewertet werden. Die beiden Methoden zusammen zeigen,<br />
dass die Erkennung noch etwas gesteigert werden kann; zudem fällt die Erkennungsrate mit steigender<br />
Anzahl der bösartigen Knoten später ab. Bei 3 bösartigen Knoten wurde nun jeder 4.2 mal erkannt, wogegen<br />
das aktivitätsbasierte Overhear<strong>in</strong>g alle<strong>in</strong>e 2.8 Erkennungen lieferte. Diese Ergebnisse s<strong>in</strong>d auch noch besser<br />
als die Erkennung von 1.8 des herkömmlichen Overhear<strong>in</strong>gs.<br />
16<br />
14<br />
12<br />
10<br />
8<br />
6<br />
4<br />
2<br />
0<br />
0 5 10 15 20 25 30<br />
Anzahl bösartiger Knoten<br />
Erkennungen e<strong>in</strong>es e<strong>in</strong>zelnen bösartigen Knotens<br />
Fehlerkennungen<br />
Abbildung 6.8: Aktivitätsbasiertes Overhear<strong>in</strong>g bei<br />
20m/s<br />
16<br />
14<br />
12<br />
10<br />
8<br />
6<br />
4<br />
2<br />
0<br />
0 5 10 15 20 25 30<br />
Anzahl bösartiger Knoten<br />
Erkennungen e<strong>in</strong>es e<strong>in</strong>zelnen bösartigen Knotens<br />
Fehlerkennungen<br />
Abbildung 6.9: Aktivitätsbasiertes Overhear<strong>in</strong>g komb<strong>in</strong>iert<br />
mit normalem Overhear<strong>in</strong>g bei 20m/s<br />
Bösartige Knoten mit 20m/s 0 1 2 3 4 5 6 7 10 15<br />
Erkennungsrate aktivitätsbasiert 12.7 8.2 4.4 3.8 2.6 1.9 1.6 1.1 0.7<br />
Fehlerkennungen aktivitätsbasiert 0.6 0.2 0.1 0.3 0.2 0.2 0.2 0.2 0.2 0.2<br />
Erkennungsrate mit beiden Methoden 13.7 10.7 7.0 5.7 4.4 3.5 2.9 2.1 1.1<br />
Fehlerkennungen mit beiden Methoden 1.0 0.5 0.2 0 0.4 0.4 0.4 0.4 0.4 0.4<br />
Abbildung 6.10: Overhear<strong>in</strong>g und aktivitätsbasiertes System<br />
Bei der höheren Geschw<strong>in</strong>digkeit tritt e<strong>in</strong>e deutliche Steigerung der Erkennungsrate auf. Wie bei herkömmlichem<br />
Overhear<strong>in</strong>g ist die gesteigerte Aktivität, die für den Routen Aufbau benötigt wird, ausschlaggebend. Diese<br />
Aktivität liegt dem aktivitätsbasierten Overhear<strong>in</strong>g zu Grunde und führt zu häufigeren Erkennungen. Je<br />
mehr Aktivität an e<strong>in</strong>em Knoten empfangen wird, desto sicherer kann gefolgert werden, dass e<strong>in</strong> Knoten,<br />
von dem man ke<strong>in</strong>e kooperative Nachrichtenweiterleitung empfängt, bösartig ist.<br />
Alle<strong>in</strong>e das aktivitätsbasierte Overhear<strong>in</strong>g liefert e<strong>in</strong>e Erkennung des e<strong>in</strong>zelnen bösartigen Knotens durch<br />
12.8 Knoten. Wird das herkömmliche Overhear<strong>in</strong>g noch dazu genommen, kann die Erkennung noch ger<strong>in</strong>gfügig<br />
gesteigert werden.<br />
64
KAPITEL 6. MOBIDS, EIN INTRUSION DETECTION SYSTEM FÜR MOBILE AD HOC NETZWERKE<br />
Bewertung<br />
Die Simulation hat also bestätigt, dass der neue Ansatz des aktivitätsbasierten Overhear<strong>in</strong>gs bessere Ergebnisse<br />
liefert als herkömmliches Overhear<strong>in</strong>g, ohne dafür zusätzliche Kommunikationsressourcen zu<br />
benötigen. E<strong>in</strong>e gute Erkennung ist damit also möglich.<br />
Aktivitätsbasiertes Overhear<strong>in</strong>g ist damit e<strong>in</strong> fundamentaler Bestandteil von MobIDS zur lokalen Erkennung.<br />
Allerd<strong>in</strong>gs muss beachtet werden, dass der Promiscuous Mode <strong>in</strong> der Realität anfälliger ist, als es<br />
die Simulation zeigt. Die Ergebnisse s<strong>in</strong>d stark von der Geländebeschaffenheit abhängig. E<strong>in</strong> Gebäude an<br />
e<strong>in</strong>er ungünstigen Stelle hat bereits gravierende Auswirkungen auf den Empfang und könnte bei hohen Geschw<strong>in</strong>digkeiten<br />
zusätzliche Fehlerkennungen erzeugen.<br />
6.3.2 Prob<strong>in</strong>g<br />
Aktivitätsbasiertes Overhear<strong>in</strong>g wurde als effektive Möglichkeit vorgestellt, um bösartige Knoten zu erkennen.<br />
Nun soll e<strong>in</strong> Verfahren untersucht werden, das sich Prob<strong>in</strong>g nennt und das bestehende Verb<strong>in</strong>dungen<br />
gezielt auf bösartige Knoten h<strong>in</strong> untersucht.<br />
6.3.2.1 Prob<strong>in</strong>g <strong>in</strong> der Literatur<br />
Awerbuch und Holmer stellen <strong>in</strong> [AH02] e<strong>in</strong>e Technik Namens Prob<strong>in</strong>g für <strong>Ad</strong> hoc Netzwerke vor. Prob<strong>in</strong>g<br />
ist dabei e<strong>in</strong>e Technik, die gezielte Tests unternimmt, um daraus Rückschlüsse auf das Fehlverhalten e<strong>in</strong>es<br />
Knotens zu ziehen. Awerbuch geht dabei von e<strong>in</strong>em Rout<strong>in</strong>g Protokoll aus, das DSR mit se<strong>in</strong>en Route Request<br />
und Route Discovery Phasen ähnelt. Zusätzlich werden aber noch Bestätigungsnachrichten für jedes<br />
Paket vom Ziel zur Quelle geschickt. Die Weiterleitung der Pakete erfolgt ebenso wie bei DSR entlang von<br />
Source Routen, nur dass jetzt auch noch nach dem Zwiebelschalenmodell verschlüsselt wird. Diese Verschlüsselung<br />
und der Austausch der Schlüssel geschieht folgendermaßen:<br />
Es werden Schlüssel, frei nach Diffie Hellman, zwischen der Quelle und allen Knoten entlang der Source<br />
Route ausgetauscht. Damit werden paarweise geheime Schlüssel zwischen Quelle und allen Knoten auf dem<br />
Pfad etabliert.<br />
Nun wird die <strong>Ad</strong>resse des letzten Knotens Ziel mit dem Schlüssel von D verschlüsselt und <strong>in</strong> die Liste gegeben.<br />
Danach wird der Liste der vorletzte Knoten D h<strong>in</strong>zugefügt und wiederum mit dem Schlüssel von C<br />
verschlüsselt. So geht es weiter, bis die gesamte Route verschlüsselt <strong>in</strong> e<strong>in</strong>er Liste enthalten ist.<br />
Dieses Zwiebelschalenmodell, wie <strong>in</strong> 6.11 dargestellt, stellt sicher, dass nur der Knoten, der an der Reihe<br />
ist, das nächste Ziel auf der Route entschlüsseln und weiterleiten kann.<br />
Das Prob<strong>in</strong>g nutzt diese Verschlüsselung, <strong>in</strong>dem für jeden Knoten zusammen mit dem nächsten Ziel auch<br />
e<strong>in</strong> Kommandofeld e<strong>in</strong>er Stufe verschlüsselt wird. Dieses Feld kann für e<strong>in</strong>en Knoten entlang der Route das<br />
Kommando enthalten, e<strong>in</strong>e Antwort zu schicken.<br />
Erhält e<strong>in</strong> Knoten e<strong>in</strong> Paket, entpackt er es und erhält se<strong>in</strong> nächstes Ziel und das Kommandofeld. Wenn im<br />
Kommandoeld steht, dass das e<strong>in</strong>e Probe war, dann schickt er e<strong>in</strong>e Antwort zurück.<br />
65
KAPITEL 6. MOBIDS, EIN INTRUSION DETECTION SYSTEM FÜR MOBILE AD HOC NETZWERKE<br />
Quelle A B C D Ziel<br />
Schlüssel<br />
von A<br />
Schlüssel<br />
von B<br />
Schlüssel<br />
von C<br />
Schlüssel<br />
von D<br />
Abbildung 6.11: Zwiebelschalenmodell für Verschlüsselung<br />
Nun kann, wenn die Bestätigungsnachricht ausbleibt, mit dem Prob<strong>in</strong>g e<strong>in</strong>e Suche nach dem potentiell<br />
bösartigen Knoten gestartet werden. Awerbuch schlägt dazu e<strong>in</strong>e b<strong>in</strong>äre Suche vor:<br />
Zuerst wird der Knoten <strong>in</strong> der Mitte der Route gewählt und diesem im nächsten Datenpaket e<strong>in</strong>e Probe<br />
signalisiert. Wenn dieser antwortet, muss der böswillige Knoten h<strong>in</strong>ter dem mittleren Knoten im Pfad kommen.<br />
Antwortet der mittlere Knoten nicht, ist das Problem entweder der mittlere Knoten oder e<strong>in</strong> Knoten<br />
zuvor. Es wird nun das Intervall entsprechend vor oder nach dem mittleren Knoten genommen und halbiert.<br />
Der neue mittlere Knoten im Intervall bekommt die nächste Probe. Das wird solange wiederholt, bis<br />
die beiden Intervallgrenzen ke<strong>in</strong>e Knoten mehr zwischen sich haben. Dann muss nur noch e<strong>in</strong>e Nachricht<br />
zu der der Quellen näheren Intervallgrenze gesendet werden, um den bösartigen Knoten zu identifizieren.<br />
Kommt nun e<strong>in</strong>e Antwort, ist die weiter entfernte Intervallgrenze als bösartig identifiziert, ansonsten die<br />
andere Intervallgrenze.<br />
Wie <strong>in</strong> Abbildung 6.12 zu sehen, gehen wir <strong>in</strong> unserem Beispiel von fünf Knoten aus, von denen B böswillig<br />
ist. E<strong>in</strong>e normale Nachricht kam nicht am Ziel an, weil B sie verworfen hatte, und entsprechend kam auch<br />
ke<strong>in</strong>e Bestätigungsnachricht zur Quelle zurück. Diese schickt nun zuerst e<strong>in</strong> Probepaket zum mittleren Knoten<br />
auf der Route und bekommt wiederum ke<strong>in</strong>e Antwort. Nun wird e<strong>in</strong>e 3. Probe an A (<strong>in</strong> der Mitte des<br />
nächsten Intervalls) geschickt. Dort bekommen wir Antwort. Da wir B schon überprüft und ke<strong>in</strong>e Antwort<br />
bekommen haben, schließt Awerbuch, dass der bösartige Knoten B ist.<br />
Awerbuchs Ansatz hat e<strong>in</strong>e Reihe von Nachteilen. E<strong>in</strong>ige s<strong>in</strong>d vermeidbar, wie der E<strong>in</strong>satz der Zwiebelschalenverschlüsselung.<br />
Wie wir <strong>in</strong> dieser Arbeit sehen werden, kann der Verschlüsselungsaufwand auf e<strong>in</strong><br />
kle<strong>in</strong>es Feld <strong>in</strong> der Nachricht begrenzt werden. E<strong>in</strong>e komplette Nachricht für jeden Knoten entlang der Route<br />
zu verschlüsseln und dann dieses Paket am jeweiligen Knoten zu entschlüsseln, ist e<strong>in</strong> großer Aufwand.<br />
Durch die zusätzlich notwendigen Berechnungen erhöht sich die Laufzeit e<strong>in</strong>es Paketes von der Quelle zum<br />
Ziel deutlich.<br />
Vermeidbar ist auch, für jedes Paket e<strong>in</strong>e Bestätigungsnachricht zu schicken. Dadurch wird selbst bei gut<br />
funktionierenden Verb<strong>in</strong>dungen e<strong>in</strong>e große Menge von vermeidbaren Status Paketen verschickt.<br />
6.3.2.2 Das Prob<strong>in</strong>g Dilemma<br />
Das dr<strong>in</strong>gendste Problem von Awerbuchs Ansatz aber ist, dass ke<strong>in</strong>e zuverlässige Erkennung des bösartigen<br />
Knotens gewährleistet ist. Sobald e<strong>in</strong> bösartiger Knoten e<strong>in</strong>mal e<strong>in</strong>e Probe erhalten hat, stellt sich diesem<br />
die Wahl, ob er auf die Probe antwortet oder nicht. Wenn der Knoten weiß, dass b<strong>in</strong>är nach ihm gesucht<br />
66
KAPITEL 6. MOBIDS, EIN INTRUSION DETECTION SYSTEM FÜR MOBILE AD HOC NETZWERKE<br />
B böse<br />
Probe 1<br />
Quelle<br />
A<br />
B<br />
böse<br />
C<br />
Ziel<br />
Probe 3<br />
B böse<br />
Probe 2<br />
Abbildung 6.12: Prob<strong>in</strong>g mit b<strong>in</strong>ärer Suche<br />
wird, leitet er e<strong>in</strong>fach für e<strong>in</strong>e begrenzte Zeit alle Pakete weiter. Der böswillige Knoten spekuliert nämlich<br />
darauf, dass e<strong>in</strong>ige der folgenden Pakete Probes für e<strong>in</strong>e b<strong>in</strong>äre Suche enthalten.<br />
Da alle Probes nun beantwortet werden, solange der böswillige Knoten kooperiert, kann das Intervall, <strong>in</strong> dem<br />
der böswilliger Knoten liegt, nicht bestimmt werden. Verwirft der böswillige Knoten plötzlich während der<br />
b<strong>in</strong>ären Suche wieder Pakete, wird von der Quelle e<strong>in</strong> anderer Knoten als böswillig erkannt!<br />
Ist der Algorithmus naiv implementiert und alle Probes der b<strong>in</strong>ären Suche kommen vorhersehbar <strong>in</strong> den<br />
nächsten Paketen vor, kann der böswillige Knoten sogar gezielt e<strong>in</strong>en anderen Knoten als böswillig markieren.<br />
Das stellt damit e<strong>in</strong>en kritischen Angriffspunkt dar.<br />
Iteratives Prob<strong>in</strong>g als Lösung?<br />
Das b<strong>in</strong>äre Suchen bereitet offensichtlich Probleme für das Prob<strong>in</strong>g, da der bösartige Knoten se<strong>in</strong> Verhalten<br />
ändern kann. Es ist e<strong>in</strong>e naheliegende Idee, e<strong>in</strong>fach den Knoten, iterativ vom Ziel ausgehend, Probes<br />
zu schicken und sich dann Richtung Quelle vorzuarbeiten. Es wird zusätzlich vorausgesetzt, dass das Feld<br />
durch Verschlüsselung geschützt ist, mit dem die Probe signalisiert wird; damit kann e<strong>in</strong> bösartiger Knoten<br />
nie sagen, ob über ihn e<strong>in</strong>e Probe geschickt wurde oder nicht. Die Antwort auf die Probe sollte zu diesem<br />
Zweck entweder <strong>in</strong> regulär gesendete Datenpakete verpackt werden, um die Antwort zu tarnen, oder sie<br />
kann über e<strong>in</strong>e andere Route zur Quelle geschickt werden. Diese Route sollte dann ke<strong>in</strong>en Knoten des Pfa-<br />
67
KAPITEL 6. MOBIDS, EIN INTRUSION DETECTION SYSTEM FÜR MOBILE AD HOC NETZWERKE<br />
des enthalten, der <strong>in</strong> der Route bis zu dem Knoten, der die Probe empfangen hat, war.<br />
B böse<br />
Probe 1<br />
Quelle<br />
A<br />
B<br />
böse<br />
C<br />
Ziel<br />
Probe 4<br />
Probe 3<br />
B böse<br />
Probe 2<br />
Abbildung 6.13: Iteratives Prob<strong>in</strong>g<br />
In 6.13 ist erkennbar, wie iteratives Prob<strong>in</strong>g funktioniert. Ab und zu werden Probes an das Ziel geschickt;<br />
wenn ke<strong>in</strong>e Antwort vom Ziel <strong>in</strong>nerhalb e<strong>in</strong>es Zeitfensters ankommt, wird das Iterative Prob<strong>in</strong>g gestartet.<br />
Zuerst wird e<strong>in</strong>e Probe zu C geschickt, dann zu B und schließlich zu A. Von A kann auf jeden Fall e<strong>in</strong>e<br />
Antwort erwarten werden, denn A kennt das Protokoll und als e<strong>in</strong> kooperativer gutartiger Knoten wird er<br />
antworten.<br />
Was aber ist mit dem bösartigen Knoten B?<br />
B hat die Wahl, ob er antwortet oder nicht; es kann damit nicht mit Bestimmtheit gesagt werden, wie B<br />
reagieren wird. Es gibt zwei Möglichkeiten (wie <strong>in</strong> 6.3.2.2 dargestellt):<br />
1. Wenn B antwortet, kann aus der Sicht B entweder der erste kooperative Knoten se<strong>in</strong> oder aber B ist<br />
der bösartige Knoten der trotzdem antwortet! Damit ist e<strong>in</strong>er der beiden Knoten {B,C} e<strong>in</strong> bösartiger<br />
Knoten, ohne dass wir sagen können, welcher.<br />
2. Wenn B nicht antwortet, ist A entweder der erste kooperative Knoten oder aber A ist der Knoten der die<br />
Probe für B zuvor verworfen hat. Damit ist wiederum e<strong>in</strong>er der beiden Knoten {A,B} e<strong>in</strong> bösartiger<br />
Knoten.<br />
68
KAPITEL 6. MOBIDS, EIN INTRUSION DETECTION SYSTEM FÜR MOBILE AD HOC NETZWERKE<br />
Probe reply: von B zu Quelle<br />
als böswillig verdächtigte<br />
Knoten {B,C}<br />
Quelle<br />
A<br />
B<br />
böse<br />
C<br />
Ziel<br />
Probe 4<br />
Probe 3<br />
Abbildung 6.14: B antwortet: potentiell bösartig s<strong>in</strong>d<br />
{B,C}<br />
Probe reply: von A zu Quelle<br />
als böswillig verdächtigte<br />
Knoten {A,B}<br />
Quelle<br />
A<br />
B<br />
böse<br />
C<br />
Ziel<br />
Probe 4<br />
B böse<br />
Probe 3<br />
Abbildung 6.15: B antwortet nicht: potentiell bösartig<br />
s<strong>in</strong>d {A,B}<br />
Damit gibt es immer zwei Kandidaten und es kann nur willkürlich e<strong>in</strong>e Auswahl getroffen werden. Mit dem<br />
Prob<strong>in</strong>g alle<strong>in</strong>e wird offensichtlich ke<strong>in</strong>e e<strong>in</strong>deutigen Identifikation des bösartigen Knotens erreicht.<br />
6.3.2.3 E<strong>in</strong> Prob<strong>in</strong>g mit e<strong>in</strong>deutiger Identifikation des Angreifers<br />
Das Prob<strong>in</strong>g Dilemma ist lösbar, <strong>in</strong>dem zwei Techniken komb<strong>in</strong>iert werden. Prob<strong>in</strong>g zusammen mit Overhear<strong>in</strong>g<br />
kann helfen den Knoten e<strong>in</strong>deutig zu identifizieren; diese Technik wird e<strong>in</strong>deutiges Prob<strong>in</strong>g genannt.<br />
Es wird jetzt e<strong>in</strong> Probe Paket mehr verschickt als bisher. Der erste Knoten, der auf e<strong>in</strong>e Probe geantwortet<br />
hat, kann potentiell böswillig se<strong>in</strong>, also muss er zusätzlich überprüft werden. Da es unwahrsche<strong>in</strong>lich<br />
ist, dass zwei direkt aufe<strong>in</strong>ander folgende bösartige Knoten zusammenarbeiten, kann dem Knoten, der vor<br />
dem zu prüfenden Knoten kommt, getraut werden. Diesem Knoten wird e<strong>in</strong>e weitere Probe <strong>in</strong> e<strong>in</strong>em etwas<br />
geänderten Format geschickt.<br />
Das geänderte Format der Probe enthält nun zusätzlich die Paket ID der vorvorletzten gesendeten Probe.<br />
Diese Probe hätte von dem Verdächtigen weitergeleitet werden müssen. Diese Weiterleitung wäre aber dem<br />
kooperativen Knoten dank des Overhear<strong>in</strong>gs aufgefallen. Der kooperative Knoten kann nun <strong>in</strong> se<strong>in</strong>en Audit<br />
Daten suchen, ob er die Weiterleitung der vorvorletzten Probe mit der spezifizierten Paket ID gehört hat oder<br />
nicht.<br />
69
KAPITEL 6. MOBIDS, EIN INTRUSION DETECTION SYSTEM FÜR MOBILE AD HOC NETZWERKE<br />
Overhear<strong>in</strong>g alle<strong>in</strong>e ist normalerweise nicht zuverlässig genug, um sicher sagen zu können, ob e<strong>in</strong> Knoten<br />
e<strong>in</strong> Paket weiterleitet oder nicht. Treffen aber beide Ereignisse, also ke<strong>in</strong>e Probeantwort erhalten und ke<strong>in</strong>e<br />
Weiterleitung gehört, zusammen, dann ist die Wahrsche<strong>in</strong>lichkeit groß, dass dieser Knoten bösartig ist. Ist<br />
das Overhear<strong>in</strong>g e<strong>in</strong>er e<strong>in</strong>zelnen Probenachricht zu unsicher, können auch mehrere Probe Nachrichten gesendet<br />
werden und dann von allen Probes geprüft werden, ob diese angekommen s<strong>in</strong>d.<br />
Overhear<strong>in</strong>g durch A:<br />
B hat Probe nicht<br />
weitergeleitet<br />
Quelle<br />
A<br />
B<br />
böse<br />
C<br />
Ziel<br />
Probe 4<br />
Probe 3<br />
Abbildung 6.16: B antwortet nicht: Ziel erkennt Weiterleitung<br />
der Probe durch A<br />
Das Prob<strong>in</strong>g System und der Aufbau der Probe Nachrichten<br />
Overhear<strong>in</strong>g durch<br />
Quelle:<br />
A hat Probe weitergeleitet<br />
Quelle<br />
A<br />
B<br />
böse<br />
C<br />
Ziel<br />
Probe 4<br />
B böse<br />
Probe 3<br />
Abbildung 6.17: B antwortet: A erkennt ke<strong>in</strong>e Weiterleitung<br />
der Probe durch B<br />
Das Prob<strong>in</strong>g System wurde nun konkret mit der neuen Erkennung mittels Overhear<strong>in</strong>g implementiert. E<strong>in</strong>e<br />
Probe wird <strong>in</strong> drei verschiedenen Fällen verschickt:<br />
1. Nach dem Aufbau der Route durch e<strong>in</strong>en Route Reply wird <strong>in</strong> dem ersten Paket e<strong>in</strong>e Probe geschickt.<br />
Diese Probe dient der Erkennung von byzant<strong>in</strong>ischen Fehlern im Netzwerk. E<strong>in</strong> Knoten, der durch<br />
e<strong>in</strong>en Defekt Pakete verwirft, fällt so sofort auf.<br />
2. Nach e<strong>in</strong>em Intervall, dessen Dauer durch e<strong>in</strong>en Zufallswert variiert wurde, wird e<strong>in</strong>e Probe geschickt.<br />
Dies dient der Überprüfung bereits bestehender Routen.<br />
3. E<strong>in</strong>e Probe als Teil e<strong>in</strong>er Iterativen Suche<br />
70
KAPITEL 6. MOBIDS, EIN INTRUSION DETECTION SYSTEM FÜR MOBILE AD HOC NETZWERKE<br />
In den ersten beiden Fällen wird e<strong>in</strong>e Probe verschickt und dann für e<strong>in</strong>e gewisse Zeitspanne gewartet. Trifft<br />
<strong>in</strong> dieser Zeitspanne e<strong>in</strong>e Antwort e<strong>in</strong>, dann werden alle Knoten auf der Route positiv bewertet. Alle Knoten<br />
mussten schließlich kooperieren, um dieses Paket auszuliefern und die Antwort zurück zu schicken. Kommt<br />
ke<strong>in</strong>e Antwort, wird noch e<strong>in</strong>e begrenzte Anzahl von Versuchen unternommen, die Probe nochmals zu senden.<br />
War ke<strong>in</strong>e Probe erfolgreich, wird die Iterative Suche gestartet.<br />
Diese funktioniert wie im vorigen Abschnitt beschrieben. Von h<strong>in</strong>ten (dem Ziel), <strong>in</strong> Richtung der Quelle,<br />
wird allen Knoten versucht die festgesetzte Anzahl Probes zu schicken. Es wird dabei zuerst dem vorletzten<br />
Knoten e<strong>in</strong>e Probe geschickt und dann auf Antwort gewartet. Bei ausbleibender Antwort wird dem vorvorletzten<br />
Knoten e<strong>in</strong>e Probe geschickt und so fort, bis entweder e<strong>in</strong> Knoten gefunden wurde, der antwortet,<br />
oder bis ke<strong>in</strong>e Knoten mehr <strong>in</strong> der Route vorhanden s<strong>in</strong>d.<br />
Details der Implementierung<br />
Das Prob<strong>in</strong>g ist eng mit der DSR Implementierung von ns2 verflochten. Die Initiative des Prob<strong>in</strong>gs geht<br />
aber vom IDSAgent aus. Dieser sendet <strong>in</strong> den drei oben beschriebenen Fällen Probes. Dazu braucht der<br />
IDSAgent e<strong>in</strong>en Timer; zum e<strong>in</strong>en, um die Lebenszeiten der Probes zu überprüfen und bei Überschreitung<br />
gegebenenfalls zu entfernen, und zum anderen, um periodisch Probes zur Überprüfung e<strong>in</strong>er Verb<strong>in</strong>dung<br />
zu senden. Damit s<strong>in</strong>d die Lebenserwartungen der Probes mit e<strong>in</strong>er gewissen Varianz behaftet. Die Probes<br />
werden also vom IDSAgent erzeugt, dieser fügt sie <strong>in</strong> e<strong>in</strong>e Warteliste von Probes e<strong>in</strong>.<br />
Das IDS System hat <strong>in</strong> IDSAudit e<strong>in</strong>e Repräsentation des Netzwerkes mit allen Knoten. Jedem Knoten ist<br />
dar<strong>in</strong> e<strong>in</strong>e Warteliste von Probes zugeordnet. In der Warteliste bef<strong>in</strong>den sich Probes, die noch nicht gesendet<br />
wurden, sowie Probes, die gesendet wurden, aber noch auf Antwort warten. Wir wollen Probes <strong>in</strong> reguläre<br />
Datenpakete e<strong>in</strong>betten, deshalb müssen wir warten, bis e<strong>in</strong> solches gesendet wird. Für dieses System wurde<br />
das mittels e<strong>in</strong>es Callback realisiert, der von der Implementierung des DSR Protokolls aus vor dem Senden<br />
e<strong>in</strong>es Datenpakets e<strong>in</strong>e Funktion im IDSAgent aufruft. Falls e<strong>in</strong>e Probe mit diesem Knoten als Ziel gewartet<br />
hat ausgesendet zu werden, liefert diese Funktion die Daten für die Probe zurück. Probes haben e<strong>in</strong>e<br />
großzügige maximale Wartezeit, um mit e<strong>in</strong>em Datenpaket verschickt zu werden; wird diese überschritten,<br />
wird davon ausgegangen, dass die Verb<strong>in</strong>dung <strong>in</strong>aktiv geworden ist, und die Probe wird stillschweigend<br />
entfernt. Kann e<strong>in</strong>e Probe gesendet werden, wird die Zeit gespeichert, zu der die Probe gesendet wurde.<br />
Überschreitet nun die Lebenszeit der Probe ihr Maximum, wird diese Probe entfernt und entweder e<strong>in</strong>e<br />
weiterer Versuch unternommen, dieses Ziel mit e<strong>in</strong>er Probe zu erreichen, oder aber die nächste Iteration der<br />
Suche wird gestartet.<br />
Bei e<strong>in</strong>er solchen Probe ist darauf zu achten, dass die Iterative Suche mit Probes nur entlang des untersuchten<br />
Pfades erfolgt. Würde die Probe nur mit dem Ziel assoziiert, könnte sie das Ziel über e<strong>in</strong>en beliebigen<br />
Pfad erreichen. Damit wäre also ke<strong>in</strong>e Aussage über e<strong>in</strong>en bestimmten Pfad getroffen. Deshalb muss erzwungen<br />
werden, dass die Probes über den zu überprüfenden Pfad geschickt werden.<br />
Da nun also e<strong>in</strong>e Probe verschickt ist, müssen alle Knoten, die das Datenpaket erhalten, versuchen das verschlüsselte<br />
Feld zu dechiffrieren. Kann das Feld entschlüsselt werden und enthält es das Kommando für e<strong>in</strong>e<br />
Probeantwort, muss der Knoten e<strong>in</strong>e Antwort schicken. Momentan werden die Antworten noch als separate<br />
71
KAPITEL 6. MOBIDS, EIN INTRUSION DETECTION SYSTEM FÜR MOBILE AD HOC NETZWERKE<br />
Pakete verschickt, weiter oben im Text wurden aber Möglichkeiten besprochen, dies unauffälliger zu tun.<br />
Die DSR Ebene leitet, um das zu leisten, jedes Paket mit e<strong>in</strong>em Funktionsaufruf an das IDS weiter. Dieses<br />
entschlüsselt dann das Feld und überprüft, ob es e<strong>in</strong> Kommando enthält. War das e<strong>in</strong>e Probe, enthält<br />
das Kommandofeld e<strong>in</strong>en zusätzlichen E<strong>in</strong>trag mit der Sequenznummer des Probe Pakets, das an den<br />
übernächsten Knoten geschickt wurde. Der übernächste Knoten ist derjenige, der nach dem Knoten kommt,<br />
den wir verdächtigen. Wir überprüfen mit Hilfe der durch das Overhear<strong>in</strong>g gewonnenen Audit Daten, ob der<br />
nächste Knoten dieses Probe Paket weitergeschickt hat, und fügen das Ergebnis <strong>in</strong> die Probe Antwort e<strong>in</strong>.<br />
Dieses Ergebnis ist später für die zweite Probe, die wir schicken, wichtig. Zur Er<strong>in</strong>nerung: die erste Probe,<br />
die beantwortet wird, kann von e<strong>in</strong>em potentiell bösartigen Knoten kommen. Deshalb schicken wir e<strong>in</strong>e<br />
zweite Probe an den Knoten, der vor dem verdächtigen Knoten kommt. Dessen Antwort enthält dann, ob<br />
der verdächtige Knoten Probe Pakete weitergeleitet hat oder nicht.<br />
Jetzt endlich kommt die Probe zum Absender zurück. Das DSR Protokoll erkennt die Antwort und leitet<br />
sie an das IDS weiter. Dieses entschlüsselt die Daten und erhält e<strong>in</strong>e Antwort, ob der verdächtigte Knoten<br />
das Paket weitergeschickt hat oder nicht. Entsprechend wird dieser Knoten negativ bewertet, wenn ke<strong>in</strong>e<br />
Weiterleitung festgestellt wurde.<br />
Um die Berechenbarkeit des Protokolls für bösartige Knoten zu erschweren, können die Probes mit variablen<br />
Abständen verschickt werden. Dazu kann e<strong>in</strong>e zufällige Anzahl von Paketen verstreichen, bis die<br />
nächste Probe verschickt wird. In der naiven Implementierung kann mit dem Wissen um die Intervalle, nach<br />
denen e<strong>in</strong>e Probe verfällt, vorausgesagt werden, wann die nächste Probe verschickt wird.<br />
6.3.2.4 Ergebnisse der Prob<strong>in</strong>g Mechanismen<br />
Im letzten Abschnitt wurden zwei Prob<strong>in</strong>g Methoden vorgestellt; je nachdem, ob lediglich byzant<strong>in</strong>isch fehlerhafte<br />
Knoten erkannt oder aber bösartige Knoten identifiziert werden sollen, würde der e<strong>in</strong>fache Prob<strong>in</strong>g<br />
Mechanismus zum E<strong>in</strong>satz kommen oder der Mechanismus mit e<strong>in</strong>deutiger Identifikation des Angreifers.<br />
Ergebnisse des e<strong>in</strong>fachen Prob<strong>in</strong>g Mechanismus<br />
Im e<strong>in</strong>fachen Fall werden regelmäßig Probes <strong>in</strong> den Datenstrom, von Quelle zu Ziel, e<strong>in</strong>gebettet. Kommt<br />
ke<strong>in</strong>e Antwort zurück, werden solange Probes der Reihe nach an die Knoten auf dem Pfad geschickt, bis die<br />
erste Antwort empfangen wird. Der folgende Knoten wird als Ursache der gebrochenen Verb<strong>in</strong>dung angesehen<br />
und als bösartig bewertet.<br />
Die Simulation wurde mit demselben Angriffsszenario wie <strong>in</strong> Kapitel 5.3 durchgeführt; alle Parameter wurden<br />
gleich gewählt.<br />
Die Erkennungsrate dieses Ansatzes liefert e<strong>in</strong>e zuverlässige Identifikation der Angreifer. E<strong>in</strong> e<strong>in</strong>zelner Angreifer<br />
wird bei 1m/s von 4.9 Knoten korrekt als böswillig erkannt. Mit steigender Zahl der Angreifer fällt<br />
dieser Wert langsam ab, bis schließlich bei 15 simulierten Angreifern jeder e<strong>in</strong>zelne immer noch von 1.1<br />
Knoten als bösartig erkannt wird. Das alles, wohlgemerkt mit e<strong>in</strong>em Ansatz, der nur den ersten bösartigen<br />
72
KAPITEL 6. MOBIDS, EIN INTRUSION DETECTION SYSTEM FÜR MOBILE AD HOC NETZWERKE<br />
5<br />
4<br />
3<br />
2<br />
1<br />
0<br />
0 2 4 6 8 10 12 14<br />
Anzahl bösartiger Knoten<br />
Erkannte bösartige Knoten<br />
Fehlerkennungen<br />
Abbildung 6.18: Erkennungsrate von bösartigen Knoten<br />
mit Prob<strong>in</strong>g bei 1m/s<br />
14<br />
12<br />
10<br />
8<br />
6<br />
4<br />
2<br />
0<br />
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15<br />
Anzahl bösartiger Knoten<br />
Erkannte bösartige Knoten<br />
Fehlerkennungen<br />
Abbildung 6.19: Erkennungsrate von bösartigen Knoten<br />
mit Prob<strong>in</strong>g bei 20m/s<br />
Bösartige Knoten 0 1 2 3 4 5 6 7 10 15<br />
Erkennungsrate bei 1m/s 4.9 4.4 4.3 3.5 3.4 3.2 2.7 1.9 1.1<br />
Fehlerkennungen bei 1m/s 0.1 0 0 0 0.2 0 0.2 0.1 0 0<br />
Erkennungsrate bei 20m/s 10.8 9.5 9.4 7.7 7.3 7.0 6.6 4.9 2.5<br />
Fehlerkennungen bei 20m/s 0.1 0.1 0.3 0.1 0.1 0 0.1 0 0 0<br />
Abbildung 6.20: Erkennungsraten von bösartigen Knoten mit Prob<strong>in</strong>g<br />
Knoten <strong>in</strong> e<strong>in</strong>em Pfad erkennen kann. Die Fehlerkennungen s<strong>in</strong>d mit maximal 0.2 ger<strong>in</strong>g.<br />
Bei der höheren Geschw<strong>in</strong>digkeit von 20m/s ist e<strong>in</strong>e deutliche Steigerung der Erkennungsleistung auf 10.8<br />
Erkennungen des e<strong>in</strong>zelnen bösartigen Knotens ersichtlich. Die Erkennungsleistung fällt auch nicht so tief<br />
ab wie bei 1m/s, sondern ist mit 2.5 Erkennungen bei 15 bösartigen Knoten immer noch stabil. Diese Steigerung<br />
gegenüber 1m/s ist dadurch erklärbar, dass durch die hohe Geschw<strong>in</strong>digkeit viele verschiedene Pfade<br />
im Laufe der Zeit benötigt werden, um e<strong>in</strong> und dieselbe Verb<strong>in</strong>dung aufrecht zu erhalten. Die Wahrsche<strong>in</strong>lichkeit,<br />
dass e<strong>in</strong> bösartiger Knoten Teil e<strong>in</strong>er solchen Verb<strong>in</strong>dung wird und erkannt werden kann, steigt<br />
damit rapide an.<br />
Prob<strong>in</strong>g Mechanismus mit e<strong>in</strong>deutiger Identifikation des Angreifers<br />
Im e<strong>in</strong>fachen Fall zeigte der Angreifer immer das gleiche Verhalten: er vewarf alle Pakete, bis auf Rout<strong>in</strong>g<br />
Pakete. Es ist aber leicht e<strong>in</strong>en Angriff so zu implementieren, dass der Angreifer, sobald er e<strong>in</strong> Prob<strong>in</strong>g Paket<br />
bekommt, e<strong>in</strong>e Antwort schickt und für e<strong>in</strong>e gewisse Zeit danach kooperiert. Genau dieses Szenario wurde<br />
implementiert und durch Simulation analysiert, ansonsten s<strong>in</strong>d die Parameter die gleichen wie zuvor. Das<br />
Prob<strong>in</strong>g mit der e<strong>in</strong>deutigen Identifikation des Angreifers kann nun trotzdem den Angreifer erkennen, auch<br />
wenn dieser versucht nicht aufzufallen.<br />
73
KAPITEL 6. MOBIDS, EIN INTRUSION DETECTION SYSTEM FÜR MOBILE AD HOC NETZWERKE<br />
4<br />
3.5<br />
3<br />
2.5<br />
2<br />
1.5<br />
1<br />
0.5<br />
0<br />
0 2 4 6 8 10 12 14<br />
Anzahl bösartiger Knoten<br />
Erkannte bösartige Knoten<br />
Fehlerkennungen<br />
Abbildung 6.21: Erkennungsrate von bösartigen Knoten<br />
mit Prob<strong>in</strong>g bei 1m/s<br />
3.5<br />
3<br />
2.5<br />
2<br />
1.5<br />
1<br />
0.5<br />
0<br />
0 2 4 6 8 10 12 14<br />
Anzahl bösartiger Knoten<br />
Erkannte bösartige Knoten<br />
Fehlerkennungen<br />
Abbildung 6.22: Erkennungsrate von bösartigen Knoten<br />
mit Prob<strong>in</strong>g bei 20m/s<br />
Bösartige Knoten 0 1 2 3 4 5 6 7 10 15<br />
Erkennungsrate bei 1m/s 2.8 3.0 2.4 1.9 1.9 1.7 1.9 1.2 0.6<br />
Fehlerkennungen bei 1m/s 0.1 0.3 0.1 0.1 0.3 0.2 0.5 0.4 0.1 0.1<br />
Erkennungsrate bei 20m/s 2.5 2.2 1.8 1.5 1.7 1.7 1.2 1.0 0.4<br />
Fehlerkennungen bei 20m/s 1.3 1.3 1.6 1.2 0.9 1.1 0.5 1.2 0.7 0.1<br />
Abbildung 6.23: Erkennungsraten von bösartigen Knoten mit Prob<strong>in</strong>g<br />
Bei 1m/s wird e<strong>in</strong> Angreifer von 2.8 Knoten erkannt. Die Anzahl der Erkennungen geht nur langsam zurück,<br />
es wird selbst bei sieben Knoten jeder e<strong>in</strong>zelne dieser sieben Knoten noch 1.9 mal erkannt. Es werden zudem<br />
maximal 0.5 Fehlerkennungen erreicht. Das lässt sich folgendermaßen <strong>in</strong>terpretieren: In zwei Simulationen<br />
hatte nur e<strong>in</strong>e Fehlerekennung vorgelegen.<br />
Die Erkennungsrate bei 20m/s ist etwas schlechter; 2.5 Knoten erkennen den e<strong>in</strong>zelnen Angreifer jetzt korrekt.<br />
Diese Erkennungsrate fällt dann bei sieben Knoten auf 1.7 Erkennungen je Knoten ab, dabei werden<br />
je Simulation maximal 1.3 Knoten fälschlicherweise als bösartig beschuldigt. Die später e<strong>in</strong>geführten<br />
Bewertungs- und Reaktionsalgorithmen s<strong>in</strong>d gegenüber diesem Wert noch tolerant und es kommt zu ke<strong>in</strong>er<br />
nachteiligen Reaktion für den fälschlicherweise beschuldigten Knoten.<br />
Bewertung<br />
Die Erkennungleistung ist immer noch ausreichend, um e<strong>in</strong>e Reaktion gegen die bösartigen Knoten e<strong>in</strong>zuleiten;<br />
allerd<strong>in</strong>gs br<strong>in</strong>gt die Abhängigkeit vom Overhear<strong>in</strong>g dieser Technik ger<strong>in</strong>gere Erkennungsleistungen<br />
als die der re<strong>in</strong>en Prob<strong>in</strong>g Technik.<br />
Insgesamt ist das vorgestellte Prob<strong>in</strong>g besser als die bisher diskutierten Verfahren und kann mit e<strong>in</strong>er hohen<br />
Präzision bösartige Knoten erkennen. Der zusätzliche Kommunikationsaufwand ist ger<strong>in</strong>g, da nur sporadisch<br />
Probes geschickt werden. Unter anderem deshalb ist diese Technik effizienter als Awerbuchs Ansatz,<br />
74
KAPITEL 6. MOBIDS, EIN INTRUSION DETECTION SYSTEM FÜR MOBILE AD HOC NETZWERKE<br />
da nicht auf jedes e<strong>in</strong>zelne Paket e<strong>in</strong> Acknowledgement gesendet wird, sondern nur für die spärlichen Probes<br />
Antworten verschickt werden. Darüber h<strong>in</strong>aus kann der neue Ansatz, was den Fortschritt gegenüber<br />
Awerbuch darstellt, jetzt auch mit echten bösartigen und byzant<strong>in</strong>ischen Knoten umgehen, die nicht determ<strong>in</strong>istisch<br />
Pakete weiterleiten oder verwerfen.<br />
6.3.3 Erkennung von Egoismus<br />
Knoten, die nicht beim Aufbau e<strong>in</strong>es <strong>Ad</strong> hoc Netzwerkes kooperieren wollen, s<strong>in</strong>d sicherlich das schwierigste<br />
Problem der zuverlässigen Erkennung für e<strong>in</strong> IDS. Es gibt bisher mit dem Nuglets System (3.4.2.6)<br />
erst e<strong>in</strong>en Ansatz <strong>in</strong> der Literatur, um Egoismus zu begegnen. Die konzeptionellen Nachteile dieses Motivationsansatzes<br />
verh<strong>in</strong>dern aber se<strong>in</strong>e Praxistauglichkeit, wie bereits <strong>in</strong> 3.4.2.6 nachgewiesen wurde.<br />
In diesem Kapitel wird nun e<strong>in</strong> Erkennungssystem vorgeschlagen, das schon während der Route Discovery<br />
die Erkennung e<strong>in</strong>es egoistischen Knotens ermöglicht.<br />
6.3.3.1 Die Notwendigkeit Egoismus zu erkennen und zu bestrafen<br />
Nach der von John Nash begründeten Spieletheorie [Nas50] ist Egoismus dann <strong>in</strong>teressant, wenn der persönliche<br />
Gew<strong>in</strong>n durch das egoistische Verhalten größer ist als der Verlust, der als Rückkopplung dieses Verhaltens<br />
auf den Mitspieler entsteht.<br />
Ziel ist also, den Verlust durch Bestrafung abschreckend hoch zu gestalten, <strong>in</strong>dem e<strong>in</strong> Erkennungssystem<br />
gegen Egoismus e<strong>in</strong>gesetzt wird. Dieses muss nur e<strong>in</strong>en gewissen Anteil an egoistischen Knoten erkennen<br />
können, um den nötigen Abschreckungseffekt zu erzielen. Es ist damit nicht mehr nötig e<strong>in</strong>en Knoten zur<br />
Weiterleitung jedes e<strong>in</strong>zelnen Paketes zu motivieren, sondern es genügt e<strong>in</strong>e Abschreckung durch e<strong>in</strong> Bedrohungsszenario<br />
zu erreichen.<br />
6.3.3.2 Aufbau des Erkennungssystems<br />
Egoismus kann <strong>in</strong> zwei verschiedenen Phasen beim DSR Protokoll auftreten: entweder während des Routen<br />
Aufbaus oder während der normalen Weiterleitung von Paketen <strong>in</strong>nerhalb des Netzwerkes. Wenn e<strong>in</strong><br />
Knoten im zweiten Fall aus Egoismus Pakete verwirft, kann das bereits mit dem Prob<strong>in</strong>g oder mit dem aktivitätsbasierten<br />
Overhear<strong>in</strong>g entdeckt werden. Knoten, die nicht an der Route Discovery teilnehmen, werden<br />
dagegen bisher nicht erkannt.<br />
Es gibt e<strong>in</strong>e Methode, um diese egoistischen Knoten, während des Route Requests, zu identifizieren: Diese<br />
basiert auf e<strong>in</strong>em zuverlässigen Wissen von den Knoten, die sich <strong>in</strong> der Nachbarschaft aufhalten. Die Erkennung<br />
der Knoten <strong>in</strong> der Nachbarschaft wird <strong>in</strong> dem nächsten Abschnitt behandelt.<br />
75
KAPITEL 6. MOBIDS, EIN INTRUSION DETECTION SYSTEM FÜR MOBILE AD HOC NETZWERKE<br />
Alle Knoten werden <strong>in</strong> MobIDS verpflichtet jeden Route Request m<strong>in</strong>destens e<strong>in</strong>mal weiterzuleiten, sofern<br />
die maximal Reichweite dieses Route Requests noch nicht erreicht ist. Für die Erkennung e<strong>in</strong>es egoistischen<br />
Knotens genügt es zu überprüfen, ob alle Nachbarn während e<strong>in</strong>er festgelegten Zeit (die sogenannte Wartezeit<br />
Egoismus) den Route Request weiterleiten. Leitet e<strong>in</strong> bekannter Nachbar den Request nicht weiter,<br />
wird er als egoistisch bewertet. Dass es bei diesem System auch zu Fehlerkennungen kommen kann, ist<br />
e<strong>in</strong>sichtig; deshalb müssen die Gewichtung der Bewertung und der Schwellenwert, der zu e<strong>in</strong>er Reaktion<br />
führt, dementsprechend s<strong>in</strong>nvoll festgelegt se<strong>in</strong>.<br />
markiere Absender als<br />
kooperativ<br />
Route Request<br />
Knoten<br />
Route Request<br />
mit dieser Nummer<br />
bereits gesendet?<br />
Ja Ne<strong>in</strong><br />
gib positive Bewertung<br />
entferne Absender aus<br />
Warteliste<br />
Abbildung 6.24: Ablauf nach Erhalt e<strong>in</strong>es Route Requests<br />
E<strong>in</strong> Knoten muss alle Route Requests, die er erhält, m<strong>in</strong>destens bis zum Ablauf der Wartezeit Egoismus<br />
speichern, nachdem er selbst diesen Route Request versendet hat. Sobald e<strong>in</strong> Knoten e<strong>in</strong>en Route Request<br />
erhält, der se<strong>in</strong>e Maximalreichweite noch nicht erreicht hat, baut er e<strong>in</strong>e Liste mit allen Nachbarn für die<br />
Sequenznummer des Route Requests auf (die sogenannte Kandidatenliste Egoismus). Der Knoten, von dem<br />
er den Route Request erhalten hat, wird <strong>in</strong> der Liste als kooperativ markiert. Ist die Maximalreichweite im<br />
Route Request erreicht, wird der letzte Absender <strong>in</strong> e<strong>in</strong>er gesonderten Liste als kooperativ markiert, aber<br />
es wird ke<strong>in</strong>e Kandidatenliste Egoismus aufgebaut. Wird e<strong>in</strong>e Kandidatenliste Egoismus aufgebaut, werden<br />
Knoten, die für e<strong>in</strong>e Sequenznummer <strong>in</strong> der gesonderten Liste stehen, nicht aufgenommen, denn diese haben<br />
früher schon e<strong>in</strong>mal kooperiert.<br />
MobIDS erwartet nun, dass <strong>in</strong>nerhalb der Wartezeit Egoismus die Knoten <strong>in</strong> der Kandidatenliste Egoismus<br />
den Route Request m<strong>in</strong>destens e<strong>in</strong>mal weiterleiten. In diesem Fall werden sie aus der Liste entfernt. Nach<br />
Ablauf der Wartezeit Egoismus werden alle Knoten, die noch <strong>in</strong> der Kandidatenliste Egoismus s<strong>in</strong>d, entfernt<br />
und als egoistisch bewertet.<br />
76
KAPITEL 6. MOBIDS, EIN INTRUSION DETECTION SYSTEM FÜR MOBILE AD HOC NETZWERKE<br />
6.3.3.3 Erkennung der Knoten <strong>in</strong> der Nachbarschaft<br />
Manche <strong>Ad</strong> hoc Rout<strong>in</strong>g Protokolle wie AODV kennen die Knoten <strong>in</strong> ihrer Nachbarschaft. Das hier analysierte<br />
DSR Protokoll hat dieses Wissen nicht, sondern muss es explizit aufbauen.<br />
Für die Erkennung egoistischer Knoten <strong>in</strong>teressieren jetzt nur Knoten <strong>in</strong> direkter Nachbarschaft, also die<br />
Knoten, die <strong>in</strong> Sendereichweite des aktuellen Knotens liegen und die er empfangen kann. Es wurde deshalb<br />
e<strong>in</strong> Heartbeat Algorithmus verwandt, um die Nachbarschaftsbeziehungen herzustellen:<br />
Nach e<strong>in</strong>em bestimmten Intervall wird e<strong>in</strong>e vom Sender signierte Nachricht ausgeschickt, die die Sequenznummer<br />
und die Identifikationsnummer des Knotens (ID) enthält. Alle Knoten, die diese Nachricht erhalten,<br />
speichern sie für e<strong>in</strong>e def<strong>in</strong>ierte Zeit <strong>in</strong> der Nachbarschaftsliste. Nach dieser Zeit wird diese Heartbeatnachricht<br />
entfernt, sofern es noch jüngere Heartbeatnachrichten gibt. Gibt es ke<strong>in</strong>e jüngeren Nachrichten mehr,<br />
wird die Heartbeatnachricht behalten, aber als verfallen markiert.<br />
Erfolgt nun e<strong>in</strong>e Route Discovery, wird für jeden Nachbarn <strong>in</strong> der Liste die letzte authentifizierte Heartbeatnachricht<br />
angehängt. Diese Teilliste wird wiederum durch den am Route Discovery teilnehmenden Knoten<br />
signiert.<br />
Durch die authentifizierten E<strong>in</strong>träge wird sichergestellt, dass ke<strong>in</strong>e E<strong>in</strong>träge erfunden und h<strong>in</strong>zugefügt werden<br />
können. E<strong>in</strong>e Gefahr s<strong>in</strong>d aber nun alte Heartbeatnachrichten, deren Kopien von e<strong>in</strong>em Angreifer<br />
fälschlicherweise ausgesendet werden könnten. Die anderen Knoten würden die alte Nachricht nicht von<br />
e<strong>in</strong>er Orig<strong>in</strong>alnachricht unterscheiden können. Die Wirkung wäre e<strong>in</strong> Denial of Service gegen den Besitzer<br />
des Orig<strong>in</strong>al Heartbeats, denn dieser würde sehr wahrsche<strong>in</strong>lich gar nicht kooperieren, da er nicht <strong>in</strong> Empfangsreichweite<br />
ist.<br />
Deshalb gibt es die Sequenznummer. Alle Knoten gehen von der gleichen Haltbarkeit e<strong>in</strong>er Heartbeatnachricht<br />
aus und merken sich zudem die jüngste ungültig gewordene Sequenznummer. Bekommt e<strong>in</strong> Knoten<br />
jetzt e<strong>in</strong>e Heartbeatnachricht mit e<strong>in</strong>er Sequenznummer, die bereits verbreitet worden ist, ist das offensichtlich<br />
e<strong>in</strong>e Kopie (Dieser Angriff wird auch Replay Attacke genannt). Es gibt nun leider ke<strong>in</strong>e Möglichkeit<br />
festzustellen, wer dieses Paket verschickt hat, deshalb soll die Reaktion darauf beschränkt se<strong>in</strong>, das Netzwerk<br />
<strong>in</strong> e<strong>in</strong>em weiten Umkreis vor den alten Heartbeatpaketen zu warnen. Das wird e<strong>in</strong>fach dadurch erreicht,<br />
dass e<strong>in</strong>e Warnnachricht ausgeschickt wird, die die letzte authentifizierte Heartbeatnachricht des Opfers und<br />
e<strong>in</strong>e Identifikation als Replay Warnnachricht enthält. Alle Knoten werden diese dann <strong>in</strong> ihre Listen aufnehmen<br />
und s<strong>in</strong>d damit gegen das Auftreten älterer Sequenznummern geimpft.<br />
E<strong>in</strong>e Frage ist bisher offen geblieben: Warum sollte e<strong>in</strong> Knoten am Heartbeat Protokoll teilnehmen? Knoten,<br />
die ke<strong>in</strong>e Heartbeats von e<strong>in</strong>em Knoten empfangen haben, leiten ke<strong>in</strong>e Pakete dieses Knotens weiter.<br />
Damit die Aufbauphase der Topologie dadurch nicht gebremst wird und ke<strong>in</strong>e Fehlerkennungen entstehen,<br />
wird noch e<strong>in</strong> Zeitfenster e<strong>in</strong>geführt, <strong>in</strong> dem trotzdem Pakete weitergeschickt werden, auch wenn ke<strong>in</strong>e<br />
Heartbeatnachricht empfangen wurde. Dieses Zeitfenster ist typischerweise e<strong>in</strong> Vielfaches des Heartbeat<strong>in</strong>tervalls.<br />
Der Algorithmus kann darüber h<strong>in</strong>aus abgesichert werden, <strong>in</strong>dem Verb<strong>in</strong>dungen von Knoten getrennt werden,<br />
die ke<strong>in</strong>e Heartbeatnachrichten mehr schicken. Es ist auch denkbar zu überprüfen, ob Knoten, die<br />
77
KAPITEL 6. MOBIDS, EIN INTRUSION DETECTION SYSTEM FÜR MOBILE AD HOC NETZWERKE<br />
aufhören Heartbeatnachrichten zu schicken, mit e<strong>in</strong>em P<strong>in</strong>g auf unterster Ebene auf Anwesenheit geprüft<br />
werden. E<strong>in</strong> solcher P<strong>in</strong>g würde auf MAC Ebene signalisieren e<strong>in</strong> Paket an den Knoten zu schicken. Der<br />
Knoten muss dem gemäß IEEE 802.11 antworten, um das Paket gesendet zu bekommen; dadurch hat er aber<br />
se<strong>in</strong>e Anwesenheit verraten und kann als egoistisch angesehen werden.<br />
6.3.3.4 Erkennungsrate von egoistischen Knoten<br />
20<br />
15<br />
10<br />
5<br />
0<br />
0 2 4 6 8 10 12 14<br />
Anzahl egoistischer Knoten<br />
Erkennungen e<strong>in</strong>es e<strong>in</strong>zelnen egoistischen Knotens<br />
Fehlerkennungen<br />
Abbildung 6.25: Erkennungsrate von egoistischen<br />
Knoten bei 1m/s<br />
20<br />
15<br />
10<br />
5<br />
0<br />
0 2 4 6 8 10 12 14<br />
Anzahl egoistischer Knoten<br />
Erkennungen e<strong>in</strong>es e<strong>in</strong>zelnen egoistischen Knotens<br />
Fehlerkennungen<br />
Abbildung 6.26: Erkennungsrate von egoistischen<br />
Knoten bei 20m/s<br />
Egoistische Knoten 0 1 2 3 4 5 6 10 15<br />
Erkennungsrate bei 1m/s 4.4 5.5 6.0 7.5 7.5 7.6 14.1 16.0<br />
Fehlerkennungen bei 1m/s 0 0 0 0 0 0 0 0 0.1<br />
Erkennungsrate bei 20m/s 12.5 11.9 12.7 13.2 12.9 16.1 15.6 17.4<br />
Fehlerkennungen bei 20m/s 0 0 0 0 0 0 0 0 0<br />
Abbildung 6.27: Erkennungsraten von egoistischen Knoten<br />
Es wurde Egoismus wie <strong>in</strong> Kapitel 5.2 simuliert, abhängig von der Geschw<strong>in</strong>digkeit werden verschiedene<br />
Schwellenwerte für die Erkennung benötigt. Die Schwellenwerte wurden für diese Simulationen händisch<br />
optimiert; es ist aber auch denkbar, diese dynamisch zu bestimmen. Um e<strong>in</strong>e gute Bewertung des re<strong>in</strong>en<br />
Erkennungsansatzes zu ermöglichen, wurde der Simulator so abgeändert, dass er die Nachbarn zu e<strong>in</strong>em<br />
bestimmten Zeitpunkt liefern kann. Die Implementierung der Nachbarschaftserkennung hätte den Umfang<br />
dieser Diplomarbeit gesprengt und ist e<strong>in</strong> Thema, das noch statistisch sowie durch Simulation <strong>in</strong> anderem<br />
Rahmen aufbereitet werden sollte.<br />
Die Ergebnisse zeigen e<strong>in</strong>e gute Erkennungsleistung bei faktisch ke<strong>in</strong>en Fehlerkennungen. Bei der Geschw<strong>in</strong>digkeit<br />
von 1m/s erkennen 4.4 Knoten den e<strong>in</strong>zigen simulierten egoistischen Knoten richtig. Bei 15<br />
simulierten egoistischen Knoten wird jeder e<strong>in</strong>zelne davon von 16.0 anderen Knoten als egoistisch erkannt.<br />
Das ist e<strong>in</strong>e bedeutender Anstieg der Erkennungsrate!<br />
78
KAPITEL 6. MOBIDS, EIN INTRUSION DETECTION SYSTEM FÜR MOBILE AD HOC NETZWERKE<br />
Erklären lässt sich dies dadurch, dass mit der Steigerung der egoistischen Knoten im Netz immer weniger<br />
Knoten zur Bildung von Routen zur Verfügung stehen. Die Pfade werden dadurch länger, wodurch auch die<br />
Chance steigt, sie als egoistisch zu erkennen. Zudem werden wesentlich mehr Route Requests abgesetzt und<br />
bei jedem Route Request kann e<strong>in</strong> Knoten nochmals als egoistisch bewertet werden. Diese beiden Faktoren<br />
zusammen ergeben die beobachtete Steigerung der Erkennungsleistung.<br />
Bei 20 m/s gibt es auch e<strong>in</strong>e Steigerung der Erkennungsrate, die aber ger<strong>in</strong>ger ausfällt. Der e<strong>in</strong>zige simulierte<br />
egoistische Knoten wird bereits von 12.5 anderen Knoten richtig erkannt. Bei 15 simulierten egoistischen<br />
Knoten wird jeder e<strong>in</strong>zelne davon von jeweils 17.4 Knoten richtig erkannt. Bei vielen egoistischen Knoten<br />
lässt sich e<strong>in</strong>e ger<strong>in</strong>ge 0.1 Fehlerkennung beobachten.<br />
Die Ergebnisse s<strong>in</strong>d damit sehr gut ausgefallen und erlauben e<strong>in</strong>e effektive Bestrafung von egoistischem<br />
Verhalten. Obwohl der Empfang von Route Requests durch se<strong>in</strong>e Broadcast Natur dem Overhear<strong>in</strong>g verwandt<br />
ist und mit den gleichen Problemen kämpft, konnten hier die Schwellenwerte so gewählt werden,<br />
dass e<strong>in</strong>e gute Erkennung gewährleistet ist.<br />
Das Empfangsverhalten von Route Requests wird durch diese Simulationsergebnisse realistisch abgedeckt,<br />
sie nehmen aber die ideale Erkennung der Nachbarschaft an. Der nächste Schritt wäre die Nachbarschaftserkennung<br />
zu analysieren und zu implementieren. Darüber h<strong>in</strong>aus müsste betrachtet werden, welcher zusätzlicher<br />
Aufwand dem Netzwerk durch die benötigten Heartbeats entsteht. Dieser Aufwand fällt aber <strong>in</strong> jedem Fall<br />
an, denn die Verteilung von Anschuldigungen basiert ebenfalls auf Heartbeats. Es ist zu erwarten, dass bei<br />
implementierter Nachbarschaftserkennung Fehlerkennungen entstehen werden, aber auch, dass es immer<br />
noch e<strong>in</strong>e praktikable Erkennungsrate geben wird.<br />
6.4 Bewertungsverfahren<br />
Mit dem CORE Ansatz <strong>in</strong> Abschnitt 3.4.2.3 wurde bereits e<strong>in</strong> ausgearbeitetes Bewertungsverfahren vorgestellt.<br />
Das hier vorgestellte Verfahren ist, besonders was die lokale Bewertung angeht, CORE verwandt.<br />
In der Kommunikation von Bewertungen zwischen den Knoten im Netzwerk unterscheiden sie sich aber<br />
deutlich vone<strong>in</strong>ander.<br />
6.4.1 Lokale Bewertung<br />
Der Knoten muss alle beobachteten Verhalten se<strong>in</strong>er Nachbarn <strong>in</strong>tern bewerten und zu e<strong>in</strong>em Wert zusammenfassen;<br />
dieser Schritt wird lokale Bewertung genannt.<br />
6.4.1.1 Subjektives Ansehen<br />
Die Def<strong>in</strong>ition des subjektive Ansehens wurde bereits e<strong>in</strong>geführt, zur Wiederholung hier noch e<strong>in</strong>mal die<br />
Def<strong>in</strong>ition:<br />
79
KAPITEL 6. MOBIDS, EIN INTRUSION DETECTION SYSTEM FÜR MOBILE AD HOC NETZWERKE<br />
r t si (s j| f ) = ∑ρ(t,tk) · σk<br />
Subjektive Ansehen e<strong>in</strong>es Knotens i zur Zeit t von e<strong>in</strong>em Knoten j wird mit r t si (s j| f ) bezeichnet. Dieses<br />
Ansehen ist immer auf das Verhalten bezüglich der Ausführung der Funktion f durch Knoten j. Die k-te<br />
Bewertung wird durch σk ausgedrückt. E<strong>in</strong> σk > 0 steht für e<strong>in</strong>e positive Beobachtung, e<strong>in</strong> negativer Wert<br />
entsprechend für e<strong>in</strong>e negative Beobachtung.<br />
Für unser IDS def<strong>in</strong>ieren wir die zeitabhängige Funktion ρ(t,tk) nun folgendermaßen mit Tρ als der Lebensdauer<br />
e<strong>in</strong>er Bewertung σk:<br />
ρ(t,tk) = 1 − tk −t<br />
λ<br />
mit e<strong>in</strong>er l<strong>in</strong>earen Abbaurate der Bewertung λ, def<strong>in</strong>iert als<br />
λ = 1<br />
Es gilt ρ(t,tk) ∈ [0,1], denn e<strong>in</strong>e Bewertung verfällt spätestens nach der Zeit Tρ. Wie zu sehen ist, ist die<br />
Funktion ρ(t,tk) l<strong>in</strong>ear. Das bewirkt für das subjektive Ansehen, dass viele alte schwächere Bewertungen<br />
e<strong>in</strong>e höhere Relevanz haben als wenige neue stärkere Bewertungen. Dadurch kann vermieden werden, dass<br />
e<strong>in</strong> kurzfristig auftretendes Fehlverhalten das Ansehen zu sehr beschädigt.<br />
Es bleibt festzuhalten, dass es schwierig ist e<strong>in</strong> positives subjektives Ansehen aufzubauen, aber unkooperatives<br />
Verhalten deutlich bestraft wird.<br />
Es galt bisher σk ∈ [−1,1]; das ist aber mit der neuen l<strong>in</strong>earen Funktion ρ(t,tk) nicht mehr s<strong>in</strong>nvoll. E<strong>in</strong><br />
böswilliger Knoten könnte sich nämlich e<strong>in</strong>fach durch gute Bewertungen tarnen, <strong>in</strong>dem er zum Beispiel<br />
immer e<strong>in</strong> Paket weiterschickt und das nächste Paket verwirft. Damit käme er an e<strong>in</strong>e Bewertung nahe Null.<br />
Diesem Effekt kann man entgegen treten, <strong>in</strong>dem σk ∈ [−∞,1] ist. Bewertungen zur Bestrafung können damit<br />
kle<strong>in</strong>er als -1 se<strong>in</strong> und haben damit e<strong>in</strong> größeres Gewicht als die Belohnung der Kooperation.<br />
6.4.1.2 Die Bildung des Ansehens e<strong>in</strong>es Knotens<br />
r t si (s j) = ∑ c<br />
Tρ<br />
wc · r t si (s j| fc)<br />
fc ist wieder die verwendete Funktion, die mit der Gewichtung wc <strong>in</strong> das Ansehen des Knotens e<strong>in</strong>geht.<br />
Somit steht r t si (s j) für das Ansehen, das e<strong>in</strong> Knoten j bei e<strong>in</strong>em Knoten i besitzt. Die wc s<strong>in</strong>d geeignet zu<br />
wählen, um der Sicherheit der Erkennung und der Bedeutung der Funktion gerecht zu werden.<br />
80
KAPITEL 6. MOBIDS, EIN INTRUSION DETECTION SYSTEM FÜR MOBILE AD HOC NETZWERKE<br />
6.4.1.3 Implementierungsdetails<br />
Die e<strong>in</strong>zelnen Bewertungen werden <strong>in</strong> Form e<strong>in</strong>er Queue 2 gespeichert. Gerade bei mobilen Geräten ist Speicherplatz<br />
knapp und muss daher sparsam genutzt werden. Es kann demnach also vorkommen, dass es mehr<br />
Bewertungen gibt als Platz <strong>in</strong> der Queue. Gibt es nur e<strong>in</strong>e Queue, können positive Bewertungen negative<br />
verdrängen. Deshalb hat dieser Entwurf je e<strong>in</strong>e Queue für negatives und e<strong>in</strong>e Queue für positives Verhalten<br />
je Knoten.<br />
Um zusätzlich noch die Aktivität der Knoten für das Prob<strong>in</strong>g festzuhalten, gibt es noch e<strong>in</strong>e separate kurze<br />
Queue für mitgehörte Aktivitäten. Diese Queue kann deutlich kle<strong>in</strong>er se<strong>in</strong>. Ihre E<strong>in</strong>träge haben zudem noch<br />
e<strong>in</strong>e nur kurze Lebensdauer.<br />
Negatives Verhalten<br />
Positives Verhalten<br />
Aktivität<br />
Queue<br />
Abbildung 6.28: Queues von Bewertungen<br />
Lebensdauer<br />
überschritten<br />
Queues <strong>in</strong> C++ verwalten ihren Speicherbedarf dynamisch und belegen, wenn sie leer s<strong>in</strong>d, nur wenig Platz.<br />
Vorerst wurde die e<strong>in</strong>fache Verdrängungsstrategie FIFO (first <strong>in</strong> first out) gewählt. Es ist aber auch denkbar,<br />
andere E<strong>in</strong>träge mit ger<strong>in</strong>gerem Informationsgew<strong>in</strong>n zu verdrängen, um e<strong>in</strong>e bessere Verteilung der Bewertungen<br />
über die Zeit zu erreichen.<br />
6.4.2 Verteilte Bewertungsverfahren<br />
E<strong>in</strong> Knoten, der für sich alle<strong>in</strong>e e<strong>in</strong>en E<strong>in</strong>dr<strong>in</strong>gl<strong>in</strong>g erkennt, hat wenige Möglichkeiten Gegenmaßnahme<br />
e<strong>in</strong>zuleiten; er kann höchstens die Kommunikation mit diesem e<strong>in</strong>stellen. Die Wirkung ist, wie man sich<br />
leicht vorstellen kann, begrenzt. E<strong>in</strong>e Sanktionierung durch viele Knoten dagegen kann den Ausschluss des<br />
E<strong>in</strong>dr<strong>in</strong>gl<strong>in</strong>gs aus dem Netzwerk erzw<strong>in</strong>gen und ist deshalb e<strong>in</strong>e effektive Strafe.<br />
6.4.2.1 Verteilung von Anschuldigungen<br />
Nach e<strong>in</strong>er e<strong>in</strong>deutigen Erkennung e<strong>in</strong>es Angreifers muss das Wissen kommuniziert werden. Nach diesem<br />
Schritt sollten die Knoten entweder geme<strong>in</strong>sam Gegenmaßnahmen ergreifen oder weitere Beobachtungen<br />
anstellen, sofern die Anschuldigung nicht stichhaltig genug war. Da im <strong>Ad</strong> hoc Netzwerk immer e<strong>in</strong>e Lokalität<br />
der Ereignisse und Beziehungen herrscht, genügt es die Abstimmung der Reaktionen auf e<strong>in</strong>e Menge<br />
2 Queue siehe Glossar<br />
81
KAPITEL 6. MOBIDS, EIN INTRUSION DETECTION SYSTEM FÜR MOBILE AD HOC NETZWERKE<br />
von Knoten <strong>in</strong> der Umgebung zu beschränken. Die Dynamik des <strong>Ad</strong> hoc Netzwerks macht die determ<strong>in</strong>istische<br />
Bestimmung von Knoten, die Bewertungen empfangen sollen, schwierig, denn es gibt immer Knoten,<br />
die gerade das relevante Gebiet betreten haben oder auf Grund von Kollisionen Bewertungen nicht hören<br />
können. Damit entsteht e<strong>in</strong>e gewisse Unschärfe <strong>in</strong> der Verteilung des Wissens über bösartigen Knoten. E<strong>in</strong><br />
Bewertungsverfahren muss dies berücksichtigen und trotzdem e<strong>in</strong>e <strong>in</strong> e<strong>in</strong>em Gebiet übere<strong>in</strong>stimmende Bewertung<br />
erreichen können.<br />
Die Kommunikation muss also folgenden Bed<strong>in</strong>gungen genügen: Sie muss <strong>in</strong> e<strong>in</strong>er gewissen Reichweite<br />
die Bewertungen <strong>in</strong> der Umgebung verteilen, sie sollte <strong>in</strong> der Reichweite beschränkt se<strong>in</strong>, außerdem nur<br />
relevante Informationen verteilen und sie muss sicher gegen gefälschte Nachrichten se<strong>in</strong>.<br />
Da wir bereits e<strong>in</strong>en Heartbeat Algorithmus zur Erkennung der Nachbarschaft e<strong>in</strong>es Knotens e<strong>in</strong>setzen,<br />
können wir die Heartbeatnachrichten noch etwas erweitern, damit sie zusätzlich auch Bewertungen transportieren<br />
können. Wir wollen uns darauf konzentrieren, besonders aussagekräftige Bewertungen zu verbreiten,<br />
deshalb werden nur Bewertungen verschickt, die bestimmte Schwellenwerte überschreiten.<br />
Alle Knoten, die e<strong>in</strong>e Heartbeatnachricht erhalten, nehmen diese <strong>in</strong> e<strong>in</strong>e <strong>in</strong>terne Matrix auf. Jedem Absender<br />
wird e<strong>in</strong>e Zeile <strong>in</strong> der Matrix zugeordnet. Die Zeile hat für jeden bewerteten Knoten e<strong>in</strong>en E<strong>in</strong>trag. Dieser<br />
E<strong>in</strong>trag wiederum steht <strong>in</strong> e<strong>in</strong>er Liste der erhaltenen positiven und negativen Bewertungen vom Absender<br />
über diesen Knoten.<br />
Die Nachricht wird außerdem zwischengespeichert, um dann später mit der nächsten Heartbeatnachricht<br />
weiter geschickt zu werden. Durch diesen Mechanismus werden die Bewertungen verteilt. Damit Pakete<br />
nicht endlos im Netzwerk reisen, muss gezählt werden, wie viele Knoten dieses Paket schon weitergeleitet<br />
hatten. Nur wenn dieser Wert kle<strong>in</strong>er als e<strong>in</strong>e def<strong>in</strong>ierte Grenze ist, wird die Bewertung verbreitet. Um zu<br />
verh<strong>in</strong>dern, dass Pakete mehrfach durch e<strong>in</strong>en Knoten gesendet werden, muss der Knoten jedes e<strong>in</strong>kommende<br />
Paket mit se<strong>in</strong>er Matrix vergleichen, ob er dieses Paket schon gesehen hat. Wenn er dieses Paket oder e<strong>in</strong><br />
Paket mit e<strong>in</strong>er höheren Identifikationsnummer schon kennt, wird es stillschweigend verworfen.<br />
Dieses Verfahren bietet den Vorteil die Anzahl der Pakete zu begrenzen, die benötigt werden, um alle Knoten<br />
im Umkreis mit e<strong>in</strong>er Bewertung zu erreichen. Das Verfahren ist damit effizient, da es Paket Overhead e<strong>in</strong>spart<br />
und die Bandbreite <strong>in</strong> ger<strong>in</strong>gerem Maße <strong>in</strong> Anspruch nimmt. Durch die fest def<strong>in</strong>ierten Sende<strong>in</strong>tervalle<br />
kann außerdem gut abgeschätzt werden, wann e<strong>in</strong>e Bewertung ihre maximale Weglänge zurückgelegt hat.<br />
Allerd<strong>in</strong>gs werden Pakete langsamer verteilt als bei e<strong>in</strong>er Flutung des Netzwerkes durch Broadcast Pakete.<br />
6.4.2.2 Bewertung e<strong>in</strong>es Knotens<br />
Die endgültige Bewertung des Verhaltens e<strong>in</strong>es Knotens führt direkt zur Reaktion. Um bei der Reaktion e<strong>in</strong>e<br />
breite Wirkung zu erzielen, müssen die Knoten fremden Bewertungen vertrauen. Dabei besteht natürlich die<br />
Gefahr, dass genau dieser Mechanismus für e<strong>in</strong>en Denial of Service Angriff gegen e<strong>in</strong>en Knoten ausgenutzt<br />
wird. Es gilt also die Balance zwischen Vertrauen und Misstrauen gegenüber den anderen Systemen zu f<strong>in</strong>den.<br />
Wir haben gerade erst gesehen, wie Bewertungen mit Hilfe des Heartbeat Algorithmus verteilt werden<br />
können. Damit erhalten wir die benötigten Bewertungen. Nun müssen wir aber die Bewertungen zu e<strong>in</strong>er<br />
82
KAPITEL 6. MOBIDS, EIN INTRUSION DETECTION SYSTEM FÜR MOBILE AD HOC NETZWERKE<br />
M<br />
A<br />
1<br />
Runde<br />
2<br />
Runde<br />
3<br />
Runde<br />
Abbildung 6.29: Verteilung von Anschuldigungen<br />
Schlussfolgerung verdichten, nach der wir handeln können. Dazu wollen wir e<strong>in</strong>e laxe Form e<strong>in</strong>er Abstimmung<br />
verwenden, <strong>in</strong>dem wir e<strong>in</strong>e Sanktionierung nur erlauben, wenn e<strong>in</strong>e bestimmte Anzahl von Knoten<br />
e<strong>in</strong>en anderen Knoten als bösartig bewertet hat. Durch die Abstimmung reduzieren wir die Anzahl der<br />
Fehlerkennungen der lokalen Erkennungsalgorithmen. Wie bereits nachgewiesen wurde, ist die lokale Erkennung<br />
nicht gegen falsche Erkennungen gefeit, aber diese s<strong>in</strong>d stochastisch gleichmäßig über die Menge<br />
der unschuldigen Knoten verteilt. Damit elim<strong>in</strong>iert die Abstimmung die Fehlerkennungen.<br />
E<strong>in</strong> anderes Problem, das nun auftreten könnte, ist, dass e<strong>in</strong> Knoten, der zu Recht e<strong>in</strong>en anderen Knoten<br />
sanktioniert, genau für dieses Verhalten von anderen, die die negativen Bewertungen nicht erhalten haben,<br />
schlecht bewertet wird. Der sanktionierende Knoten könnte auf e<strong>in</strong>mal selbst als bösartig erkannt werden.<br />
Die erste e<strong>in</strong>fache Möglichkeit verbietet e<strong>in</strong>e negative Bewertung e<strong>in</strong>es Knotens, der potentiell e<strong>in</strong>e Sanktionierung<br />
e<strong>in</strong>es Knotens M durchführt, wenn aus e<strong>in</strong>er anderen Quelle e<strong>in</strong>e negative Bewertung von M<br />
verteilt wurde. Durch die Anforderung negative Bewertungen aus anderen Quellen zu besitzen, ist garantiert,<br />
dass e<strong>in</strong> Knoten sich nicht selbst durch negative Bewertungen e<strong>in</strong>en Freibrief zum Angriff auf e<strong>in</strong>en<br />
Knoten ausstellen kann.<br />
Die Fehlerkennung kann außerdem vermieden werden, <strong>in</strong>dem nur negative Bewertungen verwendet werden,<br />
die noch m<strong>in</strong>destens e<strong>in</strong>mal weitergeleitet werden müssen. Damit wird sichergestellt, dass die direkte Nachbarschaft<br />
auch zur gleichen Gesamtbewertung über den bösartigen Knoten kommt. Da sich die Knoten aber<br />
bewegen und die Nachbarschaft sich fortlaufend ändert, müssen trotzdem nicht alle Nachbarn zum gleichen<br />
Schluss kommen. Langfristig wird e<strong>in</strong> Knoten, der sich bösartig verhält, aber so viele negative Bewertungen<br />
e<strong>in</strong>fangen, dass er im Laufe der Zeit vollständig vom Netzwerk isoliert wird. Damit ist e<strong>in</strong>e h<strong>in</strong>reichend<br />
83
KAPITEL 6. MOBIDS, EIN INTRUSION DETECTION SYSTEM FÜR MOBILE AD HOC NETZWERKE<br />
M<br />
t1<br />
O1<br />
P1<br />
P2<br />
Abbildung 6.30: E<strong>in</strong> bösartiger Knoten erzeugt im Laufe der Zeit viele Anschuldigungen<br />
abschreckende Sanktionierung möglich und darüber h<strong>in</strong>aus e<strong>in</strong>e Selbstheilung des Netzwerkes gegenüber<br />
byzant<strong>in</strong>ischen Fehlern.<br />
In Abbildung 6.30 wird verdeutlicht, wie e<strong>in</strong> bösartiger Knoten durch Bewegung Teil mehrerer Routen wird.<br />
Bei fortgesetztem bösartigem Verhalten wird er dann auch von verschiedenen Knoten durch das Prob<strong>in</strong>g und<br />
durch das Overhear<strong>in</strong>g erkannt. Diese Knoten werden dann Beschuldigungsnachrichten verbreiten, die nach<br />
e<strong>in</strong> paar Runden bei allen Knoten im Umkreis ankommen.<br />
6.5 Reaktion<br />
Wenn e<strong>in</strong> Angreifer oder egoistischer Knoten erkannt wurde, erfolgt e<strong>in</strong>e Reaktion. Diese Reaktion kann<br />
im e<strong>in</strong>fachsten Fall von der Benachrichtigung des Benutzers bis zum anderen Extrem, dem Ausschluss des<br />
Knotens reichen.<br />
Es ist nun vor allem von Interesse, welche automatischen Reaktionen denkbar s<strong>in</strong>d, die die stabile Funktion<br />
des Netzwerkes gewährleisten.<br />
6.5.1 Reaktion auf erkannte Angreifer im <strong>Ad</strong> hoc Netzwerk<br />
E<strong>in</strong> Knoten ist schon alle<strong>in</strong> aus eigenem Interesse daran <strong>in</strong>teressiert die Funktionsfähigkeit des ihn umgebenden<br />
Netzwerkes zu erhalten. Das Ziel ist deshalb, e<strong>in</strong>en erkannten böswilligen Knoten auszuschließen,<br />
84<br />
O2<br />
M<br />
t2<br />
P3<br />
M<br />
t3
KAPITEL 6. MOBIDS, EIN INTRUSION DETECTION SYSTEM FÜR MOBILE AD HOC NETZWERKE<br />
um fortdauernde Störungen und Angriffe zu unterb<strong>in</strong>den.<br />
Bei der Analyse der Erkennungsverfahren wurde deutlich, dass jede Erkennung mit e<strong>in</strong>em gewissen Unsicherheitsfaktor<br />
behaftet ist. Das System muss zudem sicher gegen falsche Beschuldigungen se<strong>in</strong>, sonst kann<br />
e<strong>in</strong> böswilliger Knoten das IDS benutzen, um andere Knoten aus dem Netzwerk auszuschließen.<br />
Knoten <strong>in</strong> MobIDS, die e<strong>in</strong>en böswilligen Knoten erkannt haben, erstellen e<strong>in</strong>e signierte Nachricht, welche<br />
e<strong>in</strong>en Knoten zu e<strong>in</strong>em bestimmten Zeitpunkt beschuldigt böswillig zu se<strong>in</strong>. Die Nachricht ist mit e<strong>in</strong>er Maximalreichweite<br />
versehen, um die Information von Knoten fern zu halten, die wahrsche<strong>in</strong>lich nie <strong>in</strong> direktem<br />
Kontakt mit dem böswilligen Knoten stehen, weil sie zu weit entfernt s<strong>in</strong>d. Zeitlich wird die Nachricht an<br />
die Heartbeatnachrichten der Nachbarschaftserkennung gekoppelt, um e<strong>in</strong>e lose zeitliche Synchronisation<br />
zu erreichen.<br />
Es s<strong>in</strong>d nun mehrere gegen e<strong>in</strong>en Knoten gerichtete Beschuldigungsnachrichten aus verschiedenen Quellen<br />
nötig, um e<strong>in</strong>en Knoten auszuschließen. Wenn die Anzahl der erhaltenen Beschuldigungen an e<strong>in</strong>em<br />
Knoten e<strong>in</strong>e def<strong>in</strong>ierte Schwelle, die Auschlussschwelle, überschreitet, dann wird der beschuldigte Knoten<br />
fortan ignoriert. Da aber viele Knoten im Netzwerk h<strong>in</strong>reichend viele Beschuldigungen bekommen haben,<br />
wird der Knoten somit von der weiteren Teilnahme im <strong>Ad</strong> hoc Netzwerk ausgeschlossen. Es ist darauf zu<br />
achten, dass die Ausschlussschwelle groß genug ist, um resistent gegen e<strong>in</strong>e Koalition mehrerer Angreifer<br />
zu se<strong>in</strong>. E<strong>in</strong> s<strong>in</strong>nvoller Wert, der durch die Simulation untermauert wurde, wäre zum Beispiel die Anzahl von<br />
drei Knoten als Ausschlussschwelle. Es s<strong>in</strong>d bei e<strong>in</strong>er größeren Laufzeit des IDS auch höhere Schwellen<br />
realistisch.<br />
Nun stellt sich aber das Problem, dass e<strong>in</strong> Knoten genügend Beschuldigungsnachrichten bekommen hat und<br />
beg<strong>in</strong>nt den beschuldigten Knoten zu ignorieren. Das IDS e<strong>in</strong>es dritten Knotens kann aber jetzt erkennen,<br />
dass e<strong>in</strong> Knoten e<strong>in</strong>en anderen ignoriert und zum Schluss kommen, dass dieser bösartig ist. Die IDS müssen<br />
deshalb tolerieren, dass e<strong>in</strong> Knoten e<strong>in</strong>en anderen ignoriert, wenn e<strong>in</strong>e gewisse M<strong>in</strong>destzahl von Beschuldigungsnachrichten,<br />
die Toleranzschwelle, überstiegen wurde. Es kann beispielsweise festgelegt werden, dass<br />
noch m<strong>in</strong>destens e<strong>in</strong>e andere Beschuldigungsnachricht vorliegt, außer e<strong>in</strong>er möglichen Nachricht von dem<br />
Knoten, der e<strong>in</strong>en anderen Knoten gerade ignoriert. Auch für die Toleranzschwelle gilt, dass diese h<strong>in</strong>reichend<br />
groß zu wählen ist, um resistent gegen e<strong>in</strong>e Koalition von Angreifer zu se<strong>in</strong>.<br />
Bei der Ausbreitung der Beschuldigungsnachrichten ist nicht determ<strong>in</strong>istisch bestimmbar, ob oder wann e<strong>in</strong><br />
Knoten diese erhält. Indem die Beschuldigungsschwelle um m<strong>in</strong>destens zwei größer gewählt wird als die<br />
Toleranzschwelle, kann dieses Problem abgemildert werden.<br />
6.5.2 E<strong>in</strong> globaler Reaktionsmechanismus für alle MobIDS Netzwerke<br />
Das Rahmenwerk, <strong>in</strong> welchem das IDS e<strong>in</strong>gebettet ist, b<strong>in</strong>det Identitäten direkt an die Hardware. Ohne<br />
die Möglichkeit, Identitäten zu entziehen, wird der Mechanismus der lokalen Reaktion wirkungslos. Wenn<br />
bösartige Identitäten für immer Bestand hätten, wäre e<strong>in</strong> gefährlicher Angriff, mehrere Identitäten auf e<strong>in</strong>em<br />
Gerät zu sammeln, um mehrere Knoten vorzuspielen und damit die Toleranzschwelle und die Beschuldigungsschwelle<br />
zu überbieten. In den Zeiten globaler Netzwerke wäre es e<strong>in</strong> Leichtes Identitäten zu<br />
85
KAPITEL 6. MOBIDS, EIN INTRUSION DETECTION SYSTEM FÜR MOBILE AD HOC NETZWERKE<br />
tauschen.<br />
Können nun aber Identitäten widerrufen werden, steigt das Risiko Identitäten zu verbreiten beträchtlich.<br />
Sobald die Identität veröffentlicht wurde, kann sie auch jederzeit durch e<strong>in</strong>e bösartige Verwendung gesperrt<br />
werden. Das Tauschen von Identitäten ist damit fast ausgeschlossen, trotzdem kann e<strong>in</strong> Angreifer Hardware<br />
mehrfach erwerben, um e<strong>in</strong>en Angriff zu ermöglichen. Die Kosten, Identitäten durch Erwerb von Hardware<br />
zu beschaffen, wirken prohibitiv. Realistisch ist deshalb die Annahme, dass nur wenige Angreifer diese Kosten<br />
aufwenden werden, nur um das Netzwerk zu stören oder egoistisch zu se<strong>in</strong>.<br />
Die Notwendigkeit e<strong>in</strong>es globalen Ausschlusses wurde somit belegt; wie aber läuft dieser vonstatten?<br />
Knoten, die e<strong>in</strong>en Knoten beschuldigen und auch mehr Beschuldigungsnachrichten als die Beschuldigungschwelle<br />
erhalten haben, speichern auf e<strong>in</strong>em persistenten Medium den Knoten <strong>in</strong> e<strong>in</strong>er Liste als böswillig ab. Zu<br />
e<strong>in</strong>em späteren Zeitpunkt, wenn der Knoten zu ger<strong>in</strong>gen Kosten mit der globalen Erneuerungs<strong>in</strong>stanz Kontakt<br />
aufnehmen kann, wird er se<strong>in</strong>e Liste signieren und an die globale Erneuerungs<strong>in</strong>stanz schicken. Danach<br />
kann der Knoten die Liste löschen.<br />
Die globale Erneuerungs<strong>in</strong>stanz sammelt nun alle globalen Beschuldigungen <strong>in</strong> e<strong>in</strong>er Datenbank; es wird je<br />
Quelle immer nur die letzte Beschuldigung e<strong>in</strong>es Ziels vermerkt. Häufen sich diese Beschuldigungen nun<br />
derart, dass mit hoher Sicherheit von e<strong>in</strong>em andauerndem bösartigen Verhalten ausgegangen werden kann,<br />
wird der beschuldigte Knoten <strong>in</strong> e<strong>in</strong>e schwarze Liste aufgenommen.<br />
Globale<br />
Erneureungs<br />
Instanz<br />
Beschuldigung<br />
Beschuldigung<br />
über die gesamte Welt verteilte<br />
<strong>Ad</strong> <strong>Hoc</strong> Netzwerke<br />
Schwarze<br />
Liste<br />
Globale<br />
Erneureungs<br />
Instanz<br />
Erneuerung der Signatur<br />
M<br />
Anfrage<br />
Schwarze<br />
Liste<br />
Abbildung 6.31: Globale Instanz verweigert Erneuerung der Identität nach Beschwerden<br />
Die Knoten <strong>in</strong> der schwarzen Liste können ihre Identitäten nicht mehr erneuern und werden somit automatisch<br />
von allen <strong>Ad</strong> hoc <strong>Netzwerken</strong> mit MobIDS ausgeschlossen. Die Intervalle für die Erneuerung der Identitäten<br />
können so gewählt werden, dass nur wenige Kontakte pro Jahr mit der globalen Erneuerungs<strong>in</strong>stanz<br />
nötig werden. Selbstverständlich ist die zentrale Instanz verteilt zu implementieren, um den Erfordernissen<br />
e<strong>in</strong>es weltweiten Netzwerkes gerecht zu werden.<br />
Diese Grundlagen wurde <strong>in</strong> der parallel entstandenen Diplomarbeit von Raimund Specht [Spe03] vertieft<br />
und genauer untersucht.<br />
86
KAPITEL 6. MOBIDS, EIN INTRUSION DETECTION SYSTEM FÜR MOBILE AD HOC NETZWERKE<br />
6.5.3 Bewertung der Reaktionsmechanismen<br />
Automatisierte Reaktion und Bestrafung im IDS s<strong>in</strong>d immer auch e<strong>in</strong>e zusätzliche Angriffspunkt. Die umrissenen<br />
Mechanismen der lokalen und globalen Reaktion können aber das Risiko ger<strong>in</strong>g halten und e<strong>in</strong>e<br />
effektive Selbstre<strong>in</strong>igung von <strong>Ad</strong> hoc <strong>Netzwerken</strong> von bösartigen Knoten erreichen.<br />
Die globale Reaktion macht Identitäten wertvoll und stellt e<strong>in</strong>e große Abschreckung für viele Angreifer<br />
dar. Durch die träge Kommunikation wird der Aufwand auf e<strong>in</strong> M<strong>in</strong>imum reduziert, ohne se<strong>in</strong>e Wirkung zu<br />
verlieren.<br />
Die lokale Reaktion ist die unmittelbare Verteidigung gegen Angriffe. Das Netzwerk kann sich durch diesen<br />
Mechanismus gegen e<strong>in</strong>e akute Bedrohung wehren und se<strong>in</strong>e Funktionsfähigkeit erhalten. Durch den<br />
Mechanismus der Maximalreichweite von Beschuldigungsnachrichten wird das Netzwerk nicht unnötig belastet.<br />
Die Signatur sowie die zeitliche Kopplung erschweren die Replay Attacke <strong>in</strong>sofern, dass sie ke<strong>in</strong>e<br />
nennenswerte Wirkung haben: Nur <strong>in</strong>nerhalb der kurzen Zeitspanne zwischen den Heartbeats können die<br />
Nachrichten mehrfach gesendet werden. Dadurch wird die maximale Reichweite der Nachricht erhöht.<br />
6.6 MobIDS auf den Punkt gebracht<br />
Ausgeschlossene bösartige Knoten %<br />
100<br />
80<br />
60<br />
40<br />
20<br />
0<br />
0 2 4 6 8 10 12 14<br />
Anzahl bösartiger Knoten<br />
Bewegung der Knoten: 1 m/s<br />
Abbildung 6.32: Ausschluss von bösartigen Knoten<br />
bei 1m/s<br />
Ausgeschlossene bösartige Knoten %<br />
100<br />
80<br />
60<br />
40<br />
20<br />
0<br />
0 2 4 6 8 10 12 14<br />
Anzahl bösartiger Knoten<br />
Bewegung der Knoten: 20 m/s<br />
Abbildung 6.33: Ausschluss von bösartigen Knoten<br />
bei 20m/s<br />
Bösartige Knoten 0 1 2 3 4 5 6 7 10 15<br />
Ausschluss <strong>in</strong> Prozent bei 1m/s 100 100 100 100 100 90 42 30 0<br />
Ausschluss <strong>in</strong> Prozent bei 20m/s 100 100 100 100 60 60 60 50 7<br />
Abbildung 6.34: Ausschluss von bösartigen Knoten<br />
87
KAPITEL 6. MOBIDS, EIN INTRUSION DETECTION SYSTEM FÜR MOBILE AD HOC NETZWERKE<br />
Um die Wirksamkeit des Verfahrens abzuschätzen, wurde der <strong>in</strong> dem vorigen Abschnitt beschriebene Bewertungsund<br />
Abstimmungsalgorithmus auf die vorhandenen Ergebnisse angewendet. Die Offl<strong>in</strong>e-Analyse der generierten<br />
Daten und der Erkennungen der e<strong>in</strong>zelnen Knoten ergab die <strong>in</strong> 6.34 dargestellten Ausschlussraten.<br />
Es kamen <strong>in</strong> dieser Analyse ke<strong>in</strong>erlei fälschlicherweise ausgeschlossene Knoten vor.<br />
Die Ausschlussrate erfüllt mit stabilen 100% bei bis zu 5 bösartigen Knoten die Anforderungen an e<strong>in</strong> modernes<br />
IDS für mobile <strong>Ad</strong> hoc Netzwerke. Die Wirksamkeit durch Abschreckung und Reaktion von MobIDS<br />
ist damit bestätigt.<br />
Der Nachteil von MobIDS ist die Laufzeit, die es benötigt, bis e<strong>in</strong> Knoten vom Netzwerk ausgeschlossen<br />
werden kann. Bevor die erste Reaktion erfolgen kann, müssen viele negative Erkennungen stattgefunden<br />
haben; bis dorth<strong>in</strong> hat der bösartige Knoten viel Zeit, um e<strong>in</strong>en Angriff zu bewerkstelligen. Damit ist der<br />
Schutz von <strong>Netzwerken</strong> mit harten Echtzeitanforderungen e<strong>in</strong>geschränkt. In lose gekoppelten <strong>Netzwerken</strong>,<br />
die über e<strong>in</strong>en längeren Zeitraum <strong>in</strong>teragieren, können Sicherheit und Zuverlässigkeit damit gewährleistet<br />
werden.<br />
6.7 Die Implementierung von MobIDS<br />
In Abschnitt 6.2.1 wurde der Aufbau von MobIDS bereits umrissen, die Algorithmen wurden bereits bei<br />
den Erkennungs- und Verteilungskonzepten diskutiert. Nun soll die konkrete Implementierung anhand der<br />
Schnittstellen und Klassendef<strong>in</strong>itionen erklärt werden:<br />
6.7.1 IDSAgent<br />
Im Folgenden soll der IDSAgent genauer betrachtet werden. Die wichtigsten Primitiven, die e<strong>in</strong> Agent aus<br />
Sicht des ns2 Simulators implementieren muss, s<strong>in</strong>d:<br />
void send(<strong>in</strong>t realsize, AppData* data);<br />
void recv(Packet *, Handler *);<br />
Die Funktion send() ist verantwortlich für das Senden von Paketen, entsprechend entscheidet recv() bei<br />
e<strong>in</strong>kommenden Paketen über die weitere Verarbeitung. Bei dem IDSAgent nimmt recv() das Paket entgegen<br />
und leitet die enthaltenen Daten an IDSApp weiter.<br />
Im normalen ns2 werden die Verb<strong>in</strong>dungen von e<strong>in</strong>er Quelle zu e<strong>in</strong>em Ziel exklusiv durch Skripte aufgebaut.<br />
In unserem IDS muss das System aber <strong>in</strong> der Lage se<strong>in</strong> selbstständig Verb<strong>in</strong>dungen herzustellen; deshalb<br />
wird die Primitive sendto() e<strong>in</strong>geführt, die zu e<strong>in</strong>em bestimmten Ziel e<strong>in</strong>e Verb<strong>in</strong>dung herstellt.<br />
void sendto(<strong>in</strong>t dst, AppData* data);<br />
88
KAPITEL 6. MOBIDS, EIN INTRUSION DETECTION SYSTEM FÜR MOBILE AD HOC NETZWERKE<br />
6.7.2 IDSApp<br />
Die Applikation steuert die Funktion des IDS. Alle Kommandos werden an die Applikation gerichtet, welche<br />
diese dann im passenden Teil des Systems behandelt. IDSApp ist außerdem dafür verantwortlich die<br />
ankommenden Daten zu verarbeiten.<br />
<strong>in</strong>t command(<strong>in</strong>t argc, const char*const* argv);<br />
void processData(<strong>in</strong>t size, AppData* data);<br />
command() stellt dabei die Schnittstelle zwischen den Steuerungsskripten von ns2(geschrieben <strong>in</strong> TCL) und<br />
den <strong>in</strong> C++ implementierten Teilen dar. E<strong>in</strong> Kommando Code <strong>in</strong> argc führt zu e<strong>in</strong>em Aufruf e<strong>in</strong>er Funktion<br />
<strong>in</strong> C++ mit den übergebenen Parametern <strong>in</strong> argv. Die Funktion processData() wird durch IDSAgent<br />
aufgerufen, wenn Daten mittels recv() empfangen wurden.<br />
6.7.3 Audit<br />
Die Audit Komponente nimmt e<strong>in</strong>e zentrale Stellung <strong>in</strong> MobIDS e<strong>in</strong>. Alle Daten, die über längeren Zeitraum<br />
verfügbar se<strong>in</strong> müssen, werden <strong>in</strong> se<strong>in</strong>en Datenstrukturen gespeichert. Es folgt e<strong>in</strong> kurzer Auszug der<br />
Deklaration der Klasse mit se<strong>in</strong>en öffentlichen Datenstrukturen.<br />
class Audit {<br />
public:<br />
VectorFWD* FWDpackets();<br />
DequeProbes* probes();<br />
Egoistic* egoistic();<br />
MapPaths* paths();<br />
LTree* dsrtree();<br />
.<br />
.<br />
FWDPacket ist die Struktur, die für das Overhear<strong>in</strong>g genutzt wird. In ihr wird e<strong>in</strong> Paket gespeichert, das<br />
von diesem Knoten gesendet wird. An Hand der Informationen <strong>in</strong> FWDPacket kann dann überprüft werden,<br />
ob das Paket ordnungsgemäß weitergeleitet wurde.<br />
class FWDpacket {<br />
public:<br />
FWDpacket(Packet* packet,double time,bool rm,<strong>in</strong>t addr);<br />
};<br />
double sendTime;<br />
<strong>in</strong>t control<strong>Ad</strong>dr;//address of hop to forward packet<br />
Packet* pkt;<br />
89
KAPITEL 6. MOBIDS, EIN INTRUSION DETECTION SYSTEM FÜR MOBILE AD HOC NETZWERKE<br />
FWDPacket enthält das komplette zu hörende Paket sowie die Zeit, zu der es gesendet wurde. Außerdem<br />
wird die <strong>Ad</strong>resse des Knotens gespeichert, von dem erwartet wird, dass er das Paket weiterleitet. Wird<br />
<strong>in</strong>nerhalb e<strong>in</strong>er def<strong>in</strong>ierten Zeitspanne ke<strong>in</strong>e erwartete Weiterleitung des Paketes wahrgenommen, wird das<br />
entsprechende FWDPacket freigegeben und e<strong>in</strong>e negative Bewertung zugeteilt. Wurde dagegen die korrekte<br />
Weiterleitung angezeigt, resultiert e<strong>in</strong>e positive Bewertung.<br />
Diese Informationen werden unter anderem auch vom Prob<strong>in</strong>g benutzt, um festzustellen, ob e<strong>in</strong> Knoten,<br />
der auf e<strong>in</strong>en Route Request antwortet, kooperativ ist oder nicht. Die Details dieses Verfahrens werden <strong>in</strong><br />
Abschnitt 6.3.2.3 vorgestellt.<br />
Probe enthält nun alle Daten, die für das Prob<strong>in</strong>g im E<strong>in</strong>zelnen benötigt werden.<br />
class Probe {<br />
public:<br />
<strong>in</strong>t dst;//dest<strong>in</strong>ation of probe<br />
.<br />
.<br />
<strong>in</strong>t id;//id of probes sent to this host<br />
<strong>in</strong>t globalId;//id for all probes sent by local host<br />
float sendTime;//time the probe was sent<br />
float receiveTime;//time the probe was received<br />
<strong>in</strong>t attempt;//#attempts to send an ACK<br />
};<br />
bool search;//this probe was sent while perform<strong>in</strong>g a backwards search<br />
bool checkLastHop;//probe hop before first hop who answered<br />
Vector_Path* path;//path this probe is used for<br />
<strong>in</strong>l<strong>in</strong>e bool fresh();//true if probe hasn’t been sent yet<br />
E<strong>in</strong>e Probe wird bekanntlich im System kreiert und wartet danach auf e<strong>in</strong> Paket, mit dem es geschickt werden<br />
kann. Solange die Probe auf dieses Paket wartet, ist sie fresh(). Andere Felder enthalten den nötigen<br />
Status wie die Identifikationsnummer, die Sendezeit, die Empfangszeit, um den wievielten Versuch es sich<br />
handelt, etc.<br />
Um die Rückwärtssuche zu ermöglichen, enthält die Struktur zudem den Pfad, entlang dem diese Probe<br />
gesendet wurde. Der Ablauf des Prob<strong>in</strong>g wäre <strong>in</strong> etwa wie folgt:<br />
Zuerst wir e<strong>in</strong>e Probe mit Ziel und id <strong>in</strong>itialisiert. Alle anderen Felder nehmen e<strong>in</strong>en s<strong>in</strong>nvollen Standardwert<br />
an. Danach wird die Probe gesendet und entsprechend sendTime und Pfad gesetzt. Kommt die Probe<br />
zurück, wird <strong>in</strong> ihr die receiveTime vermerkt, e<strong>in</strong>e Bewertung wird vergeben und danach kann sie freigegeben<br />
werden.<br />
Kommt die Antwort nicht rechtzeitig an, wird die alte Probe entfernt und e<strong>in</strong>e neue Probe kreiert. Diese hat<br />
identische Felder, bis darauf, dass fresh und sendTime wieder zurückgesetzt wurden sowie attempt nun um<br />
e<strong>in</strong>s hochgezählt wurde. Übersteigt attempt e<strong>in</strong>e def<strong>in</strong>ierte Schranke, dann wird dem im Pfad vorhergehenden<br />
Knoten e<strong>in</strong> Probe gesendet, search=true gesetzt und attempt wieder auf null gesetzt.<br />
Der letzte Block wird so oft wiederholt, bis entweder e<strong>in</strong>e Antwort gekommen ist oder ke<strong>in</strong>e Knoten im Pfad<br />
mehr vorhanden s<strong>in</strong>d. In beiden Fällen kann die Probe dann freigegeben und entsprechende Bewertungen<br />
90
KAPITEL 6. MOBIDS, EIN INTRUSION DETECTION SYSTEM FÜR MOBILE AD HOC NETZWERKE<br />
können vergeben werden.<br />
Egoistic speichert die Informationen zur Erkennung von egoistischen Knoten. Zur Er<strong>in</strong>nerung, der Ablauf<br />
war wie folgt:<br />
Wir verschicken e<strong>in</strong>en Route Request und markieren alle Knoten <strong>in</strong> e<strong>in</strong>er Liste, von denen wir erwarten,<br />
dass sie den Route Request weiterleiten. Empfangen wir nun von e<strong>in</strong>em dieser Knoten die Weiterleitung<br />
des Route Request, löschen wir ihn aus der Liste. Mit addNeighbour() wird e<strong>in</strong> Knoten <strong>in</strong> die so genannte<br />
MultimapEgoisticEntries Liste aufgenommen. Dazu wird der Liste e<strong>in</strong> EgoisticEntry h<strong>in</strong>zugefügt, der Informationen<br />
über die Knotenidentität, die Zeit und den Weiterleitungsstatus enthält.<br />
Knoten, die den Route Request bereits vor uns geschickt haben, müssen ihn logischerweise nicht mehr weiterleiten.<br />
Deshalb müssen wir uns auch alle Route Requests merken, die wir noch nicht selbst geschickt<br />
haben. Dies geschieht ebenso mit der Funktion addNeighbour(), die den gehörten Route Request für den<br />
Nachbarn speichert, aber zusätzlich noch vermerkt, dass der Route Request bereits verschickt wurde.<br />
Nun müssen nur noch nach Überschreitung e<strong>in</strong>er bestimmten Zeit die EgoisticEntrys entfernt werden. Die<br />
Knoten der E<strong>in</strong>träge, die noch ke<strong>in</strong>en Route Request weitergeschickt haben, werden nun negativ bewertet.<br />
class Egoistic {<br />
public:<br />
void addNeighbour(<strong>in</strong>t id,<strong>in</strong>t seq,double time);<br />
void addNeighbour(<strong>in</strong>t id,<strong>in</strong>t seq,double time,bool fwd);<br />
};<br />
MultimapEgoisticEntries egoistic;<br />
class EgoisticEntry {<br />
public:<br />
EgoisticEntry(<strong>in</strong>t id,double time,bool fwd);<br />
bool fwd();<br />
<strong>in</strong>t id();<br />
double time();<br />
};<br />
Audit liefert über die drei besprochenen Strukturen h<strong>in</strong>aus noch Informationen über alle Knoten im Netz<br />
und die Verb<strong>in</strong>dungen zwischen den Knoten <strong>in</strong> Form e<strong>in</strong>es Graphen, der durch dsrtree() zurückgeliefert<br />
wird. Zusätzlich werden separat noch e<strong>in</strong>mal alle Pfade von der paths() Funktion zurückgeliefert, die durch<br />
diesen Knoten verlaufen s<strong>in</strong>d.<br />
6.7.4 Analysis<br />
Dies ist nun die Kernkomponente von MobIDS. Hier werden die Erkennungssysteme im E<strong>in</strong>zelnen implementiert,<br />
deshalb wird diese Klasse nun ausführlicher behandelt.<br />
class IDSAnalysis {<br />
91
KAPITEL 6. MOBIDS, EIN INTRUSION DETECTION SYSTEM FÜR MOBILE AD HOC NETZWERKE<br />
public:<br />
//prob<strong>in</strong>g related functions<br />
IDSProbe* newProbe(Hop* dst,Vector_Path* path);<br />
<strong>in</strong>t probe(Hop* dst,Path &path,double time);<br />
void probeReplyReceived(<strong>in</strong>t dst,<strong>in</strong>t id,<strong>in</strong>t fwd,double time);<br />
void backwardsSearch(<strong>in</strong>t dst,IDSProbe* probe,bool reply);<br />
//overhear<strong>in</strong>g techniques<br />
void checkFwdPkt(Packet* packet,float time);<br />
void overheardPkt(Packet* packet);<br />
void noticeDeadL<strong>in</strong>k(<strong>in</strong>t from, <strong>in</strong>t to);<br />
//egoistic node detection<br />
void checkNeighbours(<strong>in</strong>t seq,<strong>in</strong>t dst,double time);<br />
void fwdRouteReply(<strong>in</strong>t dst,<strong>in</strong>t seq,double time);<br />
.<br />
.<br />
protected:<br />
ProbeTimer* probeTimer_;<br />
FwdTimer* fwdTimer_;<br />
ExpireTimer* expireTimer_;<br />
};<br />
void addBehaviour_(<strong>in</strong>t addr,<strong>in</strong>t rat<strong>in</strong>g,float behaviour,float time);<br />
.<br />
.<br />
Analysis enthält die <strong>in</strong> diesem Kapitel bereits vorgestellten lokalen Erkennungssysteme: es handelt sich namentlich<br />
um Prob<strong>in</strong>g, Overhear<strong>in</strong>g und Egoismus-Erkennung.<br />
Prob<strong>in</strong>g ist mittels dreier Funktionen umgesetzt: newProbe() erzeugt e<strong>in</strong>e neue Probe, die aber noch auf<br />
e<strong>in</strong> Paket wartet, das mit entsprechendem Pfad durch das Ziel geht, um sich dort anzuhängen. Die Funktion<br />
<strong>in</strong>t probe() stellt die Schnittstelle zum DSRAgent dar, um anzuzeigen, ob das nächste Paket e<strong>in</strong>e Probe<br />
aufnehmen soll oder nicht. Wenn e<strong>in</strong>e Antwort auf e<strong>in</strong>e Probe am DSRAgent ankommt, wird dieser die<br />
Funktion probeReplyReceived() aufrufen, um die Antwort anzuzeigen. Zusätzlich gibt es noch den probeTimer<br />
der Probes, deren Lebenszeit abgelaufen ist, entfernt und danach backwardsSearch() aufruft. Die<br />
Methode backwardsSearch() koord<strong>in</strong>iert die Rückwärtssuche und entscheidet für jede verfallene Probe, ob<br />
noch weitere Probes geschickt werden sollen oder ob e<strong>in</strong>e Bewertung erteilt wird. Wenn e<strong>in</strong>e Antwort auf<br />
e<strong>in</strong>e Probe kommt, wird ebenso backwardsSearch() aufgerufen um festzustellen, ob der Knoten vor dem<br />
antwortenden Knoten auch noch überprüft werden soll.<br />
Overhear<strong>in</strong>g benutzt checkFwdPkt(), um e<strong>in</strong> Paket <strong>in</strong> e<strong>in</strong>e Liste aufzunehmen und zu überprüfen, ob es<br />
von dem nächsten Knoten ordnungsgemäß verarbeitet wird. Der DSRAgent teilt Analysis mit dem Aufruf<br />
92
KAPITEL 6. MOBIDS, EIN INTRUSION DETECTION SYSTEM FÜR MOBILE AD HOC NETZWERKE<br />
von overheardPkt() mit, dass er e<strong>in</strong> Paket mit Hilfe von Overhear<strong>in</strong>g empfangen hat. Analysis kann dann<br />
prüfen, ob es auf dieses Paket wartet, es aus der Liste entfernen und e<strong>in</strong>e positive Bewertung vergeben. Wird<br />
e<strong>in</strong>e Verb<strong>in</strong>dung getrennt und DSR sendet e<strong>in</strong>en RouteError, wird noticeDeadL<strong>in</strong>k() aufgerufen, um noch<br />
auf das Overhear<strong>in</strong>g wartende Probes für diese Verb<strong>in</strong>dung zu löschen. Der fwdTimer hat nun die Aufgabe,<br />
nach Ablauf der Lebenszeit der noch nicht gehörten Pakete diese aus der Liste zu entfernen und negative<br />
Bewertungen für den Fall ’Paket nicht weitergeleitet’ zu geben.<br />
Schließlich gibt es auch noch den Programmteil, um Knoten zu erkennen, die egoistisch s<strong>in</strong>d und ke<strong>in</strong>e<br />
fremden Route Requests bearbeiten, um zu vermeiden später Pakete weiterleiten zu müssen. Mit check-<br />
Neighbours() wird für e<strong>in</strong>en Route Request für e<strong>in</strong>en Nachbarn vermerkt, dass dieser den Route Request<br />
weiterleiten muss. Die Funktion fwdRouteReply() dagegen zeigt an, dass e<strong>in</strong> Knoten e<strong>in</strong>en RouteReply weitergeleitet<br />
hat, und resultiert <strong>in</strong> e<strong>in</strong>er positiven Bewertung. Auch für die Egoismus Erkennung gibt es wieder<br />
e<strong>in</strong>en Mechanismus, der nach e<strong>in</strong>er gewissen Zeit alle Nachbarn <strong>in</strong> der Liste schlecht bewertet, die den<br />
Route Request nicht weitergeleitet haben.<br />
6.7.5 Rat<strong>in</strong>g<br />
Die Rat<strong>in</strong>g Komponente verwaltet nun die lokalen Bewertungen und kann die jeweiligen Bewertungen e<strong>in</strong>es<br />
Verhaltens zu e<strong>in</strong>er lokalen oder zu e<strong>in</strong>er Gesamtbewertung verdichten. Alte Bewertungen, die zeitlich nicht<br />
mehr relevant s<strong>in</strong>d, werden mit expire(time) entfernt. Intern werden die Bewertungen getrennt nach positiven<br />
Bewertungen, negativen Bewertungen und nach dem Maß der Aktivität getrennt <strong>in</strong> e<strong>in</strong>em Rat<strong>in</strong>g Objekt<br />
gespeichert.<br />
class Behaviour {<br />
public:<br />
//total assessment consider<strong>in</strong>g alls local and received rat<strong>in</strong>gs<br />
float assess();<br />
float assessLocal();<br />
float assessReceived();<br />
};<br />
void expire(float time);<br />
Rat<strong>in</strong>g* positive();<br />
Rat<strong>in</strong>g* negative();<br />
Rat<strong>in</strong>g* activity();<br />
Das Rat<strong>in</strong>g Objekt verwaltet nun die e<strong>in</strong>zelnen Bewertungen und bietet die benötigten Funktionen an, um e<strong>in</strong><br />
Verhalten h<strong>in</strong>zuzufügen (addBehaviour), um e<strong>in</strong> Verhalten wieder zurückzubekommen (getBehaviour) oder<br />
um alte Verhalten zu entfernen (expire(time))). Die Funktion assess(time) liefert die Gesamtbewertung über<br />
alle durch dieses Objekt gespeicherten Bewertungen mit Zeit als Parameter, denn die e<strong>in</strong>zelnen Bewertungen<br />
gehen abhängig von der Zeit <strong>in</strong> die Gesamtbewertung e<strong>in</strong>.<br />
class Rat<strong>in</strong>g {<br />
93
KAPITEL 6. MOBIDS, EIN INTRUSION DETECTION SYSTEM FÜR MOBILE AD HOC NETZWERKE<br />
public:<br />
Rat<strong>in</strong>g(<strong>in</strong>t max_size,float lambda,float lifetime);<br />
};<br />
void expire(float time);<br />
void addBehaviour(NodeBehaviour* behaviour);<br />
NodeBehaviour& addBehaviour(float behaviour,float time,<strong>in</strong>t id);<br />
NodeBehaviour* getBehaviour(<strong>in</strong>t id);<br />
float assess(float time);//returns assessment of total behaviour<br />
6.7.6 Die Anpassungen des DSRAgent für MobIDS<br />
Der ns2 musste zur Integration von MobIDS an e<strong>in</strong>igen Stellen modifiziert werden. Der DSRAgent benötigt<br />
deshalb e<strong>in</strong>e API mit m<strong>in</strong>destens neun Funktionsaufrufen, um MobIDS e<strong>in</strong>zub<strong>in</strong>den.<br />
Die recv() Funktion stellt e<strong>in</strong>e gute Möglichkeit dar, Zugriff auf alle Pakete zu bekommen, unabhängig<br />
davon, wie der DSRAgent später damit verfährt. E<strong>in</strong>e wichtige Funktion für MobIDS wird durch die Signalisierung<br />
von Probe Replys wahrgenommen.<br />
void recv(Packet* packet, Handler*);<br />
Die verschiedenen Angriffsszenarien wurden überwiegend <strong>in</strong> dieser Funktion implementiert; so wurde die<br />
Möglichkeit geschaffen alle fremden Pakete zu verwerfen, nur bestimmte Pakete oder alle Route Requests,<br />
bis e<strong>in</strong>e Probe erhalten wird, um danach für e<strong>in</strong>e bestimmte Zeit zu kooperieren.<br />
In der Funktion handlePktWithoutSR() werden wartende Probes <strong>in</strong> die Pakete <strong>in</strong>tegriert. Dazu wird <strong>in</strong> Analysis<br />
probe(dst,path,time) aufgerufen um zu testen, ob für diesen Pfad und dieses Ziel e<strong>in</strong>e Probe wartet.<br />
Wenn dies so ist, werden die entsprechenden Flags <strong>in</strong> dem Paket gesetzt.<br />
void handlePktWithoutSR(SRPacket& p, bool retry);<br />
In handlePacketReceipt() und <strong>in</strong> handleForward<strong>in</strong>g() werden die Pakete daraufh<strong>in</strong> überprüft, ob sie e<strong>in</strong>e<br />
Probe für diesen Knoten enthalten. Wenn ja, dann wird die Funktion probeReply() auf dem IDSAgent aufgerufen,<br />
welcher dann die ProbeReply erstellt.<br />
void handlePacketReceipt(SRPacket& p)<br />
void handleForward<strong>in</strong>g(SRPacket &p)<br />
In der Funktion handleRoute Request() geschehen nun zwei D<strong>in</strong>ge zur gleichen Zeit: E<strong>in</strong>erseits werden<br />
mit e<strong>in</strong>em Aufruf von checkNeighbours(rtreqSeq,dest) <strong>in</strong> Analysis alle Nachbarn zu diesem Zeitpunkt <strong>in</strong><br />
die MultimapEgoisticEntries Liste übernommen, andererseits wird mit e<strong>in</strong>em Aufruf von fwdRouteReply(lastSender<strong>Ad</strong>dr,rtreqSeq)<br />
der letzte Knoten auf dem Pfad <strong>in</strong> die MultimapEgoisticEntries Liste übernommen<br />
um anzuzeigen, dass dieser Knoten für diesen Route Request kooperiert hat.<br />
94
KAPITEL 6. MOBIDS, EIN INTRUSION DETECTION SYSTEM FÜR MOBILE AD HOC NETZWERKE<br />
void handleRoute Request(SRPacket &p)<br />
Die folgende Funktion wird für das Overhear<strong>in</strong>g benötigt. Alle Datenpakete, die der DSRAgent verschickt,<br />
werden <strong>in</strong> dieser Funktion verarbeitet. Deshalb wird durch e<strong>in</strong>en Aufruf von checkFwdPkt() <strong>in</strong> Analysis das<br />
Paket <strong>in</strong> die Overhear<strong>in</strong>g Liste e<strong>in</strong>gereiht.<br />
void sendOutPacketWithRoute(SRPacket& p, bool fresh, Time delay)<br />
In der Methode acceptRouteReply() wird die <strong>in</strong>itiale Probe vorbereitet. Sobald e<strong>in</strong>e von diesem Knoten<br />
gesuchte Route zu Stande kommt, wird er für die Anfangsphase e<strong>in</strong>e Probe kreieren um sicher zu stellen,<br />
dass die Verb<strong>in</strong>dung funktionell ist.<br />
void acceptRouteReply(SRPacket &p)<br />
In processBrokenRouteError() werden schließlich RouteError Nachrichten entgegengenommen und noch<br />
aktive E<strong>in</strong>träge <strong>in</strong> der Overhear<strong>in</strong>g Liste entfernt.<br />
processBrokenRouteError(SRPacket& p)<br />
tap() ist e<strong>in</strong>e Rout<strong>in</strong>e, die, nachdem e<strong>in</strong> Paket mit dem Promiscuous Mode empfangen wurde, dieses zur Verarbeitung<br />
erhält. In dieser Methode wird dann dementsprechend der Aufruf overheardPkt(pkt) nach Analysis<br />
getätigt, um das Paket auch dem IDS anzuzeigen.<br />
tap(const Packet *packet)<br />
95
KAPITEL 6. MOBIDS, EIN INTRUSION DETECTION SYSTEM FÜR MOBILE AD HOC NETZWERKE<br />
96
Kapitel 7<br />
Fazit von MobIDS<br />
Ziel dieser Diplomarbeit war es e<strong>in</strong> System aufzustellen, mit dem Angreifer im drahtlosen <strong>Ad</strong> hoc Netzwerk<br />
erkannt werden können. Mit MobIDS wurde e<strong>in</strong> System geschaffen, das diesen Anforderungen gerecht<br />
wird.<br />
Es wurden drei Methoden der lokalen Erkennung entwickelt, die <strong>in</strong> Leistung und Zuverlässigkeit e<strong>in</strong>en<br />
deutlichen Fortschritt gegenüber der aktuellen Forschung darstellen. Das aktivitätsbasierte Overhear<strong>in</strong>g liefert<br />
e<strong>in</strong>e bessere Erkennungsleistung als herkömmliches Overhear<strong>in</strong>g, da es die Güte des Empfangs des<br />
überprüften Knotens mit e<strong>in</strong>bezieht. Das e<strong>in</strong>deutige Prob<strong>in</strong>g kann zuverlässig bösartige Knoten im Pfad<br />
erkennen, muss dafür aber e<strong>in</strong>e ger<strong>in</strong>gere Erkennungsleistung <strong>in</strong> Kauf nehmen. E<strong>in</strong>deutiges Prob<strong>in</strong>g kann<br />
damit nicht nur konstant fehlerhafte Knoten erkennen, sondern auch bösartiges Verhalten. Egoistisches Verhalten<br />
kann mit der Überprüfung der Route Requests bestimmt werden. Diese drei Verfahren zusammen<br />
können alle erkannten Fälle von Angriffen auf das DSR Protokoll zuverlässig entdecken und s<strong>in</strong>d die Voraussetzung<br />
für e<strong>in</strong>e wirkungsvolle Reaktion<br />
Das automatische Reaktionssystem kann erkannte Schädl<strong>in</strong>ge aus dem aktuellen Netzwerk entfernen; stellen<br />
mehrere IDS das bösartige Verhalten e<strong>in</strong>es Knotens fest, wird dieser vom Netzwerk isoliert und kann <strong>in</strong><br />
diesem Netz nicht mehr kommunizieren.<br />
Zusätzlich wird e<strong>in</strong>e globale Instanz über das bösartige Verhalten verständigt. Wenn viele Meldungen von<br />
dem bösartigen Verhalten registriert werden, kann dieser auch für immer ausgeschlossen werden, <strong>in</strong>dem<br />
se<strong>in</strong>e Identität nicht mehr erneuert wird. Der Knoten kann nämlich nur mit e<strong>in</strong>er regelmäßig erneuerten<br />
Identität am Netzwerk teilnehmen.<br />
MobIDS kann damit mobile <strong>Ad</strong> hoc Netzwerke wirkungsvoll schützen und erfüllt damit die gestellten Aufgaben.<br />
7.1 Ausblick auf Entwicklungsmöglichkeiten<br />
Mit MobIDS wurde e<strong>in</strong> System entwickelt, das über die bestehende Forschung h<strong>in</strong>aus geht und e<strong>in</strong>e Basis<br />
für weitere Entwicklung bietet. Die Kommunikation der Bewertungen ist e<strong>in</strong>sichtig und wurde konzeptionell<br />
97
KAPITEL 7. FAZIT VON MOBIDS<br />
durchdrungen, muss allerd<strong>in</strong>gs noch implementiert werden. Dabei s<strong>in</strong>d dann die tatsächlichen Ausschlussraten<br />
über die Zeit durch Simulation zu bestimmen sowie der ducrh MobIDS erzeugte Kommunikationsoverhead.<br />
Die lokale Erkennung ist durch Implementation und Simulation verifiziert, e<strong>in</strong>e Aufgabe wäre es weitergehende<br />
Simulationen durchzuführen, die von härteren Bed<strong>in</strong>gungen ausgehen. Bisher wird <strong>in</strong> der Forschung<br />
nur mit e<strong>in</strong>em flachen Gelände ohne H<strong>in</strong>dernisse simuliert, die Erfahrung zeigt aber die große Relevanz der<br />
Umgebung für den Empfang. Es ist eher unwahrsche<strong>in</strong>lich, dass das simulierte Bewegungsmuster auf die<br />
Teilnehmer des Netzwerkes zutrifft, auch hier gilt es, passende Simulationen zu unternehmen.<br />
Die lokale Erkennung von Egoismus basiert momentan auf der perfekten Erkennung der Nachbarschaftsbeziehungen.<br />
Es gilt hier die bestehende Algorithmen der Literatur umzusetzen, um die Nachbarn sicher zu<br />
identifizieren.<br />
MobIDS wurde als Prototyp für den ns2 Simulator umgesetzt, der letzte Schritt wäre es die bestehende<br />
Implementierung für den Endbenutzer tauglich zu machen, um Teilnehmer an <strong>Ad</strong> hoc <strong>Netzwerken</strong> vor Angreifern<br />
zu schützen.<br />
98
Anhang A<br />
Simulationsarchitektur<br />
Es war absehbar, dass viele Szenarien mit dem Simulator durchgerechnet werden müssen. Da der Simulator<br />
ke<strong>in</strong>e Möglichkeiten der Analyse und der Generation von vielen Szenarien bietet, war die erste Aufgabe die<br />
Erstellung e<strong>in</strong>er Simulations- Steuerungs- und Auswertungs-Architektur. Diese Architektur setzt sich aus<br />
zwei Teilen zusammen: aus der Generation der Szenarien und der Auswertung der Ergebnisse.<br />
Es gibt e<strong>in</strong>e Reihe von Skripten, die die Simulation steuern, das ctrl Skript steuert die Simulation und ruft<br />
untergeordnete Skripte auf.<br />
#!/b<strong>in</strong>/csh<br />
set dir = $1<br />
echo Creat<strong>in</strong>g Scenario File<br />
make-scen.csh $dir<br />
echo Creat<strong>in</strong>g TCL files<br />
foreach no_a (0 1 2 4 5 6 7 10 15 25)<br />
autogen.pl $dir 1 $no_a 1 1.0 tmplt.tcl<br />
echo Start<strong>in</strong>g Simulation<br />
start.pl $dir "ˆid.*tcl" ns_detour > result_detour_$no_a<br />
echo Analys<strong>in</strong>g Files<br />
stats.pl $dir "id\d_.*\.tr" > result_stat_$no_a<br />
end<br />
Zuerst erfolgt der Aufruf des make-scen.csh Skriptes. Dieses generiert die Bewegungsmuster der simulierten<br />
Knoten sowie die Kommunikationsverb<strong>in</strong>dungen; es werden zehn Szenarien als separate Dateien angelegt.<br />
99
ANHANG A. SIMULATIONSARCHITEKTUR<br />
In make-scen.csh s<strong>in</strong>d auch Parameter wie die Anzahl der Knoten, die Geschw<strong>in</strong>digkeit oder die E<strong>in</strong>stellungen<br />
des Kommunikationsverhaltens zu f<strong>in</strong>den.<br />
Danach kommt ctrl <strong>in</strong> e<strong>in</strong>e Schleife, <strong>in</strong> der mit der autogen.pl Rout<strong>in</strong>e für jedes Szenario e<strong>in</strong>e Steuerungsdatei<br />
<strong>in</strong> TCL generiert wird. Das autogen.pl Skript hat mehrere Parameter, wie z.B. das Verzeichnis der mit<br />
make-scen.csh erzeugten Szenariodateien oder die template Datei. Diese Datei ist e<strong>in</strong> TCL Skript, <strong>in</strong> dem<br />
bestimmte Schlüsselwörter für autogen.pl stehen. Indem die Schlüsselwörter dynamisch durch autogen.pl<br />
ersetzt werden, kann das template an das jeweilige Szenario angepasst werden. Die autogen.pl Rout<strong>in</strong>e hat<br />
noch andere Optionen: sie erzeugt abhängig von attack type die verschiedenen Angriff <strong>in</strong> TCL und baut<br />
diese <strong>in</strong> die Steuerungsdatei e<strong>in</strong>.<br />
Skripte und Parameter:<br />
autogen.pl <br />
[template file]<br />
stats.pl <br />
Danach werden mit dem Skript start.pl alle Szenarien mit der übergebenen Simulatordatei sequentiell gestartet.<br />
Ns2 erzeugt e<strong>in</strong>e sogenannte Trace Datei, <strong>in</strong> die der Simulator se<strong>in</strong>e Ergebnisse schreibt. Ist der<br />
Simulator außerdem noch e<strong>in</strong>e Version von MobIDS, werden von jedem Knoten alle Bewertungn von se<strong>in</strong>en<br />
Nachbarn ausgegeben und diese <strong>in</strong> e<strong>in</strong>e Ergebnisdatei umgeleitet.<br />
Diese Ergebnisse des ns2 können sofort durch e<strong>in</strong>en Aufruf von stats.pl ausgewertet werden. Dieses Skript<br />
kann die Ausgabe des ns2 Simulators analysieren und stellt e<strong>in</strong>e <strong>in</strong>terne Repräsentation aller gesendeten<br />
Pakete <strong>in</strong> e<strong>in</strong>er Objektstruktur auf. Durch Analyse dieser Struktur können statistische Aussagen über die<br />
Auslieferungsrate von Paketen, die verworfenen Pakete und die verlorenen Pakete gemachet werden. Der<br />
Durchsatz, die Latenz und die durchschnittliche Pfadlänge s<strong>in</strong>d zusätzliche Ergebnisgrößen von stats.pl.<br />
Die umgebende Schleife läuft von 0 bis 25 und simuliert <strong>in</strong> jedem Durchlauf die entsprechende Anzahl von<br />
Angreifern.<br />
Nachdem die Simulationen abgeschlossen s<strong>in</strong>d, können die Ergebnisdateien von MobIDS analysiert werden.<br />
Die enthaltenen Bewertungen können durch e<strong>in</strong>en Aufruf von threshold.pl für jede Ergebnisdatei ausgewertet<br />
werden.<br />
threshold.pl <br />
<br />
threshold.pl analysiert die <strong>in</strong> file übergebene Datei und zählt e<strong>in</strong>e Bewertung, die unterhalb des malicious<br />
threshold liegt, als bösartig. Durch diese nachträgliche E<strong>in</strong>teilung können die thresholds genauer und zeitsparender<br />
angepasst werden. Abhängig von malicious nodes simulated werden die Erkennungen dann nach<br />
richtigen Erkennungen und Fehlerkennungen sortiert. Mit diesen Ergebnissen wurden dann die Diagramme<br />
erzeugt.<br />
100
Anhang B<br />
Glossar<br />
Bottleneck bezeichnet e<strong>in</strong>en meist temporären Engpass <strong>in</strong> der Datenverarbeitung. Charakteristisch<br />
für die Situation ist, dass zu wenig Kapazität e<strong>in</strong>er nachgefragten Ressource vorhanden ist.<br />
Broadcast ist e<strong>in</strong> Sendemodus im drahtlosen Netzwerk, <strong>in</strong>dem e<strong>in</strong> Paket an alle Knoten adressiert ist.<br />
Oft werden diese Broadcastpakete bis zum Ablauf der Lebenszeit als Broadcast weitergeleitet.<br />
Callback ist e<strong>in</strong>e Programmiertechnik, bei der e<strong>in</strong>e Komponente an der anderen e<strong>in</strong>e Prozedur registriert.<br />
Die andere Komponente kann dann mit Hilfe der registrierten Prozedur e<strong>in</strong>en Aufruf <strong>in</strong> die<br />
ursprüngliche Komponente machen und über diesen Weg Daten und Kommandos austauschen.<br />
Denial of Service beschreibt e<strong>in</strong>en Angriff, der dazu dient Netzwerkdienste für die Außenwelt unzugänglich<br />
zu machen. Das kann durch schlichte Überlastung des Opfers geschehen oder durch E<strong>in</strong>griffe<br />
<strong>in</strong> das Rout<strong>in</strong>g, um das Opfer unerreichbar zu machen. Berechtigte Anfragen erreichen das<br />
Opfer dann nicht mehr.<br />
Forward<strong>in</strong>g bezeichnet das Weiterleiten von Paketen. E<strong>in</strong> Knoten empfängt e<strong>in</strong> Paket, wertet dieses<br />
aus und sendet es dementsprechend weiter.<br />
Heartbeat ist e<strong>in</strong> Mechanismus im Netzwerk, der wie e<strong>in</strong> ’Herzschlag’ funktioniert: periodisch wird<br />
e<strong>in</strong>e Nachricht ausgesendet.<br />
ID ist die Identifikationsnummer, die e<strong>in</strong>e e<strong>in</strong>deutige Zuordnung zu e<strong>in</strong>em Objekt erlaubt.<br />
Knoten ist e<strong>in</strong> anderer Ausdruck für e<strong>in</strong>en Punkt <strong>in</strong> e<strong>in</strong>em Netz <strong>in</strong> dem mehrere Verb<strong>in</strong>dungen zusammenlaufen.<br />
Im <strong>Ad</strong> hoc Netzwerk wird damit das mobile Gerät bezeichnet. Im Englischen werden<br />
diese auch asl Hop bezeichnet.<br />
Latenz ist e<strong>in</strong> Maß, das die Zugriffszeit auf e<strong>in</strong> Medium angibt. Es wird üblicherweise als die Zeit<br />
von dem Absenden der Anforderung bis zum E<strong>in</strong>treffen der ersten Information gemessen.<br />
Malicious Node kommt aus dem Englischen und bezeichnet e<strong>in</strong>en bösartigen Knoten.<br />
101
ANHANG B. GLOSSAR<br />
Overhead bezeichnet die Daten, die zusätzlich zu den Nutzdaten verarbeitet werden. Im Netzwerk<br />
s<strong>in</strong>d das üblicherweise Rout<strong>in</strong>g Daten, um den Fluss der Pakete zu regeln.<br />
Paket ist e<strong>in</strong> Block von Daten, die für die weitere Verarbeitung beim Empfänger bestimmt s<strong>in</strong>d, sowie<br />
von Kontroll- und Steuer<strong>in</strong>formationen. Netzwerke unterteilen typischerweise zu sendende Daten <strong>in</strong><br />
Pakete und schicken diese e<strong>in</strong>zeln zum Empfänger.<br />
P<strong>in</strong>g ist e<strong>in</strong>e Nachricht, auf die der Empfänger unverzüglich e<strong>in</strong>e Antwort schickt. E<strong>in</strong> P<strong>in</strong>g braucht<br />
dazu ke<strong>in</strong>e Daten zu enthalten.<br />
Host ist e<strong>in</strong> Hauptrechner oder auch e<strong>in</strong> Wirt e<strong>in</strong>er Applikation. Dieser beherbergt die Applikationen,<br />
die <strong>in</strong> Zusammenhang mit Host genannt werden.<br />
Queue ist e<strong>in</strong>e ’Warteschlange’ für Daten <strong>in</strong> e<strong>in</strong>em Informationssystem. Daten, die zuerst ankommen,<br />
stehen an erster Stelle für e<strong>in</strong>e spätere Weiterverarbeitung und verlassen die Queue auch zuerst.<br />
Queues s<strong>in</strong>d für vielen Programmiersprachen verfügbar, unter anderem als Teil der STL von C++.<br />
Route ist e<strong>in</strong>e Beschreibung e<strong>in</strong>es Pfades von e<strong>in</strong>em Punkt im Netzwerk zu e<strong>in</strong>em anderen. Dazu<br />
enthält die Route alle Knoten, die zwischen diesen beiden Punkten liegen.<br />
Rout<strong>in</strong>g ist der Vorgang Routen aufzubauen, sie zu verwalten und Pakete entlang von Routen zu<br />
verschicken.<br />
STL ist e<strong>in</strong> Akronym für die Standard Template Library von C++. Dies ist e<strong>in</strong>e Bibliothek von<br />
Klassen-Templates, unter anderem von Listen und Queues.<br />
Throughput gibt den Durchsatz von Daten je Zeite<strong>in</strong>heit an.<br />
Timer ist e<strong>in</strong>e Rout<strong>in</strong>e, die periodisch aufgerufen wird und damit regelmäßige Aufgaben wahrnehmen<br />
kann.<br />
Topologie ist die Bezeichnung für den räumlich organisatorischen Aufbau von komplexen Systemen.<br />
102
Abbildungsverzeichnis<br />
2.1 DSR Route Request . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7<br />
2.2 DSR Route Reply . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7<br />
3.1 Schichtenmodell e<strong>in</strong>es Sicherheitssystems für <strong>Ad</strong> hoc Netzwerke . . . . . . . . . . . . . . . 10<br />
3.2 Komponenten e<strong>in</strong>es IDS nach CIDF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14<br />
3.3 Watchdog mit Overhear<strong>in</strong>g e<strong>in</strong>er Nachricht . . . . . . . . . . . . . . . . . . . . . . . . . . 25<br />
3.4 Trust Architektur des Grudger Protokolls . . . . . . . . . . . . . . . . . . . . . . . . . . . 26<br />
3.5 Komponenten e<strong>in</strong>es IDS nach Wenke Lee . . . . . . . . . . . . . . . . . . . . . . . . . . . 30<br />
3.6 Tabellarischer Vergleich der aktuellen Forschung <strong>in</strong> der <strong>Intrusion</strong> <strong>Detection</strong> . . . . . . . . . 37<br />
5.1 Normalisierter Rout<strong>in</strong>g Overhead als Funktion der Zeit . . . . . . . . . . . . . . . . . . . . 49<br />
5.2 Zustellungsrate als Funktion der Zeit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49<br />
5.3 Zustellungsrate und Rout<strong>in</strong>g Overhead bei 1m/s . . . . . . . . . . . . . . . . . . . . . . . . 49<br />
5.4 Normalisierter Rout<strong>in</strong>g Overhead als Funktion der Zeit . . . . . . . . . . . . . . . . . . . . 50<br />
5.5 Zustellungsrate als Funktion der Zeit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50<br />
5.6 Zustellungsrate und Rout<strong>in</strong>g Overhead bei 20m/s . . . . . . . . . . . . . . . . . . . . . . . 50<br />
5.7 Auswirkung von Egoismus auf die Zustellungsrate bei 1m/s . . . . . . . . . . . . . . . . . 51<br />
5.8 Auswirkung von Egoismus auf die Zustellungsrate bei 20m/s . . . . . . . . . . . . . . . . . 52<br />
5.9 Auswirkung von Böswilligkeit auf die Zustellungsrate bei 1m/s . . . . . . . . . . . . . . . . 54<br />
5.10 Auswirkung von Böswilligkeit auf die Zustellungsrate bei 20m/s . . . . . . . . . . . . . . . 54<br />
6.1 Aufbau des IDS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58<br />
6.2 Erkennungsrate von bösartigen Knoten mit Overhear<strong>in</strong>g bei 1m/s . . . . . . . . . . . . . . 62<br />
6.3 Erkennungsrate von bösartigen Knoten mit Overhear<strong>in</strong>g bei 20m/s . . . . . . . . . . . . . . 62<br />
6.4 Erkennungsraten von bösartigen Knoten mit Overhear<strong>in</strong>g . . . . . . . . . . . . . . . . . . . 62<br />
6.5 Aktivitätsbasiertes Overhear<strong>in</strong>g bei 1m/s . . . . . . . . . . . . . . . . . . . . . . . . . . . 63<br />
103
ABBILDUNGSVERZEICHNIS<br />
6.6 Aktivitätsbasiertes Overhear<strong>in</strong>g komb<strong>in</strong>iert mit normalem Overhear<strong>in</strong>g bei 1m/s . . . . . . . 63<br />
6.7 Overhear<strong>in</strong>g und aktivitätsbasiertes System . . . . . . . . . . . . . . . . . . . . . . . . . . 63<br />
6.8 Aktivitätsbasiertes Overhear<strong>in</strong>g bei 20m/s . . . . . . . . . . . . . . . . . . . . . . . . . . . 64<br />
6.9 Aktivitätsbasiertes Overhear<strong>in</strong>g komb<strong>in</strong>iert mit normalem Overhear<strong>in</strong>g bei 20m/s . . . . . . 64<br />
6.10 Overhear<strong>in</strong>g und aktivitätsbasiertes System . . . . . . . . . . . . . . . . . . . . . . . . . . 64<br />
6.11 Zwiebelschalenmodell für Verschlüsselung . . . . . . . . . . . . . . . . . . . . . . . . . . 66<br />
6.12 Prob<strong>in</strong>g mit b<strong>in</strong>ärer Suche . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67<br />
6.13 Iteratives Prob<strong>in</strong>g . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68<br />
6.14 B antwortet: potentiell bösartig s<strong>in</strong>d {B,C} . . . . . . . . . . . . . . . . . . . . . . . . . . . 69<br />
6.15 B antwortet nicht: potentiell bösartig s<strong>in</strong>d {A,B} . . . . . . . . . . . . . . . . . . . . . . . . 69<br />
6.16 B antwortet nicht: Ziel erkennt Weiterleitung der Probe durch A . . . . . . . . . . . . . . . 70<br />
6.17 B antwortet: A erkennt ke<strong>in</strong>e Weiterleitung der Probe durch B . . . . . . . . . . . . . . . . 70<br />
6.18 Erkennungsrate von bösartigen Knoten mit Prob<strong>in</strong>g bei 1m/s . . . . . . . . . . . . . . . . . 73<br />
6.19 Erkennungsrate von bösartigen Knoten mit Prob<strong>in</strong>g bei 20m/s . . . . . . . . . . . . . . . . 73<br />
6.20 Erkennungsraten von bösartigen Knoten mit Prob<strong>in</strong>g . . . . . . . . . . . . . . . . . . . . . 73<br />
6.21 Erkennungsrate von bösartigen Knoten mit Prob<strong>in</strong>g bei 1m/s . . . . . . . . . . . . . . . . . 74<br />
6.22 Erkennungsrate von bösartigen Knoten mit Prob<strong>in</strong>g bei 20m/s . . . . . . . . . . . . . . . . 74<br />
6.23 Erkennungsraten von bösartigen Knoten mit Prob<strong>in</strong>g . . . . . . . . . . . . . . . . . . . . . 74<br />
6.24 Ablauf nach Erhalt e<strong>in</strong>es Route Requests . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76<br />
6.25 Erkennungsrate von egoistischen Knoten bei 1m/s . . . . . . . . . . . . . . . . . . . . . . 78<br />
6.26 Erkennungsrate von egoistischen Knoten bei 20m/s . . . . . . . . . . . . . . . . . . . . . . 78<br />
6.27 Erkennungsraten von egoistischen Knoten . . . . . . . . . . . . . . . . . . . . . . . . . . . 78<br />
6.28 Queues von Bewertungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81<br />
6.29 Verteilung von Anschuldigungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83<br />
6.30 E<strong>in</strong> bösartiger Knoten erzeugt im Laufe der Zeit viele Anschuldigungen . . . . . . . . . . . 84<br />
6.31 Globale Instanz verweigert Erneuerung der Identität nach Beschwerden . . . . . . . . . . . 86<br />
6.32 Ausschluss von bösartigen Knoten bei 1m/s . . . . . . . . . . . . . . . . . . . . . . . . . . 87<br />
6.33 Ausschluss von bösartigen Knoten bei 20m/s . . . . . . . . . . . . . . . . . . . . . . . . . 87<br />
6.34 Ausschluss von bösartigen Knoten . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87<br />
104
Literaturverzeichnis<br />
[ACPea01] Patrick Albers, Olivier Camp, Jean-Marc Percher und et al. Security <strong>in</strong> ad hoc networks: a general<br />
<strong>in</strong>trusion detection architecture enhanc<strong>in</strong>g trust based approaches. The 1st International<br />
Workshop on Wireless Information Systems (WIS-2002), 2001.<br />
[AH02] Baruch Awerbuch und David Homer. An on-demand secure rout<strong>in</strong>g protocol resilient to<br />
byzant<strong>in</strong>e failures. In Proceed<strong>in</strong>gs of WiSe’02, 2002.<br />
[And80] Anderson. Computer security threat, monitor<strong>in</strong>g and surveillance. Technical Report, 1980.<br />
[AOG02] Midori Asaka, Takefumi Onabura und Shigeki Goto. Remote attack detection method <strong>in</strong> ida:<br />
Mlsi-based <strong>in</strong>trusion detection us<strong>in</strong>g discrim<strong>in</strong>ant analysis. 2002 Symposium on Applications<br />
and the Internet (SAINT), 2002.<br />
[AOT + 98] Midori Asaka, Shunji Okazawa, Atsushu Taguchi, IPA und Shigeki Goto. A method of trac<strong>in</strong>g<br />
<strong>in</strong>truders by use of mobile agents. In Proceed<strong>in</strong>gs of the 9th Annual Conference of the Internet<br />
Society (INET’99), 1998.<br />
[ATIG99] Midori Asaka, Atsushu Taguchi, IPA und Shigeki Goto. The implementation of ida: An<br />
<strong>in</strong>trusion detection agent system. Systems and Computers <strong>in</strong> Japan, Vol. 30 No. 2, 1999.<br />
[BB01] Sonja Buchegger und Jean-Yves Le Boudec. Nodes bear<strong>in</strong>g grudges: Towards rout<strong>in</strong>g security,<br />
fairness, and robustness <strong>in</strong> mobile ad hoc networks. Proceed<strong>in</strong>gs of IEEE/ACM Workshop<br />
on <strong>Mobile</strong> <strong>Ad</strong> <strong>Hoc</strong> Network<strong>in</strong>g and Comput<strong>in</strong>g (MobiHOC), 2001.<br />
[BB02] Sonja Buchegger und Jean-Yves Le Boudec. Performance Analysis of the CONFIDANT<br />
Protocol: Cooperation Of Nodes - Fairness <strong>in</strong> Distributed <strong>Ad</strong>-hoc Networks. Proceed<strong>in</strong>gs<br />
of IEEE/ACM Workshop on <strong>Mobile</strong> <strong>Ad</strong> <strong>Hoc</strong> Network<strong>in</strong>g and Comput<strong>in</strong>g (MobiHOC), June<br />
2002.<br />
[BBC + 01] Ljubica Blazevic, Levente Buttyan, Srdan Caokun, Silvia Giordanom, Jean Pierre Hubaux<br />
und Jean Yves Le Boudec. Self organization <strong>in</strong> mobile ad-hoc networks: the approach of<br />
term<strong>in</strong>odes. Proceed<strong>in</strong>gs of 2nd International Workshop on Electronic Commerce (WELCOM<br />
2001), 2001.<br />
105
LITERATURVERZEICHNIS<br />
[BdSM00] M. C. Bernardes und E. dos Santos Moreira. Implementation of an <strong>in</strong>trusion detection system<br />
based on mobile agents. In International Symposium on Software Eng<strong>in</strong>eer<strong>in</strong>g for Parallel<br />
and Distributed Systems, 2000.<br />
[BGFDIZ98] J. S. Balasubramaniyan, J. O. Garcia-Fernandez, E. Spafford D. Isacoff und D. Zamboni.<br />
An architecture for <strong>in</strong>trusion detection us<strong>in</strong>g autonomous agents. In 14th IEEE Computer<br />
Security Applications Conference, December 1998.<br />
[B<strong>in</strong>96] James B<strong>in</strong>kley. Authenticated ad hoc rout<strong>in</strong>g at the l<strong>in</strong>k layer for mobile systems. Technical<br />
Report 96-3, 1996.<br />
[Bis99] Matt Bishop. proceed<strong>in</strong>gs of the 2nd <strong>in</strong>ternational workshop on recent advances <strong>in</strong> <strong>in</strong>trusion<br />
detection (raid’99). Special Issue of Wireless Communications and <strong>Mobile</strong> Comput<strong>in</strong>g, Wiley<br />
Interscience Press, 1999.<br />
[CCD + 99] S. Cheung, R. Crawford, M. Dilger, J. Frank, J. Hoagland, K. Levitt, J. Rowe, S. Staniford-<br />
Chen, R. Yip und D. Zerkle. The design of grids: A graph-based <strong>in</strong>trusion detection system.<br />
CSE-99-2, Januar 1999.<br />
[CCF02] Sean Convery, David Cook und Matthew Franz. An attack tree for the border gateway protocol.<br />
Internet-Draft, 2002.<br />
[Daw76] R. Dawk<strong>in</strong>s. The selfish gene. Oxford University Press 1989, 1976.<br />
[Den87] Dorothy E. Denn<strong>in</strong>g. An <strong>in</strong>trusion detection model. In IEEE Transactions on software eng<strong>in</strong>eer<strong>in</strong>g,<br />
SE-13, 1987.<br />
[DLRS01] Bridget Dahill, Brian Lev<strong>in</strong>e, Elizabeth Royer und Clay Shields. A secure rout<strong>in</strong>g protocol<br />
for ad hoc networks. <strong>in</strong> The 8th ACM International Conference on <strong>Mobile</strong> Comput<strong>in</strong>g and<br />
Network<strong>in</strong>g, 2001.<br />
[DN85] Denn<strong>in</strong>g und Neumann. Requirements and models for ides - a real time <strong>in</strong>trusion detection<br />
system. 1985.<br />
[FBR + 99] Richard Feiertag, Lee Benz<strong>in</strong>ger, Sue Rho, Stephen Wu, Karl Levitt, Dave Peticolas und Mark<br />
Heckman. <strong>Intrusion</strong> detection <strong>in</strong>ter-component adaptive negotiation. Computer Networks 34,<br />
1999.<br />
[FV00] K. Fall und E. Varadhan. The ns manual (formerly ns notes and documentation). 2000.<br />
[GM98] Juan A Garay und Yoram Moses. Fully polynomial byzant<strong>in</strong>e agreement for 3t processors <strong>in</strong><br />
t+1 rounds. SIAM Journal of Comput<strong>in</strong>g, 27(1), 1998.<br />
106
LITERATURVERZEICHNIS<br />
[HBC01] Jean Pierre Hubaux, Levente Buttyan und Srdan Capkun. The quest for security <strong>in</strong> mobile<br />
ad hoc networks. Proceed<strong>in</strong>g of the ACM Symposium on <strong>Mobile</strong> <strong>Ad</strong> <strong>Hoc</strong> Network<strong>in</strong>g and<br />
Comput<strong>in</strong>g (MobiHOC), 8(5), 2001.<br />
[Hei02] Steffen He<strong>in</strong>. <strong>Intrusion</strong> detection <strong>in</strong> mobilen netzen. Sem<strong>in</strong>ar: Sicherheit <strong>in</strong> mobilen Netzen,<br />
2002.<br />
[HJP02a] Yi Chun Hu, David B. Johnson und <strong>Ad</strong>rian Perrig. Sead: Secure efficient distance vector<br />
rout<strong>in</strong>g for mobile wireless ad hoc networks. Proceed<strong>in</strong>gs of the 4th IEEE Workshop on<br />
<strong>Mobile</strong> Comput<strong>in</strong>g Systems & Applications (WMCSA 2002), 2002.<br />
[HJP02b] Yih-Chun Hu, David B. Johnson und <strong>Ad</strong>rian Perrig. SEAD: Secure Efficient Distance Vector<br />
Rout<strong>in</strong>g for <strong>Mobile</strong> Wireless <strong>Ad</strong> <strong>Hoc</strong> Networks. Proceed<strong>in</strong>gs of the 4th IEEE Workshop on<br />
<strong>Mobile</strong> Comput<strong>in</strong>g Systems and Applications (WMCSA 2002), June 2002.<br />
[HK98] Helden und Karsch. Grundlagen, forderungen und marktübersicht für <strong>in</strong>trusion detection<br />
systeme und <strong>in</strong>trusion response systeme. http://www.bsi.de/literat/studien/ids/doc0000.htm,<br />
1998.<br />
[HLM91] Heberle<strong>in</strong>, Levitt und Mukherjeeh. A method to detect <strong>in</strong>trusive activity <strong>in</strong> a networked<br />
environment. In Proceed<strong>in</strong>gs of the 14th National Computer Security Conference, 1991.<br />
[HPJ01] Yih-Chun Hu, <strong>Ad</strong>rian Perrig und David B. Johnson. Wormhole detection <strong>in</strong> wireless ad hoc<br />
networks. Technical Report TR01-384, 2001.<br />
[HPJ02] Yih-Chun Hu, <strong>Ad</strong>rian Perrig und David B. Johnson. Ariadne: A secure on-demand rout<strong>in</strong>g<br />
protocol for ad hoc networks. Proceed<strong>in</strong>gs of MobiCom 2002, 2002.<br />
[iee] Ieee 802.11 wireless local area networks. http://grouper.ieee.org/groups/802/11/<strong>in</strong>dex.html.<br />
[IKP95] K. Ilgun, R. A. Kemmerer und P. A. Porras. State transition analysis: A rule-based <strong>in</strong>trusion<br />
detection approach. IEEE Transactions on Software Eng<strong>in</strong>eer<strong>in</strong>g, 1995.<br />
[itu] International telecommunication union. http://www.itu.<strong>in</strong>t/home/<strong>in</strong>dex.html.<br />
[JMB01] David B. Johnson, David A. Maltz und Josh Broch. Dsr: The dynamic source rout<strong>in</strong>g protocol<br />
for multihop wireless ad hoc networks. 2001.<br />
[JMHJ02a] David B. Johnson, David A. Maltz, Yih-Chun Hu und Jorjeta G. Jetcheva. The dynamic<br />
source rout<strong>in</strong>g protocol for mobile ad hoc networks (dsr). <strong>Mobile</strong> Comput<strong>in</strong>g, 2002.<br />
[JMHJ02b] David B. Johnson, David A. Maltz, Yih-Chun Hu und Jorjeta G. Jetcheva. The dynamic source<br />
rout<strong>in</strong>g protocol for mobile ad hoc networks (dsr). http://www.ietf.org/<strong>in</strong>ternet-drafts/draftietf-manet-dsr-07.txt,<br />
February 2002.<br />
107
LITERATURVERZEICHNIS<br />
[Joh94] David B. Johnson. Rout<strong>in</strong>g <strong>in</strong> ad hoc networks of mobile hosts. Workshop on <strong>Mobile</strong> Comput<strong>in</strong>g<br />
Systems and Applications, 1994.<br />
[JWZ03] Ramaprabhu Janakiraman, Marcel Waldvogel und Qi Zhang. Indra: A peer-to-peer approach<br />
to network <strong>in</strong>trusion detection and prevention. Proceed<strong>in</strong>gs of IEEE WETICE 2003, 2003.<br />
[Kar03] Frank Kargl. Sicherheits-mechanismen <strong>in</strong> mobilen ad-hoc netzen. to appear, 2003.<br />
[KF98] Axel W. Kr<strong>in</strong>gs und Thomas Feyer. The byzant<strong>in</strong>e agreement problem, optimal early stopp<strong>in</strong>g.<br />
Thirty-second Annual Hawaii International Conference on System Sciences-Volume 8,<br />
1998.<br />
[KFL96] Ko, F<strong>in</strong>k und Levitt. Execution monitor<strong>in</strong>g of security-critical programs <strong>in</strong> a distributed system:<br />
A specification-based approach. Ph.D. Thesis at the University of California, 1996.<br />
[KLX + 01] Jiejun Kong, Haiyun Luo, Kaix<strong>in</strong> Xu, Daniel Lihui Gu, Mario Gerla und Songwu Lu. <strong>Ad</strong>aptive<br />
security for multi-layer ad-hoc networks. Special Issue of Wireless Communications and<br />
<strong>Mobile</strong> Comput<strong>in</strong>g, Wiley Interscience Press, 2001.<br />
[Kär01] Vesa Kärpijoki. Security <strong>in</strong> ad hoc networks. Master Thesis, 2001.<br />
[KT00] C. Krügel und T. Toth. A survey on <strong>in</strong>trusion detection systems. Technical Report TUV-1841-<br />
00-11, 2000.<br />
[KZL + 01] Jiejun Kong, Petros Zerfos, Haiyun Luo, Songwu Lu und Lixia Zhang. Provid<strong>in</strong>g robust<br />
and ubiquitous security support for mobile ad-hoc networks. IEEE Military Communications<br />
Conference (MILCOM’02), 2001.<br />
[LF01] Mart<strong>in</strong> Nilsson Laura Feeney. Investigat<strong>in</strong>g the energy consumption of a wireless network<br />
<strong>in</strong>terface <strong>in</strong> an ad hoc network<strong>in</strong>h environment. INFOCOM 2001, 2001.<br />
[LL00] Haiyun Luo und Songwu Lu. Ubiquitous and robust authentication services for ad hoc wireless<br />
networks. UCLA Computer Science Technical Report 2000, 2000.<br />
[LSP82] Leslie Lamport, Robert Shostak und Marshall Pease. Byzant<strong>in</strong>e generals problem.<br />
http://citeseer.nj.nec.com/article/lamport82byzant<strong>in</strong>e.html, 1982.<br />
[Lun88] Teresa Lunt. Automated audit trail analysis. Proceed<strong>in</strong>gs of the 11th National Computer<br />
Security Conference, 1988.<br />
[Lun00] Janne Lundberg. Rout<strong>in</strong>g security <strong>in</strong> ad hoc networks. http://citeseer.nj.nec.com/400961.html,<br />
2000.<br />
108
LITERATURVERZEICHNIS<br />
[LX00] Wenke Lee und Dong Xiang. Information theoretic measures for anomaly detection. IEEE<br />
Symposium on Security and Privacy, 2000.<br />
[LZK + 01] Haiyun Luo, Petros Zerfos, Jiejun Kong, Songwu Lu und Lixia Zhang. Self-secur<strong>in</strong>g ad hoc<br />
wireless networks. IEEE 7th Symposium on Computers and Communications (ISCC’02),<br />
2001.<br />
[MGB00] Sergio Marti, T.J. Giuli und Mary Baker. Mitigat<strong>in</strong>g rout<strong>in</strong>g misbehavior <strong>in</strong> mobile ad hoc<br />
networks. <strong>Mobile</strong> Comput<strong>in</strong>g and Network<strong>in</strong>g, 2000.<br />
[MM] Pietro Michiardi und Refik Molva. Prevention of Denial of Service attacks and Selfishness <strong>in</strong><br />
<strong>Mobile</strong> <strong>Ad</strong> <strong>Hoc</strong> Networks. http://www.eurecom.fr/ michiard/pub/michiardi adhoc dos.ps.<br />
[MM01] Pietro Michiardi und Refik Molva. Core: A collaborative reputation mechanism to enforce<br />
node cooperation <strong>in</strong> mobile ad hoc networks. Proceed<strong>in</strong>gs of the 6th IFIP Communication<br />
and Multimedia Security Conference, 2001.<br />
[MM02a] Pietro Michiardi und Rafik Molva. Prevention of denial of servie attacks and selfishness <strong>in</strong><br />
mobile ad hoc networks. Research Report RR-02-063, 2002.<br />
[MM02b] Pietro Michiardi und Refik Molva. Simulation-based analysis of security exposures <strong>in</strong> mobile<br />
ad hoc networks. European Wireless Conference 2002, 2002.<br />
[Nas50] John Nash. Equilibrium po<strong>in</strong>ts <strong>in</strong> n-person games. In Proceed<strong>in</strong>gs of the National Academy<br />
of Sciences 1950, 36:48–49, 1950.<br />
[ns2a] The network simulator - ns-2, <strong>in</strong>troduction and code. http://www.isi.edu/nsnam/ns/.<br />
[ns2b] The network simulator - ns-2, release notes ns2.26. http://www.isi.edu/nsnam/ns/nsproblems.html.<br />
[Pau98] Manfred Paul. Parallele und verteilte programmierung. http://wwwbroy.<strong>in</strong>formatik.tumuenchen.de/<br />
lehre/vorlesungen/vertprog/, 1998.<br />
[PCTS02] <strong>Ad</strong>rian Perrig, Ran Canetti, J.D. Tygar und Dawn Song. The TESLA Broadcast Authentication<br />
Protocol. RSA CryptoBytes, 5 (Summer), 2002.<br />
[Per88] Radia Perlmen. Network layer protocols with byzant<strong>in</strong>e robustness. MIT/LCS/TR 429, 1988.<br />
[Per01] Charles E. Perk<strong>in</strong>s (Herausgeber). <strong>Ad</strong> <strong>Hoc</strong> Network<strong>in</strong>g. <strong>Ad</strong>dison-Wesley, 2001.<br />
[PH02a] Panagiotis Papadimitratos und Zygmunt J. Haas. Secure rout<strong>in</strong>g for mobile ad<br />
hoc networks. SCS Communication Networks and Distributed Systems Model<strong>in</strong>g<br />
and Simulation Conference (CNDS 2002), January 2002. Also available as<br />
http://wnl.ece.cornell.edu/Publications/cnds02.pdf.<br />
109
LITERATURVERZEICHNIS<br />
[PH02b] Panagiotis Papadimitratos und Zygmunt J. Haas. Secure Rout<strong>in</strong>g for <strong>Mobile</strong> <strong>Ad</strong> <strong>Hoc</strong> Networks.<br />
Work<strong>in</strong>g Session on Security <strong>in</strong> Wireless <strong>Ad</strong> <strong>Hoc</strong> Networks, EPFL, (published <strong>in</strong><br />
<strong>Mobile</strong> Comput<strong>in</strong>g and Communications Review, vol.6, no.4), June 2002.<br />
[PH03] Panagiotis Papadimitratos und Zygmunt J. Haas. Secure L<strong>in</strong>k State Rout<strong>in</strong>g for <strong>Mobile</strong> <strong>Ad</strong><br />
<strong>Hoc</strong> Networks. IEEE Workshop on Security and Assurance <strong>in</strong> <strong>Ad</strong> hoc Networks, <strong>in</strong> conjunction<br />
with the 2003 International Symposium on Applications and the Internet, January 2003.<br />
[PHS02] Panagiotis Papadimitratos, Zygmunt J. Haas und P. Samar. The Secure Rout<strong>in</strong>g Protocol<br />
(SRP) for <strong>Ad</strong> <strong>Hoc</strong> Networks. draft-papadimitratos-secure-rout<strong>in</strong>g-protocol-00.txt, December<br />
2002.<br />
[Por92] Porras. Stat - a state transition analysis tool for <strong>in</strong>trusion detection. Masters Thesis at the<br />
University of California, 1992.<br />
[PR02] Charles E. Perk<strong>in</strong>s und Elizabeth M. Royer. <strong>Ad</strong> hoc on demand distance vector (aodv) rout<strong>in</strong>g.<br />
http://www.ietf.org/<strong>in</strong>ternet-drafts/draft-ietf-manet-aodv-12.txt, November 2002.<br />
[Q<strong>in</strong>01] Liang Q<strong>in</strong>. Pro-active route ma<strong>in</strong>tenance <strong>in</strong> dsr. 2001.<br />
[RG92] D. Russel und Gangemi. Computer security basics. G.T. Sr. 1992 O’Reilly & Associates, Inc.,<br />
1992.<br />
[RZFK76] P. Resnick, R. Zeckhauser, E. Friedman und K. Kuwabara. Reputation systems. Communications<br />
of the ACM, 43, 1976.<br />
[Sch99a] Bruce Schneier. Attack trees. Dr. Dobb’s Journal, 1999.<br />
[Sch99b] Bruce Schneier. Model<strong>in</strong>g security threats. Dr Dobb’s Journal, December 1999.<br />
[SDL + 02] Kimaya Sanzgiri, Bridget Dahill, Brian Neil Lev<strong>in</strong>e, Clay Shields und Elizabeth M. Beld<strong>in</strong>g-<br />
Royer. A Secure Rout<strong>in</strong>g Protocol for <strong>Ad</strong> <strong>Hoc</strong> Networks. November 2002.<br />
[SF02] Paul Sass und Jim Freebersyser. Fcs communications technology for the objective force.<br />
2002.<br />
[Sha79] A. Shamir. How to share a secret. Communications of the ACM, 24(11), 1979.<br />
[SHF + 99] S.F.Wu, H.C.Chang, F.Jou, F.Wang, F-Gong und C.Sargor. J<strong>in</strong>ao: Design an implementation<br />
of a scalable <strong>in</strong>trusion detection system for the ospf rout<strong>in</strong>g protocol. Journal of Computer<br />
Networks and ISDN Systems, 1999.<br />
[Spe03] Raimund Specht. Authentifikation und schlüsselaustausch <strong>in</strong> mobilen ad-hoc netzwerken.<br />
Diplomarbeit, 2003.<br />
110
LITERATURVERZEICHNIS<br />
[Tan96] Andrew S. Tannenbaum. Computer Networks. Prentice Hall PTR, 1996.<br />
[TDC + 95] Tushar, Deepak, Chandra, Hawthorne, Sam und Ithaca. Unreliable failure detectors for reliable<br />
distributed systems. Journal of the ACM, 43(2), 1995.<br />
[WC] Brad Williams und Tracy Camp. Comparison of broadcast<strong>in</strong>g techniques for mobile ad hoc<br />
networks. Proceed<strong>in</strong>gs of the ACM International Symposium on <strong>Mobile</strong> <strong>Ad</strong> <strong>Hoc</strong> Network<strong>in</strong>g<br />
and Comput<strong>in</strong>g (Mobihoc.<br />
[WMB99] Thomas Wu, Michael Malk<strong>in</strong> und Dan Boneh. Build<strong>in</strong>g <strong>in</strong>trusion-tolerant applications. Proceed<strong>in</strong>gs<br />
of 8th USENIX Security Symposium, 1999.<br />
[YNK00] Seung Yi, Prasad Naldurg und Rob<strong>in</strong> Kravets. A security-aware rout<strong>in</strong>g protocol for wireless<br />
ad hoc networks. The 6th World Multi-Conference on Systemics, Cybernetics and Informatics<br />
(SCI 2002), 2000.<br />
[Zap02] Manel Guerrero Zapata. Secure <strong>Ad</strong> hoc On-Demand Distance Vector Rout<strong>in</strong>g. ACM <strong>Mobile</strong><br />
Comput<strong>in</strong>g and Communications Review (MC2R), 6, July 2002.<br />
[ZH99] Lidong Zhou und Zygmunt J. Haas. Secur<strong>in</strong>g ad hoc networks. (IEEE) Network, 13(6):24–30,<br />
1999.<br />
[Zhu] Feng Zhu. Paper list: Security for ad hoc networks. http://www.ccs.neu.edu/home/zhufeng/.<br />
[ZL01] Yongguang Zhang und Wenke Lee. <strong>Intrusion</strong> detection <strong>in</strong> wireless adhoc networks. <strong>Mobile</strong><br />
Comput<strong>in</strong>g and Network<strong>in</strong>g, 2001.<br />
[ZLH02] Yongguang Zhang, Wenke Lee und Yi-An Huang. <strong>Intrusion</strong> detection techniques for mobile<br />
wireless networks. <strong>Mobile</strong> Comput<strong>in</strong>g and Network<strong>in</strong>g, 2002.<br />
111
Andreas Klenk Matrikelnummer 372292<br />
Erklärung<br />
Ich erkläre, dass ich die Diplomarbeit selbständig verfasst und ke<strong>in</strong>e anderen als die angegebenen Quellen<br />
und Hilfsmittel verwendet habe.<br />
1. Ich b<strong>in</strong> damit e<strong>in</strong>verstanden, dass die Arbeit veröffentlicht wird und dass <strong>in</strong> wissenschaftlichen Veröffentlichungen<br />
darauf Bezug genommen wird.<br />
2. Der Universität Ulm, vertreten durch die Abteilung Medien<strong>in</strong>formatik, wird e<strong>in</strong> (nicht ausschließliches)<br />
Nutzungsrecht an dieser Arbeit sowie an den im Zusammenhang mit ihr erstellten Programmen<br />
e<strong>in</strong>geräumt.<br />
Ulm, den 5. Juni 2003