Traffic Analysis w Tor: jak analizować zaszyfrowany ruch i gdzie kończy się anonimowość
Cyberbezpieczeństwo Hacking

Traffic Analysis w Tor: jak analizować zaszyfrowany ruch i gdzie kończy się anonimowość

Spis treści

Traffic Analysis w Tor: jak analizować zaszyfrowany ruch i gdzie kończy się anonimowość

Szyfrowanie ruchu nie oznacza, że ruch staje się całkowicie niewidoczny.

To jedna z najważniejszych zasad współczesnego bezpieczeństwa sieciowego.

W przypadku sieci Tor sytuacja jest jeszcze ciekawsza. Treść komunikacji jest chroniona, trasa jest rozdzielana pomiędzy kolejne przekaźniki, a pojedynczy węzeł nie powinien posiadać pełnego obrazu połączenia. Mimo tego obserwator może nadal analizować metadane transmisji.

Może interesować go między innymi:

  • kiedy rozpoczyna się transmisja,
  • jak długo trwa,
  • ile danych jest przesyłanych,
  • w jakich odstępach pojawiają się pakiety,
  • jaki jest kierunek ruchu,
  • jak zmienia się intensywność transmisji.

To właśnie obszar Traffic Analysis.

Na Netbe podstawy architektury opisuje artykuł Jak działa sieć Tor? – anonimowość, routing cebulowy i zagrożenia. Tutaj skupimy się na znacznie bardziej zaawansowanym problemie: czy można wyciągnąć informacje z zaszyfrowanego ruchu bez odczytywania jego treści?


Szyfrowanie nie ukrywa wszystkiego

Załóżmy, że użytkownik korzysta z Tora.

Obserwator nie powinien zobaczyć:

Użytkownik → konkretna-strona.example

Może jednak zobaczyć coś w rodzaju:

11:41:03   12 KB
11:41:04   47 KB
11:41:05   8 KB
11:41:06   91 KB
11:41:07   14 KB

Nie zna treści.

Ale zna charakterystykę transmisji.

I właśnie ta informacja może być interesująca.


Czym dokładnie jest Traffic Analysis?

Traffic Analysis to analiza właściwości ruchu sieciowego w celu wyciągnięcia informacji, które nie wymagają odszyfrowania samej komunikacji.

Analizowane mogą być:

  • timing,
  • rozmiary transmisji,
  • kierunek ruchu,
  • częstotliwość pakietów,
  • długość sesji,
  • bursty danych,
  • przerwy między transmisjami,
  • charakterystyczne wzorce komunikacji.

Można więc mieć:

Encrypted Content
+
Visible Traffic Metadata

i nadal uzyskać informacje o zachowaniu komunikacji.


Dlaczego Tor nie może po prostu ukryć całego ruchu?

Ponieważ sieć musi działać.

Pakiety muszą zostać:

  • przesłane,
  • buforowane,
  • przekazane dalej,
  • dostarczone do następnego węzła.

Gdyby Tor całkowicie eliminował wszystkie różnice czasowe i wszystkie charakterystyki transmisji, musiałby wprowadzić ogromne ilości dodatkowego ruchu, opóźnień i paddingu.

Powstałby problem:

Więcej ochrony
        ↓
Więcej paddingu
        ↓
Więcej danych
        ↓
Większe opóźnienia
        ↓
Gorsza użyteczność

Dlatego systemy anonimowości zawsze muszą balansować pomiędzy:

anonimowością, wydajnością i użytecznością.


Timing Analysis – kiedy wysłano dane?

Jedną z najważniejszych technik jest analiza czasu.

Wyobraźmy sobie:

A: 100 ms → 200 ms → 300 ms → 450 ms

i drugi strumień:

B: 105 ms → 205 ms → 305 ms → 455 ms

Jeżeli obserwator ma dostęp do odpowiednich punktów sieci, może sprawdzać podobieństwo takich wzorców.

Nie musi znać zawartości.

Interesuje go czas.


Traffic Correlation Attack

