10:23
29/7/2015

Jeśli w sieci chcesz pozostać anonimowy i zdarza ci się przyjmować w sieci różne tożsamości, powinieneś zwrócić uwagę nie tylko na to co piszesz, ale i w jaki sposób naciskasz klawisze. Nawet jeśli korzystasz z TOR-a, jesteś zagrożony…

Profilowanie przez pisanie

Technika identyfikowania osoby po sposobie pisania polega na ocenieniu różnic czasowych pomiędzy wciskaniem klawiszy na klawiaturze. Jak pokazują badania, wzorzec przerw pomiędzy naciskaniem poszczególnych klawiszy lub długości ich przyciskania u danych osób jest stały, ale przede wszystkim unikatowy. Wystarczy więc 10 minutowy okres nauki, aby algorytm był w stanie potwierdzić, że to ta sama osoba wpisuje kolejne zdania — nawet jeśli robi to po jakimś czasie, na innej stronie, korzystając z innej przeglądarki i z innego adresu IP. Dlatego właśnie technika ta nadaje się do deanonimizacji użytkowników TOR-a.

modalities_png

O ile jedna strona zbierające tego typu dane (np. aby wykrywać multikonta) nie stanowi jeszcze wielkiego problemu, to łatwo sobie wyobrazić do czego może posłużyć baza danych profili “klawiaturowych” zebranych z wielu różnych serwisów. Ich korelacja od razu spowoduje namierzenie osób stojących za kontami z być może różnymi loginami.

Tu warto też podkreślić, że profilowania może dokonywać niekoniecznie właściciel danego serwisu, ale np. sieć reklamowa, której JavaScript jest w kontekście serwisu osadzany.

Na marginesie — obszerny zbiór prac naukowych poświęconych prywatności i deanonimizacji znajdziecie tutaj.

Według badaczy, z techniki profilowania użytkowników przez klawiaturę (która sama w sobie nie jest taka nowa) korzystają już niektóre banki, aby wykrywać przejęte konta. Ba! Z takiego profilowania korzystali Brytyjczycy już podczas II wojny światowej, budując profile niemieckich telegrafistów.

Profil behawioralno-biometryczny

4 krotne wprowadzanie słowa "Password" przez tę samą osobę

4 krotne wprowadzanie słowa “Password” przez tę samą osobę

Jeśli chciałbyś zobaczyć, jak prosty jest ten proces, możesz to zrobić na testowej stronie, która wygeneruje twój profil behawioralno-biometryczny.

Hejtuję pod różnymi nickami — co robić, jak żyć?

Dla osób, które z dowolnego powodu chcą zachować anonimowość w sieci i nie dać się rozpoznać po sposobie pisania proponujemy dwa rozwiązania:

  • Wprowadzane do przeglądarki internetowej treści najpierw wpisywać w notatniku, a potem przeklejać do przeglądarki (ma sens, jeśli w ten sposób postępuje więcej niż 1 osoba…)
  • Zainstalowanie rozszerzenia stworzonego przez dwójkę badaczy, która zwróciła uwagę na problem profilowania przez pisanie. Ale miejcie świadomość, że rozszerzenia w Chrome można (było) wyłączać każdemu poprzez zaproszenie go na odpowiednią stronę WWW.

Można też całkowicie wyłączyć JavaScript, ale niewykluczone, że ktoś wpadnie na pomysł pomiaru charakterystyki pisania w inny sposób…

Aktualizacja 10 sierpnia 2015
Odezwał się do nas Wojciech Wodo, który prowadzi badania w tym zakresie.


Przeczytaj także:



76 komentarzy

