Metodę kradzieży zapisanego w przeglądarce hasła i loginu w ramach jednej sesji na stronie zawierającej skrypt JavaScript opisali badacze z portalu freedom-to-tinker.com. Typowy atak XSS, czyli w tym przypadku pobieranie i eksfiltracja danych bez wiedzy użytkownika realizowane są przez firmy trzecie odpowiedzialne za opracowywanie śledzącego kodu JavaScript. Wszyscy to znamy — firmy z branży marketingu i reklamy mogą posunąć się do tego stopnia, że za informacje o użytkownikach potrafią łamać wszelkie niepisane zasady bezpieczeństwa i zdrowego rozsądku. Przedstawione informacje we wspomnianym portalu ujawniają, że wbudowane menadżery haseł w przeglądarki Chrome, Firefox, Safari i Edge są wykorzystywane przez szpiegowskie skrypty do śledzenia / profilowania użytkowników.
Schemat przedstawia procedurę kradzieży:
- Użytkownik wypełnia formularz logowania i zapisuje dane w przeglądarce. Nie jest to atak na protokół, więc nie ma znaczenia, że komunikacja „przeglądarka <-> strona WWW” jest szyfrowana (HTTPS) lub nie jest (HTTP).
- Użytkownik odwiedza stronę tego samego serwisu w tej samej domenie, na której znajduje się złośliwy skrypt JavaScript. Ów skrypt jest niewidoczny i wystawia transparentny formularz logowania, który zostaje wypełniony przez przeglądarkę.
- Skrypt wysyła hash adresu e-mail do firmy zbierającej takie dane.
Dla niektórych osób może być to dziwne, że do wypełnienia formularza nie jest wymagana interakcja z użytkownikiem. Otóż niekoniecznie — wszystkie topowe przeglądarki automatycznie wypełniają nazwę użytkownika (i często adres e-mail) natychmiast, niezależnie od tego, czy formularz jest widoczny. W przypadku Chrome taki formularz nie jest wypełniany automatycznie, wymagane jest kliknięcie dowolnego miejsca na stronie. Inne przeglądarki, które zostały sprawdzone przez autorów wykonanego doświadczenia (Firefox, Chrome, Internet Explorer, Edge, Safari) nie wymagają interakcji z użytkownikiem, więc pole hasła i loginu są wypełniane automatycznie. Oczywiście jest to też uwarunkowane ustawieniami samej przeglądarki i tym, czy zgodzimy się na zapamiętanie wprowadzonych do formularza informacji.
Jak to działa można przetestować na tej stronie, wpisując jakiekolwiek dane (najlepiej nie swoje). Pełna lista domen internetowych, które zawierają opisywany skrypt znajduje się tutaj.
Czasami obraz lepiej oddaje przesłanie niż nawet najdokładniejszy opis (zobacz wideo).
W taki oto sposób kod JavaScript może pobierać zapisane dane uwierzytelniające, które są następnie wysyłane do firmy żyjącej ze sprzedaży profilowanych informacji o użytkownikach. W skrajnych wypadkach takie dane mogą trafić w ręce przestępców.
Niebezpieczne w tym wszystkim jest korelowanie informacji: zarówno adresy e-mail jak i hasło są unikatowe, a zatem są doskonałym identyfikatorem do śledzenia, lepszym niż ciasteczka przeglądarki. Zarówno hasło jak i adres e-mail mogą służyć do korelowania informacji o użytkowniku z różnych stron internetowych, niezależnie od tego, czy strona jest szyfrowana, czy nie jest.
Są także pozytywne aspekty przeprowadzonego doświadczenia. Pomimo tego, że wbudowane menadżery haseł są podatne na ataki XSS, to spośród 50000 przeanalizowanych stron nie znaleziono takich, które eksfiltrują hasła. Natomiast znaleziono 1110, które zostały uwzględnione w statystykach serwisu Alexa jako popularne i które z adresami e-mail już się nie cackały.
Jest i sprawa polska
Badacze zwracają uwagę na skrypt firmy OnAudience ze strony behavioralengine.com, który występuje najczęściej na stronach z końcówką „.pl”, w tym w serwisach informacyjnych, u dostawców internetowych i sklepów on-line. 45 spośród 63 przeanalizowanych witryn w domenie TLD „.pl” zawiera śledzący skrypt. Co więcej, skrypt tej firmy zbiera informacje o zainstalowanych wtyczkach, plikach w formacie MIME, rozdzielczości ekranu, języku, strefie czasowej, systemie operacyjnym i procesorze. Następnie generuje hash informacji w oparciu o odcisk palca przeglądarki i wysyła wszystko we wskazane miejsce.
Badacze skontaktowali się z firmą OnAudience, która twierdzi, że korzysta tylko z anonimowych danych. Z tym że adres e-mail nie jest anonimowy, a do znalezienia informacji o użytkowniku wystarczy wykradziony e-mail. Teraz, odszukanie wszystkich danych o konkretnej osobie powiązanej z tym adresem jest tylko kwestią kilku chwil.
[ Aktualizacja #1 29.12.2017 ]
Skontaktowała się z nami agencja inPlus Media reprezentująca firmę Cloud Technologies, za którą stoją projekty BehavioralEngine.com i OnAudience.com, prosząc o zamieszczenie komentarza Piotra Prajsnara, prezesa zarządu Cloud Technologies:
Jako firma specjalizująca się w Big Data marketingu robimy wszystko, by nie tylko gromadzić jak najwięcej istotnych informacji o zainteresowaniach internautów, lecz również by chronić ich prywatność zapewniając im pełną anonimowość. W informacji opublikowanej przez portal Freedom-to-Thinker.com, wkradła się nieścisłość. Nie gromadzimy adresów e-mail użytkowników Sieci, lecz ich skróty wygenerowane przez funkcję haszującą. W tym przypadku jest to powszechnie znany algorytm MD5. Zakodowane w ten sposób skróty były wykorzystywane do zamawiania wysyłek w zewnętrznych bazach mailingowych w ramach e-mail retargetingu. W tym przypadku skrypt zbierał dane dla platformy BehavioralEngine.com, która kończy działalność.
Nasza platforma DMP OnAudience.com bazuje na innej technologii i wykorzystuje odmienne metody gromadzenia informacji. Co więcej, nie ma wymiany danych pomiędzy BehavioralEngine i OnAudience. Ponadto, dane zbierane przez naszą DMP są automatycznie anonimizowane i przetwarzane w czasie rzeczywistym przez algorytmy uczenia maszynowego, tak, by zapewnić najwyższą precyzję w targetowaniu reklam oraz w innych działaniach marketingowych, które świadczymy naszym klientom. Cyfrowe informacje dostępne w naszej hurtowni danych nigdy nie są zestawiane z danymi, które pozwoliłyby crackerom na identyfikację internautów. Odkąd rozpoczęliśmy naszą działalność taki incydent nigdy nie zaistniał, mimo że przetwarzamy już ponad 9 miliardów anonimowych profili internautów z całego świata.
Czy ten artykuł był pomocny?
Oceniono: 0 razy