Zacznę od anegdotki związanej z zabawą weselną, w jakiej brałem kiedyś udział.

Staliśmy w męskim kółku i podawaliśmy sobie z rąk do rąk pudełka – do momentu, aż muzyka przestanie grać. W jednym z nich była muszka pana młodego. Reszta była pusta. Kto zostanie z muszką, ten ponoć się hajtnie jako następny.

Teoretycznie każdy miał równe szanse. Ale paru spryciarzy szybko odkryło, w którym pudełku jest muszka. Wystarczyło mocniej potrząsnąć i dało się usłyszeć, jak obija się o wnętrze pudła. Losowość prysła.

Podobnie jest z danymi wysyłanymi przez internet. Jak pobierane przez kogoś filmy, odwiedzane strony… Nawet jeśli z zewnątrz są zaszyfrowane – jak zamknięte pudełka – można na parę sposobów odgadnąć, czym są. Analizując ilość pakietów, pochodzenie, rozmiar, czas wysłania.

Mechaniczne oko spogląda na taśmociąg, którym jadą metalowe pudła w różnych rozmiarach z różowymi sercami na ściankach

Źródło: Bing Create. Zdołałem stworzyć kilkanaście obrazków, nim dostałem losowego bana.

To obszerne zagadnienie, które można nazwać ogólnie analizą ruchu sieciowego (ang. traffic analysis). Pokażę tu pobieżnie jej potęgę, a także sposoby, w jakie można się przed nią chronić.

Zapraszam, będzie przystępnie!

Uwaga

Ten wpis skupia się na przypadku, gdy przeciwnik jest bierny i jedynie analizuje przelatujące dane.
Ale jeśli oprócz tego wykaże własną inicjatywę i odwiedzi te same miejsca co my, to może wykonać profilowanie stron (ang. website fingerprinting). Tej kwestii poświęcę kolejny wpis.

Spis treści

Profil przeciwnika

Od pewnego czasu wyróżniam w serii „Internetowa inwigilacja” różne rodzaje przeciwników, żeby lepiej porządkować informacje.

Pierwszy z nich to firmy reklamowe, których produkty goszczą na współpracujących z nimi stronach internetowych. Widzą komplet interakcji ze stroną, ale ich wzrok nie sięga zwykle poza nią. Nie każda firma reklamowa ma możliwości Google’a.

W przypadku analizy ruchu przeciwnik należy do drugiej kategorii – właścicieli infrastruktury.

To odpowiednicy listonoszy i firm kurierskich w fizycznym świecie. Zwykle nie mogą „czytać zaplombowanych listów” (dzięki powszechnemu szyfrowaniu). Widzą natomiast ogólniejsze metadane, nazwy odbiorców.
Ich inwigilacja jest płytsza, ale szersza. Bo widzą nazwy wszystkich serwisów, z jakimi użytkownik wchodzi w interakcje.

To dość zróżnicowana kategoria przeciwników, do której może należeć:

  • firma telekomunikacyjna (Play, Orange…),
  • właściciel publicznego hotspota (jak sieć uczelniana),
  • złośliwy współlokator (albo współlokatorka!) z dostępem do wspólnego routera,
  • właściciel VPN-a, jeśli z jakiegoś korzystamy.

Możliwości jest wiele. Odpuszczam rzeczy bardziej abstrakcyjne, jak szpiega przyssanego prosto do światłowodu, którym lecą dane. Tradycyjnie trzymam się spraw goblińskich, a nie smoczych :wink:

Motywacje przeciwników mogą być najróżniejsze. Więksi operatorzy mogą przykładowo współpracować z firmami zewnętrznymi i sprzedawać im dane użytkowników na większą skalę, jak to ma miejsce w USA.

Inny, bardziej stalkerski wariant? Być może jakiemuś właścicielowi knajpy wpadła w oko klientka, która siadła z laptopem w rogu.
Jest niemała szansa, że podłączyła się do hotspota. Więc właściciel jakiś czas po jej wyjściu bierze router i zerka w historię, licząc na poznanie jakichś informacji.

Co można podejrzeć

W najgorszym przypadku, gdy odwiedza się strony rozpoczynające się od http:// (bez s na końcu), podglądacz widzi wszystkie informacje wymieniane z inną stroną. Zarówno swoistą „wizytówkę użytkownika” (nagłówki HTTP), jak i pełną treść wiadomości, wysyłane hasła i tak dalej.

Ciekawostka

Co więcej, podglądacz może również modyfikować takie nieszyfrowane informacje. W 2014 roku jeden z największych operatorów telekomunikacyjnych w USA, Verizon, dodawał do nich identyfikator pozwalający reklamodawcom rozpoznawać ludzi.

Ale to przykład dość skrajny. Obecnie większość stron z automatu szyfruje komunikację, zwłaszcza te większe. Jeśli adres strony zaczyna się od https://, to dane są zaszyfrowane, niemożliwe do odczytania i zmodyfikowania przez zewnętrzne podmioty. Również w tym wpisie zakładam, że cała treść jest szyfrowana.

Co pozostaje na widoku? Metadane. Adres IP i czytelna nazwa domeny, jak www.ciemnastrona.com.pl.

Podrzucę tutaj adres dawnego wpisu, w którym trochę pisałem o metadanych (ale głównie o samych nazwach domen). Na czerwono oznaczyłem to, czego nie widzą podglądacze. Widzą natomiast to, co na biało.

https://www.ciemnastrona.com.pl/internetowa_inwigilacja/2022/08/13/https

Oprócz tego podglądacze widzą:

  • „kierunek” danych (pobrane czy wysłane),
  • ich rozmiar,
  • czas ich wysłania.

Programy do samopodglądania

Istnieje kilka sposobów na to, żeby podejrzeć własny ruch sieciowy i lepiej sobie uzmysłowić, co mogą widzieć podglądacze.

Pierwszy z nich to narzędzia przeglądarki. Ograniczone tylko do niej, ale bardzo intuicyjne.
Są wbudowane w chyba wszystkie popularne przeglądarki. Wystarczy nacisnąć kombinację Ctrl+Shift+I, żeby je wyświetlić. Potem trzeba kliknąć zakładkę Sieć w ich górnej części i w razie potrzeby odświeżyć stronę. Wyświetli się lista pobranych elementów oraz garść informacji o nich.

Widok na listę pobranych plików w Narzędziach Przeglądarki. Ich nazwy i rodzaje są zakryte czarnymi prostokątami

To przybliżenie tego, co widzą podglądacze – rozmiar plików, rodzaj interakcji (pobranie/wysłanie; tu tylko pobrania) oraz domeny, z jakimi się kontaktujemy. Czerwoną ramką wyróżniłem domenę github.githubassets.com, z której pobrana została emota. Ma inne źródło niż reszta treści.

Podglądacze nie widzieliby natomiast, że przeglądarka coś wzięła z pamięci podręcznej, czyli sięgnęła do wcześniej zapisanego pliku, żeby nie pobierać po raz kolejny.

Ciekawostka

Uwagę mogą zwracać dwie ostatnie kolumny. Widać różnicę między rozmiarem pobranych danych a wielkością pliku końcowego.
Czasem wynika ona z kompresowania, a czasem z faktu, że dane są wysyłane w częściach (pakietach), dopchnięte cyfrowym odpowiednikiem folii bąbelkowej.

A jak podejrzeć ruch na smartfonie? Jeśli ktoś nie chce rootować, to ma ograniczone możliwości. Ani smartfon, ani przeglądarki (wyjątek: Kiwi Browser) zwykle nie dają dostępu do narzędzi.

Można jednak zyskać pewien wgląd, instalując na Androidzie firewalla, takiego jak aplikacja Rethink DNS. Wyłapuje ona, na poziomie całego telefonu, z jakimi domenami łączyły się różne aplikacje.

Pojedyncza pozycja z listy pokazująca ikonkę przeglądarki Firefox, stronę news.ycmbinator.com, jej adres IP oraz godzinę połączenia i parę pomniejszych informacji

Podglądacz nie widziałby, w przeciwieństwie do użytkowników apki, że jakaś prośba wyszła od Firefoksa. Resztę by widział.

Inne programy

Odpowiednikiem Rethinka na systemie Mac OS wydaje się popularny, choć płatny Little Snitch (nie testowałem, zresztą nie mam MacBooka).
System Linux ma z kolei otwartoźródłowego OpenSnitcha. Może on działać również na linuksowych smartfonach.

Najmocniejszym narzędziem – za cenę wyższej bariery wejścia dla nowicjuszy, jak ja – jest natomiast program Wireshark. Przechwytuje cały ruch sieciowy, wszystkie pakiety danych. Daje wgląd w najdrobniejsze szczegóły.

Przycięty ekran z programu Wireshark, w którym wyróżniono nazwę domeny Github Assets w głębi jednego z pakietów

Znowu emota, jak ta wypatrzona w narzędziach przeglądarki. Ale tym razem jest więcej szczegółów.

Wireshark najlepiej oddaje, jakie dane widziałby prawdziwy podglądacz. A co mógłby z nich wyciągnąć? Czas na przykłady.

System, przeglądarka, aplikacje

Nawet gdyby podglądacz całkiem olał inne detale i patrzył na same nazwy domen, wciąż mógłby sporo z nich odczytać. Chociażby to, z jakich aplikacji korzystam, a nawet (czasem) co w nich robię.

Ta sprawa bardziej pasuje do mojej innej serii, „Apki to pułapki”. Ale jest na tyle istotna, że przynajmniej ją streszczę.

Wiele popularnych systemów i programów regularnie łączy się ze swoimi twórcami. Czy to w celu automatycznej aktualizacji, czy też wysłania danych telemetrycznych (ogólnych informacji dotyczących korzystania z aplikacji).

Zaobserwowałem takie połączenia na smartfonie, w logach apki Rethink DNS. Niekoniecznie wykonane w złych celach… Co nie zmienia faktu, że podglądacz też widzi te domeny (zapewne; zakładam brak szyfrowania metadanych). Kilka przykładów:

  • moto-cds.appspot.com (domena, z której pobierane są aktualizacje do Motoroli);
  • incoming.telemetry.mozilla.org (domena Mozilli, twórców Firefoksa);
  • graph.facebook.com;
  • chat.signal.org;
  • staticcdn.duckduckgo.com (domena wyszukiwarki DuckDuckGo);
  • sync.ryanair.com (domena linii lotniczej Ryanair).

Od jakiego producenta mam telefon? Jakiej zapewne używam przeglądarki i wyszukiwarki? Z jaką linią latałem (a przynajmniej: gmerałem w jej apce)?

Wszystkie te informacje są widoczne. Podglądacze mogliby przypisywać domeny do aplikacji i na tej podstawie mnie szufladkować.
Signal, Firefox i DuckDuckGo? Dla reklamodawcy: „Stereotypowy prywatnościowiec. Spróbuję mu sprzedać VPN-a albo klucze sprzętowe”.

Rozpoznawanie interakcji

Odgadnięcie nazwy aplikacji może być zaledwie początkiem śledzenia.

Jedna apka może w końcu obsługiwać różne tryby działania. Dla każdego z nich powiązane domeny i rozmiar danych mogą nieco się różnić. Jeśli podglądacz zna się na działaniu apki, to może odczytać z ruchu sieciowego, w jakim trybie jej używałem.

