Bezpieczniejsze DHT. Paweł Wiejacha. 25 marca Paweł Wiejacha Bezpieczniejsze DHT

Podobne dokumenty
Distributed Hash Tables i ich zastosowania

DHT Distributed Hash Table (Rozproszona Tablica Mieszająca)

Keszowanie i systemy peer-to-peer. Paulina Kania i Łukasz Osipiuk

Sieci komputerowe. Wykład 12: Sieci peer-to-peer. Marcin Bieńkowski. Instytut Informatyki Uniwersytet Wrocławski

SIEĆ DHT SZYBKO I ANONIMOWO?

Drzewa rozpinajace, zbiory rozłaczne, czas zamortyzowany

System anonimowej i poufnej poczty elektronicznej. Jakub Piotrowski

Porządek symetryczny: right(x)

Routing. mgr inż. Krzysztof Szałajko

Kryptografia. z elementami kryptografii kwantowej. Ryszard Tanaś Wykład 11

Warstwa sieciowa rutowanie

Sieci komputerowe. Wstęp

Routowanie we współczesnym Internecie. Adam Bielański

Indukowane Reguły Decyzyjne I. Wykład 3

Dynamiczne drzewa. Piotr Sankowski. - p. 1/27

Protokoły PEER2PEER. Krzysztof Kostałkowicz

PBS. Wykład Zabezpieczenie przełączników i dostępu do sieci LAN

Sieci komputerowe. Wykład 0: O czym jest ten przedmiot. Marcin Bieńkowski. Instytut Informatyki Uniwersytet Wrocławski

Udany Electronic Cash BitCoin. Andrzej P.Urbański

ZiMSK. VLAN, trunk, intervlan-routing 1

Wykład 2: Budowanie sieci lokalnych. A. Kisiel, Budowanie sieci lokalnych

SYSTEMY OPERACYJNE I SIECI KOMPUTEROWE

Praca w sieci z serwerem

Podstawy działania sieci

Programowanie obiektowe

Systemy operacyjne i sieci komputerowe Szymon Wilk Adresowanie w sieciach Klasy adresów IP a) klasa A

Ataki na RSA. Andrzej Chmielowiec. Centrum Modelowania Matematycznego Sigma. Ataki na RSA p. 1

Warstwa sieciowa. Model OSI Model TCP/IP. Aplikacji. Aplikacji. Prezentacji. Sesji. Transportowa. Transportowa

Algorytmy Równoległe i Rozproszone Część V - Model PRAM II

Algorytm Dijkstry znajdowania najkrótszej ścieżki w grafie

Algorytmy i Struktury Danych, 9. ćwiczenia

Model sieci OSI, protokoły sieciowe, adresy IP

Hosting WWW Bezpieczeństwo hostingu WWW. Dr Michał Tanaś (

Niech x 1,..., x n będzie ciągiem zdarzeń. ---

router wielu sieci pakietów

Zadanie 1: Protokół ślepych podpisów cyfrowych w oparciu o algorytm RSA

Wykład 4. komputerowych Protokoły SSL i TLS główne slajdy. 26 października Igor T. Podolak Instytut Informatyki Uniwersytet Jagielloński

Tribler - nowe podejście do P2P

Plan wykładu. Wyznaczanie tras. Podsieci liczba urządzeń w klasie C. Funkcje warstwy sieciowej

Działanie komputera i sieci komputerowej.

Wprowadzenie do PKI. 1. Wstęp. 2. Kryptografia symetryczna. 3. Kryptografia asymetryczna

Algorytmy wyznaczania centralności w sieci Szymon Szylko

dostępu do okręslonej usługi odbywa się na podstawie tego adresu dostaniemu inie uprawniony dostep

Jarek Babel. Sieci peer-to-peersystem plików GI p. 1

Programowanie obiektowe

Kodowanie i kompresja Streszczenie Studia Licencjackie Wykład 15, Kryptografia: algorytmy asymetryczne (RSA)

PBS. Wykład Podstawy routingu. 2. Uwierzytelnianie routingu. 3. Routing statyczny. 4. Routing dynamiczny (RIPv2).

DR INŻ. ROBERT WÓJCIK DR INŻ. JERZY DOMŻAŁ PODSTAWY RUTINGU IP. WSTĘP DO SIECI INTERNET Kraków, dn. 7 listopada 2016 r.

Autorytatywne serwery DNS w technologii Anycast + IPv6 DNS NOVA. Dlaczego DNS jest tak ważny?

Tadeusz Pankowski

WEP: przykład statystycznego ataku na źle zaprojektowany algorytm szyfrowania

Sortowanie. Bartman Jacek Algorytmy i struktury

Drzewa. Jeżeli graf G jest lasem, który ma n wierzchołków i k składowych, to G ma n k krawędzi. Własności drzew

VPN Virtual Private Network. Użycie certyfikatów niekwalifikowanych w sieciach VPN. wersja 1.1 UNIZETO TECHNOLOGIES SA

Kodowanie i kompresja Streszczenie Studia Licencjackie Wykład 14, Kryptografia: algorytmy asymetryczne (RSA)

a) 7 b) 19 c) 21 d) 34

TEORETYCZNE PODSTAWY INFORMATYKI

BSK. Copyright by Katarzyna Trybicka-Fancik 1. Bezpieczeństwo systemów komputerowych. Podpis cyfrowy. Podpisy cyfrowe i inne protokoły pośrednie

Programowanie deklaratywne

Test sprawdzający wiadomości z przedmiotu Systemy operacyjne i sieci komputerowe.

Wymagania edukacyjne Informatyka zakres podstawowy po szkole podstawowej

Dynamiczne drzewa. Marian M. Kędzierski. 26 listopada Wstęp Euler-Tour Trees Dynamiczna spójność Algorytm Dinica Link-Cut Trees

Ogólnie biorąc, nie ma związku pomiędzy hierarchią nazw a hierarchią adresów IP.

Algorytmika Problemów Trudnych

2 Kryptografia: algorytmy symetryczne

Scenariusz lekcji Opracowanie: mgr Bożena Marchlińska NKJO w Ciechanowie Czas trwania jednostki lekcyjnej: 90 min.

Spis treúci. Księgarnia PWN: Wayne Lewis - Akademia sieci Cisco. CCNA semestr 3

Wykład Nr Sieci bezprzewodowe 2. Monitorowanie sieci - polecenia

Struktury danych i złożoność obliczeniowa Wykład 5. Prof. dr hab. inż. Jan Magott

Znajdowanie skojarzeń na maszynie równoległej

Wykład 2. Drzewa zbalansowane AVL i 2-3-4

Problemy z bezpieczeństwem w sieci lokalnej

Routing dynamiczny... 2 Czym jest metryka i odległość administracyjna?... 3 RIPv RIPv Interfejs pasywny... 5 Podzielony horyzont...

Routing. część 2: tworzenie tablic. Sieci komputerowe. Wykład 3. Marcin Bieńkowski

Teoria grafów podstawy. Materiały pomocnicze do wykładu. wykładowca: dr Magdalena Kacprzak

Zastosowania PKI dla wirtualnych sieci prywatnych

E: Rekonstrukcja ewolucji. Algorytmy filogenetyczne

Wykład 3 / Wykład 4. Na podstawie CCNA Exploration Moduł 3 streszczenie Dr inż. Robert Banasiak

Podstawy systemów kryptograficznych z kluczem jawnym RSA

Algorytmy równoległe. Rafał Walkowiak Politechnika Poznańska Studia inżynierskie Informatyka 2010

PODSTAWOWE PODZIAŁY SIECI KOMPUTEROWYCH

Algorytmy mrówkowe (optymalizacja kolonii mrówek, Ant Colony optimisation)

Modelowanie hierarchicznych struktur w relacyjnych bazach danych

Zofia Kruczkiewicz, Algorytmu i struktury danych, Wykład 14, 1

Wykład 3 Bezpieczeństwo przesyłu informacji; Szyfrowanie

Grafy Alberta-Barabasiego

Definicja pliku kratowego

BRINET Sp. z o. o.

Podstawowe pojęcia dotyczące drzew Podstawowe pojęcia dotyczące grafów Przykłady drzew i grafów

Wysokość drzewa Głębokość węzła

System Użytkowników Wirtualnych

Bezpiecze ństwo systemów komputerowych.

Podstawy bezpieczeństwa

Zadanie 1: rozproszona wiedza SKJ (2016)

Algorytmy równoległe: ocena efektywności prostych algorytmów dla systemów wielokomputerowych

Systemy Mobilne i Bezprzewodowe laboratorium 12. Bezpieczeństwo i prywatność

Skąd dostać adres? Metody uzyskiwania adresów IP. Statycznie RARP. Część sieciowa. Część hosta

Koordynacja procesów w środowisku rozproszonym

Teoria grafów dla małolatów. Andrzej Przemysław Urbański Instytut Informatyki Politechnika Poznańska

Transkrypt:

Bezpieczniejsze DHT Paweł Wiejacha 25 marca 2010 1 Paweł Wiejacha Bezpieczniejsze DHT

Bezpieczniejsze DHT wstęp Plan prezentacji: Krótko o DHT czym jest DHT, gdzie i czemu się jej używa streszczenie protokołów Chord i Kademlia Ataki specyficzne dla DHT i ochrona przed nimi Sybil attack Eclipse attack ataki typu storage i routing Teoria a praktyka Podsumowanie 2 Paweł Wiejacha Bezpieczniejsze DHT

Bezpieczniejsze DHT wstęp Plan prezentacji: Krótko o DHT czym jest DHT, gdzie i czemu się jej używa streszczenie protokołów Chord i Kademlia Ataki specyficzne dla DHT i ochrona przed nimi Sybil attack Eclipse attack ataki typu storage i routing Teoria a praktyka Podsumowanie 3 Paweł Wiejacha Bezpieczniejsze DHT

Krótko o DHT czym jest DHT? Distributed Hash Table tablica mieszająca umożliwiająca przechowywanie par (klucz, wartość) rozproszona i zdecentralizowana węzły przechowują porcje danych zapewnia wydajne wyszukiwanie danych pozwala przechowywać duże ilości danych 4 Paweł Wiejacha Bezpieczniejsze DHT

Krótko o DHT dlaczego DHT? Zalety DHT decentralizacja odporność na awarie węzłów, wydajne wyszukiwanie danych skalowalność niskie koszty administrowania 5 Paweł Wiejacha Bezpieczniejsze DHT

Krótko o DHT zastosowania DHT Zastosowania DHT sieci P2P rozproszone systemów plików, sieci anonimowe, rozproszone cacheowanie systemy CDN 6 Paweł Wiejacha Bezpieczniejsze DHT

Krótko o DHT zastosowania DHT :: sieci P2P Zastosowania DHT - sieci P2P BitTorent - rozproszone trakcery Gnutella Overnet KAD - emule, MLDonkey 7 Paweł Wiejacha Bezpieczniejsze DHT

Krótko o DHT zastosowania DHT :: rozproszone systemy plików Zastosowania DHT - rozproszone systemy plików CFS (Cooperative File System) OceanStore - składowanie danych na PlanetLab Mnemosyne - steganograficzny system plików PAST 8 Paweł Wiejacha Bezpieczniejsze DHT

Krótko o DHT zastosowania DHT :: sieci anonimowe i CDN Zastosowania DHT - sieci anonimowe Freenet - censorship-resistant distributed data store GNUnet Perfect Dark - japoński anonimowy P2P Zastosowania DHT - web cacheing i CDN CoDeeN - distributed webcache na PlanetLabie Coral Content Distribution Network - webcache/cdn 9 Paweł Wiejacha Bezpieczniejsze DHT

Krótko o DHT protokół Chord (1) Protokół Chord - przykład DHT Ustalone m (np. 160). Maksymalnie 2 m węzłów chordkey(key) = mbithashfun(key) myid = chordkey(myip) węzły rozkładamy na okręgu mod 2 m za klucz K odpowiedzialny jest węzeł o ID >= K mod 2 m 10 Paweł Wiejacha Bezpieczniejsze DHT

Krótko o DHT protokół Chord (2) 11 Paweł Wiejacha Bezpieczniejsze DHT

Krótko o DHT protokół Chord (3) Protokół Chord każdy węzeł zna swojego poprzednika i następnika oraz ma tablicę finger[k] = successor(myid+2 k ) dla k = 1..log(m) można więc wyszukiwać klucz w czasie O(log(n)) a węzeł podłączyć do sieci w O(log 2 (n)) 12 Paweł Wiejacha Bezpieczniejsze DHT

Krótko o DHT protokół Chord (4) 13 Paweł Wiejacha Bezpieczniejsze DHT

Krótko o DHT protokół Chord (5) 14 Paweł Wiejacha Bezpieczniejsze DHT

ogólny zarys ataków (1) Rodzaje ataków baza dla ataków Sybil attack - jedna maszyna wiele węzłów Eclipse attack - zatruwane tablic rutowania dobrych węzłów ataki właściwe storage attack - zwracanie niepoprawnych danych routing attack - złośliwe rutowanie 15 Paweł Wiejacha Bezpieczniejsze DHT

ogólny zarys ataków (2) 16 Paweł Wiejacha Bezpieczniejsze DHT

Sybil attack Sybil attack - zasada działania jest więcej logicznych węzłów atakującego niż fizycznych maszyn wtedy atakujący może pokryć większą cześć sieci podsłuchiwać o odpowiadać na większą ilość zapytań to tylko podstawa dla innych ataków 17 Paweł Wiejacha Bezpieczniejsze DHT

Sybil attack - uwierzytelnianie węzłów Sybil attack - uwierzytelnianie węzłów centralna jednostka certyfikująca węzły wymagająca potwierdzenia fizycznej tożsamości lub pobierająca opłaty za potwierdzenie tożsamości tylko certyfikowane węzły mogą włączyć się do DHT 18 Paweł Wiejacha Bezpieczniejsze DHT

Sybil attack - uwierzytelnianie węzłów (2) Uwierzytelnianie węzłów - charakterystyka niewątpliwie skuteczne administracyjny narzut scentralizowanie problemy z anonimowością można podpisać cyfrowo przypisanie (ID IP) ale co z komputerami za NAT lub z dynamicznymi IP? 19 Paweł Wiejacha Bezpieczniejsze DHT

Sybil attack - rozproszona rejestracja (1) Sybil attack - rozproszona rejestracja myid = hashfun(myip, myport) registrationnode(j,ip) = hashfun(j, IP) rejestrujemy się u r węzłów registrationnode(1..r, myip) każdy registrationnode(,ip) pamięta kogo zarejestrował i odrzuca prośby o rejestracje, jeśli za dużo węzłów z tego samego IP potrzebujemy r 2 + 1 akceptacji od węzłów rejestrujących okresowo weryfikujemy węzły z tablic rutowania sprawdzając hasze i węzły rejestrujące 20 Paweł Wiejacha Bezpieczniejsze DHT

Sybil attack - rozproszona rejestracja (2) Rozproszona rejestracja - charakterystyka działa przy założeniu, że większość węzłów jest dobra eksperymenty pokazały, że działa przyzwoicie ponownie problemy z NATem co jeśli mamy do czynienia z botnetem? 21 Paweł Wiejacha Bezpieczniejsze DHT

Sybil attack - obliczeniowe zagadki (1) Sybil attack - obliczeniowe zagadki jeżeli jedna maszyna udaje wiele węzłów to zadając każdemu węzłowi problem NP zupełny eliminujemy nieuczciwe maszyny trzeba w rozproszony sposób weryfikować rozwiązania część rozwiązań bazuje na haszach ID i losowych liczb ale jest silnie powiązana z protokołem DHT 22 Paweł Wiejacha Bezpieczniejsze DHT

Sybil attack - hierarchiczne zagadki (1) Sybil attack - hierarchiczne zagadki korzeń (Bootstrap node) musi być zaufany i stabilny X - dołączający się węzeł ID(X) = hashfun(pubkey(x)) zagadka dla X: znajdź K (K = random(m)) znając H (H = hashfun(k + currenttime + pubkey(x)) X rozwiązuje zagadki idąc od liścia do korzenia 23 Paweł Wiejacha Bezpieczniejsze DHT

Sybil attack - hierarchiczne zagadki (2) Sybil attack - hierarchiczne zagadki gdy X rozwiąże zagadkę od Y, Y tworzy podpisany cyfrowo żeton X pokazuje żeton ojcu Y i rozwiązuje jego zagadkę X zostaje dołączy do drzewa zagadek po dłuższym czasie trzeba uwzględnić odłączanie się węzłów od sieci oraz uzależnić trudność zagadek od wielkości drzewa 24 Paweł Wiejacha Bezpieczniejsze DHT

Sybil attack - hierarchiczne zagadki (3) 25 Paweł Wiejacha Bezpieczniejsze DHT

Sybil attack - hierarchiczne zagadki (4) Sybil attack - hierarchiczne zagadki gdy atakujący ma węzeł w drzewie zagadek może dawać żetony za darmo da się to wykryć badając częstość przychodzących kandydatów od danego węzła gdy atakujący nie ma węzła w drzewie zagadek jest (tylko) spowolniony więc trzeba okresowo sprawdzać swoje dzieci zadając im zagadki 26 Paweł Wiejacha Bezpieczniejsze DHT

Sybil attack - hierarchiczne zagadki (5) Hierarchiczne zagadki - charakterystyka zabierają czas procesora uczciwym węzłom ciężko dobrać zagadki w zróżnicowanym środowisku centralizacja górne warstwy drzewa powinny być pewne 27 Paweł Wiejacha Bezpieczniejsze DHT

Sybil attack - fizyczna charakterystyka sieci (1) Sybil attack - fizyczna charakterystyka sieci grupujemy węzły ze względu na podsieć do której należą tę identyfikujemy poprzez mierzenie odległości od landmarków odległość mierzymy w sensie fizycznym (RTT) złośliwe węzły nie mogą udawać że są w innej podsieci a tej samej podsieci zadajemy zagadki 28 Paweł Wiejacha Bezpieczniejsze DHT

Sybil attack - fizyczna charakterystyka sieci (2) Fizyczna charakterystyka sieci - charakterystyka maszyny muszą rozwiązywać zagadki zmiana warunków w sieci spowoduje fałszywe pozytywy zmiana warunków sieci powoduje zmianę ID co z urządzeniami mobilnymi? i botnetami? 29 Paweł Wiejacha Bezpieczniejsze DHT

Sybil attack - Hop-count distance (1) Sybil attack - Hop-count distance przystosowany głównie do dużych sieci WiFi każdy węzeł ma klucz prywatny-publiczny odległosć między węzłami mierzymy w Hop-countach składa się z dwóch protokołów stwierdzania, czy węzeł jest fizycznym sąsiadem podpisywanego cyfrowo mierzenia odległości 30 Paweł Wiejacha Bezpieczniejsze DHT

Sybil attack - Hop-count distance (2) Hop-count distance - fizyczni sąsiedzi mają możliwość broadcastowania do siebie X wysyła do Y losowe bity B zakodowane kluczem publicznym X broadcastuje niezakodowana wiadomość M Y wysyła (M xor B) do X X wie, że jakiś fizyczny sąsiad ma dostęp do klucza prywatnego Y 31 Paweł Wiejacha Bezpieczniejsze DHT

Sybil attack - Hop-count distance (3) Hop-count distance - mierzenie odległości chcemy zmierzyć odległość między X i D nie chcemy by złośliwe węzły raportowały odległość mniejszą od faktycznej budujemy minimalne drzewo rozpinające każdy węzeł wysyła informacje o znanych mu najkrótszych ścieżkach fragmenty ścieżek są podpisywane cyfrowo fizyczni sąsiedzi potwierdzają cyfro ścieżki 32 Paweł Wiejacha Bezpieczniejsze DHT

Sybil attack - Hop-count distance (4) Hop-count distance - charakterystyka wydaje się być sensowne w sieciach WiFi ale jak zastosować to w zwykłych sieciach: każdy węzeł jest fizycznym sąsiadem wszystkich czy ograniczyć się do domeny broadcastowej? 33 Paweł Wiejacha Bezpieczniejsze DHT

Sybil attack - społeczne podejście Sybil attack - SybilGuard sieć społeczna: krawędzie - silna przyjaźń/więzi rodzinne przyjaciele wymieniają się offline kluczami symetrycznymi atakujący może być połączony z dowolnie dużą ilością złych węzłów ale nie może mieć zbyt wielu krawędzi do dobrych węzłów tzw. attack edges 34 Paweł Wiejacha Bezpieczniejsze DHT

SybilGuard - sieci społeczne 35 Paweł Wiejacha Bezpieczniejsze DHT

SybilGuard - sieci społeczne Sybil attack - SybilGuard SybilGuard dzieli węzły na grupy, tak że grup które zawierają choć jeden zły węzeł (Sybil group) jest nie więcej niż g - ilość attack edges niezależnie od ilości wirtualnych węzłów atakującego przy ustalonym globalnie w uczciwy węzeł zaakceptuje co najwyżej w węzłów z jednej Sybil grupy 36 Paweł Wiejacha Bezpieczniejsze DHT

SybilGuard - losowe ścieżki SybilGuard - losowe ścieżki każdy węzeł ma ustaloną losową permutację krawędzi bijekcję między krawędziami wejściowymi a wyjściowymi (e2, e3, e1) - wszystko co wejdzie przez e1 wyjdzie przez e2 jeśli dwie losowe ścieżki się przecinają w uczciwym węźle, to dalej idą razem mając daną krawędź wychodzącą, wiemy jaka jest krawędź wchodząca każdy węzeł X ma tyle losowych ścieżek co sąsiadów każda ma długość w każda wychodzi przez inną krawędź każda zaczyna się w X 37 Paweł Wiejacha Bezpieczniejsze DHT

SybilGuard - sieci społeczne SybilGuard - działanie ponieważ krawędzi atakujących jest mało to losowe ścieżki wychodzące z uczciwych grup raczej nie będą przechodziły przez węzły atakującego 38 Paweł Wiejacha Bezpieczniejsze DHT

SybilGuard - weryfikacja SybilGuard - weryfikacja Weryfikujący V sprawdza podejrzanego S czy jest uczciwy sprawdza czy przynajmniej połowa ścieżek V przecina się z jakąś ścieżką S jeśli tak jest to oboje są w tym samym rejonie więc jeśli V jest uczciwy, to S jest uczciwy 39 Paweł Wiejacha Bezpieczniejsze DHT

SybilGuard - weryfikacja 40 Paweł Wiejacha Bezpieczniejsze DHT

SybilGuard - Weryfikacja SybilGuard - Weryfikacja wszystkie złe węzły z jednej grupy muszą przejść przez attack edge by przeciąć się ze ścieżką V V może je utożsamić z jedną grupą (bo e1) jeśli jest g atakujących krawędzi, to V zaakceptuje g złych grup 41 Paweł Wiejacha Bezpieczniejsze DHT

SybilGuard - Weryfikacja SybilGuard - Weryfikacja może być conajwyżej w różnych losowych ścieżek które przecinają się w węźle n oraz wchodzą do n wzdłuż krawędzi e więc V zaakceptuje nie więcej niż w złych węzłów z jednej grupy 42 Paweł Wiejacha Bezpieczniejsze DHT

SybilGuard - Protokół Każdy węzeł trzyma: kluczy prywatny-publiczny klucz symetryczny z każdym przyjacielem tablicę rutowania (permutacja krawędzi) tablicę rejestracji tablicę świadków 43 Paweł Wiejacha Bezpieczniejsze DHT

SybilGuard - tablice rejestracji Tablica rejestracji dla krawędzi e dla X i-ty wpis w tabeli to klucz publiczny węzła y, dla którego e jest i-tą krawędzią na losowej ścieżce węzły rejestrują swoje ścieżki u węzłów ścieżki przekazując tablice krawędzi sąsiadom 44 Paweł Wiejacha Bezpieczniejsze DHT

SybilGuard - tablice rejestracji 45 Paweł Wiejacha Bezpieczniejsze DHT

Sybil attack - tablice świadków SybilGuard - tablice świadków analogicznie do tablicy rejestracji węzeł zapisuje, kto jest na jego losowych ścieżkach zapisujemy klucze publiczne lub ich hasze oraz IP by przyśpieszyć weryfikację 46 Paweł Wiejacha Bezpieczniejsze DHT

Sybil attack - Protokół SybilGuard - protokół weryfikacji S wysyła V tablicę świadków V szuka pierwszego przecięcia w X ścieżek S i V V pyta się X czy S jest w jego tablicach rejestrach X odpowiada V podpisując komunikaty swoim kluczem prywatnym połowa ścieżek ma się przeciąć 47 Paweł Wiejacha Bezpieczniejsze DHT

SybilGuard - Protokół SybilGuard - zatruwanie tablic nawet jeśli złe węzły będą wysyłały oszukane tablice to jedna atakująca krawędź zepsuje w + (w 1) +...1 = w 2 /2 tablic dobrych węzłów będzie g w2 2 z n d w popsutych tablic co daje mniej niż połowę 48 Paweł Wiejacha Bezpieczniejsze DHT

SybilGuard - Poprawność Twierdzenie 1 W każdej spójnej nie dwudzielnej sieci społecznej, losowa ścieżka o długości w startująca z uczciwego regionu przetnie jakąkolwiek z g krawędzi atakujących z prawdopodobieństwem mniejszym niż g w/n. W szczególności dla w = Θ( nlog(n)) i g = Θ( nlog(n)) prawdopodobieństwo jest o(1) 49 Paweł Wiejacha Bezpieczniejsze DHT

SybilGuard - Poprawność Twierdzenie 2 Niech w = nlog(n). Dla dowolnych X i Y w każdej spójnej nie dwudzielnej sieci społecznej, losowa ścieżka o długości w startująca z X przetnie się z jakąś losową ścieżką Y o długości w z prawdopodobieństwem większym niż 1 2. 50 Paweł Wiejacha Bezpieczniejsze DHT

SybilGuard - ustalanie w Jak dobrać w nie znając rozmiaru sieci? używając losowego błądzenia po sieci szacowań i rachunku prawdopodobieństwa 51 Paweł Wiejacha Bezpieczniejsze DHT

SybilGuard - wyniki (1) 52 Paweł Wiejacha Bezpieczniejsze DHT

SybilGuard - wyniki (2) 53 Paweł Wiejacha Bezpieczniejsze DHT

SybilGuard - ustalanie w Jak dobrać w nie znając rozmiaru sieci? używając losowego błądzenia po sieci szacowań i rachunku prawdopodobieństwa 54 Paweł Wiejacha Bezpieczniejsze DHT

SybilGuard - charakterystyka SybilGuard - charakterystyka bardzo skuteczne rozwiązanie wymaga istnienia silnych przyjaźni wymaga wymiany kluczy symetrycznych offline 55 Paweł Wiejacha Bezpieczniejsze DHT

Eclipse attack Eclipse attack - zasada działania jeżeli uczciwe węzły mają wystarczająco dużo złych sąsiadów to mogą zostać przyćmione przez złe węzły co może zepsuć niektóre protokoły bezpieczeństwa również może powstać w przypadku zatruwania tablic rutowania 56 Paweł Wiejacha Bezpieczniejsze DHT

Eclipse attack - przeciwdziałanie Eclipse attack - przeciwdziałanie ograniczenie od kogo przyjmujemy informacje o rutowaniu nadmiarowe tablice rutowania głosowanie przy ustalaniu ID wymuszany churn audyt stopni węzłów komunikowanie się tylko z sieciowo-bliskimi węzłami 57 Paweł Wiejacha Bezpieczniejsze DHT

Ataki typu routing i storage Ataki typu routing i storage rzeczywiste, szkodliwe ataki złośliwe węzły nie odpowiadają na zapytania wysyłają niewłaściwe dane nie rutują komunikatów rutują do złych węzłów (DDoS) 58 Paweł Wiejacha Bezpieczniejsze DHT

Ataki typu routing i storage - przeciwdziałanie Ataki typu routing i storage - przeciwdziałanie dwie tablice rutowania (zoptymalizowana i weryfikująca) równoległe zapytania po różnych klasach abstrakcji sieci certyfikowanie, że dane prefiksy ID istnieją dużo replik i zapasowych ścieżek specjalnie konstruowane ścieżki, grupowanie węzłów 59 Paweł Wiejacha Bezpieczniejsze DHT

Podsumowanie Podsumowanie - teoria a praktyka Teoria a praktyka najbardziej popularne DHT oparte są na Kademlii Kademlia niespecjalnie przejmuje się bezpieczeństwem dba o wydajność pozwala węzłom na wybór ID trzyma repliki ze względu na wydajność wykonuje szerokie rutowanie reszta raczej nie przejmuje się bezpieczeństwem 60 Paweł Wiejacha Bezpieczniejsze DHT

Podsumowanie Literatura Literatura A Survey of DHT Security Techniques, G. Urdaneta, G. Pierre and M. Van Steen Limiting Sybil Attacks in Structured Peer-to-Peer Networks SybilGuard: Defending Against Sybil Attacks via Social Networks Chord: A Scalable Peer-to-peer Lookup Protocol for Internet Applications Defending the Sybil Attack in P2P Networks: Taxonomy, Challenges, and a Proposal for Self-Registration 61 Paweł Wiejacha Bezpieczniejsze DHT

Podsumowanie Pytania? Pytania? 62 Paweł Wiejacha Bezpieczniejsze DHT