Łukasz Olejnik

Bezpieczeństwo, cyberbezpieczeństwo, prywatność, ochrona danych

Dużej skali analiza unikania śledzenia opartego na DNS - problem wycieków danych

Technik śledzenia użytkowników w internecie jest wiele i są one stosowane dość szeroko. Szczęśliwie, w ostatnim czasie przeglądarki internetowe zaczęły zwalczać szkodliwe nadużycia. Doprowadziło to do swoistego wyścigu zbrojeń, w ramach którego opracowywane są nowe środki wykrywania śledzenia i zapobiegania śledzeniu, oraz śledzenia. Wykorzystanie jednej z takich technik unikania, techniki maskowania CNAME (tak ją będziemy tu nazywali) szybko zyskuje ostatnio na popularności. Nasze nowe badania naukowe wskazują na to, że korzystanie takich schematów śledzenia systematycznie i ogólnie zagraża bezpieczeństwu sieci i prywatności.

Na część z tych zagrożeń wskazywałem już w 2014 roku. Muszę przyznać, że krajobraz od tego czasu znacznie się zmienił. Nasza obecna praca badawcza jest pierwszą taką systematyczną, głęboką analizą bezpieczeństwa i prywatności tej techniki. Ponieważ technika maskowania CNAME jest obecnie systematycznie stosowana w sieci, wyniki robią duże wrażenie. Powiedziałbym, że jesteśmy dość blisko najgorszego scenariusza, z systemowymi wyciekami danych i praktycznymi lukami bezpieczeństwa webowego. To wszystko w 2021 roku, tak jakby czas stanął w 2010 roku. W tym poście wyjaśniam konsekwencje, w tym te regulacyjne. Mówimy o naruszeniach danych na naprawdę szeroką skalę, które dzieją się bezpośrednio na naszych oczach.

Artykuł badawczy (przyjęty do Privacy Enhancing Technologies Symposium, 2021) jest moją wspólną pracą z badaczami z KU Leuven, którym jestem wdzięczny za doskonałą współpracę (a działaliśmy od 2019 r.). Publikacja jest tutaj. Dalej kontynuuję opis.

Podkreślamy, jak technika CNAME omija środki techniczne zapobiegające śledzeniu. Pokazujemy, że stosowanie metody śledzenia CNAME prowadzi do rozprzestrzeniania się problemów bezpieczeństwa i prywatności w sieci. Ta metoda śledzenia może potencjalnie prowadzić do masowego naruszenia bezpieczeństwa i prywatności danych, w którym dane użytkownika wyciekają lub są pozyskiwane przez elementy śledzące. Twierdzę więc, że ten schemat łamie model bezpieczeństwa i prywatności w sieci.

Pokazujemy, jak:

  • Zastosowanie maskowania CNAME wprowadza błędy bezpieczeństwa na stronach internetowych. Pozwala to naruszyć bezpieczeństwo użytkowników, np. wykraść ich pieniądze. W przypadku kilku skryptów jest to problem systemowy. Wszystkie strony internetowe stosujące takie skrypty (a jest ich wiele) są podatne na taki atak.
  • Użycie techniki maskowania CNAME prowadzi do masowych wycieków plików cookie, “ciasteczek” (zarówno tych śledzących jak i zwyczajnych, stosowanych do funkcjonowania odwiedzanej strony internetowej). W 95% przypadków stron korzystających z tej techniki stwierdziliśmy, że ciasteczka wyciekają na zewnętrzne serwery w sposób bez niewidoczny dla użytkownika, bez żadnej kontroli. W niektórych przypadkach zauważyliśmy, że te pliki cookie zawierają dane prywatne / wrażliwe. Wszystko to prawdopodobnie powoduje naruszenie reżimów ochrony danych, takich jak RODO.

Raportujemy, że ta technika śledzenia jest powszechna na popularnych stronach internetowych. Wykryliśmy jej stosowanie na 9,98% z 10 000 najpopularniejszych witryn. Stosowanie tej metody rośnie (wzrost o 21% w ciągu ostatnich 22 miesięcy). Wykryliśmy 13 dostawców takich „usług” śledzenia na 10 474 stronach internetowych. Metoda ta prowadzi do wycieków danych na 95% korzystających z niego stron internetowych. Takie wycieki danych czasami obejmują dane jednoznacznie prywatne. Kontrolki RODO powinny migać na czerwono.

Co to jest maskowanie CNAME?

W zwykłej konfiguracji śledzenia, elementy śledzące to zazwyczaj skrypty od dostawców zewnętrznych (third-party, niezwiązanych z odwiedzaną stroną internetową), osadzone na stronach internetowych odwiedzanych przez użytkowników. Przykładowo, strona strona-internetowa.com, może zamieszczać skrypt ze skrypt-śledzący.com, tu jak widać obsługiwana z innej domeny, co stanowi zawartość strony trzeciej (technicznie nienależąca do odwiedzanej witryny).

W schemacie maskowania CNAME jest to bardziej skomplikowane. Skrypt śledzący jest wstrzykiwany w kontekście odwiedzanej strony internetowej. Czyli witryna strona-internetowa.com osadza treść w formacie xxx.strona-internetowa.com. Ale w rzeczywistości ta poddomena zewnętrznej nazwy xxx.strona-internetowa.com jest aliasem dla yyy.skrypt-śledzący.com, oddzielnej domeny hostowanej na serwerze zewnętrznym, bez związku z odwiedzaną stroną. Ten schemat działa dzięki delegowaniu nazw DNS. Najczęściej jest to rekord DNS CNAME. Technicznie rzecz biorąc, skrypt śledzący jest hostowany w poddomenie odwiedzanej witryny. Zastosowanie takiego systemu rodzi pewne konsekwencje. W pewnym sensie “oszukuje” (omija?) to podstawowe reguły techniczne bezpieczeństwa sieci i ochrony prywatności. Kiedy przeglądarka internetowa widzi taki schemat, niektóre zabezpieczenia są złagodzone.

Ma to bardzo duże konsekwencje dla bezpieczeństwa i prywatności w sieci. Przeglądarki internetowe w sposób uzasadniony traktują taki system śledzący xxx.strona-internetowa.com jako własną treść odwiedzanej witryny strona-internetowa.com. Takie rozwiązanie zapewnia wiele korzyści, na przykład dostęp do własnych plików cookie. Nie ma wtedy potrzeby korzystania z plików cookie stron trzecich (third-party cookies), które i tak są coraz bardziej ograniczone lub wycofywane przez przeglądarki. Z technicznego punktu widzenia pliki cookie mogą mieć ustawiony zasięg xxx.strona-internetowa.com (lub nawet strona-internetowa.com), ale wtedy i tak są oczywiście wysyłane na zdalne serwery stron trzecich kontrolowane przez moduł śledzący. Pozwala to obejść wiele środków zapobiegających śledzeniu.

Ukierunkowanie na przeglądarki Apple Safari

W przypadku konkretnego dostawcy skryptów śledzących, Criteo, obserwujemy, identyfikujemy i wykazujemy dowody ukierunkowanego traktowania przeglądarki Safari. Wykryliśmy, że po wykryciu używanej przeglądarki Safari, skrypty śledzenia Criteo decydowały na ​​korzystanie z tego niestandardowego schematu maskowania CNAME. Widzieliśmy celowe zastosowanie takiego ukierunkowanego podejścia. Pod tym względem nasza obserwacja jest jednoznaczna. Choć możemy się tylko zastanawiać nad motywacjami, podejrzewamy, że śledzenie użytkowników Apple Safari jest celowym środkiem by ominąć technologię Intelligent Tracking Prevention, które śledzenie ogranicza.

Wycieki prywatności

To ta niepokojąca część tej analizy. Ze względu na sposób działania architektury www, schemat CNAME otwiera drogę do szerokiego wycieku plików cookie. Gdy przeglądarka internetowa użytkownika łączy się z witryną internetową strona-internetowa.com, pliki cookie ustawione wcześniej w zakresie „do” tej konkretnej domeny są wysyłane do serwera przez przeglądarkę internetową.

Ale ponieważ metoda CNAME obejmuje schemat w postaci skrypt-śledzący.strona-internetowa.com (odwiedzana witryna strona-internetowa.com deleguje subdomenę wskazującą na serwer śledzący), obejmującą poddomenę witryn internetowych, to wiele niepowiązanych, “legalnych” plików cookie ustawionych na strona-internetowa.com jest zatem wysyłanych również do skrypt-śledzący.strona-internetowa.com! W moim badaniu z 2014 roku (1,2) zauważyłem i zweryfikowałem problematykę takich wycieków. Ale w tej przestrzeni nastąpiła ogromna zmiana. Problem uległ znacznemu poszerzeniu. Jako wierzchołek góry lodowej znaleźliśmy rozległe wycieki danych z 7377 stron internetowych. Wycieki danych mają miejsce w prawie każdej witrynie korzystającej ze schematu CNAME. Sugeruje to, że ten schemat jest aktywnie niebezpieczny - jest szkodliwy dla bezpieczeństwa i prywatności  w sieci.

Mamy dowody zarówno pasywnych, jak i aktywnych wycieków danych. Taki schemat CNAME jest obecny na wielu stronach internetowych. Wyciekające pliki cookie znaleźliśmy na 95% badanych stron. Skrypty śledzące otrzymują pliki cookie innych domen, także te, które nie są dla nich przeznaczone i są całkowicie niezwiązane z tym systemem śledzenia. Dzieje się to bez świadomości i zgody użytkownika. Dlaczego użytkownik miałby wyrazić zgodę na to, aby system śledzący zewnętrznej firmy otrzymywało całkowicie niepowiązane dane, w tym te wrażliwe i prywatne? Zauważyliśmy wycieki nawet plików cookie ustawionych przez skrypty śledzące zupełnie innych firm...