Z ciekawości zrobiłem sobie na przykład reset hasła w apce linii Ryanair. Potem w historii Rethink DNS-a mogłem zobaczyć dość nietypową kombinację domen, z jakimi mnie połączyło. W tym jakąś zewnętrzną usługę weryfikacyjną – risk-api.inauth.com. Podczas normalnego korzystania się nie pojawiała.

Ciekawostka

To już sprawa mniej związana z prywatnością osobistą, ale w ten sposób użytkownicy aplikacji mogliby poznawać powiązania biznesowe jej twórców. W końcu jeśli regularnie łączą się z czyimś serwisem, to zapewne korzystają z jego usług.

Nieszkodliwa anegdotka? To mam groźniejszy przykład.

Stalker od kawiarnianego hotspota mógłby zobaczyć po domenie, że używająca go osoba właśnie weszła w interakcję z wrażliwą stroną typu OnlyFans.
I nie w celach konsumpcji. Po rozmiarze danych wysłanych poznałby, że wrzuciła tam jakiś plik. Wiedziałby, co to oznacza :wink:

A potem – znając dokładny czas wrzucenia, twarz tej osoby (z monitoringu) i fakt, że to ktoś z Polski – mógłby ją wystalkować na portalu.

Styl pisania

Inny przykład: komunikatory. Zapewne część z nich nie dba o ochronę przed analizą ruchu. Chlubnym wyjątkiem jest Signal, który nawet dopycha pliki pustymi danymi, żeby ukryć, jakie pobrano gify.

Podglądacz widzi pojedynczy wyrzut danych ku domenie komunikatora? Czyli pewnie wysłaliśmy wiadomość.
Jeśli nijak nie dopychają danych, to jej rozmiar odpowiadałby jej długości. A to aż się prosi o analizę :smiling_imp:. Podobną do tej, jaką kiedyś przeprowadziłem na swoich wiadomościach z Messengera.

Ktoś obserwujący ruch mógłby odgadnąć, czy strzelamy krótkimi wiadomościami, czy komponujemy dłuższe. Jak często wysyłamy obrazki (duże wyrzuty danych) i filmy (największe wyrzuty).
A nawet… Jaka jest nasza szybkość pisania. Byłby to rozmiar wyrzutów danych – ale tylko tych drobniejszych – podzielony przez czas między wyrzutami.

Ustalenie zwyczajów

Było o stalkerze widzącym twarz, to teraz o firmie telekomunikacyjnej. Która niekoniecznie widzi twarz, ale ma na tacy cyfrową część życia. Analizując mój ruch sieciowy dzień w dzień, przez lata, dobrze pozna moje zwyczaje. Takie jak:

  • godziny aktywności,

    W jakich godzinach zwykle zaczyna się wzmożone przesyłanie danych? Kiedy się kończy? Jest spora szansa, że ukazuje moment porannego sprawdzania telefonu oraz doomscrollingu przed snem.

  • skłonność do konsumpcji multimediów,

    Jeśli odwiedzam domenę znaną z tego, że hostuje materiały wideo, a w dodatku pobieram sporo danych… To jest spora szansa, że te filmy oglądam. Podglądacz nie dowie się, które dokładnie. Ale dowie się, jak często.

  • podzielność uwagi w pracy (:wink:).

    Czy często korzystam z aplikacji w godzinach i dniach, kiedy powinienem siedzieć w pracy? Zapewne wtedy się obijam działam wielozadaniowo.

Powiązania między osobami

Ktoś planuje zgadać się z inną osobą przez wideokonferencję. Loguje się na odpowiednią platformę, zaprasza osobę z listy kontaktów. Czeka na połączenie, zaczynają rozmawiać.

A podczas wideokonferencji często dochodzi do ujawnienia prawdziwych adresów IP. Takie zeswatanie ze sobą dwóch urządzeń, żeby nie obciążały platformy pośrednictwem między sobą. Adresy trafiają na widok publiczny.

W oczach podglądacza: najpierw było pobranie danych z domeny należącej do platformy wideokonferencyjnej. Potem duża ilość danych wymieniona z konkretnym adresem IP (nienależącym do znanego portalu). Diagnoza: obserwowana osoba rozpoczęła wideorozmowę z tym drugim adresem IP.

Czasem adres może być statyczny (niezmienny) i przypisany do konkretnej organizacji. Gdyby podglądacz mógł to sprawdzić w jakiejś bazie, to by wiedział, z kim dana osoba weszła w interakcje. Być może adres IP pasuje do kogoś ciekawego, jak kancelaria od spraw rozwodowych? Albo klinika leczenia nowotworów?

Takie dane mógłby zdobyć nawet prosty kawiarniany stalker. Ale jego możliwości bledną przy tym, co może operator sieci komórkowej, jeśli to przez nią odbyła się rozmowa. Ten drugi mógłby nawet ustalić tożsamość rozmawiających osób.

Przez jedną bazę wykonuje przejście adres IP → numer telefonu (w końcu wie, komu przydzielił adres). Przez drugą bazę numer telefonu → dane osobowe (wymóg rejestracji karty SIM).
Na pewno pozna co najmniej jedną osobę. A jeśli obie są jego klientami, to pozna konkretne powiązania osobowe. O ochronie przed takim czymś stworzyłem osobny samouczek.

Jak się chronić

Wnikliwe osoby zauważą, że wszystkie powyższe zagrożenia opierały się na tym, że przeciwnik znał nazwę odwiedzanej domeny. Gdyby ją jakoś ukrywać, to jego plany ległyby w gruzach.

Żeby móc tę informację ukryć, trzeba wiedzieć, gdzie się znajduje. Są co najmniej dwa główne etapy interakcji, kiedy to nazwa domeny znajduje się na widoku:

  1. Kontakt z DNS-em, swoistą „książką telefoniczną internetu”, w celu poznania adresu strony. Nie ma szyfrowania, dane są widoczne.
  2. Kontakt ze stroną docelową. Szyfrowany, ale na pancernych pudłach są etykiety z nazwą odbiorcy.

Oto schemat interakcji podczas odwiedzania zmyślonej stronki przyklad.pl:

Schemat komunikacji ze stroną internetową przyklad.pl. Widać na nim laptopa połączonego strzałkami z dwoma serwerami, z których jeden jest podpisany DNS, a drugi przyklad.pl. W kilku miejscach widać nazwy tego drugiego.

Źródło obrazków na tym i kolejnych schematach: Flaticon, skrzynka z gry Portal.
Szczegóły pod koniec wpisu. Aranżacja moja.

A teraz przejdę do środków zaradczych.

Niewierność wobec podglądacza

Tak na logikę – jeśli nie połączymy się z internetem, to podglądacz nie zobaczy, co do niego wysyłamy (obowiązkowy mem).

…No dobra, może to niekoniecznie realne w obecnych czasach. Ale wciąż można przestrzegać paru intuicyjnych zasad:

  • nie zaglądać na stronki o wiele mówiących nazwach przez cudzego hotspota,
  • albo w drugą stronę – nie szukać kontrowersyjnych, acz legalnych informacji (o długach, nałogach itp.) przez swoją sieć. Tylko przez publicznie dostępny komputer w bibliotece, gdzie nikt nas nie zna.

W ten sposób, choć nie ukrywamy aktywnie nazw domen, przynajmniej rozdzielamy informacje między podglądaczy. Nie ma jednego stalkera/reklamodawcy, który znałby i twarz, i personalia, i wrażliwe wędrówki po sieci.

Można też odebrać dostęp do internetu programom, które go nie potrzebują.
Na smartfonie blokuję apki przez Rethink DNS. Między innymi aplikację od map, bo korzystam z nich w wersji offline, po pobraniu na telefon. Operator nie zobaczy, jak często z nich korzystam, a śmigają normalnie.

