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