Kampania złośliwych pakietów wymierzona w Hardhat
Hardhat to popularne narzędzie wspierające rozwój inteligentnych kontraktów i zdecentralizowanych aplikacji (dApps) na blockchainie Ethereum. Środowisko to, rozwijane przez Nomic Foundation, jest szeroko stosowane przez programistów blockchain, firmy fintech oraz instytucje edukacyjne. Dzięki swojej funkcjonalności umożliwia tworzenie, testowanie i wdrażanie aplikacji działających w sieci Ethereum.
Niestety, popularność Hardhat została wykorzystana przez cyberprzestępców. W ramach kampanii złośliwe konta opublikowały 20 pakietów w systemie npm (Node Package Manager) — narzędziu służącym do zarządzania zależnościami w projektach JavaScript. Te pakiety używały techniki typosquattingu, podszywając się pod legalne pakiety, aby nakłonić programistów do ich zainstalowania.
Po zainstalowaniu złośliwe pakiety uruchamiały kod mający na celu zebranie kluczy prywatnych, plików konfiguracyjnych oraz mnemoników z systemów ofiar. Informacje te były szyfrowane za pomocą klucza AES zakodowanego na stałe i przesyłane do serwerów kontrolowanych przez napastników.
Jak działają złośliwe pakiety?
Według analizy przeprowadzonej przez firmę Socket, złośliwe pakiety wykorzystują funkcje środowiska Hardhat, takie jak hreInit() i hreConfig(), aby zbierać dane uwierzytelniające. Zebrane informacje, w tym klucze prywatne i mnemoniki, przesyłane są do punktów końcowych kontrolowanych przez atakujących.
Tego rodzaju ataki są szczególnie niebezpieczne, ponieważ klucze prywatne umożliwiają dostęp do portfeli Ethereum, a ich przejęcie może prowadzić do utraty środków finansowych. Ponadto zainfekowane systemy mogą posłużyć cyberprzestępcom do dalszych ataków na szerszą skalę.
Skutki ataku i środki zaradcze
Pierwszym i najpoważniejszym zagrożeniem wynikającym z takiego ataku jest możliwość utraty środków zgromadzonych w portfelach Ethereum. Cyberprzestępcy mogą przeprowadzać nieautoryzowane transakcje, korzystając z przejętych kluczy prywatnych.
Jednak konsekwencje mogą być jeszcze poważniejsze. Programiści, którzy padli ofiarą tego ataku, mogą nieświadomie udostępniać cyberprzestępcom dostęp do systemów produkcyjnych, co może skutkować naruszeniem bezpieczeństwa inteligentnych kontraktów lub wdrożeniem złośliwych kopii aplikacji dApps. To z kolei stwarza ryzyko kolejnych ataków phishingowych i naruszeń danych.
Zainfekowane pliki konfiguracyjne Hardhat mogą również zawierać klucze API do usług innych firm oraz dane dotyczące punktów końcowych sieci deweloperskich. Takie informacje mogą zostać wykorzystane do przeprowadzenia bardziej zaawansowanych ataków na infrastruktury IT.
Aby minimalizować ryzyko związane z podobnymi zagrożeniami, eksperci zalecają:
Sprawdzanie autentyczności pakietów przed instalacją – szczególnie ważne jest unikanie pakietów o nazwach mogących sugerować typosquatting.
Przeglądanie kodu źródłowego pakietów – przed dodaniem ich do projektu warto upewnić się, że nie zawierają złośliwego kodu.
Stosowanie bezpiecznych praktyk przechowywania kluczy prywatnych – klucze prywatne i mnemoniki powinny być przechowywane w bezpiecznych skarbcach, a nie w plikach konfiguracyjnych dostępnych bezpośrednio z poziomu środowiska deweloperskiego.
Dodatkowo, stosowanie plików blokady oraz definiowanie konkretnych wersji, może pomóc ograniczyć ryzyko instalacji złośliwych pakietów.
Ataki na programistów blockchain stają się coraz bardziej powszechne, a cyberprzestępcy coraz częściej wykorzystują luki w ekosystemach oprogramowania open-source. Istotne jest więc zachowanie ostrożności i stosowanie odpowiednich środków ochrony.