Co gorsza, odkryliśmy również, że w niektórych przypadkach wyciekające pliki cookie zawierają informacje prywatne lub poufne. Serwery skryptów śledzących pozyskują wszystkie takie dane.

Wykryliśmy przypadki wycieku następujących poufnych informacji.

  • imię i nazwisko użytkownika,
  • położenie (lokalizacja),
  • adres e-mail,
  • plik cookie uwierzytelniania.

Wygląda poważnie? Zawsze może być jeszcze gorzej.

Problemy z bezpieczeństwem sieciowym

Schemat CNAME zwiększa “powierzchnię zagrożenia” dla bezpieczeństwa i prywatności.

Odkryliśmy, że wiele elementów śledzących CNAME jest serwowanych poprzez nieszyfrowany protokół HTTP, a nie szyfrowany HTTPS. Może to ułatwić ataki typu man-in-the-middle i ogólnie negatywnie wpłynąć na integralność wizyty na stronie internetowej, ponieważ JavaScript dostarczany przez HTTP działa w kontekście głównej witryny.

W naszym artykule opisano też dwa ryzyka systemowe - ryzyka cyberbezpieczeństwa dla użytkowników. Wynik, powiedzmy, darmowego audytu bezpieczeństwa, który jest również częścią naszej pracy. Luki w zabezpieczeniach: session fixation, cross-site scripting.

Zastosowanie tej techniki rośnie.

Po raz pierwszy zetknąłem się z techniką maskowania CNAME już w 2014 r. (1, 2; w tym czasie w dużej mierze przeoczone), badając technologię real-time bidding. Dziś wzrosła liczba dostawców takich „usług”. Technika ta jest stosowana na dziesiątkach tysięcy witryn internetowych. W naszej publikacji naukowej wykryliśmy użycie na ponad 10 000 witryn internetowych. Zwracamy uwagę, że na dzień dzisiejszy nie ma spójnych technik, które automatycznie blokują takie śledzenie. Wiele typowych podejść do “obrony” nie uwzględnia takiej techniki śledzenia. Są nieskuteczne.

Jak się bronić?

Ponieważ obecnie większość funkcji ochrony przed śledzeniem działa na zasadzie list filtrów (dopasowywanie wzorców żądań HTTP), to schemat CNAME skutecznie obchodzi takie zabezpieczenia. Musi istnieć inny sposób filtrowania / sprawdzania / blokowania takiego schematu. Na dzień dzisiejszy, biorąc pod uwagę głównych dostawców przeglądarek internetowych, tylko Firefox oferuje metody dzięki którym od wersji 1.25 rozszerzenie uBlock w przeglądarce Firefox dynamicznie rozwiązuje hosty CNAME i “oczyszcza” takie żądania, jeśli zostanie znalezione właściwe dopasowanie. Taki środek nie działa w przeglądarce Chrome, ponieważ ta przeglądarka internetowa nie oferuje rozszerzeniom przeglądarki dynamicznego rozwiązywania nazw hostów. Na dziś dzień Apple Safari ma tylko częściowe zabezpieczenia, które nie rozwiązują problemu wycieku danych (jest też przeglądarka Brave, która zdaje się ma zabezpieczenia).

Dziś jednak większość użytkowników sieci jest podatna na taki schemat. Jest to skuteczne obejście środków zapobiegających śledzeniu.

Podsumowanie

Jako były członek W3C Technical Architecture Group, muszę powiedzieć, że jestem zaniepokojony tym, jak ta technika niewłaściwie wykorzystuje sposób działania sieci. Szczególnie w przypadku, gdzie wyciekają pliki cookie. To jest problem, to jest nadużycie.

Analiza opisana w tym poście pokazuje, że rośnie wykorzystanie tej “nowej” techniki śledzenia CNAME. Ta technika omija środki zapobiegające śledzeniu. Wprowadza poważne problemy z bezpieczeństwem i prywatnością. Użytkownicy mogą zostać zaatakowani (“zhakowani”). Dane użytkowników wyciekają na skalę masową. Trwale i konsekwentnie, bez świadomości ani zgody użytkownika. To prawdopodobnie wywołuje pewne problemy związane z RODO i dyrektywą ePrivacy. Ponieważ wydaje się, że Europa powinna mieć funkcjonujące systemy ochrony danych, to społeczeństwa powinno spodziewać się działań egzekwujących. Inną kwestią jest, czy tak się stanie.

Podobał Ci się ten wpis/analiza? Jakieś pytania, uwagi lub oferty? Zapraszam do kontaktu: me@lukaszolejnik.com


Comments is loading...

Comments is loading...