Traffic correlation jest jednym z najważniejszych problemów dla sieci anonimowych.

Atakujący próbuje obserwować ruch:

WEJŚCIE
   ↓
Tor Network
   ↓
WYJŚCIE

Następnie porównuje charakterystykę transmisji po obu stronach.

Przykładowo:

Ingress:
████  ██  ███████  ███

Egress:
████  ██  ███████  ███

Jeżeli wzorce są wystarczająco podobne, może pojawić się możliwość korelacji.

Netbe opisuje ten problem również w artykule Czy Tor jest naprawdę anonimowy?.


Nie trzeba kontrolować całej sieci Tor

To ważne.

Atak korelacyjny nie musi oznaczać:

„Atakujący przejął Tor.”

Wystarczy odpowiedni poziom obserwacji.

Jeżeli przeciwnik może obserwować ruch w odpowiednich punktach infrastruktury, może próbować porównywać:

źródło ruchu
        +
charakterystyka transmisji
        +
punkt docelowy

To zupełnie inny model zagrożenia niż klasyczne przejęcie serwera.


Global Observer

Najbardziej interesującym przeciwnikiem jest tzw. global observer.

To model atakującego posiadającego bardzo szeroki zakres obserwacji infrastruktury sieciowej.

Nie musi znać treści.

Może zbierać:

  • czas,
  • wolumen,
  • kierunek,
  • wzorce transmisji.

Następnie może próbować korelować ogromne ilości danych.

Problem polega na skali.

Im więcej punktów obserwacyjnych posiada przeciwnik, tym więcej potencjalnych zależności może analizować.


Dlaczego pojedynczy relay nie wystarcza?

Architektura Tora została zaprojektowana właśnie po to, aby pojedynczy relay nie posiadał pełnego obrazu.

W uproszczeniu:

Entry Guard
    ↓
Middle Relay
    ↓
Exit Relay

Entry Guard zna użytkownika, ale nie powinien znać celu.

Exit zna cel klasycznego połączenia, ale nie powinien znać bezpośredniego IP użytkownika.

Middle Relay znajduje się pomiędzy nimi.

Podstawy tego mechanizmu opisuje Jak działa routing cebulowy (onion routing).

Problem pojawia się wtedy, gdy przeciwnik uzyskuje informacje z więcej niż jednego miejsca.


Traffic Analysis nie musi odszyfrowywać pakietów

To fundamentalna różnica.

Klasyczny atak na szyfrowanie może próbować odpowiedzieć:

„Co znajduje się w tym pakiecie?”

Traffic Analysis może pytać:

„Do jakiego rodzaju komunikacji ten pakiet należy?”

To dwie zupełnie różne klasy analizy.

Można więc mieć:

Payload:
████████████████
Nieczytelny

Metadata:
Timestamp
Size
Direction
Duration

i to właśnie druga część może być analizowana.


Fingerprinting ruchu

Jeszcze ciekawszym problemem jest traffic fingerprinting.

Niektóre aplikacje i strony generują charakterystyczne wzorce ruchu.

Przykładowo strona może powodować:

Request
↓
HTML
↓
CSS
↓
JavaScript
↓
Images
↓
Additional Requests

Każdy etap generuje określoną charakterystykę transmisji.

Jeżeli wzorzec jest wystarczająco stabilny, można próbować stworzyć jego fingerprint.


Website Fingerprinting

Website Fingerprinting to technika polegająca na próbie określenia odwiedzanej strony na podstawie charakterystyki ruchu.

Nie trzeba widzieć:

example.com

Można próbować rozpoznać:

Site A → Pattern X
Site B → Pattern Y
Site C → Pattern Z

a następnie porównać obserwowany ruch z wcześniej zebranymi wzorcami.


Machine Learning zmienia skalę analizy

W prostym modelu analityk może ręcznie porównywać wzorce.

W bardziej zaawansowanym modelu można wykorzystać machine learning.

Model otrzymuje cechy ruchu:

Packet timing
Packet size
Direction
Burst length
Session duration

i próbuje przypisać transmisję do określonej klasy.

