05.01.2013 Aufrufe

Mobile Intrusion Detection in Mobilen Ad-Hoc Netzwerken

Mobile Intrusion Detection in Mobilen Ad-Hoc Netzwerken

Mobile Intrusion Detection in Mobilen Ad-Hoc Netzwerken

MEHR ANZEIGEN
WENIGER ANZEIGEN

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

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!