Ataki korelacyjne na użytkowników sieci Tor i ich rzeczywista skuteczność

dodał 15 listopada 2014 o 22:53 w kategorii Krypto, Prywatność  z tagami:
Ataki korelacyjne na użytkowników sieci Tor i ich rzeczywista skuteczność

W sieci pojawiły się artykuły mówiące o deanonimizacji użytkowników sieci Tor ze skutecznością 81% tylko na podstawie analizy czasowej i ilościowej fragmentów ruchu internetowego. Przyjrzyjmy się zatem przeprowadzonym badaniom i ich wynikom.

Kilka dni temu w serwisie The Stack ukazał się artykuł opisujący pracę naukową z sierpnia 2013 roku, której autor eksperymentalnie potwierdził możliwość identyfikacji użytkowników sieci Tor ze skutecznością 81% w rzeczywistych warunkach oraz ze skutecznością 100% w warunkach laboratoryjnych. Ze zrozumiałych względów artykuł wzbudził duży niepokój wśród użytkowników Tora. Trzeba jednak podkreślić, że liczby te tylko z pozoru są niepokojące, ponieważ warunki eksperymentu były dość wyśrubowane a w świecie rzeczywistym mogły być zgoła inne.

 Ataki korelacyjne nie są niczym nowym

Sieć Tor nigdy nie była projektowana jako odporna na ataki korelacyjne. Aby zapewnić jej użytkownikom możliwość płynnego przeglądania stron WWW lub prowadzenia rozmów w czasie rzeczywistym niezbędne jest zachowanie naturalnie występujących przerw w transmisji pakietów. Analogiczne ataki nie są możliwe np. w przypadku usług remailerów (chociażby Mixmastera), które z założenia oferują usługę, której realizację mogą losowo opóźnić, by uniemożliwić kojarzenie wiadomości wchodzących i wychodzących. Nie może tego robić sieć Tor, bo pewnie nikt (lub prawie nikt) nie chciałby korzystać z jej usług.

Aby móc przeprowadzać ataki korelacyjne trzeba mieć możliwość kontroli ruchu internetowego w co najmniej jednym (a najlepiej wielu) punktach połączenia w sieci Tor. Idealnym scenariuszem jest kontrolowanie węzła wejściowego, wyjściowego oraz serwera docelowego. Czy to możliwe w realistycznym scenariuszu ataku? Jak się okazuje nie jest to całkiem nieprawdopodobne i nie trzeba być NSA, by móc przeprowadzić taki atak. Pierwsze badania udowodniły, ze wystarczy możliwość monitorowania kilku światowych węzłów wymiany ruchu, jednak nowsze prace wskazują, że już jeden większy dostawca internetu byłby w stanie monitorować nawet 39% ścieżek tworzonych losowo w sieci Tor.

Nie da się jednak ukryć, ze monitorowanie takich ilości ruchu wymaga ogromnych mocy przerobowych – analiza pakietów pożera duże zasoby. Naukowcy postanowili się zatem przyjrzeć prostszej i bardziej realnej metodzie. Zamiast zaglądać w każdy pakiet postanowili skorzystać z logów NetFlow, protokołu opracowanego przez Cisco, który rejestruje podstawowe parametry poszczególnych pakietów (czas, IP/port źródła i przeznaczenia, liczbę pakietów oraz ich rozmiar). Czy zatem dane z NetFlow wystarczą, by zidentyfikować użytkownika sieci Tor?

Scenariusz ataku

