Czy pobieranie odcisków palców przez przeglądarkę jest opłacalną techniką identyfikacji anonimowych użytkowników?

96

Czy pobieranie odcisków palców przez przeglądarkę jest wystarczającą metodą jednoznacznej identyfikacji anonimowych użytkowników? Co się stanie, jeśli uwzględnisz dane biometryczne, takie jak gesty myszy lub wzorce pisania?

Innego dnia natknąłem się na eksperyment Panopticlick EFF działa na odciskach palców przeglądarki .

Oczywiście od razu pomyślałem o konsekwencjach dla prywatności i o tym, jak można je wykorzystać do zła. Ale z drugiej strony można to wykorzystać dla wielkiego dobra, a przynajmniej jest to kuszący problem do pracy.

Podczas badania tego tematu znalazłem kilka firm wykorzystujących odciski palców przeglądarki do atakowania oszustw. Po wysłaniu kilku e-maili mogę potwierdzić, że co najmniej jeden główny serwis randkowy korzysta z odcisków palców przeglądarki jako tylko jednego mechanizmu do wykrywania fałszywych kont. (Uwaga: Odkryli, że nie jest wystarczająco wyjątkowy, aby działać jako tożsamość podczas skalowania do milionów użytkowników. Ale mój mózg programisty nie chce im wierzyć).

Oto jedna firma korzystająca z odcisków palców przeglądarki w celu wykrywania oszustw i zapobiegania im:
http://www.bluecava.com/

Oto dość obszerna lista rzeczy, których możesz użyć jako unikalnych identyfikatorów w przeglądarce:
http://browserspy.dk/

SMrF
źródło
6
Jak łatwo byłoby napisać wtyczkę do ulubionej przeglądarki, aby zmienić odcisk palca przeglądarki? Wyobrażam sobie, że gdyby można to zrobić, ktoś mógłby rozpowszechnić taką wtyczkę, która pozwoli ci dowolnie zmieniać odcisk palca. Może nawet zawierać wstępnie załadowane „profile”, aby cała grupa użytkowników mogła korzystać z tego samego odcisku palca ...
FrustratedWithFormsDesigner
1
Meta związane z przepełnieniem stosu dyskusja o robienie tego na stosie Exchange: Wdrożenie jakąś formę odcisków palców przeglądarki, aby pomóc rozpracować skarpetki
Odnośnie używania wtyczki do zmiany odcisku palca przeglądarki. W tym artykule IEEE ( spectrum.ieee.org/computing/software/… ) argumentowano, dlaczego może to
przynieść efekt

Odpowiedzi:

91

Po pierwsze, nie sądzę, że realistyczne jest oczekiwanie, że użytkownicy będą mieli wyłączoną obsługę JavaScript w nowoczesnej sieci. Rzućmy więc okiem na to, co Panopticlick może zebrać przez sam JavaScript, wraz z wynikiem wyjątkowości mojej konkretnej przeglądarki:

  • Agent użytkownika (1 na 4,184)
  • Nagłówki HTTP_ACCEPT (1 na 14)
  • Szczegóły wtyczki przeglądarki (1 na 1,8 miliona)
  • Strefa czasowa (1 na 24)
  • Rozmiar ekranu i głębia kolorów (1 na 1700)
  • Czcionki systemowe (1 na 11)
  • Pliki cookie są włączone? (1 na 1,3)
  • Ograniczony test SuperCookie (1 na 2)

Cechami wyróżniającymi wyjątkowość są oczywiście wtyczki User Agent i przeglądarki. Pamiętaj, że te elementy są używane razem, aby utworzyć odcisk palca przeglądarki, więc są więcej niż tak silne, jak poszczególne wyniki. Skumulowany wyjątkowość tutaj jest: 4,184 x 14 x 1.8 million x 24 x 1,700 x 11 x 1.3 x 2aka jest naprawdę duża liczba . To ... całkiem wyjątkowe.