Schemat może wyglądać tak:

Captured Traffic
      ↓
Feature Extraction
      ↓
ML Model
      ↓
Classification

Nie oznacza to automatycznie skutecznej identyfikacji.

Jakość modelu zależy od danych treningowych, warunków sieciowych i wielu innych czynników.


Problem zmienności sieci

Traffic Analysis nie jest prosty właśnie dlatego, że sieci są dynamiczne.

Na wzorzec wpływają:

  • opóźnienia,
  • przeciążenie,
  • routing,
  • liczba żądań,
  • cache,
  • wersja strony,
  • urządzenie,
  • szybkość połączenia.

Ten sam użytkownik może wygenerować różne profile ruchu w różnych momentach.

Dlatego analiza statystyczna musi uwzględniać niepewność.


Padding i obfuskacja

Jedną z metod utrudniania analizy jest dodawanie dodatkowych danych lub zmiana charakterystyki transmisji.

Celem jest stworzenie sytuacji:

Real Traffic
      ↓
Padding / Obfuscation
      ↓
Less Predictable Pattern

Netbe opisuje ten obszar w Jak działa ukrywanie metadanych w ruchu sieciowym – traffic obfuscation.


Dlaczego padding kosztuje?

Dodatkowe dane oznaczają dodatkowy ruch.

Jeżeli system przesyła:

100 MB real data

i dodaje:

50 MB padding

otrzymujemy:

150 MB total traffic

Większy padding może zwiększać ochronę przed określonymi analizami, ale jednocześnie zwiększa koszt transmisji.


Opóźnienia również mogą pomagać

Można próbować wprowadzać opóźnienia:

Packet A
   ↓
Delay
   ↓
Packet B
   ↓
Delay
   ↓
Packet C

Wtedy timing staje się mniej przewidywalny.

Ale ponownie pojawia się kompromis:

More Delay
   ↓
Harder Correlation
   ↓
Slower Communication

Użytkownik chce natomiast odwrotności:

Low Latency
High Throughput

Dlaczego Tor nie może „spowolnić wszystkiego”?

Bo Tor jest używany nie tylko do prostego przeglądania stron.

Sieć musi obsługiwać różne rodzaje komunikacji.

Zbyt agresywna obfuskacja oznaczałaby:

  • większe opóźnienia,
  • większe zużycie przepustowości,
  • gorsze doświadczenie użytkownika,
  • mniejszą skalowalność.

Dlatego anonimowość w praktyce zawsze jest kompromisem.


Ruch do Onion Services jest jeszcze ciekawszy

W przypadku klasycznego Internetu Tor może korzystać z exit node.

W przypadku .onion sytuacja wygląda inaczej.

Komunikacja pozostaje wewnątrz infrastruktury Tor.

Netbe szczegółowo opisuje ten model w Jak działa mechanizm Onion Services od strony technicznej.

To oznacza, że analiza ruchu musi uwzględniać zupełnie inną topologię.


Rendezvous Point

W Onion Services klient i usługa wykorzystują mechanizm rendezvous.

W uproszczeniu:

Client
  ↓
Tor Circuit
  ↓
Rendezvous Point
  ↑
Tor Circuit
  ↑
Onion Service

Punkt spotkania nie powinien znać pełnej tożsamości obu stron.

Ale z perspektywy Traffic Analysis nadal interesująca może być charakterystyka całej komunikacji.


Korelacja czasowa w Onion Services

Jeżeli przeciwnik posiada szeroki zakres obserwacji, może próbować badać:

Client-side traffic
        ↕
Service-side traffic

i szukać podobieństw.

To nie jest prosty proces.

Wymaga odpowiednich danych i możliwości obserwacyjnych.

Ale właśnie dlatego traffic correlation pozostaje jednym z ważnych modeli zagrożeń dla sieci anonimowych.


Entry Guards i stabilność ścieżki

Tor nie wybiera całkowicie przypadkowego pierwszego węzła przy każdym połączeniu.

Mechanizm Entry Guards ma znaczenie zarówno dla bezpieczeństwa, jak i odporności na określone ataki.

Netbe omawia również wybór węzłów w artykule Jak działa routing losowy i czy naprawdę zwiększa anonimowość.

W systemach anonimowych „więcej losowości” nie zawsze oznacza automatycznie „więcej bezpieczeństwa”.


Dlaczego losowość nie rozwiązuje Traffic Analysis?

Załóżmy, że trasa jest:

A → B → C

a następnie:

D → E → F

Sama zmiana przekaźników nie eliminuje informacji o:

  • czasie transmisji,
  • wolumenie,
  • długości sesji,
  • kierunku ruchu.

Jeżeli przeciwnik obserwuje odpowiednie punkty, może nadal szukać korelacji.


Czas jest często ważniejszy niż treść

To bardzo ciekawa właściwość analizy ruchu.

Wyobraźmy sobie:

User A:
09:14:01
09:14:02
09:14:03
09:14:05

i:

Destination:
09:14:01
09:14:02
09:14:03
09:14:05

Jeżeli podobieństwo jest statystycznie istotne, timing może dostarczyć informacji nawet wtedy, gdy wszystkie dane są zaszyfrowane.


Wolumen również zdradza informacje

Niektóre operacje powodują duży transfer:

Small request
     ↓
Large response

Inne:

Small request
     ↓
Small response

Jeszcze inne generują serię wielu małych transmisji.

Można więc analizować:

Total bytes
Bytes per burst
Burst frequency
Upload/download ratio

Directionality

Istotny jest również kierunek.

Na przykład:

↑ ↑ ↓ ↓ ↓ ↓

może oznaczać zupełnie inny rodzaj komunikacji niż:

↑ ↓ ↑ ↓ ↑ ↓

Nawet jeśli treść obu transmisji pozostaje całkowicie nieczytelna.


Session Duration

Długość sesji również jest cechą.

Przykładowo:

10 seconds

może reprezentować prostą operację.

Natomiast:

3 hours

może sugerować długotrwałą komunikację.

Sama długość nie pozwala oczywiście stwierdzić, co dokładnie robi użytkownik.

Może jednak być kolejnym elementem modelu klasyfikacyjnego.


Metadata + metadata + metadata

Pojedynczy sygnał może być niewiele wart.

Ale wiele słabych sygnałów może stworzyć mocny profil.

Timing
+
Volume
+
Direction
+
Duration
+
Fingerprint
=
Traffic Profile

To jedna z najważniejszych zasad analizy ruchu.

 

Traffic Analysis w Tor: jak analizować zaszyfrowany ruch i gdzie kończy się anonimowość
Traffic Analysis w Tor: jak analizować zaszyfrowany ruch i gdzie kończy się anonimowość

Korelacja nie musi oznaczać identyfikacji człowieka

To bardzo ważne rozróżnienie.

Traffic Analysis może najpierw odpowiedzieć:

„Te dwa strumienie prawdopodobnie pochodzą z tej samej aktywności.”

Dopiero kolejne źródła informacji mogą odpowiedzieć:

„Ta aktywność prawdopodobnie należy do konkretnego użytkownika.”

Czyli:

Traffic Correlation
        ↓
Activity Link
        ↓
Additional Intelligence
        ↓
Identity Attribution

To już znacznie bardziej złożony proces.


OSINT może uzupełnić brakujące elementy

Jeżeli analiza ruchu pozwoli powiązać aktywność z określonym pseudonimem, kolejnym krokiem może być analiza informacji publicznie dostępnych.

Netbe opisuje tę dziedzinę w materiałach dotyczących OSINT i zbierania informacji z publicznie dostępnych źródeł.

W praktyce można więc zobaczyć model:

Traffic Analysis
       ↓
Behavioral Pattern
       ↓
Alias
       ↓
OSINT
       ↓
Potential Attribution

To pokazuje, że anonimowość jest właściwością całego ekosystemu, a nie tylko jednego protokołu.


Endpoint może zniszczyć całą ochronę

Najbardziej zaawansowana analiza ruchu może być zupełnie niepotrzebna, jeżeli urządzenie użytkownika jest zainfekowane.

Przykład:

Compromised Endpoint
       ↓
Information Collection
       ↓
Tor Browser
       ↓
Tor Network

Jeżeli dane zostaną pobrane lokalnie, anonimowość sieciowa nie rozwiąże problemu.

Dlatego Tor powinien być analizowany razem z bezpieczeństwem systemu operacyjnego i endpointu.


Fingerprinting przeglądarki i Traffic Analysis mogą się uzupełniać

To dwa różne poziomy analizy.

Browser Fingerprinting

Analizuje właściwości klienta.

Traffic Analysis

Analizuje charakterystykę transmisji.

Razem mogą tworzyć:

Client Fingerprint
+
Traffic Fingerprint
=
Stronger Profile

Netbe opisuje problem fingerprintingu w Jak przeglądarka Tor chroni przed fingerprintingiem i gdzie są jej granice.


Czy Traffic Analysis działa zawsze?

Nie.

To nie jest magiczna metoda identyfikacji.

Skuteczność zależy od:

  • jakości danych,
  • zakresu obserwacji,
  • czasu obserwacji,
  • rodzaju ruchu,
  • stabilności wzorca,
  • poziomu zakłóceń,
  • zastosowanych mechanizmów ochronnych.

Dlatego prawidłowe pytanie brzmi:

„Jaki model obserwatora zakładamy?”


Threat Model ma kluczowe znaczenie

Dla zwykłego użytkownika przeciwnikiem może być:

ISP

Dla większej organizacji:

Corporate Monitoring

Dla badacza:

Targeted Adversary

Dla bardzo silnego przeciwnika:

Large-Scale Observer

Każdy z tych modeli ma inne możliwości.


Tor nie obiecuje ochrony przed każdym przeciwnikiem

To ważne, ponieważ marketingowe hasło:

„Tor zapewnia pełną anonimowość”

jest zbyt szerokie.

Lepsze stwierdzenie brzmi:

Tor został zaprojektowany tak, aby utrudnić powiązanie źródła komunikacji z jej celem w określonym modelu zagrożeń.

To znacznie bardziej precyzyjne.


Co można zrobić defensywnie?

Z perspektywy administratora warto rozumieć Traffic Analysis również po to, aby wiedzieć, jakie informacje mogą wyciekać z własnej infrastruktury.

Można analizować:

  • nietypowe wzorce ruchu,
  • anomalie czasowe,
  • długotrwałe sesje,
  • nieoczekiwane połączenia,
  • charakterystyczne bursty,
  • nietypowe proporcje upload/download.

To już obszar klasycznego network monitoring.


Network telemetry jest kluczowa

Bez danych historycznych trudno mówić o analizie anomalii.

Przydatne mogą być:

Flow records
DNS telemetry
Firewall logs
Proxy logs
Endpoint telemetry
Network sensors

Następnie można budować baseline:

Normal Traffic
       ↓
Baseline
       ↓
Deviation
       ↓
Investigation

Traffic Analysis a threat intelligence

Traffic Analysis może być również elementem większego systemu Threat Intelligence.

Na przykład:

External Threat
       ↓
Known Infrastructure
       ↓
Network Traffic
       ↓
Correlation
       ↓
Security Alert

Wtedy informacja o zagrożeniu nie pozostaje tylko wpisem w bazie.

Zaczyna wpływać na detekcję.


Dlaczego ten temat będzie coraz ważniejszy?

Szyfrowanie staje się standardem.

Coraz więcej komunikacji wykorzystuje:

  • HTTPS,
  • TLS,
  • QUIC,
  • szyfrowane DNS,
  • komunikatory szyfrowane end-to-end.

To oznacza, że klasyczna inspekcja treści jest coraz trudniejsza.

W efekcie rośnie znaczenie:

metadata analysis.


Paradoks nowoczesnego Internetu

Im więcej szyfrowania:

Less Visible Content

tym większe znaczenie mogą mieć:

Metadata
Timing
Behavior
Patterns

To nie oznacza, że szyfrowanie jest nieskuteczne.

Wręcz przeciwnie.

Oznacza to, że przeciwnicy przesuwają się na wyższy poziom analizy.


Czy można całkowicie wyeliminować Traffic Analysis?

W praktyce byłoby to niezwykle trudne bez ogromnego kosztu.

Aby całkowicie ujednolicić ruch, należałoby bardzo agresywnie kontrolować:

  • rozmiary transmisji,
  • timing,
  • padding,
  • częstotliwość,
  • opóźnienia,
  • długość sesji.

To prowadziłoby do:

Maximum Obfuscation
        ↓
Maximum Overhead
        ↓
Poor Usability

Dlatego projektanci systemów anonimowych szukają kompromisu.


Najważniejsza granica anonimowości

Najważniejsza rzecz nie brzmi:

„Czy ktoś może zobaczyć mój ruch?”

Lepsze pytanie brzmi:

„Czy obserwator może połączyć informacje widoczne po obu stronach komunikacji?”

To właśnie sedno Traffic Correlation.


Podsumowanie

Traffic Analysis pokazuje, dlaczego szyfrowanie i anonimowość nie są tym samym.

Tor bardzo skutecznie rozdziela informacje pomiędzy kolejne elementy swojej architektury. Routing cebulowy ogranicza wiedzę pojedynczego przekaźnika, a Onion Services pozwalają dodatkowo ukryć infrastrukturę serwera.

Problem pojawia się na poziomie metadanych transmisji.

Obserwator może analizować:

  • timing,
  • wolumen,
  • kierunek,
  • długość sesji,
  • bursty,
  • fingerprint ruchu.

Następnie może próbować wykorzystać traffic correlation do powiązania dwóch obserwowanych strumieni.

Jeszcze bardziej zaawansowane scenariusze mogą łączyć:

Traffic Analysis
+
Browser Fingerprinting
+
Behavior
+
OSINT
+
Endpoint Intelligence

i dopiero wtedy próbować przypisać aktywność konkretnemu użytkownikowi.

Dlatego Tor nie powinien być traktowany jako magiczna „peleryna niewidzialności”.

To przede wszystkim system ograniczający ilość informacji dostępnych pojedynczemu obserwatorowi.

A granice anonimowości zaczynają się tam, gdzie przeciwnik może obserwować wystarczająco dużo punktów, posiada odpowiednią ilość danych i potrafi je ze sobą skorelować.

Powiązane materiały na Netbe

 

Polecane wpisy
Luki w systemie plików F2FS i EXT4 na Androidzie: Czy dane na urządzeniu są bezpieczne?
Luki w systemie plików F2FS i EXT4 na Androidzie: Czy dane na urządzeniu są bezpieczne?

🧩 Luki w systemie plików F2FS i EXT4 na Androidzie: Czy dane na urządzeniu są bezpieczne? 📌 Wprowadzenie Współczesne urządzenia Czytaj dalej

Wykorzystanie Luk w Sterownikach Urządzeń Androida: Wyzwania i Możliwości w Hacking
Wykorzystanie Luk w Sterownikach Urządzeń Androida: Wyzwania i Możliwości w Hacking

🛠️ Wykorzystanie Luk w Sterownikach Urządzeń Androida: Wyzwania i Możliwości w Hacking Hacking systemów Android staje się coraz bardziej złożony, Czytaj dalej

Marek "Netbe" Lampart Inżynier informatyki Marek Lampart to doświadczony inżynier informatyki z ponad 25-letnim stażem w zawodzie. Specjalizuje się w systemach Windows i Linux, bezpieczeństwie IT, cyberbezpieczeństwie, administracji serwerami oraz diagnostyce i optymalizacji systemów. Na netbe.pl publikuje praktyczne poradniki, analizy i instrukcje krok po kroku, pomagając administratorom, specjalistom IT oraz zaawansowanym użytkownikom rozwiązywać realne problemy techniczne.