Eksperyment przeprowadzony bezpośrednio w sieci Tor wyglądał następująco. Kilku użytkowników sieci Tor z różnych lokalizacji łączyło się z wybranym węzłem wejściowym sieci, z którego korzystało ponad 1000 użytkowników nie biorących udziału w eksperymencie. Użytkownicy „eksperymentalni” łączyli się przez Tora z serwerem kontrolowanym przez naukowców i pobierali z niego duży plik (ok. 100MB). Serwer wysyłał plik, modulując istotnie prędkość pobierania. W stałych odstępach zmieniał przepustowość łącza między 2 Mbit/s a 30kbit/s. Pobieranie pliku trwało co najmniej 6 minut. Następnie naukowcy sprawdzili poziom korelacji wzorca ruchu zapisanego w NetFlow po stronie serwera oraz po stronie węzła wejściowego sieci. Z 1000 użytkowników nie pobierających pliku najbliższy osiągnięty poziom korelacji wynosił 0.17, podczas kiedy u użytkowników pobierających plik najwyższy współczynnik korelacji wyniósł 0.83.  Oprócz wzorca ruchu 2Mbit/30kbit testowano także wzorzec bardziej skomplikowany, gdzie prędkość pobierania zmieniała się w krokach 1Mbit – 50kbit – 300kbit – 100kbit co 20 sekund.

Schemat scenariusza ataku

Schemat scenariusza ataku

Testy powtórzono wiele razy z kilku różnych lokalizacji użytkowników. Okazało się, że średni poziom współczynnika korelacji dla poszukiwanych użytkowników waha się pomiędzy 0.31 a 0.55, podczas kiedy dla użytkowników „niewinnych” wynosił on w zależności od lokalizacji od 0.07 do 0.19. W testach było także kilka przypadków, kiedy użytkownik niewinny miał wyższy współczynnik korelacji niż poszukiwany. Wiąże się to z faktem wprowadzania niekontrolowanych opóźnień na innych etapach przesyłu ruchu w sieci Tor (w węzłach pośrednich).

Osiągane poziomy współczynników korelacji

Osiągane poziomy współczynników korelacji

Warto także zaznaczyć, że powyższe wyniki osiągnięto badając ruch za pomocą narzędzi open source, implementujących protokół NetFlow. Kiedy naukowcy postanowili odczytać wartość z samego rutera Cisco, okazało się, że w samym urządzeniu zliczanie pakietów odbywa się w sposób mniej deterministyczny (zależy m.in. od obciążenia urządzenia), przez co osiągane poziomy współczynników korelacji były nieco gorsze. W kolejnym kroku urealniania scenariusza ataku dodano kolejny węzeł wejściowy sieci Tor i kolejnych ok. 600 klientów, dzięki czemu wartości spadły jeszcze bardziej.

To da się, czy się nie da?

Podsumowując wyniki opisanych eksperymentów możemy stwierdzić, że skuteczna deanonimizacja użytkowników sieci Tor na podstawie wzorców ruchu to trudne zadanie a jego implementacja wymaga wielu nakładów i nie gwarantuje sukcesu. Jak wspomina sam autor badania, magiczne „81%” to nie szansa deanonimizacji użytkownika w sieci, a procent sukcesu w ograniczonej liczbie przeprowadzonych eksperymentów, gdzie atakujący wiedział, z którego węzła korzysta poszukiwany. W realnym ataku trzeba spełnić szereg warunków:

  • trzeba kontrolować ruch węzła wejściowego poszukiwanego użytkownika
  • trzeba nakłonić użytkownika do pobrania dużego pliku z kontrolowanego serwera
  • trzeba manipulować przepustowością pobierania tego serwera
  • brak mozliwości wyeliminowania wpływu innych węzłów sieci między węzłem wejściowym a serwerem docelowym
  • w wynikach eksperymentów błąd pierwszego rodzaju (wykrycie „niewinnego” jako „poszukiwanego”) wyniósł 6%, co oznacza, że monitorując np. 10 000 użytkowników sieci Tor w poszukiwaniu „tego jednego” można dostać średnio 600 błędnych wskazań.

To, że takie zagrożenie istnieje, wiadomo było od początku istnienia sieci Tor. Powyższe badanie w praktyczny sposób przybliża skalę ryzyka przeprowadzenia tego rodzaju ataku. W naszej ocenie jego przeprowadzenie choć możliwe, jest jednak mało prawdopodobne.

Dalsza lektura: