Alert NPM: Kluczowe biblioteki JavaScript zagrożone

  • Kampania phishingowa umożliwiła opublikowanie złośliwych wersji bibliotek NPM i podstawowych bibliotek JavaScript.
  • Szkodliwe oprogramowanie działało na zasadzie krypto-clippera, podmieniając adresy podczas podpisywania transakcji.
  • Niewielki wpływ na gospodarkę i szybkie łagodzenie skutków; kilku dostawców i portfeli nie zostało dotkniętych.
  • Zalecenia: Przeprowadź audyt zależności, napraw wersje, wymuś uwierzytelnianie dwuskładnikowe i weryfikuj transakcje w portfelach sprzętowych.

Ilustracja dotycząca JavaScript

Społeczność techniczna bada atak na łańcuch dostaw NPM który zaatakował powszechnie używane biblioteki JavaScript. Według wielu zespołów ds. bezpieczeństwa, atakujący przemycili złośliwe oprogramowanie z funkcją szyfrowania do szeroko rozpowszechnionych pakietów, co potencjalnie zmieniać transakcje i przekierowywać kryptowaluty.

Chociaż potencjalny zakres jest ogromny ze względu na popularność tych zależności w ekosystemie JavaScriptWstępne analizy wskazują na ograniczony wpływ ekonomiczny: podobno przemycano niewielkie kwoty, poniżej kilkuset dolarów, podczas gdy dostawcy i rejestr podejmowali działania mające na celu usuwanie zmanipulowanych wersji.

Jak dokonano włamania

Włamanie rozpoczęło się od E-maile phishingowe imitujące oficjalne wsparcie npm, domagając się od administratorów pakietów pilnej aktualizacji uwierzytelniania dwuskładnikowego. Fałszywa strona przechwyciła dane uwierzytelniające i kod, umożliwiając atakującym przejęcie kontroli nad kontem z szerokimi uprawnieniami (powiązanym w społeczności z aliasem „Qix”) i publikować sfałszowane wersje o różnym przeznaczeniu.

svg złośliwe oprogramowanie
Podobne artykuł:
Cyberprzestępcy wykorzystują pliki SVG do infekowania złośliwym oprogramowaniem

Badacze tacy jak Aikido Security i kolektyw JDSTAERK opisują kampanię zdolną do modyfikować zawartość witryn, przechwytywać wywołania API i zmieniać to, co użytkownik myśli, że podpisuje., zwiększając ryzyko dla usług sieciowych integrujących te biblioteki poprzez głębokie łańcuchy zależności.

Ekosystem pakietów JavaScript

Pakiety objęte zmianami i zakres

Dotknięta luka bardzo podstawowe narzędzia obecne w wielu projektach, więc nawet komputery, które nie instalują ich bezpośrednio, mogły zostać narażone na ataki poprzez zależności przechodnie. Wśród nazw wymienianych przez firmy zajmujące się bezpieczeństwem i deweloperów znajdują się:

  • kreda, szablon kredowy, pasek-ansi, plaster-ansi, zawijanie-ansi, kolor podpory
  • konwersja kolorów, nazwa koloru, ciąg kolorów
  • ansi-regex, style-ansi, has-ansi
  • debugowanie, przykład błędu, tablicowe, proste swizzle
  • obsługuje hiperłącza, ukośnik odwrotny, proto-tinker-wc

Te elementy oprogramowania kumulują się Miliony pobrań tygodniowo i ponad miliard zapisów historycznych, pełniąc funkcję podstawowych bloków konstrukcyjnych nowoczesnych serwerów, narzędzi wiersza poleceń i aplikacji internetowych.

Bezpieczeństwo w JavaScript

Jak działa złośliwe oprogramowanie

Złośliwy kod działał jako krypto-obcinacz:Wykrywając środowiska z portfelami programowymi (np. rozszerzenia takie jak MetaMask), przechwytywał dane transakcji tuż przed podpisaniem i zastąpiono adres docelowy przez inny, kontrolowany przez atakujących.

Jeżeli nie zidentyfikowano aktywnego portfela, implant próbował bierna eksfiltracja informacji do serwerów zewnętrznych. W scenariuszach z aktywnym portfelem, oprócz manipulowania wywołaniami API, monitorował schowek w celu nadpisania adresów skopiowanych przez użytkownika, co jest klasyczną sztuczką w tego typu oszustwach.

