Systems Architecture Tarzan Dario Sait, Martin Schulze 10. Juli 2007.

Slides:



Advertisements
Ähnliche Präsentationen
Einer der Dienste im Internet
Advertisements

für das Schulnetz der BS Roth
Konfiguration eines VPN Netzwerkes
Routingverfahren in Content Delivery Networks
1. Einführung Lernziele: Auffrischen des Wissens aus Rechnernetze
1 Thomas Butter Content Delivery Networks Peer-to-Peer Netze Thomas Butter
Martin MauveUniversität Mannheim1 3.6 User Datagram Protocol (UDP) RFC 768. J. Postel. User Datagram Protocol unzuverlässiges Transportprotokoll.
ANONYMITY IS NOT A CRIME Hendrik Preuß 1Seminar Internettechnologie WS 09/10.
Virtual Private Networks
Einführung in die Technik des Internets
Rechnerkommunikation I
VPN Virtual Private Network
Das OSI Schichtenmodell
Julia Grabsch Florian Hillnhütter Fabian Riebschläger
Warum gibt es Netzwerke?
© 2001 Matthias Bossardt 1 Routing. © 2001 Matthias Bossardt 2 Dienstmodell Findet den günstigsten Pfad um ein Datenpaket vom Sender zum Empfänger zu.
Netzwerke.
VPN – Virtual Private Network
Was heißt hacken? Referat von Jasmin Woock Universität zu Köln
TCP/IP.
Schutzvermerk nach DIN 34 beachten TCP / IP. Schutzvermerk nach DIN 34 beachten TCP / IP und das OSI-Referenzmodell Process / Application Host-to-Host.
Webserver Apache & Xampp Referenten: Elena, Luziano und Sükran
Kirsten Kropmanns Allgemeine Technologien II 9. März 2009
Hans Laubisch Expert Student Partner Microsoft Student Partners DE e Windows Azure Windows Azure VPN (mit Windows Server)
Modul 6 Handy-Signatur: Anwendung. Anwendungsbereiche der Handy-Signatur „Eigenhändige Unterschrift“ Elektronische Behördenwege Rechtsgültiges Unterschreiben.
Rechen- und Kommunikationszentrum (RZ) Sicherheitsorientierte Webentwicklung am Beispiel der Matse-Dienste Jan-Frederic Janssen.
IS: Datenbanken, © Till Hänisch 2000 Windows Netzwerke TCP/IP oder was ?
Rechen- und Kommunikationszentrum (RZ) Strukturierte Datensammlung in verteilten Systemen für den DHCP-Service Tim Becker Seminararbeit / /
Technische Universität München, Informatik XI Angewandte Informatik / Kooperative Systeme Verteilte Anwendungen: Web Services Dr. Wolfgang Wörndl
Fragenkatalog GK Informatik Zur Vorbereitung auf das mündliche Abitur.
LINUX II Harald Wegscheider
Aufbau eines IPv6-Netzwerkes Das folgende Netzwerk wird in dieser Einheit nach und nach aufgebaut.
Einrichtung eines Schulnetzwerkes unter Linux Besondere Lernleistung von Henrik Friedrichsen.
Center for Biotechnology Bielefeld Bioinformatics Service Netzwerk - Programmierung Netzwerke Alexander Sczyrba Jan Krüger.
Vs Verteilte Hash-Tabellen (distributed hastables, DHT) am Beispiel von Chord (Stoica et al. 2001) Ziel:"Gutes" Verteilen von Informationen auf.
ICMP Internet Control Message Protocol Michael Ziegler Universität Freiburg Michael Ziegler.
Prof. Dr.-Ing. Thomas Schwotzer FB 4 / AI / Mobile Anwendungen Ad-hoc Networks Routing.
Manuel Abbt Drahtlose Sensornetze Einführung und Szenarien Proseminar Technische Informatik SS 2007 Betreuer: Jürgen Sommer.
Othmar GsengerErwin Nindl Christian Pointner. Inhalt Was ist Anycast? Secure Anycast Tunneling Protocol (SATP) Was ist Anytun Verschlüsselung Live Demo.
1. Einführung Lernziele: Auffrischen des Wissens aus Rechnernetze
Nudging für eine bessere IT-Sicherheit
Aufgabe 1: Begriffswelt
Der einfache Weg zur fehlerfreien JCL
ISO / OSI Referenzmodell
Azure Backup, Azure Backup Server und Azure Site Recovery
Port-Forwarding Der PC möchte vom Internet aus auf den http-Server zugreifen. Er sieht nur die IP-Adresse und den Port des Routers. http-Server PC Router.
Othmar Gsenger Erwin Nindl Christian Pointner
Camil Bartkowiak Serhat Cinar Leonardo Di Lella Jan Finsel
Resilience Die Fähigkeit um zur Ausgangsform, -position zurückzukehren, nachdem es gebogen, verformt oder komprimiert wurde. Die Fähigkeit sich von einer.
Das Problem des Handlungsreisenden
Logisches Datenmodell
StateLess Address AutoConfiguration
SMTP Sieve-Interpreter
Netzwerke.
VPN (Virtual private Network)
SPOOFING Früher stand Spoofing ausschließlich für den Versuch des Angreifers, IP-Pakete so zu fälschen, dass sie die Absenderadresse eines anderen (manchmal.
Symmetrische Verschlüsselung
So gelingt der digitale Wandel in einem Landwirtschaftsbetrieb
Netzwerke Netzwerkgrundlagen.
Sport, Entspannung und Gesundheit flexibel vereint!
“Das ISO / OSI - Referenzmodell“
Ich brauche eine Web-Seite vom Server im Internet
Routing … … die Suche nach dem Weg..
Security Labor MitM-Demonstration
Elektronische Post BBBaden.
das Routing Information Protocol
Routing … … die Suche nach dem Weg..
RFC IPv6 Adressaufbau.
Spanning Tree Protocol
TCP/IP Transmission Control Protocol/Internet Protocol
 Präsentation transkript:

Systems Architecture Tarzan Dario Sait, Martin Schulze 10. Juli 2007

2 May Systems Architecture Einführung ● Peer-to-peer Anonymisierung auf IP-Ebene ● Tarzan: Paket "hangelt sich" von Knoten zu Knoten

3 May Systems Architecture Michael J. Freedman & Robert Morris Freedman (NYU, Stanford) & Morris (MIT)

4 May Systems Architecture Grundlagen ● ein Netzwerkteilnehmer möchte mit einem beliebigen Server kommunizieren, ohne dass er identifiziert werden kann ● es wird von mehreren tausend Teilnehmern ausgegangen ● "neugierige" Teilnehmer befinden sich ebenfalls im gleichen Netzwerk

5 May Systems Architecture Designziele ● Applikationsunabhängig ● Anonymität trotz Teilnahme böswilliger Knoten ● geringe Fehleranfälligkeit und hohe Verfügbarkeit ● hohe Performance ● Anonymität auch bei "großem Lauschangriff"

6 May Systems Architecture Welche Möglichkeiten existieren bisher? ● anonymizer.com ● Onion Routing (TOR) ● Anonymous R er ●...

7 May Systems Architecture Probleme und Gefahren ● Umgehen des Proxy ● Einbruch auf den Proxy ● DOS-Attacke ➔ Abhängigkeit von einem oder wenigen zentralen Instanzen

8 May Systems Architecture Was gilt als bösartig? ● Pakete verändern ● unterschlagen ● speichern ● Analyse des Netzwerkverkehrs ● Rückgabe gefälschter Information ● jegliche sonstige Abweichung vom Protokollstandard

9 May Systems Architecture Architektur und Design ● Überblick ● Pakete ● Tunnelaufbau ● Verbindung über den Tunnel ● Tunnelabbruch und Wiederherstellung ● Netzwerk kennenlernen ● Mimics ● Cover Traffic

10 May Systems Architecture Überblick (1) ● Tarzan-Knoten soll: ● andere Knoten finden ● Pakete lokaler Anwendungen verschlüsseln ● Tunnel managen ● Pakete anderer Knoten im Tarzan-Netz weiterleiten ● Network Adress Translator (NAT) bereitstellen ● Schnittstelle an Internet

11 May Systems Architecture Überblick (2) ● Pakete anonymisieren: ● andere Tarzan-Knoten auswählen ● Tunnel aufbauen (verteilen der session keys) ● Pakete durch Tunnel routen ● letzter Knoten im Tunnel: NAT ● Pakete an Server routen ● Pakete vom Server durch Tunnel routen ● jeder Knoten des Tunnels: ● entfernt Verschlüsselungsschicht (Paket vom Client) ● fügt Schicht hinzu (Paket in Richtung Client)

12 May Systems Architecture Pakete (1) ● 2 Arten von Nachrichten (beide als UDP): ● Datenpakete ● Kontrollpakete ● flow tag: eindeutige Identifizierung einer Tunnelverbindung ● symmetrische Verschlüsselung ● verschiedene Schlüssel pro Richtung

13 May Systems Architecture Pakete (2) ● Initiator löscht Quelladresse im IP-Paket ● geschachtelte Verschlüsselung, in UDP Paket c i = ENC(encryptionKey h i, {B i+1 }) a i = MAC(integrityKey h i, {sequenceNr,c i }) B i = {sequenceNr, c i, a i } ● Initiator sendet B 1 an h 1 ● h i :flow tag -> key wählen, Integritätstest ● h i :tag in B i+1 setzen, als UDP an h i+1 leiten

14 May Systems Architecture Tunnelaufbau (1) ● Client wählt Knoten aus dem Netzwerk ● Initiator baut Tunnel schrittweise auf ● generiert und verteilt symmetrische Schlüssel ● “establish request” an gewählte Knoten: ● verschlüsselt mit public key des jeweiligen Knoten h i ● forward session key (für Pakete von h i-1 ) verschlüsselt: ● forward integrity key ● entsprechende Schlüssel für Pakete von h i+1 ● Adressen von h i-1 und h i+1 ● flow identifiers ● jedes h i : end-to-end check (Test der Korrektheit)

15 May Systems Architecture Tunnelaufbau (2) ● Verbindungsdaten an h i sind normale Pakete ● Empfänger weiß nicht, von wem das Paket kommt ● enthalten Sitzungsschlüssel, verschlüsselt mit public key von h i

16 May Systems Architecture Tunnelaufbau - Pseudocode

17 May Systems Architecture IP-Paket Forwarding ● pseudonymous Network Address Translator (PNAT) ● weist Tarzan-Client private IP ( x.x) zu ● kann Ports forwarden (Verbindung Tarzan host -> anonymer Server) ● client forwarder ● erhält Pakete vom Netzwerkstack, routet sie über den Tunnel ● ersetzt reale IP-Adresse mit der von PNAT bereitgestellten ● verschleiert Ports ● double-blinded channel ● z.B. zwischen 2 Programmen ● Verbindung einer Anwendungen mit PNAT der anderen

18 May Systems Architecture Verbindung über den Tunnel (1) ● Tunnel ist hergestellt

19 May Systems Architecture Verbindung über den Tunnel (2) ● reale IP des Clients wird ersetzt ● Pakete werden auf festgelegte Länge gebracht ● Verschlüsselung für jeden Knoten des Tunnels (-> UDP)

20 May Systems Architecture Verbindung über den Tunnel (3) ● schrittweiser Abbau der Verschlüsselung ● Weiterleitung an nächsten Hop, im cover traffic

21 May Systems Architecture Verbindung über den Tunnel (4) ● IP des PNAT in IP-Paket eintragen ● nach außen stellt sich PNAT als „Anfrager“ dar

22 May Systems Architecture Verbindung über den Tunnel (5) ● PNAT liest IP des Zieles ● sendet Paket an Ziel über „normales Internet“

23 May Systems Architecture Verbindung über den Tunnel (6) ● Antwort des Servers ● mappen auf pseudo-IP des Clients ● Zurück durch den Tunnel, Verschlüsselung ● Mapping auf reale IP des Clients

24 May Systems Architecture Tunnelabbruch ● Problem:ein Knoten im Tunnel fällt aus -> keine Verbindung durch Tunnel möglich ● Lösung: regelmäßiger ping von Initiator an PNAT -> Antwort von PNAT an Initiator zurück ● Tunnel: {h 1, h 2,...,h l,h pnat }

25 May Systems Architecture Wiederherstellung des Tunnels ● PNAT antwortet nicht auf pings -> Fehler finden! ● ping an alle Knoten im Tunnel ● alle Knoten bis h l antworten ● Fehler liegt bei h pnat ● Initiator wählt neuen h pnat für den Tunnel ● Knoten h 1 bis h i antworten, h i+1 antwortet nicht ● Versuch, Tunnel zum bisherigen h pnat aufzubauen,Verbindungen der Anwendungsschicht werden nicht unterbrochen ● neue Knoten h i+1 bis h l wählen, h pnat bleibt der gleiche ● erfolglose Versuche ab i+1: i um 1 verkleinern

26 May Systems Architecture Netzwerk kennenlernen ● über das Tarzan-Netzwerk lernen ● Initial nur wenige bekannte andere Tarzan-Knoten ● Ziel: alle Ressourcen kennen ● gossip-basiertes Protokoll ● initialization (am Anfang) ● redirection (weitergeben neuer Knoten an Nachbarn) ● maintenance (nur neue Informationen/Updates) ● Tupel {IP-Adresse, Port, hash{public key}} ● Tarzan: validierte und unvalidierte Adressen ● Validierung eines Tupels, sobald Knoten korrekte Antwort auf discovery request sendet

27 May Systems Architecture gossip - Pseudocode

28 May Systems Architecture Mimics (1) ● Gefahr: mögliche Analyse des Datenflusses ● verhindert durch cover traffic (= mimic traffic) ● neuer Tarzan-Knoten tritt Netzwerk bei ● wählt k valide Knoten als Mimic-Partner ● ~k Knoten wählen diesen als Mimic-Partner ● Cover traffic zwischen Mimic-Partnern ● Dummy-Pakete, bidirektional ● verschlüsselt mit auszuhandelndem key ● Datenpakete können eingespeist werden ● werden auch verschlüsselt ● nicht zu unterscheiden von Dummy-Paketen

29 May Systems Architecture Mimics (2) ● k global festgelegt ● Beispiel: ~5 Mimic-Partner pro Knoten

30 May Systems Architecture Mimic-Auswahl ● wenn Wahl zufällig nach IP-Adressen: ● viele feindlicher Knoten möglich ● Angreifer mit vielen IPs, jeweils 1 Tarzan-Client ● Auswahl mit Hilfe von Subnetzen ● drei Runden ● (1):erste 16 Bit -> Hashtabelle ● (2):Auswahl eines /16 Subnetzes aus (1), erste 24 Bit hashen ● (3):Mimic-Partner aus /24 Subnetzes aus (2) wählen ● Hashwert aus IP des suchenden Knoten und Datum ● Für /16:hash(IP-Adresse/16, Datum) ● für i-ten Mimic-Partner: i-malige anwendung der Hashfunktion

31 May Systems Architecture Mimic-Auswahl - Beispiel

32 May Systems Architecture Mimic-Auswahl (3) ● Aufbau der Verbindung ● Mimic request von Knoten A an B ● enthält Tupel {IP-Adresse von A, i}, 1<= i <=k ● falls i>k, lehnt B Verbindung ab ● B muss beim lookup in seiner Hashtabelle seine IP erhalten ● Lookup erfolgreich: A ist Mimic-Partner ● Lookup nicht erfolgreich: ● entweder illegaler Versuch, oder: ● B hat „besser passenden“ Partner C -> sendet Informationen an A ● A versucht, C als Partner zu gewinnen ● C nicht erreichbar: Nachricht darüber an B ● B pingt C an, sollte C nicht antworten, wird A Mimic-Partner

33 May Systems Architecture Cover Traffic (1) ● Knoten will Daten senden/weiterleiten ● Cover Traffic durch Datenpakete ersetzen oder ausbalancieren ● wichtig für Anonymität: ● jeder Knoten des Netzwerks könnte Sender/Empfänger sein ● Datenfluss nicht verfolgbar ● Daten nicht von Cover Traffic zu unterscheiden ● Knoten empfängt Datenpaket ● generiert Cover Traffic als Ersatz für Datenpaket

34 May Systems Architecture Cover Traffic (2) ● cover traffic >= 2*('real' data sent) ● Freedman/Morris: outgoing ’real’ data to a single tunnel <= 1/3*(incoming data + cover traffic) -Annahme: mindestens 1/3 der Mimics sind vertrauenswürdig ● Kosten: jede Menge Overhead..

35 May Systems Architecture Verhinderte Angriffe ● Angriff über gossiping ● alle initial bekannten Knoten bösartig ● Angreifer steuert viele Tarzan-Knoten ● verhindert durch Subnet-Auswahl ● Ignorieren des Mimic-Algorithmus ● Falsche Anfragen werden nicht akzeptiert ● Einzelne feindliche Knoten ● Lebenzeit von Tunneln und Mimic-Partnerschaften relativ kurz ● Traffic Analyse ● verhindert durch cover traffic ● Feindliche Mimics ● müssten mind. 2/3 der Mimics eines Knoten sein,durch hashing unwahrscheinlich

36 May Systems Architecture mögliche Angriffe ● Tunnelrekonstruktion ● Informationen auf Anwendungsebene ● Intersection Attack (passives Mitloggen) ● Angriff über verdächtige Knoten ● Timing- und Trafficanalyse

37 May Systems Architecture Implementierung ● testweise in C++ für Unix (FreeBSD 4.3, Linux) ● "very experimental" ● ● IP-Forwarder und PNAT brauchen root-Rechte ● Bereitstellung einer API ● SHA-1, Blowfish, DSS, Rabin, SFS-Crypt-Library

38 May Systems Architecture Performance

39 May Systems Architecture Transparenz: Transportschicht

40 May Systems Architecture Transparenz: Anwendungsschicht ● Problem: Pakete beinhalten Absenderinformationen ● Beispiele: SMTP, HTTP ● Abhilfe möglich: ● SMTP: Anonymous R er ● HTTP: Webproxy ● einige Protokolle wie FTP und IRC werden nativ unterstützt ● Tarzan eignet sich besonders gut als Basis für Anonymisierungsdienste wie Freenet

41 May Systems Architecture Fazit I: Freedman & Morris ● "a flexible layer for sender, recipient, and relationship anonymity, even when operating in real-time" ● "works with any Internet application" ● "decentralized, highly scalable and easy to manage" ● "lack of network core increases its fault-tolerance to individual relay failure, benefiting both anonymity and availability" ● "Tarzan imposes minimal overhead" ● "we hope to reinforce the rights of freedom of speech and freedom of information as integral parts of everyday life"

42 May Systems Architecture Fazit II: Nikita Borisov ● "The Tarzan requirement of maintenance of cover traffic and gossiping protocol has bandwidth and storage overhead and it makes a dent on system scalability” ● "looked less impressive as the performance figures avoided two important aspects, namely, ● 1) the size of the network and ● 2) the overhead of maintaining the cover traffic ● "They used wishy-washy terms like ’slightly perceivable delays’ instead of providing an exact millisecond figure" ● "Morphmix is more usable" - "better performance"

43 May Systems Architecture Quellenverzeichnis (Implementation) (Kritik von Nikita Borisov) (persönl. HP von Freedman) (persönl. Homepage von Morris) Hinweis: sämtliche Quellen vom