Cyberbezpieczeństwo

Jak pojedynczy skrypt śledzący przekierowywał płatności kryptowalutowe w całej sieci

Analiza naruszenia łańcucha dostaw Adform, w którym hakerzy zmodyfikowali skrypt śledzący w celu przejmowania adresów portfeli kryptowalutowych za pośrednictwem przeglądarki.
Jak pojedynczy skrypt śledzący przekierowywał płatności kryptowalutowe w całej sieci

Technologia reklamowa to ciemna materia współczesnego internetu. Jest niewidoczna dla przeciętnego użytkownika, a jednak wywiera ogromny wpływ na przepływ danych w sieci. Gdy ta niewidzialna warstwa zawodzi, skutki natychmiastowo skalują się na tysiące niepowiązanych ze sobą witryn. 27 lipca 2026 r. firma Adform odkryła, że jeden z jej głównych skryptów śledzących został wykorzystany przeciwko użytkownikom. Naruszenie łańcucha dostaw pozwoliło atakującym wstrzyknąć złośliwy kod do powszechnie używanego pliku JavaScript, przekształcając go w narzędzie, które w czasie rzeczywistym podmienia adresy portfeli kryptowalutowych.

Spędziłem poranek na analizie przechwyconych próbek złośliwego skryptu. Atak wymierzony jest w trackpoint-async.js, plik serwowany z infrastruktury Adform. Ponieważ skrypt ten jest zintegrowany z nagłówkami około 1800 witryn klientów w celu ułatwienia analityki reklamowej, atakujący nie musieli włamywać się do tych poszczególnych firm. Po prostu zatruli studnię. Gdy zmodyfikowany skrypt załadował się w przeglądarce odwiedzającego, zaczął monitorować model obiektowy dokumentu (DOM) pod kątem specyficznych wzorców przypominających adresy Bitcoin, Ethereum lub Tron.

Niewidzialne ryzyko zależności od podmiotów trzecich

Nowoczesna architektura stron internetowych opiera się na dorozumianym zaufaniu do zasobów zewnętrznych. Gdy programista dodaje linię kodu wywołującą skrypt od globalnego dostawcy, przyznaje mu znaczną kontrolę nad doświadczeniem użytkownika. Ten incydent to podręcznikowy przykład ataku na łańcuch dostaw, w którym wykorzystywana jest relacja zaufania. Omawiany skrypt, trackpoint-async.js, jest zaprojektowany do działania w obrębie całych witryn lub ich konkretnych sekcji. W tym przypadku atakujący dołączyli dwa złośliwe bloki kodu na końcu legalnej biblioteki.

Z perspektywy ryzyka jest to scenariusz koszmarny dla każdego administratora witryny. Można mieć idealną postawę bezpieczeństwa, utwardzony serwer i rygorystyczny proces wewnętrznego przeglądu kodu, a mimo to pojedynczy zewnętrzny skrypt może narazić użytkowników. Atakujący ominęli obwód sieciowy, wchodząc bocznymi drzwiami, które prawie zawsze pozostają otwarte dla narzędzi marketingowych i analitycznych. Pokazuje to, dlaczego koncepcja obwodu sieciowego jest przestarzałą fosą zamkową. Jeśli pozwalasz zewnętrznym skryptom działać z wysokimi uprawnieniami w swojej witrynie, w rzeczywistości zaprosiłeś nieznajomego do zarządzania swoim bezpieczeństwem.

Anatomia naruszenia trackpoint

Analiza techniczna złośliwych bloków ujawnia skoncentrowane wysiłki na rzecz przejmowania transakcji finansowych. Kod wykorzystuje sześciobajtowy klucz XOR do zaciemnienia zamiennych adresów portfeli, co jest powszechną taktyką unikania podstawowej detekcji opartej na sygnaturach. Po wykonaniu skrypt inicjuje dwie odrębne ścieżki ataku. Pierwszy blok skupia się na schowku systemowym. Obserwuje zdarzenie kopiowania i próbuje odczytać schowek co cztery sekundy. Jeśli zidentyfikuje ciąg znaków pasujący do wzorca portfela kryptowalutowego, zastępuje go adresem portfela należącym do atakującego.

Za kulisami drugi blok kodu jest jeszcze bardziej inwazyjny. Przeszukuje on węzły tekstowe dokumentu i monitoruje każde pole wejściowe, obszar tekstowy oraz element typu contenteditable. Gdy użytkownik wpisuje lub wkleja adres w pole formularza, skrypt przechwytuje zdarzenie i nadpisuje wartość. Posuwa się nawet do przywrócenia pozycji kursora po nadpisaniu, aby użytkownik nie zauważył zmiany. Ten poziom granularnej manipulacji gwarantuje, że nawet jeśli użytkownik ominie schowek, wpisując adres ręcznie, transakcja pozostaje podatna na przekierowanie.

Schowek to środowisko sporne

Niezależny badacz Kevin Beaumont zauważył szczególnie agresywną cechę tego złośliwego oprogramowania. Nawet jeśli użytkownik zauważy, że adres jest nieprawidłowy i spróbuje ponownie skopiować oryginalny adres portfela, skrypt nadal go podmienia. Ta uporczywość sprawia, że samo środowisko przeglądarki staje się niewiarygodne. W przypadku takiego naruszenia przeglądarka staje się złośliwym agentem działającym przeciwko interesom użytkownika.

Z perspektywy użytkownika końcowego atak jest niemal całkowicie cichy. Nie ma wyskakujących okienek, spowolnień ani oczywistych oznak infekcji systemu. Złośliwe oprogramowanie nie próbuje instalować oprogramowania ani utrwalać swojej obecności na dysku twardym. Istnieje tylko w ulotnej pamięci karty przeglądarki. Gdy użytkownik zamknie zainfekowaną stronę, złośliwy proces kończy się. Jednak szkody powstają w ciągu kilku sekund potrzebnych na kliknięcie przycisku „wyślij”. Jeden zmieniony adres w momencie płatności wystarczy, aby przekierować tysiące dolarów w sposób, który jest funkcjonalnie nieodwracalny na zdecentralizowanym blockchainie.

Rozstrzyganie konfliktu w harmonogramie

Istnieje rozbieżność między oficjalnym raportem z incydentu a niezależnymi obserwacjami. Adform wskazuje 27 lipca jako datę incydentu i twierdzi, że niezwłocznie usunął kod. Kevin Beaumont zgłosił, że widział złośliwą aktywność za pośrednictwem Adform przez co najmniej tydzień przed tą datą. Ta luka czasowa stanowi istotny problem dla oceny ryzyka. Jeśli skrypt był aktywny przez siedem dni zamiast jednego, liczba narażonych gości wzrasta o rzędy wielkości. Adform serwuje około 1,5 miliarda reklam dziennie w 180 krajach. Nawet jeśli tylko niewielki ułamek tych reklam zawierał złośliwy ładunek, potencjalna pula ofiar jest ogromna.

Jako środek zaradczy Adform zalecił wszystkim użytkownikom wyczyszczenie pamięci podręcznej przeglądarki. Jest to kluczowy krok, ponieważ złośliwa wersja trackpoint-async.js może pozostać zapisana lokalnie na komputerze użytkownika nawet po naprawieniu błędu po stronie serwera. Jeśli przeglądarka załaduje wersję skryptu z pamięci podręcznej, atak pozostaje aktywny. Podkreśla to trwałą wadę bezpieczeństwa sieciowego, w której długowieczność pamięci podręcznej może przedłużyć życie zagrożenia długo po wdrożeniu poprawki.

Ocena możliwości eksfiltracji danych

Jednym z bardziej niepokojących aspektów kodu jest jego komunikacja z zewnętrznym serwerem. Skrypt próbuje wysłać żądanie HTTP do adresu IP (84.32.102[.]230) podczas ładowania strony. Żądanie to zawiera nazwę hosta i konkretną ścieżkę strony, którą aktualnie przegląda gość. Adform stwierdził, że nie znaleźli dowodów na to, by adresy IP gości lub historia przeglądania dotarły do atakujących. Jednak powiadomienie o incydencie przyznaje, że taka transmisja była technicznie możliwa w oparciu o konstrukcję kodu.

