Fala ataków na łańcuch dostaw npm: Co się stało? Jak zminimalizować ryzyko?
Liczba pobrań zainfekowanego pakietu oprogramowania przekroczyła 1.1 miliarda, co stanowi potencjalne ryzyko pośredniego rozprzestrzenienia się w całej branży.
Original Article Title: "Supply Chain Attack Goes Viral Overnight: What Happened? How to Mitigate Risk?"
Original Article Author: Azuma, Odaily Planet Daily
9 września, strefa czasowa UTC+8, Charles Guillemet, CTO Ledger, opublikował ostrzeżenie na X, stwierdzając: "Obecnie trwa na dużą skalę atak na łańcuch dostaw, w wyniku którego konto NPM znanego dewelopera zostało przejęte. Zainfekowany pakiet oprogramowania został pobrany ponad 1 miliard razy, co oznacza, że cały ekosystem JavaScript może być zagrożony."
Guillemet wyjaśnił dalej: "Złośliwy kod działa poprzez ciche modyfikowanie adresów kryptowalutowych w tle w celu kradzieży środków. Jeśli używasz portfela sprzętowego, dokładnie weryfikuj każdą podpisywaną transakcję i jesteś bezpieczny. Jeśli nie używasz portfela sprzętowego, tymczasowo unikaj wszelkich transakcji on-chain. Obecnie nie jest jasne, czy atakujący już wykradł frazy mnemoniczne portfeli programowych."
Co się stało?
Zgodnie z raportem bezpieczeństwa cytowanym przez Guillemeta, bezpośrednią przyczyną tego incydentu było: przejęcie konta NPM znanego dewelopera @qix, co doprowadziło do publikacji złośliwych wersji dziesiątek pakietów oprogramowania, w tym chalk, strip-ansi i color-convert. Złośliwy kod mógł rozprzestrzeniać się na użytkowników końcowych, gdy deweloperzy lub użytkownicy automatycznie instalowali zależności.
Odaily Note: Tygodniowe dane dotyczące liczby pobrań zainfekowanych pakietów oprogramowania.
Krótko mówiąc, jest to klasyczny przypadek ataku na łańcuch dostaw — atakujący umieszcza złośliwy kod (np. pakiet NPM) w narzędziu deweloperskim lub systemie zależności, aby przeprowadzić złośliwe działania. NPM, czyli Node Package Manager, to najczęściej używane narzędzie do zarządzania pakietami w ekosystemie JavaScript/Node.js. Jego główne funkcje to zarządzanie zależnościami, instalacja i aktualizacja pakietów, udostępnianie kodu itd.
Ze względu na ogromną skalę ekosystemu NPM, który obecnie składa się z milionów pakietów oprogramowania, niemal wszystkie projekty Web3, portfele kryptowalutowe i narzędzia frontendowe polegają na NPM — właśnie dlatego szerokie zależności NPM i złożony łańcuch powiązań czynią go punktem wejścia o wysokim ryzyku dla ataków na łańcuch dostaw. Poprzez umieszczenie złośliwego kodu w powszechnie używanym pakiecie oprogramowania, atakujący mogą potencjalnie wpłynąć na tysiące aplikacji i użytkowników.
Jak pokazano na powyższym schemacie rozprzestrzeniania się złośliwego kodu:
· Dany projekt (niebieskie pole) bezpośrednio zależy od kilku powszechnych bibliotek open-source, takich jak express.
· Te bezpośrednie zależności (zielone pola) następnie zależą od innych pośrednich zależności (żółte pola, np. lodash).
· Jeśli pośrednia zależność zostanie potajemnie zainfekowana złośliwym kodem przez atakującego (czerwone pole), rozprzestrzeni się ona wzdłuż łańcucha zależności do tego projektu.
Co to oznacza dla kryptowalut?
Bezpośredni związek tego incydentu z branżą kryptowalutową polega na tym, że złośliwy kod zaszczepiony przez hakera w wyżej wymienionym zainfekowanym pakiecie oprogramowania to zaawansowany "cryptocurrency clipboard hijacker", który kradnie aktywa kryptowalutowe poprzez podmianę adresów portfeli i przechwytywanie transakcji.
Założyciel Stress Capital, GE (@GuarEmperor), wyjaśnił to na X, stwierdzając, że "clipboard hijacker" hakera wykorzystuje dwa tryby ataku — pasywne użycie algorytmu odległości Levenshteina do podmiany adresów portfeli, które są wizualnie podobne i przez to niezwykle trudne do wykrycia; aktywne manipulowanie docelowym adresem w wykrytym przez przeglądarkę portfelu kryptowalutowym przed podpisaniem transakcji przez użytkownika.
Ponieważ atak ten był wymierzony w podstawowe biblioteki projektów JavaScript, nawet projekty pośrednio zależne od tych bibliotek mogą być zagrożone.
Jak haker czerpie zyski?
Złośliwy kod zaszczepiony przez hakera ujawnił również adresy ataku. Główny adres ataku hakera na Ethereum to 0xFc4a4858bafef54D1b1d7697bfb5c52F4c166976, a środki pochodzą głównie z następujących trzech adresów:
· 0xa29eEfB3f21Dc8FA8bce065Db4f4354AA683c0240
· x40C351B989113646bc4e9Dfe66AE66D24fE6Da7B
· 0x30F895a2C66030795131FB66CBaD6a1f91461731
Zespół Arkham utworzył stronę śledzącą to zdarzenie ataku, gdzie można sprawdzić w czasie rzeczywistym informacje o zyskach i transferach hakera.
W chwili pisania tego tekstu, atak hakera przyniósł jedynie 496 USD, ale biorąc pod uwagę nieustaloną jeszcze skalę rozprzestrzeniania się złośliwego kodu, oczekuje się, że liczba ta może dalej rosnąć — deweloper został powiadomiony i aktywnie współpracuje z zespołem ds. bezpieczeństwa NPM w celu rozwiązania problemu. Złośliwy kod został usunięty z większości zainfekowanych pakietów, więc sytuacja jest pod kontrolą.
Jak ograniczyć ryzyko?
Założyciel Defillama @0xngmi stwierdził na X, że choć to zdarzenie może brzmieć groźnie, rzeczywisty wpływ nie jest aż tak szeroki — ponieważ dotyczy ono tylko stron internetowych, które wdrożyły aktualizacje od czasu wydania zainfekowanego pakietu NPM, inne projekty nadal korzystają ze starej wersji; a większość projektów blokuje swoje zależności, więc nawet po aktualizacji nadal używają starego, bezpiecznego kodu.
Jednakże, ponieważ użytkownicy końcowi nie mogą mieć pewności, czy projekt zablokował zależności lub czy posiada jakieś dynamicznie pobierane zależności, obecnie kluczowe jest, aby projekt samodzielnie przeprowadził inspekcję i ujawnił informacje.
Na moment pisania tego tekstu, kilka projektów portfeli lub aplikacji, w tym MetaMask, Phantom, Aave, Fluid, Jupiter, ujawniło, że nie są dotknięte tym incydentem. Teoretycznie więc użytkownicy mogą bezpiecznie korzystać z portfeli, które zostały potwierdzone jako bezpieczne, aby bezpiecznie uzyskiwać dostęp do protokołów, które również zostały potwierdzone jako bezpieczne. Jednak w przypadku portfeli lub projektów, które nie przeszły jeszcze ujawnienia bezpieczeństwa, tymczasowe unikanie ich użycia może być bezpieczniejszym podejściem.
Zastrzeżenie: Treść tego artykułu odzwierciedla wyłącznie opinię autora i nie reprezentuje platformy w żadnym charakterze. Niniejszy artykuł nie ma służyć jako punkt odniesienia przy podejmowaniu decyzji inwestycyjnych.
Może Ci się również spodobać
[Wątek] Analiza architektury EigenCloud: próba połączenia weryfikowalnej kryptografii i AI?
OpenSea prezentuje ostatnie nagrody przed TGE, aplikację mobilną oraz flagową kolekcję NFT
Nowe ramy sukcesu rynkowego i wzrost znaczenia inwestorów ideologicznych
Ideologie, technologie i innowacje finansowe kształtują na nowo przyszłość inwestowania.

Nowa narracja dotycząca przychodów MegaETH: współpraca z Ethena w celu wprowadzenia natywnego stablecoina USDm
MegaETH oficjalnie wprowadził USDm, natywny stablecoin stworzony w celu wsparcia różnorodnych innowacyjnych aplikacji na MegaETH.

Popularne
WięcejCeny krypto
Więcej








