Nie potrzeba ataków hakerskich, bo strony same ujawniają nasze wrażliwe dane

Żyjemy w czasach, w których informacje o atakach hakerskich i skomplikowanym złośliwym oprogramowaniu stały się wręcz codziennością. Jednak przy tym zapominamy, że prawdziwym zagrożeniem nie są strony trzecie, tylko te podmioty, którym powierzamy własne dane. Bo błędy są rzeczą ludzką, ale niestety niektóre z nich mogą mieć naprawdę katastrofalne skutki.
Zdjęcie poglądowe

Zdjęcie poglądowe

Najnowszy raport badaczy z Uniwersytetu Stanforda rzuca światło na powszechny, a zarazem banalny błąd programistyczny. Okazuje się, że tysiące witryn internetowych, z których korzystamy każdego dnia, dosłownie „rozrzuca” swoje poświadczenia API w ogólnodostępnym kodzie źródłowym. Te cyfrowe klucze, zamiast być bezpiecznie ukryte na serwerach, są wysyłane bezpośrednio do naszych przeglądarek, gdzie każdy, kto wie, gdzie szukać, może je przejąć. Innymi słowy to tak, jakby bank zostawił otwarte drzwi wejściowe, licząc na to, że nikt nie pociągnie za klamkę.

Wyciek w białych rękawiczkach. Co widzi nasza przeglądarka?

Zespół pod kierownictwem Nurullaha Demira przeanalizował gigantyczną bazę 10 milionów stron internetowych, korzystając z archiwum HTTP, które śledzi realne działanie sieci. Badacze nie szukali dziur w zabezpieczeniach serwerów – oni po prostu patrzyli na to, co ładuje się w przeglądarce użytkownika podczas wizyty na stronie. Wyniki są zatrważające: zidentyfikowano 1748 aktywnych i zweryfikowanych poświadczeń do kluczowych usług, takich jak Amazon Web Services (AWS), Stripe czy OpenAI.

Poświadczenia API to w uproszczeniu loginy i hasła, których programy używają do rozmowy między sobą. Jeśli witryna obsługuje płatności przez Stripe lub przechowuje nasze zdjęcia w chmurze Amazon, musi użyć takiego „klucza”, by potwierdzić swoją tożsamość. Problem polega na tym, że aż 84% tych wycieków znaleziono w plikach JavaScript – czyli w instrukcjach, które przeglądarka pobiera, aby poprawnie wyświetlić stronę. Mając taki klucz, przestępca nie potrzebuje hasła, bo może uzyskać bezpośredni dostęp do kont bankowych firmy, baz danych klientów czy serwerów w chmurze, generując przy tym gigantyczne koszty na rachunek ofiary.

Co gorsza, badanie wykazało, że niektóre z tych kluczy „wisiały” publicznie przez ponad rok, a w skrajnych przypadkach nawet przez kilka lat, pozostając niezauważonymi przez działy bezpieczeństwa. To dowodzi, że tradycyjne metody skanowania kodu, których używają programiści przed opublikowaniem strony, są niewystarczające. Jak tłumaczą autorzy raportu:

Nasze wyniki pokazują, że zdecydowana większość wycieków jest wprowadzana podczas procesu budowania strony i materializuje się wyłącznie w aktywnych środowiskach produkcyjnych (np. wewnątrz pakietów JavaScript), co sprawia, że metody statycznego skanowania używane w poprzednich pracach są fundamentalnie niewystarczające dla sieci.

Winą za ten stan rzeczy nie można obarczać dostawców usług, takich jak Amazon czy Stripe. Systemy te są bezpieczne, dopóki klucze pozostają prywatne. Problem leży po stronie deweloperów i operatorów stron, którzy przez nieuwagę dołączają prywatne dane do finalnej wersji witryny wysyłanej do użytkownika. Po interwencji badaczy, w ciągu zaledwie dwóch tygodni udało się wyłączyć lub zabezpieczyć połowę wykrytych wycieków, co pokazuje skalę problemu, o którym firmy często nie mają pojęcia.

Jak zatrzymać wyciek danych?

Aby zapobiec podobnym wpadkom w przyszłości, naukowcy sugerują zmianę podejścia do testowania oprogramowania. Programiści powinni skanować nie tylko „surowy” kod, nad którym pracują, ale przede wszystkim gotową, działającą wersję strony – dokładnie taką, jaką widzi końcowy użytkownik. Firmy muszą również narzucić surowsze reguły dla zautomatyzowanych narzędzi budujących strony, aby te potrafiły wychwycić i zablokować wysyłanie wrażliwych tokenów do przeglądarki. Z kolei dostawcy usług mogliby ulepszyć swoje systemy alertów, by natychmiast powiadamiać klienta, gdy jego tajny klucz pojawi się na publicznej podstronie.

Źródło: arxiv

Napisane przez

Joanna Marteklas

Redaktor
Zajmuję się tematyką nowych technologii i ich wpływu na codzienne życie. Piszę o cyfrowej kulturze, innowacjach oraz trendach zmieniających sposób, w jaki pracujemy i komunikujemy się ze sobą. Szczególnie interesuje mnie relacja między rozwojem technologii a współczesną popkulturą. W wolnych chwilach zakopuję się w książkach i komiksach — najczęściej w fantastyce i wuxia.