AktualnościKryptoBadacze łączą przejęcie crate'a Rust arrayref z północnokoreańskimi hakerami

Badacze łączą przejęcie crate'a Rust arrayref z północnokoreańskimi hakerami

Autor: Cryptopolitan·

Najważniejsze informacje

  • Oryginalny kod skompromitowanych pakietów Rust pozostał niezmieniony; atakujący dodali jedynie jedną nową zależność, proc-macro1, będącą typo-squattingiem szeroko zaufanego crate'a proc-macro2 o ponad 154 milionach pobrań.
  • Ponieważ Cargo uruchamia skrypty budowania automatycznie w czasie kompilacji, samo zbudowanie projektu, który pobrał skażoną wersję, aktywowało złośliwe oprogramowanie, a deweloperzy mogą przeszukać swoje pliki Cargo.lock w poszukiwaniu proc-macro1, aby sprawdzić ekspozycję.
  • Badacze z Wiz powiązali atak z operacjami północnokoreańskimi na podstawie identycznych ścieżek command-and-control, współdzielonych certyfikatów bezpieczeństwa i tego samego dostawcy hostingu (Hostwinds) widzianego w kampanii Mastra oraz w ataku na axios npm, choć nie stanowi to formalnej atrybucji rządowej.
  • Aikido określiło incydent jako największą kompromitację crates Rust pod względem liczby pobrań, jaką firma widziała — arrayref ma około 244 miliony pobrań, a złośliwa wersja była dostępna przez około 86 minut.
  • Zespół Reagowania na Incydenty Bezpieczeństwa Rust ocenił, że skompromitowany został komputer lub dane uwierzytelniające opiekuna pakietu, a nie że autor działał ze złych intencji, co odzwierciedla powracającą słabość związaną z kontami opiekunów, podobną do backdoora XZ Utils z 2024 roku.
Badacze łączą przejęcie crate'a Rust arrayref z północnokoreańskimi hakerami

Badacze bezpieczeństwa z Wiz twierdzą, że atak na łańcuch dostaw, którym zainfekowano arrayref — pakiet Rust obecny w około trzech czwartych środowisk korzystających z Rust — nasuwa porównania z niedawnymi operacjami północnokoreańskimi.

Szkodliwa aktualizacja ukrywała backdoor wykradający dane logowania w kodzie zaprojektowanym tak, aby uruchamiał się automatycznie, gdy użytkownicy kompilują projekty. W rezultacie każdy, kto w czwartek skompilował projekt, mógł narazić swój komputer oraz znajdujące się na nim dane poufne.

Dlaczego obwinia się Koreę Północną

Badacze z Wiz, Rami McCarthy i Benjamin Read, opublikowali raport, w którym zwracają uwagę, że ładunek arrayref wysyła sygnały do ścieżki command-and-control, /49890878, występującej również w kampanii Mastra. Microsoft wiąże kampanię Mastra z północnokoreańską grupą hakerską, którą nazywa Sapphire Sleet i którą wcześniej opisał jako operację nastawioną na zysk, wykradającą kryptowaluty przy użyciu fałszywych ofert rekrutacyjnych i innych technik inżynierii społecznej.

Nakładanie się infrastruktury tego rodzaju — identyczne ścieżki command-and-control, wspólne certyfikaty bezpieczeństwa i wspólni dostawcy usług hostingowych — to standardowa metoda, za pomocą której badacze łączą osobne kampanie z tymi samymi operatorami, choć nie stanowi ona formalnej atrybucji rządowej.

Adres internetowy (IP) użyty w ataku na arrayref posiada ten sam certyfikat bezpieczeństwa co inny adres wykorzystywany w kampanii Mastra. Ponadto ofiara, która zgłosiła podejrzaną aktywność, wskazała adres IP zaobserwowany wcześniej przez Google Cloud w ataku na axios npm. Według Mandiant atak ten przeprowadziła północnokoreańska grupa o nazwie UNC1069. Oba ataki wykorzystywały tę samą firmę hostingową, Hostwinds.

Minimalna zmiana trudna do zauważenia

Atak był trudny do wykrycia, ponieważ wprowadzał bardzo mało zmian. Ilyas Makari, badacz bezpieczeństwa z Aikido, ustalił, że właściwy kod wewnątrz trzech pakietów Rust — arrayref, internment i append-only-vec — nie został zmodyfikowany. Jedyną zmianą była jedna nowa zależność, o nazwie proc-macro1, dodana do listy każdego z pakietów.

Nazwa ta to przeiterowanie nazwy popularnego crate'a proc-macro2, który ma ponad 154 miliony pobrań. Naśladowanie nazwy powszechnie zaufanego pakietu to od lat stosowana taktyka w rejestrach open source, takich jak npm i PyPI, gdzie aktualizacje publikowane są bez ręcznego przeglądu kodu. Fałszywy crate zawiera nawet prawdziwy kod proc-macro2, dzięki czemu oprogramowanie nadal się buduje i przechodzi wszystkie testy.

Szkodliwa część została ukryta w skrypcie budowania. Cargo uruchamia skrypty budowania automatycznie w czasie kompilacji, więc — jak wyjaśnił Zespół Reagowania na Incydenty Bezpieczeństwa Rust w swoim komunikacie — sama kompilacja projektu, który pobrał złą wersję, wystarczyła, aby uruchomić atak. Ponieważ Cargo zapisuje dokładne wersje zależności w pliku Cargo.lock każdego projektu, deweloperzy mogą przeszukać ten plik w poszukiwaniu proc-macro1, aby sprawdzić, czy kompilacja pobrała skażoną wersję.

Po uruchomieniu drugi etap ataku wykradał zapisane hasła z przeglądarek Chrome, Brave i Edge oraz instalował się w taki sposób, aby przetrwać ponowne uruchomienia komputera w systemach Windows, Mac i Linux.

Największa kompromitacja w ekosystemie Rust pod względem liczby pobrań

Aikido podało, że jest to największa kompromitacja crates Rust, jaką firma odnotowała, mierzona liczbą pobrań. arrayref, wykorzystywany w narzędziach dla Solany i Ethereum, osiąga łącznie około 244 miliony pobrań. Według doniesień skażona wersja była dostępna przez 86 minut przed usunięciem.

Zespół podał, że wstępny raport sporządziło Nextron Systems. Po wykryciu ataku zespół przywrócił czyste wersje i zablokował konto opiekuna pakietu. Zespół Rust oświadczył, że nie uważa, iż autor działał ze złych intencji, oceniając raczej, że jego komputer lub dane uwierzytelniające zostały skompromitowane. Skompromitowane konta opiekunów pakietów to powracająca słabość bezpieczeństwa open source: backdoor XZ Utils z 2024 roku również wynikał z uzyskania przez atakującego zaufanej roli opiekuna.

Szerszy wzorzec aktywności DPRK

Amazon ujawnił 29 lipca, że powiązał serię kompromitacji bibliotek npm z pojedynczym aktorem powiązanym z DPRK. TRM Labs również doniosło, że grupy północnokoreańskie odpowiadały za około 76% wartości wszystkich krypto włamań w 2026 roku do kwietnia — czyli za około 577 milionów dolarów.

Badacz Black Hat, Vangelis Stykas, powiedział, że prześledził działalność północnokoreańskich hakerów w 1640 firmach w 57 krajach. Ustalił, że często wabią deweloperów fałszywymi ofertami pracy, instalującymi złośliwe oprogramowanie — podobnie jak skażona zależność budowania w tym przypadku.