Dodaj komentarz
  1. Dodajmy jeszcze pisanie jak babcia :)

    • Elinks domyślnie pozwala odpalać pole tekstowe programem zewnętrznym za pomocą CTRL+T i piszesz w vimie. Nie wspominając że Elinks nie obsługuje wszystkich ficzerów JS tylko częściowo. Obrazki odpalasz za pomocą ustawienia domyślnego appsa w MIME. Jest niemal wszystko co potrzeba (no ale interaktywnych stron nie odpalisz hehe też dobrze)

  2. Wystarczy zmieniać klawiatury. Inny skok, inaczej chodzące klawisze powinny generować minimalne różnice w tempie pisania.

    • Minimalne? zmieniłem kiedyś na “Chińczyka” z klawiatury “Firmowej – krzywej” czas mi wzrósł trzykrotnie:P

    • Zartujesz? Wystarczy wpisac tekst do notatnika, skopiowac odpalic strone i wkleic.

    • Pozostaje problem czasu pomiędzy wciśnięciem CTRL a V.

    • Wystarczy zmienić klawiature. Każdy kto zmieniał (na inną, ale czasami na taką samą tylko nowiutką) wie że inaczej się pisze. Na upartego można napisać że można zmienić jeszcze ustawienia klawiatury i myszki (dozwolone szybkości pisania, powtarzania etc.).
      Dodatkowo można pisać “na stojąco”, jedną ręką (prawą, lewą) lub oglądając przypięty na pulpicie bardzo wciągający film z gorącymi panienkami (troche żart ale wiadomo ocb) – w takich przypadkach (sie założe) że profilowanie sie nie udaje.

    • Można też pisać w różnym stopniu upojenia alkoholowego :D

    • Czas wciśnięcia CTRL+V można też oszukać – wystarczy wywołać menu kontekstowe i wybrać wklej. Poza tym klawisze Ctrl+V daje się przechwytywać i użyć do innych celów.

  3. Można też do różnych treści i nicków używać alternatywnych układów klawiatury np. Dvoraka. Sposób może nie jest najwygodniejszy, ale założę się że wzorzec będzie wtedy inny.

    • Albo po prostu… ozywać noscripta?

      O nie, kolejny zuy atak bazujący na JS, co robić, jak żyć?

    • *używać :D

    • Wzorzec będzie inny, bo nie będzie się potrafiło na danym układzie pisać. <15wpm ze ściągą i to już po lekkim treningu – polecam bardzo.
      Lub układy stąd: http://forum.colemak.com/viewtopic.php?id=420 (na samym forum są różne optymalne, to jest temat dla beki).

      Normalnie piszę dość szybko (touch typing na układzie Colemak), po sprofilowaniu testowałam zacinanie się, wolne równe tempo oraz pisanie jedną ręką – czyli to, co zależy od stanu osoby (choroba/zmęczenie/uszkodzenie ręki) – i wyniki były słabe. Należy jednak zauważyć, że tu profilowanie jest 'dla bezpieczeństwa' i liczone jest na podstawie powtarzanych w kółko informacji – typu adres czy dane karty.
      Imo losowa próbka z różnego rodzaju formularzy byłaby za trudna do tak jednoznacznego rozpoznania – człowiek myśli, pisze, poprawia i redaguje swoje wypowiedzi… Gdyby to dodatkowe rozszerzenie było dostępne dla mojej przeglądarki, chętnie bym się nim pobawiła i to przetestowała.

  4. a do kogo trafiają profile zebrane przez “stronę testową”? :)

    • O tym samym pomyślałem :)

    • Tam gdzie wszystkie inne – do szeryfa całego świata. :)

    • Nie wiem do kogo trafiają, ale po przejściu profilowania ma się dostęp do _wszystkich_ wyników. Zawierają one adresy ip i rezultaty, ale te drugie są nie do obrobienia (już obliczone przez ich algorytm wyniki cząstkowe i całościowe 0-100).

  5. Kiedyś już o tym wspominałem na forum przy okazji tematu o wykrywaniu artykułów pisanych przez tego samego copywriter. Omawiana metoda + nawyki w słownictwie i mamy 99% pewność co do osoby piszącej artykuły.

    • Gdzie można znaleźć ten Twój tekst?

  6. Może by tak kupić klawiaturę tylko na użytek TORa?

    • Ale to musiałbyś mieć osobną klawiaturę do każdego torowiska/konta/sklepu. I to zupełnie różną jeśli chodzi o parametry.

    • > TOR + włączone JSy
      Równie dobrze można od razu odpalić twitcha i streamować swoje poczynania w abyssie internetowym.

    • @3z: Dlaczego? Zakładamy, że będą tylko dwa profile użytkownika: normalny – po zwykłej przeglądarce i zaawansowany ;) – przez TOR-a. W tym przypadku wystarczy, że ma się 2 różne klawiatury (albo jedną, lecz ze zmienionym układem liter, np. pod TOR-em można przełączyć sobie na niemiecką lub jeszcze lepiej francuską i od razu zmieni się profil naciskania na klawisze ;))

  7. To ma sens jesli osoba używa jednego i tego samego komputera, a co jesli korzystam z dwóch lapków (w tym jeden z ekranem dotykowym) , tabletu i telefonu, dodatkowo czasami piszę w notatniku a wklejam gotowy tekst, powodzenia ;-)

  8. Prostszy sposób – klawiatura z możliwością konfiguracji opóźnień na klawiszach. Po prostu klik i zmieniamy profil pisania.
    Niestety, ale strach się bać. Jak IPv6 się upowszechni i podłączą wszystko do internetu, zbudowane metaprofilu człowieka będzie tylko kwestią czasu. Ale z drugiej strony – obecne pokolenie właśnie tego chce – całe życie na fejsie, instagramie i tweeterze.

    • Niekoniecznie, bo jestem wlasnie z pokolenia, o ktorym piszesz i te rzeczy mnie wkurwiaja.

    • Czytasz niebezpiecznik więc nie jesteś typowym przedstawicielem tego pokolenia.

  9. No, bardzo ciekawy artykuł. Mimo wszystko na TOR używa się blokady Java scriptu.

  10. Wystarczy proste rozszerzenie randomizujące przerwy pomiędzy kolejnymi kodami klawiszy wysyłanymi do bufora klawiatury. Nie wiem jak to teraz działa ale gdyby to wprowadzić na poziomie sterownika to nie ma bata na wykrycie profilu piszącego przez jakikolwiek program. Myślę, że normalny ludź ma to gdzieś, a ktoś kto chciałby się ukryć zrobiłby to w podobny sposób.

    • Zawsze można na poziomie klawiatury:)

    • Tylko musiałoby to być wyłączalne, bo o ile przy tekście nawet sekundowe opóźnienie by nie przeszkadzało (zakładając, że nie mieszałoby to kolejności liter- wciskam A, sekunda oczekiwania przyznana, wciskam B po 0,2s- 100ms oczekiwania da nam ciąg BA zamiast AB), to gracze, szczególnie strzelanek byliby wniebowzięci ;)

  11. A może klawiatura która buforuje znaki i wpisuje po wciśnięciu “enter” w identycznych odstępach czasu?

    • Cały system podpowiedzi (np. przy wprowadzaniu adresu) szlag trafi … ;/

    • A może klawiatura która buforuje znaki i wpisuje po wciśnięciu “enter” w identycznych odstępach czasu?

      Wystarczyło by aby buforowała znaki i je wypisywała od razu ale w odstępach zaokrąglonych do wielokrotności 100ms

  12. Dawno temu słyszałem o pomyśle uwierzytelniania na postawie czasów między kolejnymi kliknięciami w klawiaturę.

  13. A mnie tak łatwo nie idzie rozpoznać po pisania stylu, ja potrafię przybierać różnorodne style i stawiać znaki gdzie indziej. To mam wyuczone :D

    • Chcesz. Napisać, że to… Robisz dobrze i jest, fajne?

      bm,nnmsp.

  14. Można pisać w rytm muzyki która właśnie leci Nam w słuchawkach ;)

  15. Wystarczy użyć kopiuj wklej.

  16. Hmmm… plugin który pisze do bufora i wkleja całe zdania ;)

  17. Istnieje jeszcze łatwiejsza metoda aby ujawnić swoją tożsamość, każdy człowiek ma inny styl pisania, dzięki temu można w bardzo łatwy sposób powiedzieć kto pisał dany tekst, ale jest też proste rozwiazanie problemu: czytanie książek, wiec przed hejtowaniem Niebezpiecznika z Tora przeczytaj kilka książek :)

    • A takie, za przeproszeniem, pierdolenie z tymi książkami, ja nie czytam, a znam dużo więcej słów w Srabble (Literaki na Kurniku) niż kolega, który przeczytał książek w chuj.

      PS: nie ocenzurowałem słownictwa, żeby podkreślić, jak bardzo czytanie książek chuja daje w znajomości słownictwa.

      Pozdrawiam

    • Rozpoznawanie po stylu pisania, po stylu myślenia, nawet dowód matematyczny może mieć styl. Niedługo taki iPhon rozpozna właściciela po sposobie oddychania, od tego krok do cyborgizacji.

    • @behegrzmot : no… nieczytanie, z tego co widać, też coś daje ;p

      Poza tym, znanie słów a ich używanie (i jeszcze w mowie lub piśmie) to całkiem różne rzeczy. Generalnie możesz znać mniej ale masz lepszą pamięć, kolega znał więcej ale zapomniał. Niestety ani Ty ani on nie jesteście wyznacznikami – a generalnie średnia mówi o tym że kto więcej czyta ten ma większy zasób słów (i nie tylko to). Czytanie rozwija spryt, fantazje, wiedze, uczenie się, bezbłędne pisanie, refleks itd.itp.
      Dla odmiany: granie w gry rozwija refleks, czasami spryt.

      Ale to tylko takie, cytując Ciebie, za przeproszeniem pierdolenie ;p

  18. Hm, proste obejście – piszemy wszelkie teksty w notatniku, a następnie je wklejamy do – gdzies tam. Ciekawe jaki profil uzyskają ?

  19. Nic nowego. Takie rzeczy robi się od całkiem dawna i jak na razie – przynajmniej oficjalnie – niewiele z tego wynika. Sam pomysł matematycznie jest całkiem prosty.

    Łatwo to będzie jednak obejść programistycznie. Np. sterownik klawiatury może przez chwilę przetrzymywać wklepywane znaki i “wypluwać” je z losowym rozkładem. Oczywiście patrzenie jak literki pojawiają się na ekranie z opóźnieniem musi być strasznie irytujące, ale wtedy jesteśmy nie do rozpoznania.

  20. Na oszczędzaniu energii i mocnym downclockingu CPU moj komputer sam, w sposób prawdziwie losowy zmienia odstępy między wprowadzeniem znaków – jestem bezpieczny?

    • cóż, obawiam się że wciąż ci grozi ciąża pozamaciczna pod kolanem.

      Ja polecam klawiaturę ekranową z zmiennym układem.

  21. Żadne zaskoczenie. W pracy mamy Synergię, polecam zapoznać się z mechanizmem KeyStroke.

    https://synergia.librus.pl/

  22. Problem jest taki jak i z biometryką czy DNA, im większa baza tym większa szansa trafienia we wzorzec łudząco podobny

  23. Hm. A to nie można np. “Zamulić” przy pisaniu żeby to obejść? ;-o.

  24. Jako ciekawostkę dodam, że Coursera używa tego od pewnego czasu, jako potwierdzenia tożsamości osoby zdającej kurs z osobą, która się rejestrowała. Nazywają to “keystroke biometrics”, więcej info tutaj: http://monitor.icef.com/2013/01/coursera-offers-biometric-based-verified-certificates-for-a-fee-extends-credential-options-for-students/

  25. To po to ten podstępny leśny dziadek Dyrma chce wypracowania.

  26. Przypomnę tylko, że ruchy myszy, ruchy palcem po ekranie itp można też profilować ;)

    Pasowałoby włączyć w takim wypadku coś w stylu klawiszy myszy z ułatwień dostępu Windowsa.

  27. Kilka lat temu rozmawiałem z gościem który chciał użyć biometryki w postaci czasów związanych z wpisywaniem tekstu na klawiaturze jako hasła (to miała być jego praca dyplomowa). Nie wiem czy to zrealizował, ale sam pomysł identyfikacji użytkownika na podstawie pisania na klawiaturze jest znany od dawna.

  28. Jeszcze trochę i będzie wykrywanie po charakterze pisma ;-)

    • Motyla noga, ten Times New Roman mnie zawsze zdemaskuje :(

  29. Zrobić randomizer wciskania klawiszy i po sprawie.

  30. A może by tak stworzyć klawiaturę, która wpisywała by znak po jakimś czasie w równych odcinkach czasu? Np Klepię słowo “niebezpiecznik” i każda litera wklepywana jest przez klawiaturę powiedzmy co równe 2 sekundy. Oczywiście, taka klawiatura na PS2 (nie USB) i cały system nią zarządzający znajdowałby się w klawie, a nie jako osobny program na PC.

  31. A czy istnieją jakieś sensowne etyczne zastosowania tej funkcjonalności (zakładając, że mówimy o polach a nie contenteditable z całym fikuśnym edytorem), które by stały na przeszkodzie temu, by w ogóle pozbawić skrypty możliwości odczytywania na bieżąco tego, co się wpisuje?

  32. Jest też druga strona medalu. Posiadając dostęp do komputera innej osoby można zdobyć informacje o sposobie pisania tej osoby, a następnie symulować sposób pisania tej osoby.
    Obrazowo, nie lubimy kogoś, robimy trojana co rejestruje klawisze, a następnie odpalamy tora i używamy zebranych danych do nadania sobie czyjejś tożsamości :)

    • Albo posiadając stronę internetową na której ta osoba pisze komentarze.

  33. Hmmm a moze by tak bufor z arduino na kablu USB zmieniający losowo parametry wysyłania do pc znaków na żądanie lub co np co dluższy okres braku aktywności na klawiaturze(np 30s)

  34. Poza tym zostaje jeszcze stylometria.

    Podsumowując:
    footprint przeglądarki, stylometria, korelacja czasu połączenia z postem, czas naciskania klawiszy, malware, zainfekowany sprzęt, sposoby o których nie wiem.
    Bardzo proawdopodobne, że przynajmniej jedna rzecz Cię zdradza.

  35. lol, nawet ostatnio o tym myślałem, a nawet zacząłem pisać… bardziej na zasadzie analizy stylu wypowiedzi niż aspektów typowo behawioralnych. Ahh ten postmodernizm, nic k*rwa nowego nie da się wymyślić :), co najwyżej wykonać jakąś wariacje już instniejącego pomysłu

  36. Wystarczy odpalić klawiaturę ekranową i po sprawie :)

  37. Zalozenie ze jedna osoba pisze z rownymi predkosciami o kazdej porze dnia i nocy jest mocno naciagane.Raz mozna szybciej pisac raz wolniej (rozne czynniki zmeczenie niewyspanie zlezne jakby od stanu fizycznego i emocjonalnego).Tak samo w pisaniu na kartce dlugopisem tez nie zawsze sie pisze idealnie tak samo.

    • Wcale nie trzeba zakładać, że piszesz zawsze tak samo, ale np. masz „prawie zawsze” idealnie takie same przerwy między „s” a „z” przy pisaniu „sz” itp. Statystyka na pewno potrafi odsiać takie „inne stany” i podpiąć cię do właściwej teczki. Albo masz „ciężki kciuk” i przy pisaniu „że” zazwyczaj piszesz „żę”. ;) Do tego dodać indwidualny styl pisania i voila.

      Chociaż to z TOR-em to wydaje się mocno naciągane – tytuł skandaliczny jak na onecie. ;) Jak używasz TOR z włączonym JS, to sam jesteś sobie winien i robienie statystycznych pomiarów kliknięć jest wtedy twoim najmniejszym problemem. ;)

  38. dlatego używam konfigurowalnego zależnie od sytuacji, serwisu, hejtu :P klasycznego kibordrobota^^
    https://www.youtube.com/watch?v=qExIeZtt8KA

  39. Taka metoda bazuje na założeniu, że zawsze ktoś pisze w ten sam sposób. Są to pochopne wnioski, bo przyjmują zbyt duży margines błędu. Na pismo ręczne nie wpływa tyle samo czynników, co na pisanie na klawiaturze. Bezwartościowa metoda na dłuższą metę.

  40. Najprostsze obejście problemu, bez pluginów, bez kopiuj-wklej: wystarczy pić piwo i sięgając po butelkę chwilowo pisać jedną ręką ;)

  41. Zawsze jestem pod wrażeniem tego jak szukam np odkurzacza w sklepie intranetowym, a za moment mam same reklamy odkurzacza.

  42. Łudzicie, że ukryjecie swoją tożsamość w sieci? Trzeba było zrobić to wcześniej, zanim opublikowaliście pierwsze zdanie. :)

  43. O tym i innych ciekawych pomysłach w stylu analizy mrugania diod RX/TX w urządzeniach pośredniczących pisał swego czas Michał w “Silence on the Wire”.

    Lektura obowiązkowa dla młodszego audytorium, bo starszaki już dawno zapoznane.
    ftp://ftp.helion.pl/online/bekomp/bekomp-11.pdf

  44. A czy ktoś pomyślał jaki efekt da ukrywanie swojego profilu pisania? :) Od razu takie osoby podejrzane mogą być zdyskwalifikowane i do sprawdzenia – jeśli ma coś do ukrycia – winny!

  45. Chyba właśnie Dvorak zaprojektował swój układ klawiatury opierając się o te same zależności tylko zamiast profilować – optymalizował (no i patentował – już w 1836 r.).

    Myślę, że to łatwo można oszukać nieco modyfikując kod jakiegoś keyloggera. Wklepać mu kilka profili z tej bazy danych i się między nimi przełączać…
    Swoją drogą to ciekawe, czy można by to też wykorzystać np. do wykrycia faktu zainstalowania się jakiegoś złośliwego keyloggera w systemie (opóźnienia generowane przez keyloggera potrzebne na wykonanie jego zadań)?

    Z kolei, jako ciekawostkę dodam, że analiza ruchu myszy (tzw. mousetracking heatmaps) jest powszechnie wykorzystywana przy projektowaniu layoutu stron www i pewnie nie jeden z Was padł już ‘ofiarą’ takiego profilowania, bo najczęściej stosuje się to na produkcyjnych wersjach stron z tego względu że dane są zbierane od odbiorców docelowych. Dobrze wykorzystana może mieć wpływ na wzrost współczynnika konwersji. Oprócz tego stosuje się jeszcze eyetracking heatmaps – ale to jest droższe (sprzęt) i mniej skuteczne (testerzy a nie docelowi klienci) i przez to rzadziej stosowane.

Twój komentarz

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

RSS dla komentarzy: