7:30
7/2/2018

Strony internetowe mogą wykryć fakt korzystania z TOR Browser — to nie nowość — ale znane są błędy przeglądarki Tor, które pozwalały na “profilowanie użytkowników” w ograniczonym zakresie. Trzy błędy tego typu zauważył rok temu dr Neal Krawetz. Chciał je zgłosić, ale miał poważny problem z komunikacją z twórcami projektu Tor. Dziś część z błędów zdaje się być już usunięta, ale sama ich koncepcja jest na tyle ciekawa, że warto je mimo wszystko przytoczyć. Poniższy artykuł wyjaśnia, jak można profilować bez użycia ciasteczek i dlaczego przeglądarka TorBrowser za uruchamia się z różnymi rozmiarami okna.

Dr Neal Krawetz przyznał, że Tor wzbudza w nim mieszane uczucia. Niewątpliwie jest to świetna technologia zwiększająca prawdopodobieństwo pozostania anonimowym, ale nie gwarantująca 100% anonimowości (o czym mógł się przekonać m.in. założyciel Silk Road). Poza tym Tor cierpi z powodu “złego sąsiedztwa”. Jest na tyle popularny wśród osób o dziwnych skłonnościach, że czasem odpycha ludzi potrzebujących anonimowości w szczytnych celach.

Krawetz opisał możliwości identyfikowania użytkowników korzystających Tor Browser oraz “profilowania” ich (artykuł znalazł się na blogu The Hacker Factor). Profilowanie to może zbyt duże słowo, ale możliwe było przynajmniej identyfikowanie użytkowników Tor Browser i określenie systemu z jakiego korzystają. To niewiele, ale dla użytkowników Tora to powinno być zbyt wiele!

Rozmiar okna i ekranu

Na “zwykłych” przeglądarkach desktopowych rozmiar okna jest mniejszy niż rozmiar ekranu. Na urządzeniach mobilnych rozmiar okna może być większy niż rozmiar ekranu. W TorBrowser rozmiar okna i ekranu są takie same, by przeciwdziałać profilowaniu. To paradoksalnie umożliwia natychmiastowe wykrycie, że ktoś korzysta z TorBrowsera. Zdaniem Krawetza przeglądarka powinna mieć fałszywą wartość rozmiaru ekranu, większą niż wartość okna, niezależnie od platformy.

Ustalanie rozmiaru okna i obrazu na Makach

Przeglądarka TorBrowser ustawiała rozmiar okna na 1000×1000, ale przy mniejszych ekranach wybierze szerokość będącą wielokrotnością 200 pikseli i wysokość będącą wielokrotnością 100 pikseli. Krawetz odkrył, że na MacOS X przeglądarka błędnie przelicza rozmiar okna (prawdopodobnie w związku z paskiem ikon na samym dole). Jeśli więc użytkownik TOR Browser ma rozmiar ekranu niebędący wielokrotnością 100, możemy go uznać za użytkownika MacOS X.

Poważniejszy problem: pasek przewijania

Choć TOR Browser normalizuje rozmiary ekranu i okna to niestety nie normalizuje wielkości powierzchni strony widzianej przez użytkownika (viewport). Jeśli akurat wyświetla się pasek przewijania, to na podstawie wielkości obszaru strony oraz wielkości okna można ocenić grubość paska przewijania.

Paski przewijania są różne na różnych systemach np.:

  • TOR Browser na Windowsie 7/8/10 używa pasków o grubości 17 pikseli,
  • Szerokość pasków na Linuksie może być różna w zależności od środowiska graficznego (generalnie mieści się w przedziale 10-16). Przykładowo na Ubuntu 16.04 ze środowiskiem Gnome będzie to 13 pikseli.

Zdaniem Krawetza nawet jeśli ktoś dostosuje sobie grubość paska to nadal będziemy mieli problem. Jest to dosyć charakterystyczny atrybut i teoretycznie może służyć do śledzenia użytkownika.

Najpoważniejszy problem bezpieczeństwa TorBrowsera?

O ile powyższe ustalenia Krawetza można uznać za “ożywczo interesujące”, o tyle jedna rzecz może poważnie zmartwić. Ekspert miał problem ze zgłoszeniem błędu twórcom Tora i ostatecznie zdecydował się na public disclosure.

