Cyberbezpieczeństwo

Jak fałszywy test kodowania wyczyścił 11,8 miliona dolarów z firmy kryptowalutowej

Władze Singapuru ujawniają, jak fałszywa oferta pracy na LinkedIn i złośliwy test kodowania doprowadziły do straty 11,8 mln USD w kryptowalutach poprzez kradzież tokenów sesji.
Jak fałszywy test kodowania wyczyścił 11,8 miliona dolarów z firmy kryptowalutowej

W zeszłym miesiącu otrzymałem wiadomość na Signal od programisty, który o mało nie wpadł w podobną pułapkę. Rekruter miał dopracowany profil, historię rekomendacji od rozpoznawalnych nazwisk w przestrzeni Web3 oraz opis stanowiska oferujący 40% podwyżki. Programista wycofał się tylko dlatego, że „ocena umiejętności kodowania” wymagała od niego pobrania niestandardowego środowiska zamiast korzystania ze standardowego IDE w przeglądarce. Ta intuicja uratowała jego firmę. Inni nie mieli tyle szczęścia. Policja w Singapurze oraz Cyber Security Agency of Singapore szczegółowo opisały niedawno naruszenie, w którym chęć pojedynczego pracownika do lepszej ścieżki kariery zaowocowała stratą 11,8 miliona dolarów USA.

Ten incydent to podręcznikowy przykład tego, jak współcześni aktorzy zagrożeń omijają wyrafinowane systemy obrony, celując w czynnik ludzki na obrzeżach sieci. Napastnicy nie szukali luki typu zero-day w firewallu ani błędu w protokole kryptograficznym. Szukali osoby, która byłaby gotowa udowodnić swoją wartość techniczną na urządzeniu służbowym. Zanim centrum operacji bezpieczeństwa zauważyło nietypową aktywność, napastnicy zdążyli już przenieść się ze skrzynki odbiorczej LinkedIn do serca infrastruktury finansowej firmy.

Psychologiczny haczyk wymarzonej pracy

Socjotechnika odnosi sukcesy, ponieważ wykorzystuje ambicje zawodowe. Kampania rozpoczęła się na LinkedIn, gdzie oszust podający się za rekrutera firmy kryptowalutowej nawiązał kontakt z ofiarą. Ta faza polegała na budowaniu relacji i wiarygodności. Atakujący przeniósł rozmowę na e-mail, używając sfałszowanej domeny, która odzwierciedlała adres prawdziwej firmy. Dla pracownika przeglądającego skrzynkę odbiorczą, różnica jednej litery w nazwie domeny jest niemal niewidoczna.

Proces rozmowy kwalifikacyjnej dodatkowo utwierdził ofiarę w oszustwie. Ofiara uczestniczyła w kilku rundach na Google Meet. Osoba po drugiej stronie miała wyłączoną kamerę, powołując się na problemy techniczne lub prywatność – to powszechna taktyka stosowana w celu ukrycia tożsamości aktorów zagrożeń działających z jurysdykcji takich jak Korea Północna. Ten etap to cyfrowy koń trojański. Celem jest sprawienie, by ofiara poczuła się jak podczas profesjonalnej oceny o wysoką stawkę, co osłabia jej czujność, gdy pojawia się „ocena techniczna”.

Gdy test kodowania staje się bronią

W końcowej fazie procesu rekrutacji ofiara otrzymała link do sfałszowanej strony internetowej. Polecono jej wykonanie zadania programistycznego na służbowym laptopie. Ta prośba jest standardem w branży oprogramowania, co czyni ją idealnym mechanizmem dostarczania złośliwego ładunku. Gdy ofiara uruchomiła dostarczony kod lub zainstalowała sugerowane środowisko programistyczne, w tle wykonało się złośliwe oprogramowanie.

To konkretne złośliwe oprogramowanie zostało zaprojektowane do przejmowania tokenów sesji. Z perspektywy ryzyka jest to scenariusz koszmarny dla każdego działu IT. Tokeny sesji są cyfrowym odpowiednikiem bramkarza w klubie VIP, który rozpoznaje twoją twarz po tym, jak już raz pokazałeś dowód tożsamości. Ponieważ token dowodzi, że użytkownik został już uwierzytelniony, atakujący nie musi znać hasła ani mieć dostępu do fizycznego urządzenia MFA ofiary. Po prostu wstrzykuje skradziony token do własnej przeglądarki i przejmuje aktywną sesję ofiary.

Zatruwanie potoku wdrażania oprogramowania

Gdy atakujący zdobyli token sesji, uzyskali dostęp do konta Bitbucket ofiary. Bitbucket to „ciemna materia” środowiska programistycznego; często niewidoczny dla ogółu personelu, ale zawierający podstawową logikę biznesową firmy. Dostęp do repozytorium to awaria systemowa, ponieważ pozwala atakującym zobaczyć, jak firma buduje i wdraża oprogramowanie.

Za kulisami intruzi zmodyfikowali instrukcje automatycznego wdrażania oprogramowania. Zmieniając kod w repozytorium lub skrypty informujące serwery, jak uruchomić ten kod, atakujący zyskali przyczółek w wewnętrznej infrastrukturze. Ten ruch boczny pozwolił im przeskoczyć z jednego zainfekowanego laptopa na serwery produkcyjne obsługujące realne pieniądze. W przypadku takiego naruszenia model zaufania całego cyklu życia oprogramowania zostaje złamany. Atakujący nie byli już tylko gośćmi na laptopie; stali się faktycznymi administratorami kodu firmy.

Omijanie ostatniej linii obrony finansowej

Najbardziej dotkliwa część włamania miała miejsce, gdy atakujący dotarli do systemów służących do przetwarzania przelewów kryptowalutowych. Większość firm stosuje limity transakcji i wieloosobowe kontrole zatwierdzania jako środek zapobiegawczy przeciwko wewnętrznym oszustwom lub pojedynczym punktom awarii. Jednak atakujący użyli danych uwierzytelniających zebranych podczas poruszania się po sieci, aby zmodyfikować te mechanizmy kontrolne.

Przepisując zasady określające, ile pieniędzy może opuścić firmę i kto musi to zatwierdzić, atakujący otworzyli drogę do masowych transferów. Wynikowe transakcje opiewały na łączną kwotę 11,8 miliona dolarów USA. Podkreśla to paradoks architektoniczny: nawet jeśli obwód sieci jest odporny, wewnętrzna logika pozostaje podatna na ataki, jeśli napastnik może podszyć się pod użytkownika o wysokich uprawnieniach na poziomie root. Atakujący nie złamali szyfrowania blockchaina; złamali ludzki proces zarządzania kluczami.

Cień aktywności wspieranej przez państwo

Chociaż władze Singapuru nie przypisały oficjalnie tego konkretnego ataku żadnej grupie, taktyka jest uderzająco podobna do kampanii prowadzonych przez północnokoreańskich aktorów zagrożeń. Grupy takie jak UNC4899, znane również jako TraderTraitor, od co najmniej 2020 roku koncentrują się na firmach z branży kryptowalut i blockchain. Są znane z docierania do programistów przez LinkedIn i Telegram oraz nakłaniania ich do uruchamiania złośliwych kontenerów Docker lub instalowania „wtyczek społecznościowych” do aplikacji takich jak Obsidian.

W poprzednich incydentach grupy te używały person generowanych przez AI, aby podszywać się pod zaufane kontakty. Kampanie te stawiają środowiska programistyczne w punkcie naruszenia, poszukując tokenów GitHub, kluczy SSH i poświadczeń chmurowych. Mówiąc proaktywnie, nie są to przypadkowe akty cyberprzestępczości, lecz ukierunkowane operacje mające na celu finansowanie interesów narodowych. Precyzja wymagana do modyfikacji potoków wdrażania i omijania kontroli transakcji sugeruje głęboką znajomość wewnętrznych przepływów pracy w firmach kryptowalutowych.

Wzmacnianie ludzkiego i technicznego firewalla

Aby zapobiec powtórce tej katastrofy o wartości 11,8 miliona dolarów, firmy muszą wyjść poza podstawowe szkolenia z zakresu świadomości bezpieczeństwa. Poleganie na tym, że pracownik dostrzeże sfałszowaną domenę, jest strategią reaktywną, która ostatecznie zawiedzie. Bardziej szczegółowe podejście polega na zabezpieczeniu infrastruktury tak, aby jedno zainfekowane urządzenie nie mogło doprowadzić do upadku całej firmy.

Po pierwsze, firmy muszą wymusić stosowanie sprzętowego uwierzytelniania wieloskładnikowego, takiego jak klucze bezpieczeństwa FIDO2. Skradzione tokeny sesji są znacznie trudniejsze do wykorzystania, gdy system wymaga fizycznego dotknięcia dedykowanego urządzenia przy wrażliwych operacjach, takich jak dostęp do repozytoriów kodu. Po drugie, dostęp do Bitbucket i innych krytycznych narzędzi powinien być zarządzany poprzez przydzielanie uprawnień Just-in-Time (JIT). Żaden programista nie powinien mieć stałego, niezmiennego dostępu do produkcyjnych potoków wdrażania.

Wreszcie, każda techniczna ocena związana z pracą powinna odbywać się w środowisku piaskownicy (sandbox), które jest całkowicie odizolowane od sieci korporacyjnej. Jeśli rekruter prosi kandydata o uruchomienie kodu na służbowym laptopie, powinno to wywołać natychmiastowy alarm w centrum operacji bezpieczeństwa. Ocena powierzchni ataku oznacza uznanie, że laptop programisty jest często najcenniejszym celem w budynku.

Praktyczne wnioski dla zespołów technicznych

  1. Używaj dedykowanego, pozakorporacyjnego sprzętu do wszystkich zadań związanych z rekrutacją, w tym testów kodowania i rozmów kwalifikacyjnych.
  2. Wdróż rygorystyczne zasady dotyczące wtyczek na poziomie aplikacji dla narzędzi zwiększających produktywność, aby zapobiec wykonywaniu nieautoryzowanego kodu.
  3. Audytuj logi dostępu do Bitbucket i GitHub pod kątem oznak przejęcia sesji, takich jak logowania z nieoczekiwanych adresów IP przy użyciu ważnych tokenów.
  4. Natychmiast unieważniaj aktywne sesje, jeśli pracownik zgłosi podejrzane zachowanie podczas interakcji zewnętrznej.
  5. Wzmocnij wewnętrzne kontrole transakcji, wymagając zatwierdzeń z urządzeń fizycznie odseparowanych od sieci programistycznej.

Źródła: Singapore Police Force (SPF), Cyber Security Agency of Singapore (CSA), Google Cloud Mandiant (Raport UNC4899), MITRE ATT&CK Framework.

Zastrzeżenie: Ten artykuł służy wyłącznie celom informacyjnym i edukacyjnym i nie zastępuje profesjonalnego audytu cyberbezpieczeństwa ani usługi 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