W tej chwili mam Flash wyłączony z „kliknij, aby aktywować”. Włączenie Flash dodaje:

  • Czcionki systemowe (1 na 374k)

Flash jest drugim najbardziej unikalnym wykrywalnym elementem, ale biorąc pod uwagę ogromną liczbę, nawet w domyślnym wykrywaniu JavaScript w Panopticlick, nie jestem pewien, czy Flash jest niezbędny do tego rodzaju odcisków palców przeglądarki. Wystarczy włączenie JavaScript.

Odciski palców w przeglądarce to jednak tylko część historii. Rozważ sumę wszystkiego, co możemy wykryć od anonimowych użytkowników, ponieważ wszystko to może współpracować w celu anonimowych użytkowników odcisków palców. Jak trudno jest zebrać i wykorzystać wykryte dane?

  1. Wykrywanie szczegółów przeglądarki, jak pokazano powyżej (łatwe)
  2. Adres IP, który ma znany poziom niezawodności z zaletami i wadami (łatwe)
  3. Wzorce zachowań użytkowników, takie jak użycie (pora dnia), pisanie na klawiaturze, ruchy myszy lub palców, używanie słów (trudne, po stronie serwera, po stronie klienta)

Jedną z rzeczy, o które martwię się w przypadku samego wąchania przeglądarki, jest to, jak łatwo jest zmieniać przeglądarki. Istnieją co najmniej cztery świetne i bezpłatne alternatywy dla przeglądarek na większości platform: Chrome, Opera, Firefox, Safari. Aby przerwać wąchanie przeglądarki lub przynajmniej ją przerwać, możesz często przełączać przeglądarki.

Warto tu wspomnieć o tak zwanych SuperCookies , ponieważ mogą one faktycznie działać, w niektórych przypadkach, nawet jeśli zmienisz przeglądarki, a nawet jeśli JavaScript, lokalne przechowywanie HTML 5 i Flash są wyłączone .

Badacz prywatności ujawnił geniusz zła za usługą analityki internetowej dla zysku, która może śledzić użytkowników w ponad 500 witrynach, nawet gdy całe przechowywanie plików cookie zostało wyłączone, a strony były przeglądane za pomocą trybu prywatności przeglądarki.

(Jeśli jesteś ciekawy, wersja TL; DR polega na tym, że robią to, wykorzystując niejasne zasady nagłówka ETag ).

W każdym razie wracając do wąchania przeglądarki - są dwie niewygodne rzeczy, które użytkownicy mogą zrobić, aby to pokonać:

  1. Stale zmieniaj przeglądarki.
  2. Zawsze przeglądaj z wyłączoną obsługą JavaScript i Flash.

Jeśli jednak użytkownik nie wie, że jego ustawienia przeglądarki są wąchane i używane jako część metody pobierania odcisków palców, bardzo wątpię, aby koniecznie zadały sobie trud zrobienia tych dwóch rzeczy. To jest praca.

Na podstawie powyższych danych uważam, że wąchanie przeglądarki może pomóc zidentyfikować typowego anonimowego użytkownika Internetu - ale jest skuteczne tylko w połączeniu z innymi rzeczami, które zwykle wykrywamy od anonimowych użytkowników Internetu, takimi jak adres IP.

Jeff Atwood
źródło
7
+1 Hacker. Czy twoi rodzice wiedzą, jak spędzasz czas?
P.Brian.Mackey
2
„Po pierwsze, nie sądzę, aby realistyczne było oczekiwanie, że użytkownicy będą mieli wyłączoną obsługę JavaScript w nowoczesnej sieci”. Cieszę się, że proste rozwiązanie NoScript całkowicie zatrzymuje moje śledzenie.
Arda Xi
93
„aka NAPRAWDĘ DUŻY NUMER. To… całkiem wyjątkowe.” Jest to wyjątkowe tylko wtedy, gdy funkcje te są losowo dystrybuowane wśród użytkowników. Czy jest możliwe, że większość użytkowników obsługuje znacznie mniejszy zestaw agentów i konfiguracji wtyczek? Czy są jakieś skorelowane agenty lub konfiguracje wtyczek? Jeśli zamierzasz polegać na tym, że jest on wyjątkowy, powinieneś przyjrzeć się rozkładowi tych funkcji wśród użytkowników, a nie tylko najlepszemu możliwemu przypadkowi.
Charles E. Grant
3
@Arda Xi: Mimo to sprawia kłopotliwe przeglądanie ...;)
BoltClock
1
„Po pierwsze, nie sądzę, aby realistyczne było oczekiwanie, że użytkownicy będą mieli wyłączoną obsługę JavaScript w nowoczesnej sieci”. Z poważaniem się mylisz. Dzięki dodatkowi noscript łatwo jest wyłączyć skrypty dla nieznanej witryny, jednocześnie ciesząc się nowoczesną siecią na znanych stronach.
Arkh
11

Odcisk palca przeglądarki opiera się na bardzo heterogenicznym ekosystemie przeglądarki / urządzenia. Jedną rzeczą do rozważenia jest to, że zmierzamy w kierunku coraz bardziej jednorodnego ekosystemu, ponieważ coraz więcej surfowania odbywa się na smartfonach i tabletach / tabletach, które są w tym sensie znacznie mniej rozdrobnione. IPhone'y / iPady będą na przykład wyglądać zasadniczo identycznie.

papka
źródło
3
doskonały punkt i trochę smutny. Ale to bardzo prawdopodobna rzeczywistość.
Jeff Atwood
Liczba iPhone'ów i modeli iPadów jest zróżnicowana.
JoJo
10

Czy pobieranie odcisków palców przez przeglądarkę jest wystarczającą metodą jednoznacznej identyfikacji anonimowych użytkowników?

Nie, w najlepszym wypadku może jednoznacznie zidentyfikować komputer . Nie ma możliwości rozróżnienia między 2 nowymi (i podobnymi) komputerami w tej samej sieci (ten sam adres IP) bez sesji cookie \.

Co się stanie, jeśli uwzględnisz dane biometryczne, takie jak gesty myszy lub wzorce pisania?

To nie wydaje się realistyczne. Musiałoby to zostać zakodowane prawie całkowicie w JavaScript, ponieważ „dane biometryczne” są po stronie klienta. Użytkownik może to po prostu wyłączyć. Jak też będą wyglądać Twoje „dane biometryczne” Perl Script?


Biorąc to pod uwagę, stosowanie tego rodzaju taktyk do walki z oszustwami jest dobrym pomysłem, nie musi to być 100% .. każdy spadek oszustw jest dobry, nawet jeśli jest to tylko 5% poprawa.

Walka z oszustwami jest stopniowa, nie ma jednego rozwiązania kulowego do walki z oszustwami, nawet nie zawracaj sobie głowy szukaniem jednego.


EDYCJA: Aby odpowiedzieć na poniższe komentarze (i ponieważ jest to bardzo istotne), fakt, że odciski palców traktują różne profile, jest, moim zdaniem, netto NEGATYWNY *. Jest to coś, co złośliwy użytkownik wykorzysta do oszukania mechanizmu pobierania odcisków palców, a fakt, że użytkownik ma kontrolę nad wszystkimi zmiennymi używanymi do pobierania odcisków palców, sam w sobie jest poważną wadą .

* Dlatego mówię co najwyżej, że może zidentyfikować pojedynczy komputer, ponieważ jest to LEPSZE niż identyfikacja jednego konta na komputerze. Jeśli możesz zrobić jedno i drugie, to świetnie.

Kretynowie
źródło
3
„dane biometryczne” mogą również występować, gdy użytkownicy uzyskują dostęp do witryny, które adresy URL, jak często ich wzorce słów i języków. żadne z nich nie wymaga JavaScript
Jeff Atwood
2
Odcisk palca może rzeczywiście zidentyfikować nawet różne konta na tym samym komputerze. Znam angielski, szwedzki i trochę hiszpański. Skonfigurowałem odpowiednio mojego Maca. Gdy Firefox żąda strony, wysyła „Accept-Language: en-us, en; q = 0,8, sv; q = 0,5, es; q = 0,3”. Moja żona nie zna hiszpańskiego. Firefox na swoim koncie na tym samym komputerze nie zawiera terminu „es”. Całkiem jasne, że to, co mówisz, nie jest możliwe.
Andrew Dalke
Andy, tylko dlatego, że jest to Twój profil użytkownika, nie oznacza, że ​​siedzisz przed komputerem.
Morons
4
Mor, twoje stwierdzenie „w najlepszym wypadku może jednoznacznie zidentyfikować komputer” jest nieprawidłowe. W najlepszym wypadku potrafi rozróżniać różne konta na tym samym komputerze. Jeśli jest to konto sieciowe, możliwe jest rozróżnienie dwóch różnych kont w tej samej sieci. To, że wiele osób może korzystać z konta, to inna sprawa.
Andrew Dalke,
6

Zgodziłbym się z @vincentcr , ale dodałbym jeszcze jedno środowisko do rozważenia: sieć korporacyjną.

Prawdopodobnie znajdziesz tu dziesiątki lub setki (potencjalnych) użytkowników z dokładnie tą samą przeglądarką, wtyczkami, czcionkami itp. Dodatkowe czynniki sugerowane przez @vincentcr również tutaj zawodzą - adresy IP mogą być takie same, jeśli użytkownicy stoją za zapora firmowa, podobnie jak zgłaszane lokalizacje użytkowników.

Nawet biorąc pod uwagę gesty myszy i wzorce pisania, wątpię, czy można by zastosować te techniki do identyfikacji unikatowych użytkowników z dowolną formą bezpieczeństwa, a jeśli chcesz, aby konta użytkowników mogły przetrwać zmieniające się przeglądarki, musisz to zrobić i tak z bardziej tradycyjnym systemem uwierzytelniania.

Chociaż, jak powiedzieli inni, może być nieco przydatny w wykrywaniu robotów spamujących i tym podobnych. Na przykład wtyczka WordPress „Bad Behavior” analizuje nagłówki HTTP (między innymi czynnikami), próbując wykryć spamboty.

Ian Renton
źródło
Bardzo dobra uwaga. Chociaż można wykryć takie rzeczy, jak przesunięcie zegara, które różni się w zależności od komputera i najwyraźniej można uzyskać dostęp do rzeczywistych adresów IP za pomocą lampy błyskowej. Istnieje również rozdzielczość monitora, która byłaby warta, ale mniej przydatna w środowisku korporacyjnym.
SMrF,
4

Nawet jeśli istnieje ogromna liczba kombinacji, nie wszystkie są równo rozmieszczone.

Zastanów się, ile osób, powiedzmy na Macbooku, skorzysta z podstawowej konfiguracji. Lub ci, którzy nigdy nie instalują żadnych wtyczek: Podejrzewam, że są to większość użytkowników.

A na końcu masz najszybciej rosnący segment urządzeń: użytkowników telefonów komórkowych i tabletów, zwłaszcza iPhone'ów i iPadów, w których ograniczono się do tylko dwóch zmiennych: marki i numeru wersji.

Może to być dobra heurystyka w połączeniu z innymi czynnikami (takimi jak adres IP lub lokalizacja, jeśli są dostępne), ale niewiele więcej.

vincentcr
źródło
3

Korzystając z odcisków palców przeglądarki, możesz zidentyfikować pojedynczego użytkownika w sieci, a jedyną wadą jest to, że musisz wprowadzić obowiązkowy JavaScript dla każdego użytkownika.

Działa na dwóch zasadach:

  1. Wykryj odcisk palca przeglądarki na podstawie 8 parametrów
  2. Wykryj, czy ktoś zmienił swój odcisk palca, zmieniając dowolny parametr.

Powodzenie pobierania odcisków palców zależy od drugiej zasady; aby wykryć, czy ktoś zmienił odcisk palca.

Aby uzyskać więcej informacji, po prostu wypróbuj dostępny kod . Musisz opracować własny algorytm do wykrywania powracającego użytkownika, ponieważ algorytm używany przez https://panopticlick.eff.org/ nie jest obecnie w 100% wydajny.

chetan
źródło
1
„nie w 100% efektywny”, a może „nie w 100% skuteczny”? Czy mógłbyś rozwinąć tę kwestię?
Martijn Pieters
2

Niektóre przeglądarki można również zidentyfikować za pomocą HSTS Supercookies.

W tym miejscu możesz osadzić stronę z żądaniami losowych zestawów bezpiecznych i niezabezpieczonych zasobów dla każdego odwiedzającego, a następnie monitorować wzorzec ich żądań podczas powracającej wizyty. Jeśli każdy zasób jest wymagany według tego samego wzorca, możesz użyć tych informacji do zidentyfikowania użytkownika.

Są one szczególnie przydatne do identyfikacji iPhone / iPad, które w innym przypadku miałyby bardziej ogólny odcisk palca w przeglądarce. To podejście nie jest tak przydatne w programie Internet Explorer, w którym HSTS nie jest obsługiwany.

W tym artykule wyjaśniono podejście; http://www.radicalresearch.co.uk/lab/hstssupercookies/

Ten artykuł stanowi dobry przykład wykorzystania Supercookies HSTS w celu identyfikacji użytkowników; https://nakedsecurity.sophos.com/2015/02/02/anatomy-of-a-browser-dilemma-how-hsts-supercookies-make-you-choose-between-privacy-or-security/

Matt
źródło
0

JavaScript nie jest obowiązkowy, istnieje wiele innych parametrów do wąchania z PHP. To powiedziawszy, 99% użytkowników ma JS, więc po co się tym przejmować

Czy odciski palców mogą zapewnić wystarczająco unikalną identyfikację? Tak mi się wydaje. I tak mówi www.visitor-intelligence.com z kolejną filozofią badań przesiewowych. Pomyśl o tym.

Twoja prywatna galaktyka nie jest tak duża jak nasza cała planeta.

Ile wysokich, brązowych włosów, niebieskich oczu dziewczyny z francuskim akcentem chodzi po twojej ulicy? W skali planety miliony. Ale założę się, że byłaby wyjątkowa na twojej ulicy (lub w twoim sklepie).

Chyba że mieszkasz w Champs Elysees. Następnie spójrz bliżej. Czy jest szczupła i chodzi jak modelka? Czy ona ma na sobie drogą torebkę? W porządku, jest teraz zupełnie wyjątkowa :-)

Patrzenie wyłącznie na nagłówki jest błędne, ponieważ zawiera numer wersji przeglądarki i bardziej zmienne parametry.

Jesteśmy teraz w Chrome 27 i Firefox 21. Aktualizujemy wersje przeglądarek, nawet nie zauważając.

Teraz patrzenie na pełną listę wtyczek jest również całkiem błędne. Spróbuj: zainstaluj Firefoksa, zainstaluj program Acrobat Reader, a następnie zainstaluj Chrome. Założę się, że program Acrobat Reader nie pojawi się na liście wtyczek Chrome :-)

Więc ... Podsumowując: jeśli szukasz porządnego systemu identyfikacji dla sklepu o standardowej wielkości, to odciski palców są wystarczające, a nawet bardziej stabilne niż pliki cookie (osobiście usuwam wszystkie moje pliki cookie prawie codziennie).

Tylko moje 2 centy

użytkownik2435894
źródło