Conducting and Analysing Eclipse Attacks on the Kad P2P Network

Werbung
Conducting and Analysing Eclipse Attacks
on the Kad P2P Network
Antrittsvortrag Bachelorarbeit
Jan Seeger
Betreuer: Ralph Holz
Chair for Network Architectures and Services
Department for Computer Science
Technische Universität München
3. November 2010
Jan Seeger: Conducting and Analysing Eclipse Attacks on the Kad P2P Network
1
Outline
1
Grundlagen
2
Related Work
3
Motivation
4
Problemstellung
5
Arbeitsplan
Jan Seeger: Conducting and Analysing Eclipse Attacks on the Kad P2P Network
2
Grundlagen
Was ist Kademlia?
Distributed Hashtable
(DHT) verwendet in
aMule/eMule (*Mule)
160-bit SHA1-Hashes als
Schlüssel
Speicherung in k-Buckets
Routing mittels XOR:
d = x1 ⊕ x2
Iteratives Routing
Merke: Kademlia hat keine
Spezifikation und einige
Unterschiede zu Kad!
Abbildung: k-Buckets für 4 Bit
Schlüssellänge, k = 2
Jan Seeger: Conducting and Analysing Eclipse Attacks on the Kad P2P Network
3
Related Work
Moritz Steiner, Taoufik En-Najjary, Ernst W. Biersack:
Exploiting KAD: Possible Uses and Misuses“
”
Michael Kohnen, Mike Leske, Erwin Rathgeb: Conducting
”
and Optimizing Eclipse Attacks in the Kad
Peer-to-Peer-Network“
Rainer Boie: Empirische Untersuchung von Angriffen auf
”
strukturierte P2P-Netze“
Jan Seeger: Conducting and Analysing Eclipse Attacks on the Kad P2P Network
4
Motivation
Allgemeine Fragestellung: Wie leicht ist die Erreichbarkeit
eines Knotens im Kad-Netz einschränkbar?
Bestimmte Merkmale erschweren Angriffe:
Iteratives Routing
Dezentrale Struktur
Parallele Suche
Ältere Kontakte werden bevorzugt
Andere vereinfachen sie: Knoten-IDs werden selbst gewählt
Jan Seeger: Conducting and Analysing Eclipse Attacks on the Kad P2P Network
5
Die Eclipse-Attacke
Betrachteter Angriff: Eclipse-Attacke von Steiner.
Vorgehen:
n Sibyls werden näher am Opfer platziert als alle anderen
Knoten
FIND NODE-Anfrage, die nicht Opfer als Ziel hat: Normal
beantworten
Jegliche Anfrage, die vom Opfer kommt: Verwerfen
FIND NODE-Anfrage nach dem Opfer: Falsche Ergebnisse
zurückgeben
Jan Seeger: Conducting and Analysing Eclipse Attacks on the Kad P2P Network
6
Die Sibyl-Chain
Später IP-Subnetz-Begrenzungen in *Mule
Deswegen: Kohnen et al. verwenden Sibyl-Chain.
Abbildung: Die Sibyl-Chain
Jan Seeger: Conducting and Analysing Eclipse Attacks on the Kad P2P Network
7
Eclipse auf Knoten
Eclipse-Attacke auf Daten und Knoten möglich.
Jedoch wichtige Unterschiede:
Knoten haben Eigenaktivität
Kein Publishing-Prozess
Knoten werden in Buckets gespeichert
Attacke auf Knoten wurde von Boie (s.o.) bereits simuliert.
Grosse Unterschiede anhand Angriffserfolg ersichtlich:
Angriffserfolg
Kohnen (Daten)
100%
Boie (Knoten)
0-44%
Jan Seeger: Conducting and Analysing Eclipse Attacks on the Kad P2P Network
8
Problemstellung
Von Boie Eclipse von Knoten nur simuliert.
In der Realität einige wichtige Unterschiede zu Simulation:
Netz ist grösser
Knoten-IDs nicht gleichmässig verteilt
Eigenaktivität der Knoten unterscheidet sich von Simulation
Oversim-Kad-Implementierung unterscheidet sich von
*Mule-Implementierung
Wie gut funktioniert also die Eclipse-Attacke im echten
Kad-Netz?
Jan Seeger: Conducting and Analysing Eclipse Attacks on the Kad P2P Network
9
Experiment
Vorbereitung
1 Patches auf aktuelle
*Mule-Version anpassen
2
Code-Audit
3
Einrichtung der
verwendeten Rechner
Variierte Parameter
Eigenaktivität des
Master-Sibyls
Eigenaktivität des Opfers
Abbildung: Experiment-Aufbau
Betrachtete ID-Region
Parameter der Sibyl-Chain
Jan Seeger: Conducting and Analysing Eclipse Attacks on the Kad P2P Network
10
Bewertung und Vergleich
Fragen:
Wieviel Prozent der Anfragen erreichten den Opferknoten?
Wann erreichte die erste Anfrage den Opferknoten?
Wie viele Anfragen erreichten Sibyl 0?
Kann der Angriff als erfolgreich“ angesehen werden?
”
Wie resistent ist Kad gegenüber der Eclipse-Attacke?
Welche Schutzmöglichkeiten gibt es?
Jan Seeger: Conducting and Analysing Eclipse Attacks on the Kad P2P Network
11
Zeitplan
Abbildung: Zeitplan
Jan Seeger: Conducting and Analysing Eclipse Attacks on the Kad P2P Network
12
Herunterladen