Krawetz twierdzi, że wie także o innych, poważniejszych problemach z możliwością profilowania użytkowników Tora. Również trudno je zgłosić. W ostatnim czasie na twitterowym koncie projektu TOR radzono, aby błędy bezpieczeństwa zgłaszać do “odpowiedniego opiekuna”, którego da się znaleźć na stronie https://db.torproject.org/. Tam da się znaleźć 83 osoby, przy czym nie wiadomo kto odpowiada za co. Jest jeszcze kanał Tora na Reddit, ale tam ludzie mają skłonność do bronienia projektu poprzez zapewnianie, że problemy nie są poważne.

To jest coś, co może martwić najbardziej. Tor jest projektem stworzonym z myślą o anonimowości i bezpieczeństwie, a najwyraźniej nie ma on solidnego systemu zgłaszania błędów. Z problemem opisanym przez Krawetza jakoś da się żyć, ale czy jego ustalenia nie powinny bardziej dać do myślenia twórcom Tora?

PS. Przetestowaliśmy zachowanie przeglądarki TorBrowser na naszych systemach. TorBrowser dalej pomiędzy startami na MacOS utrzymuje ten sam rozmiar okna, z którego jedna z krawędzi jest wielokrotnością 200px. Dajcie znać, jak jest u Was. Przynajmniej ten ticket jeszcze nie jest oficjalnie zamknięty.

Przeczytaj także:

32 komentarzy