Specjaliści podkreślają, że osoby, które sprawdź szczegóły portfela sprzętowego na ekranie Posiadają one fizyczną barierę, która blokuje ten wektor: ostateczne potwierdzenie następuje na urządzeniu, a wyświetlanego adresu nie da się zmienić za pomocą przeglądarki ani sieci Web.

Rzeczywisty wpływ do tej pory

Pomimo skali ujawnienia, pieniądze przeniesione przez atakujących zostały bardzo małe (dziesiątki do kilkuset dolarów), zgodnie z różnymi śladami łańcucha ujawnionymi przez badaczy. Kilku dostawców natychmiast ostrzegło i rejestr wyłączył zagrożone posty w ciągu kilku godzin.

Zespoły ds. portfeli kryptowalut i usług, takie jak Ledger, Trezor, MetaMask, Phantom lub Uniswap Zgłosili, że zmienione wersje nie mają na nie wpływu ani że są chronione przez wielowarstwowe zabezpieczenia. Zalecają jednak uważne sprawdzanie każdej podpisanej transakcji i przestrzeganie dobrych praktyk weryfikacyjnych.

Ostrzeżenie dla deweloperów jest jasne: jeśli projekt zaktualizowane zależności podczas okna zatwierdzania, dobrym pomysłem jest przeprowadzenie audytu całego drzewa i przebudowanie go przy użyciu czystych wersji, nawet jeśli aplikacja nie obsługuje kryptowalut bezpośrednio.

Co powinni zrobić programiści i zespoły

Oprócz natychmiastowych działań naprawczych organizacje powinny wdrożyć kontrola łańcucha dostaw Aby zmniejszyć powierzchnię ataku w środowiskach JavaScript i Node.js. Priorytetowe środki obejmują:

  • Przypinanie wersji i korzystanie z plików blokady; wyłączanie automatycznych aktualizacji w środowisku produkcyjnym.
  • Weryfikuj podpisy, sumy kontrolne i pochodzenie; wdrażaj zasady recenzji przed publikacją.
  • Włącz uwierzytelnianie dwuskładnikowe (2FA) za pomocą kluczy bezpieczeństwa FIDO i obracaj tokeny i sekrety narażony.
  • Zintegruj skanery zależności i SBOM-y; monitoruj nieoczekiwane zmiany w krytycznych pakietach.
  • Powtarzaj czyste kompilacje i szybko wycofuj zmiany w przypadku oznak naruszenia.

W przypadku użytkowników końcowych porady przechodzą przez sprawdź adres i kwotę na urządzeniu Przed podpisaniem umowy zachowaj ostrożność, gdyż w przypadku wykrycia dziwnego zachowania na popularnych stronach internetowych lub zdecentralizowanych aplikacjach (dApps) mogą pojawić się nieoczekiwane okna pop-up i zostać wstrzymane operacje.

Chronologia i bohaterowie

Społeczność wykryła kampanię na początku tygodnia, w którym to momencie pojawiły się takie osoby z sektora, jak Dyrektor techniczny Ledger Charles Guillemet, ostrzegł przed ryzykiem penetracji przez te biblioteki niemal każdego stosu JavaScript. Kilka godzin później zespoły takie jak Blockaid i Aikido udostępniły listy przeanalizowanych pakietów i artefaktów.

Konto powiązane z naruszonym kontem potwierdziło w mediach społecznościowych, że padło ofiarą oszustwo z resetem 2FA i przeprosił, współpracując z npm w celu usunięcia złośliwych postów. Dostawca rejestru zasugerował, że współpracuje z badaczami w celu zamknięcia luk i wzmocnienia kontroli.

Chociaż wszystko na to wskazuje ograniczone szkody gospodarczeOdcinek wyraźnie pokazuje, że bezpieczeństwo ekosystemu JavaScript zależy od ochrony tożsamości osób utrzymujących, wzmacniania wydań pakietów i założenia, że ​​zależności stanowią krytyczne ogniwo; wzmocnienie tych punktów zmniejsza prawdopodobieństwo, że podobny incydent ponownie otworzy drzwi atakującym.