Z mojego doświadczenia w analizowaniu ataków APT i naruszeń łańcucha dostaw wynika, że atakujący rzadko umieszczają funkcje eksfiltracji danych bez zamiaru ich użycia. Dane o nazwie hosta i ścieżce dostarczają operatorom mapę na żywo witryn, które skutecznie serwują ich złośliwe oprogramowanie. Pomaga im to priorytetyzować cele i mierzyć skuteczność naruszenia. Mówiąc proaktywnie, musimy założyć, że wszelkie dane, do których skrypt miał dostęp, mogły zostać zarejestrowane przez serwer dowodzenia i kontroli atakującego.

Środki obronne dla nowoczesnej sieci

Ten incydent służy jako ostre przypomnienie, że skrypty stron trzecich są głównym wektorem ryzyka systemowego. Aby się przed tym bronić, organizacje muszą przejść w stronę granularnego modelu bezpieczeństwa. Stosowanie skrótów Subresource Integrity (SRI) jest podstawową linią obrony. SRI pozwala przeglądarce zweryfikować, czy pobrany skrypt nie został zmanipulowany. Jeśli skrót pliku na serwerze nie zgadza się ze skrótem zdefiniowanym w kodzie strony, przeglądarka odmawia jego wykonania. Gdyby klienci Adform wdrożyli SRI dla trackpoint-async.js, złośliwa wersja zostałaby zablokowana automatycznie.

Inną krytyczną obroną jest Content Security Policy (CSP). Dobrze skonfigurowana polityka CSP może ograniczyć domeny, z których można ładować skrypty, i uniemożliwić im wysyłanie danych do nieautoryzowanych zewnętrznych adresów IP. Gdyby wdrożono CSP, które jawnie blokowało połączenia z adresem IP atakującego, próba eksfiltracji danych zakończyłaby się niepowodzeniem. Bezpieczeństwo to nie pojedyncze narzędzie, ale seria nakładających się warstw. Gdy jedna warstwa zostanie naruszona, inne muszą być gotowe na przejęcie awarii.

Ostatecznie odpowiedzialność za weryfikację transakcji spoczywa na użytkowniku. Najskuteczniejsza obrona w tym konkretnym przypadku jest najprostsza: zawsze weryfikuj adres docelowy za pomocą drugiego kanału lub sprawdzając dwukrotnie każdy znak przed zatwierdzeniem wysyłki. W świecie, w którym sam kod używany do przeglądania sieci może obrócić się przeciwko tobie, zdrowa paranoja jest funkcjonalnym wymogiem cyfrowego życia.

Kluczowe wnioski dla liderów IT

  • Przeprowadź audyt wszystkich skryptów stron trzecich działających obecnie w środowiskach produkcyjnych i usuń te, które nie są krytyczne dla misji.
  • Wdróż skróty Subresource Integrity dla wszystkich zewnętrznych zależności JavaScript, aby zapobiec nieautoryzowanemu wykonywaniu kodu.
  • Wzmocnij polityki Content Security Policy, aby ograniczyć wykonywanie skryptów i eksfiltrację danych do znanych, zaufanych domen.
  • Wymuś podejście zero-trust do zasobów po stronie klienta, zakładając, że każda zewnętrzna zależność może zostać naruszona u źródła.

Źródła

  • Adform Incident Notice (July 2026)
  • MITRE ATT&CK Framework: Supply Chain Compromise (T1195)
  • NIST Special Publication 800-161: Cybersecurity Supply Chain Risk Management Practices for Systems and Organizations

Zastrzeżenie: Niniejszy artykuł służy wyłącznie celom informacyjnym i edukacyjnym i nie zastępuje profesjonalnego audytu cyberbezpieczeństwa ani usług reagowania na incydenty.

bg
bg
bg

Do zobaczenia po drugiej stronie.

Nasze kompleksowe, szyfrowane rozwiązanie do poczty e-mail i przechowywania danych w chmurze zapewnia najpotężniejsze środki bezpiecznej wymiany danych, zapewniając bezpieczeństwo i prywatność danych.

/ Utwórz bezpłatne konto