Dodaj komentarz
  1. Ja nie wierzę w bezpieczeństwo TORa. Przykład sprzed kilku dni. Chciałem znaleźć jedną osobę na facebooku. Ta osoba pewnie nie wie o moim istnieniu. Nie mamy wspólnych znajomych. Osoba z innego miasta. Więc wyłączyłem moją przeglądarkę, uruchomiłem NordVPN (serwer wybrałem z Niemiec). Uruchomiłem następnie TORa (wersja oczywiście aktualna). Wszedłem na duckduckgo i wpisałem tam dane szukanej osoby, a następnie wszedłem na profil na facebooku. Zobaczyłem co miałem zobaczyć (niewiele). Oczywiście nie logowałem się, na żadne konto na FB. Wyłączyłem TORa. Rozłączyłem VPN. Uruchomiłem codzienną przeglądarkę i zapomniałem o całej sprawie. Po jakiejś godzinie czy dwóch loguje się na swoje konto na FB i pierwsza osoba w proponowanych znajomych to… oczywiście ta osoba którą wyszukałem przez TORa. I przez kilka dni mi się ona pojawiała. Oczywiście wcześniej nigdy mi się nie wyświetliła. Potrafi ktoś to wytłumaczyć? Takich sytuacji na przestrzeni ostatnich kilku lat było sporo, właśnie często z udziałem facebooka…

    • Może po prostu ta osoba jednak wie o Twoim istnieniu i Cię wyszukała?

    • Pewnie namierzyli cię po sieciach WiFi z okolicy, które są w zasięgu twojej. Dlatego w jednym i drugim przypadku wiedzieli, że to ty. A druga sprawa to wyłapywanie szumu z otoczenia i tworzenie na jego podstawie unikatowego odcisku. Sieci reklamowe tą technologię szpiegowską używają już na masową skalę. Pisali o tym na Hacker News.

      Też uważam Tora za skompromitowaną sieć. Zbyt dużo było wpadek różnych ludzi. Poza tym przy oprogramowaniu składającego się z tylu linijek kodu, zawsze znajdzie się jakiś błąd pozwalający na namierzenie. Kilka takich luk już załatali.

    • Tom – generalnie Facebook reaguje nie tylko na wyświetlenia danego profilu, ale także na rozmowy i inne rzeczy z nią związane. Jeśli rozmawiałeś ze znajomym, który podał Ci linka do danego profilu albo imię i nazwisko danej osoby to już algorytmy facebooka mogły to wychwycić i zacząć was parować.

      To tak na szybko.
      Pomijam nawet sytuacje w których powiedziałeś komuś, że podglądałeś… a ta osoba na Facebook powiedziała o tym innej “X sprawdził Y, to nie on”. Facebook znowu was sparuje…

    • @Filon
      Wiedzieć może wie, ale ostatnio ja o tej osobie myślałem z pół roku temu. Szansa, że ona przypomniała sobie o mnie tego samego dnia co ja o niej i mnie wyszukała jest… praktycznie zerowa. Nie było ku temu żadnych powodów (nikt mi o tym nie mówił, nikt nie polajkował zdjęcia na fb). No kompletnie nic.
      @Marcin
      Jak wyżej, nikt nie podał mi danych ani linka. Nie było żadnej przesłanki, żebym sobie przypomniał. Po prostu tak spontanicznie mnie naszło. Tak jakbyś zaczął sobie wspominać dawnych znajomych ze szkoły i noszłoby Cię sprawdzić czy ta osoba jeszcze żyje. Na swoim koncie nigdy nawet nie wszedłem na profil tej osoby, nie szukałem przez FB, w sumie to nie wiedziełem nawet czy na 100% ta osoba ma konto. Po wszystkim też nikomu nic nie mówiłem.
      Nie mogę tego zrozumieć jak algorytmom udało się to wychwycić… Ale to nie pierwszy raz tego typu rzeczy mnie spotykają.

    • @Dj
      Mówisz o wifi. A ja korzystam ze stacjonarki i nie mam karty wifi, łączę się z internetem po kablu. Router wifi co prawda mam ale nie korzystam z wifi. Nie mam nawet żadnego laptopa czy tableta. A telefon non stop do internetu przez sieć połączony.
      Szum z otoczenia? Mikrofon podłączam tylko gdy go potrzebuje użyć, czyli nie częściej niż raz w miesiącu.

    • A javascripts masz wyłączony na torze?

    • @Alojzy
      Tak, wyłączone. Bardzo rzadko korzystam z tora więc ustawiłem maksymalny poziom tych wszystkich zabezpieczeń. 3/4 rzeczy nie działa i muli ale skoro korzystam z tego sporadycznie to przeżyje.

    • @Tom
      1. Kiedyś coś cię z tą osobą (nazwijmy ją Twoją Ex) łączyło. Może to być z czasu, kiedy jeszcze nie miałeś facebooka.
      Raz mi w proponowanych pokazało osobę z którą wiele lat temu grałem w przeglądarkową grę. Facebook ma naprawdę niezłe algorytmy do parowania i kojarzenia ludzi i kont. Może się w 90% mylić i proponować randomy, ale te 10% trafnych propozycji robi wrażenie.
      2. Ktoś nagle przez tora szuka Twojej Ex. Interesuje się głównie zdjęciami z nowym partnerem. Facebook nie ma pewności kto to, ale już wystarczająco danych, by podejrzewać Ciebie i zaproponować Ci “odnowienie znajomości”.

    • Jeżeli nie usunąłeś pamięci podręcznej, ciasteczek, historii, zapisanych informacji o formularzach, ustawienia stron, sesje itp. to zmiana IP nie wiele da. Poza tym nie wiadomo jakie programy masz zainstalowane, bo one też czasami dodają coś do przeglądarek i nawet o tym nie wiesz.

    • @Mi_ał
      Nic wielkiego mnie z tą osobą nie łączyło. A na pewno nic na facebooku. Po prostu kiedyś z nią rozmawiałem. Dawno. Naszło mnie na wspomnienie i tak sobie sprawdziłem.
      Osobę z którą grałeś w gry mogło pokazać, dlatego, że weszła na Twój profil. Testowałem to, również z osobą z gierek. Wystarczyło, że powiedziałem jak się nazywam koledze i on tylko wszedł na mój profil. Jak tylko zalogowałem to pierwszym proponowanym był on.

      @Droop
      Nie, tego nie skasowałem, nie sądziłem, że TOR może czytać takie rzeczy. Jeżeli to prawda to o kant rozbić tego całego tora i jego anonimowość. Z programów mam niewiele rzeczy. Z wtyczek tylko jedną wtyczkę do auto odświeżania stron. Adblock tylko ten co w Operze jest wbudowany. Więcej nic. W torze nic nie grzebałem i tam nie ma niczego dodanego.

    • Tom, póki co Illuminati Confirmed o ile miałeś dobrze skonfigurowaną przeglądarkę i nie masz charakterystycznej skórki systemowej. Ale polecam zrobić experyment. Niech powstaną 2 grupy z naszych użyszkodników i powtórzą to zdarzenia, na innych nieznanych osobach.

      W pierwszej niech będą osoby ze standardową konfiguracją systemową (brak zmiany czegokolwiek wizualnego od czasu instalacji – i oczywiście z tego samego OS wchodzą na FB, a druga grupa niech zmieni kompozycję systemową – na jakąś darmową od microsoftu. Zobaczymy jaki jest efekt – niestety FB nie mam, a już chyba się nie da założyć bez podawania im numeru telefonu.

      Mam pewne podejrzenia, że za całość odpowiada śledzenie: szerokości paska przewijania oraz wartości kolorów typu ThreeDFace, ThreeDShadow ThreeDLight itp (jest ich minimum 8). Do tego możliwy zoom przegladarki.

      PS. Najlepiej szukajcie kogoś kogo nie znacie – wtedy nie ma ryzyka, że ten ktoś będzie szukał Was. Spis nazwisk jest publiczny w internecie wraz z częstotliwością występowania.

    • @Tom
      Dobrze, że tylko nie wierzysz w jego bezpieczeństwo a nie twierdzisz, że go nie zapewnia.
      Wielu jest takich jak Ty co myślą, że mając TorBrowser są anonimowi/bezpieczni, niewidzialni. TorBrowser tego nie zapewnia i nawet o tym pisze. Także dobrze, że w to nie wierzysz, tylko odnieś się do TorBrowsera a nie do Tor, bo to są dwie różne rzeczy. Zrozum zasadę działania sieci Tor oraz umiejętnie ją wykorzystuj bo jak na razie z Twoich wywodów niejeden zielony człowiek może wywnioskować daleko idące wnioski dla przykładu sugerujące, że Facebook potrafi oszukać Tora :) buahahahah

      @Dj
      Ty za to wciskasz w usta koledze Tomowi, swoje prawdy, twierdząc, że tak jak on uważasz sieć Tor za skompromitowaną pomimo, iż Tom raczej za taką jej nie uważa a jedynie nie wierzy w nią. :) Także brawo Ty. Poparłeś jakieś swoje widzimisię słowami kogoś kto wcale nie ma takiego samego zdania jak Ty ani też słowami, których nawet nie wypowiedział. (Dlatego w odpowiedzi do tego co napisał Tom wspomniałem o zielonych ludziach wyciągających daleko idące wnioski, bo jesteś doskonałym tego przykładem). Do tego chyba nie czytałeś, większości artykułów na portalu, który komentujesz dotyczących wpadek “różnych ludzi” korzystających przy okazji z sieci Tor. Bo każdy z tych artykułów dość rozsądnie i wiarygodnie opisuje wpadki i o ile się moja różowa głowa nie myli nigdy nie były to wpadki spowodowane prze sieć Tor :) Także sorry kolego ale dupcysz fleki, że głowa mała.

      Najbardziej boli w tego typu wypowiedziach brak jakiejkolwiek wiedzy na temat czegokolwiek a przynajmniej wiedzy na temat tego o czym się wypowiada. Drugi problem to brak odpowiednio skonfigurowanego środowiska, które w sposób wiarygodny podczas testów może wykonać pomiar każdego kroku. Nikt nic nie wie, ktoś coś poklikał, coś mu się tam stało i jeb lata pracy developerów w dupe bo jakiś Andrzej w komentarzach na Niebezpieczniku został wyjebany przez Facebooka. Idź z tym do nich po nagrodę, bo nagradzają dośc srogimi sumami za wyszukiwanie błędów.

      Czasem tylko pozwalam sobie na czytanie komentarzy. Na szczęście teraz znowu na długi czas dam sobie spokój :)

    • +1

    • W dobie uczenia maszynowego bardzo łatwo sprofilować kogoś:
      – po manierach: ruchy myszką, sposób nawigowania, tempo pisania, błędy ortograficzne powtarzane w konkretnych wyrazach, interpunkcja, tempo czytania [scrollowania], APM, CPM {starcraft ;], reakcja na bannery, reakcja na głośne dźwięki, daltonizm
      – po technicznych aspektach: układ klawiatury [charakterystyczne typos], moc obliczeniowa cpu = mierzona javascriptem / gpu = ’em, pluginy w przeglądarce, backtraceroute (w tym różnice w pingach na kolejnych hopach), p0f i cechy charakterystyczne na kolejnych ISO/OSI, czułość myszki, używanie niestandardowych klawiszy w klawiaturze (Event Keycode VolumeUp)… mógłbym tak długo ;)

      Warto uczyć się fejkować cyfrową tożsamość, wielopoziomowo

    • Jedną z dobrych zasad OpSec jest używanie do czynności wrażliwych innej maszyny, z odpowiednią dystrybucją.
      Nie zabiera się ze sobą w teren obu telefonów. I tak nie nosi więcej jak jednego laptopa. To już na wstępie sporo zawęża.

      No i, jednak nie od dziś mówi że używanie VPN do Tora to zły pomysł.

    • @GVS
      Cześć z tych rzeczy powinno się dać wyłączyć przynajmniej przy użyciu Ghostery.
      Oczywiście nie ma co spychać bezpieczeństwa Tor Browser na jeden dodatek, który też kiedyś może być dziurawy.

    • I jeszcze jedno.

      Ktoś przyszedł do mnie kiedyś z nowo założonym kontem fikcyjnym na FB, aby się skonsultować w kilku sprawach dotyczących obsługi itd. Podał mi telefon i coś tam pokazywałem na nim.
      Od razu byłem pierwszym w sugerowanych znajomych.

      I tu ku mojemu zdziwieniu ponieważ, nie miałem w tamtej chwili swojego numeru przypisanego do FB (był kiedyś), mój profil był prywatny, maila przypisanego ta osoba nie miała nigdzie u siebie. W realu istniała jedynie korelacja nazwisk, i przebywanie telefonów z aplikacją FB koło siebie. Tylko kiedyś mogliśmy być w tej samej sieci WiFi.
      No i od tamtej pory też dowiedziałem się że mój profil już nie jest prywatny.

    • > W dobie uczenia maszynowego bardzo łatwo sprofilować kogoś:
      > – po manierach: (…)
      > – po technicznych (…)
      > Warto uczyć się fejkować cyfrową tożsamość, wielopoziomowo

      Które z tych technik profilowania działają przy całkowicie wyłączonym JavaScript?

    • Dodam do całości. NIE INSTALUJCIE w Tor Browserze dodatków typu Ghostery i uBlock. Mi udało się z obu wyciągnąć javascriptem dane wrażliwe – filtry i tym podobne sprawy. Jeżeli to macie pozostawiacie Tor Browserem cyfrowy ślad po sobie. Zawsze róbcie kilka ortografów – jak coś komentujecie, układajcie inaczej zdania niż zazwyczaj. Do tego wchodzenie tam z włączonym JS jest mało bezpieczne, a dokładniej mało prywatne. Powinni opcje w Tor Browserze nazwać nie Safe, Safer i Safest ale private, more private, most privatest. To nie ma nic wspólnego z bezpieczeństwem, lecz PRZY UMIEJĘTNYM KORZYSTANIU zwiększa prywatność użytownika (o ile po drodze nie zaloguje się do fejsa lub nie zacznie szukać kont znajomych). Należy myśleć używając tego i warto postawić w tym czasie też Node tora u siebie – to daje większą prywatność – bo połączenia wychodzące wtedy są nie tylko od Ciebie, ale i od innych.

  2. Tom – generalnie Facebook reaguje nie tylko na wyświetlenia danego profilu, ale także na rozmowy i inne rzeczy z nią związane. Jeśli rozmawiałeś ze znajomym, który podał Ci linka do danego profilu albo imię i nazwisko danej osoby to już algorytmy facebooka mogły to wychwycić i zacząć was parować.

    To tak na szybko.
    Pomijam nawet sytuacje w których powiedziałeś komuś, że podglądałeś… a ta osoba na Facebook powiedziała o tym innej “X sprawdził Y, to nie on”. Facebook znowu was sparuje…

  3. Generalizując – TOR to nie jest przeglądarka. Do korzystania z tej sieci zalecana jest izolacja w postaci toryfikowania przy użyciu Whonix Gateway oraz korzystania z odrębnej stacji roboczej, np. Whonix Workstation.

  4. To ja jeszcze dodam od siebie, jako, że też udzielam się na CSSWG w tej sprawie. Niestety, ale może być też wykryta kompozycja systemu – szerokość paska przewijania, używane czcionki, style CSS typu “color: ThreeDShadow” oraz getComputedStyle, gdzie specyfikacja określa, że to jest zależne od przeglądarki jaki kolor tam wstawi.

    Niestety, ale standardy W3C/CSSWG nie są tworzone z myślą o prywatności a tym bardziej przez to i bezpieczeństwie.

    ThreeDShadow itp i szerokość paska po przelikczeniu dają około 25-bitowy identyfikator umożliwiający śledzenie. A Firefox/Tor Browser używa po chamsku KOMPOZYCJI SYSTEMOWEJ UŻYTKOWNIKA SYSTEMU WINDOWS!!!

    I zgodzę się – szerokość i wysokość okna vs. ekranu powinny być różne najlepiej skopiowane z konkretnego laptopa z Windowsem i zawsze przedstawiać się jako Windows NT 6.3.

    Dodam tu, że dzięki @media query można śledzić rozmiar okna vs szerokość ekranu już z poziomu CSS, nie trzeba włączać JS.

    • PS. Napiszcie do nich w tych sprawach, bo też mam trudności z kontaktem z teamem Tor Browsera.

  5. @krang: Dlatego napisałem o skompromitowanym Torze w osobnym akapicie, żeby nie sugerować powiązania z powyższym komentarzem. Było to luźne nawiązanie do tematu, a nie że Toma oraz moja teza są tożsame. I mam podstawy do takiego wniosku, że Tor jest skompromitowany. Zdaję sobie sprawę, że większość wpadek była spowodowana brakiem umiejętności osób korzystających z Tora. Było pełno takich osób w przytoczonych artach. Ale były też przypadki, że specsłużby utajniały sprawy, w jaki sposób kogoś namierzono. I tutaj przechodzimy do meritum: nie chcą zdradzić technik kogoś namierzenia i wyzbywać się przewagi na inwigilowanymi. A jakie mogą być sposoby kogoś namierzania? A to już zależy od inwencji i budżetu różnych agencji. Dlatego możesz sobie żyć w błogiej nieświadomości, ale bezpieczniejszy od tego na pewno nie będziesz. I to jest właśnie podejście twoich zieleniaków ;) Ja jestem zdania, że bezpieczeństwo (prywatność) nie może iść na kompromisy. Od tego zależy często kogoś życie, np. dysydentów w reżimach. Dlatego uważam twoją pisanině za wyjątkowo szkodliwą.

  6. Ja tam znam Tora przede wszystkim jako aplikację proxy podpinaną do dowolnej przeglądarki przez SOCKS :)

  7. Jest rozwiązanie – Lynx

  8. Mam pytanie, czemu tak dużo jeśli prawie nie wszystkie połączenia Tora przechodzą przez Niemcy? Czytałem o tym, ale no nie wiem niektórzy twierdzą że Niemcy chcą mieć haki na wszystkich. Czy naprawdę tak jest?

    • Koń/tor jaki jest każdy widzi:
      wget -q –no-check-certificate https://torstatus.rueckgr.at/ -O- 2>&1 | grep “flags_” | cut –delimiter=\’ –fields=8 | sort | uniq -c | sort -n | tail -n 7
      230 United Kingdom
      234 Canada
      263 Russian Federation
      466 Netherlands
      824 France
      1102 United States
      1206 Germany

    • Nie potwierdzam. Sprawdziłam – nie wybrało Niemiec – czasem się pojawiają ale nie zawsze.

  9. @Krang, ja nie potrzebuje dziur w torze aby sprofilowac cie jako dupka

  10. na REDDICIE*

Twój komentarz

Zamieszczając komentarz akceptujesz regulamin dodawania komentarzy. Przez moderację nie przejdą: wycieczki osobiste, komentarze nie na temat, wulgaryzmy.