Mając rozwiązanie intuicyjne z głowy, przejdę do aktywnych sposobów ukrywania domen.

Szyfrowany DNS i ECH

Jednym ze sposobów na prywatność jest zaszyfrowanie nazwy domeny we wszystkich miejscach, w których się pojawia.
Podczas interakcji z DNS-em można ją ukryć, korzystając z metody DoH (albo DoT). Podczas interakcji ze stroną docelową wykorzystuje się z kolei ECH. Obie metody opisałem dokładniej w podlinkowanych wpisach, więc pominę szczegóły.

Sedno sprawy – zaszyfrowane jest wszystko poza adresem IP:

Schemat komunikacji ze stroną internetową przyklad.pl. Widać na nim laptopa połączonego strzałkami z dwoma serwerami, z których jeden jest podpisany DNS, a drugi przyklad.pl. Ale nazwy serwera docelowego są w każdym miejscu zakryte.

Wielką zaletą tych metod jest fakt, że są wspierane za kulisami. Bez widocznych zmian po stronie użytkowników. W przyszłości być może z automatu.

Wady? Nawet jeśli podglądacz nie widzi domeny, nadal widzi docelowe adresy IP.

W skrajnym przypadku adres IP odpowiada jeden do jednego jakiejś konkretnej stronie. Wtedy ukrycie domeny byłoby na nic.

W obecnych czasach pod jednym adresem IP nieraz występuje wiele różnych domen. Utrudnia to rozpoznawanie, dokąd ktoś idzie… Ale niekoniecznie je uniemożliwia.
Niektórzy badacze byli w stanie odgadywać odwiedzane strony na podstawie kombinacji adresów IP, z jakimi były związane. Opiszę to dokładniej w kolejnym wpisie.

Druga słabość kombinacji DoH+ECH to fakt, że na razie metoda dopiero się przebija do mainstreamu, wiele stron jej nie obsługuje. Nawet jeśli się spopularyzuje, nigdy nie ochroni wszystkich stron.

VPN

Inną metodą może być skorzystanie z pośrednika między sobą a innymi serwisami. Istnieją różne rodzaje takich pośredników, najbardziej znane są VPN-y.

Wzrok podglądaczy nie sięga zwykle dalej niż do pierwszego adresata. A jeśli będzie nim pośrednik – który potem popyta inne serwisy w naszym imieniu, poza rewirem podglądaczy – to niewiele zobaczą.

Wszystkie dane w ich oczach będą zaszyfrowane i będą miały tego samego adresata. Pośrednika. Nie zobaczą końcowej domeny ani jej adresu. Jedynie rozmiar i ilość danych, które trudno by było do czegoś przypisać.

Schemat komunikacji ze stroną internetową przyklad.pl przez VPN-a. Widać na nim laptopa połączonego strzałkami z VPN-em. Ten z kolei jest połączony z dwoma serwerami, z których jeden jest podpisany DNS, a drugi przyklad.pl.

Wielką zaletą pośredników jest fakt, że przy odpowiednich ustawieniach można pod nich podpiąć cały swój ruch. Nie tylko z przeglądarki, o której piszę tu najwięcej, ale również ten wychodzący z innych programów.

Są też niezależni od tego, czy strona docelowa wspiera szyfrowanie danych. Zapewniają je po swojej stronie, podczas interakcji z nimi. Można nawet odwiedzać z nimi stronki nieobsługujące szyfrowania, zaczynające się od http://, a podglądacz i tak nic nie odczyta.

Wada rozwiązania, jeśli po drodze stoi tylko jeden VPN? Wymaga przeniesienia zaufania na tego pośrednika. Ten nadal będzie widział, z kim się kontaktujemy. Nie mamy gwarancji, poza jego obietnicami, że nie dzieli się tymi informacjami.
Z tego względu nie będę tutaj polecał żadnego konkretnego VPN-a. Nie chcę mieć nikogo na sumieniu :wink:

Sieć Tor

Rozwiązaniem jeszcze potężniejszym, do tego darmowym, byłoby skorzystanie z przeglądarki Tor Browser.

Wykorzystuje ona sieć Tor.
To cała pajęczyna pośredników, rozrzuconych po świecie i przydzielanych losowo na potrzeby naszych interakcji. Każdy z nich zna tylko część informacji, więc mieliby poważny problem, żeby przypisać odwiedziny na stronach do konkretnych osób.

A to zaledwie początek. Sieć Tor celowo miesza, żeby utrudnić analizę ruchu (YouTube). Dodaje od siebie trochę sztucznych pakietów, wprowadza nieregularne opóźnienia… Aktywnie utrudnia podglądaczom życie.

Sieć jest rozwiązaniem ogólnym, z którego mogą korzystać inne przeglądarki. Funkcję wspiera choćby Brave. Ale to Tor Browser, autorska przeglądarka od ekipy tworzącej sieć, zawiera najwięcej bajerów chroniących prywatność.

Uwaga

Przeglądarka Tor Browser, choć w mediach bywa demonizowana i nazywana „przeglądarką od darknetu”, nie zmusza nikogo do wchodzenia w ciemniejsze zakamarki sieci. Wystarczy nie odwiedzać stron zakończonych na .onion, a jedynie te co zwykle. Wtedy Tor to po prostu VPN na sterydach.
Problemem nie jest żaden darknet. Tylko co najwyżej fakt, że niektóre strony rozpoznają ruch idący przez Tora i złośliwie go nie wpuszczają albo każą rozwiązywać Captche.

Pułapka korelacji czasowej

Tor jest super. Ale nawet on nie ocali tych, którzy całkiem się nie pilnują.

Znany jest przypadek pewnego studenta z USA, który wpadł mimo korzystania z Tora. I nie musiało go demaskować żadne FBI czy NSA. Mógłby to zrobić nawet zwykły administrator sieci uczelnianej.

Bez wchodzenia w szczegóły: gość wysłał swojej uczelni wiadomość z treścią karalną. Zrobił to przez jakiegoś hotspota na kampusie, ale używał Tora, myśląc że jest anonimowy.

Problem w tym, że korzystał z tej samej sieci (uczelnianej) co odbiorca docelowy. Dzięki temu dało się skorelować dane z początku i końca drogi.
Tutaj cały łańcuszek dla wzrokowców, czerwonym kolorem oznaczyłem miejsca podglądane:

Student → sieć uczelni → sieć Tor → sieć uczelni → odbiorca 

Uczelnia znała godzinę otrzymania maila. Widziała, że przyszedł z sieci Tor, bo istnieją publiczne bazy związanych z nią adresów IP.
Skoro wyszło z Tora, to musiało też wejść do Tora. Sprawdzono w historii kampusowej sieci, jakie urządzenia o podobnej godzinie kontaktowały się z innym IP ze znanej listy.
Jak się okazało, student był jedyną osobą pasującą do wzorca. Tor nie był jakimś hitem kampusu.

Ta historia nie pokazuje słabości sieci Tor, bo ta dobrze robiła swoją robotę. Ale, wciśnięta między dwa wrogie punkty, traciła swoje właściwości.
Z kolei fakt, że istnieją listy związanych z nią adresów IP, jest raczej nieunikniony. Serwery są trochę jak nieruchomości, nie są w stanie ciągle się przemieszczać.

Gdyby kogoś zainteresował temat, to proponuję poszukać w sieci frazy tor correlation attack. To cały obszar badań i można znaleźć różne ciekawe prace.

Na dziś to tyle! Niebawem wrzucę jeszcze jeden wpis, w którym rozwijam wątek analizy ruchu o aktywne tworzenie mapek stron. Tak zwany website fingerprinting.

Źródło obrazków

Główne źródło: serwis Flaticon.