Metody cyfrowego odcisku palca przeglądarek internetowych i urządzeń podłączonych do Internetu - wyzwania i rozwiązania

20.02.2021

Dzisiejszy Internet jest innym miejscem niż był on 30 lat temu. Przede wszystkim jest on teraz bardziej niebezpieczny. Dzisiejsi internauci muszą uważać na takie niebezpieczeństwa jak np. złośliwe oprogramowanie, ale powinni również być świadomi zagrożeń dla ich prywatności. W swojej pracy dyplomowej inż. Artur Wolff podjął się ciekawego i niezwykle ważnego zadania dotyczącego metod identyfikacji urządzeń podłączonych do Internetu z wykorzystaniem koncepcji „cyfrowego odcisku palca”. 

Obecnie, jak nigdy w historii ludzkości, „wszystko jest ze wszystkim połączone” za pomocą sieci i systemów teleinformatycznych, tworząc tzw. cyberprzestrzeń (ang. cyberspace), której rdzeniem jest Internet. Nowa przestrzeń – cyberprzestrzeń – ma istotny wpływ na potencjalne zagrożenia dla bezpieczeństwa narodowego. Wojny przyszłości prowadzone będą (a właściwie już są) w głównej mierze właśnie w cyberprzestrzeni. Praca dyplomowa opisująca wykorzystanie koncepcji „cyfrowego odcisku palca” inż. Artura Wolffa dotyczy więc obszaru badawczego, który jest niezwykle istotny dla kluczowych zdolności nowoczesnych sił zbrojnych - powiedział promotor pracy ppłk. dr inż. Rafał Kasprzyk.

Czym jest fingerprinting?

Identyfikacja użytkowników Internetu zaczęła być bardzo istotna w chwili, kiedy Internet stał się częścią tzw. mass mediów. Przykładowo platformy reklamowe wykorzystują możliwość identyfikacji użytkowników do śledzenia ich aktywności w sieci, a niekiedy wręcz do de-anonimizacji użytkowników starających się zachować prywatność w Internecie. W tym kontekście tworzenie cyfrowych odcisków palca (fingerprinting) to jedna z metod identyfikacji, która pozwala serwerom WWW na identyfikację urządzeń użytkowników za pomocą informacji wysyłanych przez to urządzenie lub przeglądarkę internetową (działającą na tym urządzeniu), tworząc cyfrowy odcisk palca (fingerprint). Pisząc bardziej obrazowo: w przeciwieństwie do tzw. „ciasteczek”, cyfrowy odcisk przeglądarki pozostaje ten sam w tzw. trybie prywatnym (incognito), a nawet gdy użytkownik usunie wszystkie dane przeglądarki internetowej lub zresetuje ją do ustawień fabrycznych. Jest to zatem identyfikacja, którą trudno zmanipulować, a na dodatek trudno wykryć jej stosowanie.

Informacje, które można “wyciągnąć” z przeglądarki/urządzenia to zwykle metadane. Może to być lista czcionek, strefa czasowa użytkownika, a nawet coś tak enigmatycznego, jak wielkość skalowania okna. Pomimo, iż takie informacje w izolacji nie mają potencjału identyfikacyjnego, to jako pokaźny zbiór cech mogą posłużyć do skonstruowania odcisku danej przeglądarki/urządzenia.

Zagrożenia związane z fingerprintingiem

Prawdopodobnie najbardziej wyrazistym przykładem zagrożeń związanych z fingerprintingiem jest obserwacja, jak często ludzie szukają w Internecie informacji w kontekście własnego zdrowa lub zdrowia swoich bliskich. Nawet jeśli robimy to w trybie incognito i w innej niż zwykle sieci (np. używając transmisji mobilnej) to możemy być celem tzw. targetowania behawioralnego reklam. Reklamodawcy, mając do dyspozycji tak potężne narzędzie jak fingerprinting, mogą robić to skuteczniej niż dotychczas. Osoby podatne na manipulację mogą przez reklamy tracić pieniądze na nieskuteczne w ich przypadku terapie i nie otrzymywać odpowiedniego leczenia na czas. To tylko jeden z wielu przykładów możliwych manipulacji.

Pomimo wielu negatywnych aspektów używania fingerprintingu, narzędzie to może mieć także pozytywny wymiar. Cyfrowe odciski palców mogą być na przykład używane jako druga warstwa autentykacji w serwisach internetowych.

Jak zidentyfikować użytkownika w Internecie?

Choć opisywane odciski mogą się zmieniać w czasie, to w swojej pracy Artur Wolff pokazuje, jak używając prostego, heurystycznego algorytmu możemy grupować podobne do siebie odciski, tworząc jeden meta-odcisk. Jak zauważył promotor pracy ppłk. dr inż. Rafał Kasprzyk:
Na wyróżnienie zasługuje autorska implementacja algorytmu fingerprinting’u tworzącego „meta-odcisk”, co pozwala na automatyzację procesu klasteryzacji „cyfrowych odcisków palców”, w celu identyfikacji tych samych urządzeń ze zmienionymi wybranymi cechami sprzętowo-programowymi. Problem był o tyle trudny, że oprócz znajomości dobrych praktyk inżynierskich do budowy systemów informatycznych, wymagał od autora rozwiązania zagadnienia „odwrotnego”, bardzo zaawansowanego technicznie.

Czy da się temu skutecznie zapobiec?

Autor pracy pokazuje, że poprzez zgrupowanie podobnych do siebie odcisków można stworzyć jeden meta-odcisk. Nie jest to zatem dobra wiadomość dla typowych użytkowników Internetu. W istocie internauci są w tej sytuacji zdani sami na siebie. Mogą oni próbować różnych przeglądarek internetowych lub instalować rozszerzenia, które w domyśle mają zapobiegać fingerprintingowi, ale większość rozwiązań jest bardzo trudna w użyciu lub jedynie pogarsza sytuację (fingerprintability paradox). Zmiana powinna wyjść od twórców oprogramowania. Niestety wiele firm działających w obszarze i kształtujących Internet (w szczególności te związane z reklamą w Internecie) nie ma w interesie ograniczania możliwości opisywanej technologii. Najpopularniejsza przeglądarka Chrome jest najprawdopodobniej najbardziej podatną na tę technikę przeglądarką internetową m.in. z tego powodu. Pomimo iż specjaliści od cyberbezpieczeństwa traktują tworzenie cyfrowych odcisków nie tylko jako lukę w zabezpieczeniach, ale także w prywatności, to natychmiastowe ograniczenie go sprawi, że część Internetu może najzwyczajniej przestać działać. Nie tylko ze względu na to, że na fingerprintingu opiera się znaczna część podstawowych funkcji przeglądarek (i ich pewne rozszerzenia), ale także dlatego, że niektóre serwisy wykorzystują fingerprinting do uwierzytelniania użytkowników (na tej zasadzie działają takie technologie jak reCAPTCHA v3).

Powyższe rozważania prowadzą do wniosku, że tworzenie cyfrowych odcisków przeglądarek internetowych i urządzeń podłączonych do Internetu jest tematem, który warto i należy dalej zgłębiać.