Pakiety Open Source

Nowe zagrożenia na rynku: złośliwe oprogramowanie w pakietach Open Source

Ekosystem open source stanowi fundament współczesnego rozwoju oprogramowania, wspierając innowacyjność i współpracę. Jednak jego otwartość sprawia, że ​​jest podatny na różnorodne cyberzagrożenia. Według raport ComparitechW 2023 r. zidentyfikowano ponad 100 milionów odmian złośliwego oprogramowania i potencjalnie niechcianych aplikacji (PUA), co dowodzi, że ataki związane ze złośliwym oprogramowaniem nadal stanowią poważne zagrożenie cybernetyczne. 

Nowe rodziny złośliwego oprogramowania w pakietach Open Source

Instalacja złośliwego oprogramowania typu Tamper

Jak oni pracują: Ten typ złośliwego oprogramowania ingeruje w proces instalacji pakietów open source. Wstrzykuje złośliwy kod podczas instalacji pakietu, który może zostać uruchomiony za każdym razem, gdy pakiet jest używany.

Wykorzystywane luki: Instalacja-Sabotaż złośliwe oprogramowanie wykorzystuje zaufanie użytkowników umieszczenie w repozytoriach open-source i brak rygorystycznych kontroli bezpieczeństwa podczas procesu instalacji pakietów.

Strategie ochrony: Aby zapewnić ochronę przed instalacją złośliwego oprogramowania, konieczne jest używanie zweryfikowanych i podpisanych pakietów, włączenie uwierzytelniania dwuskładnikowego dla kont w repozytorium oraz przeprowadzanie regularnych audytów bezpieczeństwa zależności.

Przykład złośliwego kodu Install-Tamper: pakiet npm „colors” (2022)

Opis:

Pakiet „colors” to popularna biblioteka npm służąca do dodawania efektów kolorystycznych do logów konsoli. Jest szeroko wykorzystywana w różnych aplikacjach Node.js.

Jak to działało:

Na początku 2022 roku pojawi się wersja pakiet „kolory” został złośliwie zmodyfikowany w celu dodania skryptu pętli nieskończonej do swojego pliku głównego. Zmianę tę wprowadził sam opiekun projektu, który rzekomo zrobił to w ramach protestu przeciwko korporacyjnemu wykorzystywaniu projektów open source bez odpowiedniego wsparcia lub darowizn.

Wpływ:

Modyfikacja ta powodowała awarię każdej aplikacji wykorzystującej skompromitowaną wersję pakietu „colors”, co prowadziło do zakłóceń na szeroką skalę w wielu przedsiębiorstwach i systemach oprogramowania, których działanie było uzależnione od tego pakietu.

Zdobyta wiedza:

Ten incydent uwypukla luki w zabezpieczeniach tkwiące w modelu zarządzania pakietami open source opartym na zaufaniu. Podkreśla on potrzebę przestrzegania etyki przez osoby zarządzające pakietami. standarda także umożliwienie użytkownikom przeprowadzania dogłębnych przeglądów i testów zależności od oprogramowania firm trzecich w ich środowiskach programistycznych. Przypadek „kolorów” podkreśla również wagę wspierania opiekunów oprogramowania open source, aby zapobiec wypaleniu zawodowemu i nieetycznym represjom.

Pierwsze użycie tylnych drzwi

Jak oni pracują: Ta furtka aktywuje się, gdy pakiet open source jest importowany i używany po raz pierwszy. Może wysyłać informacje systemowe do zdalnego serwera lub pobierać dodatkowe ładunki.

Wykorzystywane luki: Tylne furtki typu First-Use wykorzystują wykonanie niezweryfikowanego kodu przy pierwszym użyciu pakietu, często omijając narzędzia do analizy statycznej.

Strategie ochrony: Przeglądanie i monitorowanie kodu nowo zaimportowanych pakietów oraz stosowanie narzędzi do dynamicznej analizy w celu wykrywania nietypowego zachowania są kluczowe w obronie przed atakami typu backdoor wykonywanymi przy pierwszym użyciu.

Przykład pierwszego użycia backdoora: incydent z backdoorem Webmin (2019)

Opis:

Webmin to popularny internetowy interfejs do administrowania systemami Unix. W 2019 roku odkryto, że oprogramowanie zostało naruszone przez tylne drzwi które były obecne w kodzie ponad rok przed wykryciem.

Jak to działało:

Tylna furtka została potajemnie wprowadzona do repozytorium Webmin na GitHubie poprzez zainfekowany serwer kompilacji. Złośliwy kod był aktywny tylko wtedy, gdy administrator zmienił hasło za pomocą interfejsu Webmin. Po uruchomieniu umożliwiał zdalne wykonywanie poleceń z uprawnieniami roota.

Wpływ:

Backdoor był obecny w wersjach Webmina od 1.882 do 1.921, potencjalnie atakując ponad trzy miliony stron internetowych i serwerów. Backdoor otwierał systemy zdalnym atakującym, którzy mogli potencjalnie uzyskać pełną kontrolę nad serwerem, co prowadziło do kradzieży danych, przejęcia kontroli nad serwerem i dalszych zagrożeń dla sieci.

Zdobyta wiedza:

Ten incydent uwypukla krytyczną lukę w zabezpieczeniach, która może wystąpić w przypadku naruszenia bezpieczeństwa procesów kompilacji. Podkreśla on wagę zabezpieczania serwerów kompilacji i przeprowadzania regularnych audytów bezpieczeństwa cyklu życia oprogramowania. Przypadek Webmina pokazuje również potrzebę dokładnej weryfikacji aktualizacji oprogramowania, nawet jeśli pochodzą one z zaufanych źródeł.

Robak naruszający środowisko wykonawcze

Jak oni pracują: Robak ten pozostaje uśpiony w pakiecie typu open-source i aktywuje się w czasie pracy programu, potencjalnie rozprzestrzeniając się na inne pakiety i systemy.

Wykorzystywane luki: Robaki typu runtime-compromise wykorzystują powiązania między projektami typu open source, w których jeden skompromitowany pakiet może mieć wpływ na inne.

Strategie ochrony: Wdrożenie rygorystycznych systemów monitorowania zachowań w czasie wykonywania i wykrywania anomalii może pomóc w identyfikowaniu i łagodzeniu takich zagrożeń.

Przykład ataku P2PInfect w czasie wykonywania: zardzewiały, samoreplikujący się robak peer-to-peer

Opis:

P2PInfect jest robakiem peer-to-peer (P2P) odkrytym przez badaczy chmur Unit 42.

Napisany w języku programowania Rust, który jest niezwykle skalowalny i przyjazny środowisku chmurowemu, robak ten jest zdolny do infekcji wielu platform i atakuje Redis, popularną aplikację bazodanową typu open source, intensywnie wykorzystywaną w środowiskach chmurowych.

Jak To Działa:

Początkowa eksploatacja:

  • P2PInfect wykorzystuje lukę w zabezpieczeniach Lua sandbox escape, CVE-2022-0543, w podatnych na ataki instancjach Redis.
  • Luka umożliwia robakowi wykonanie dowolnego kodu w środowisku skryptowym Lua.

Dostawa ładunku:

  • Po uzyskaniu początkowego dostępu P2PInfect zrzuca początkowy ładunek, który nawiązuje komunikację P2P z większą siecią.
  • Następnie robak pobiera kolejne złośliwe pliki binarne, w tym skrypty specyficzne dla danego systemu operacyjnego i oprogramowanie skanujące.

Propagacja:

  • Zainfekowana instancja Redis dołącza do sieci P2P, zapewniając dostęp do innych ładunków dla przyszłych zainfekowanych instancji Redis.
  • P2PInfect atakuje zarówno systemy operacyjne Linux, jak i Windows, co sprawia, że ​​jest bardziej skalowalny i skuteczny niż inne robaki.

Wpływ:

Badacze z jednostki 42 zidentyfikowali ponad 307 000 unikalnych systemów Redis komunikujących się publicznie w ciągu ostatnich dwóch tygodni, z czego 934 może być podatnych na tę odmianę robaka P2P.

P2PInfect jest przykładem poważnego ataku, który osoby mogą przeprowadzić, wykorzystując tę ​​lukę.

Zdobyta wiedza:

Programiści muszą przeglądać i weryfikować swoje pakiety, dbać o aktualność zależności oraz zachować ostrożność w kwestii nazw i źródeł pakietów.

Aby zapobiegać tego typu atakom na łańcuch dostaw, konieczna jest czujność i stały monitoring.

Atak na łańcuch zależności

Jak oni pracują: Atakujący naruszają jeden pakiet w łańcuchu zależności, co następnie wpływa na wszystkie pozostałe pakiety, które od niego zależą.

Wykorzystywane luki: Ten atak wykorzystuje zaufanie do zależności między pakietami i kaskadowy efekt jednego naruszonego pakietu.

Strategie ochrony: Korzystanie z narzędzia do analizy składu oprogramowania w celu śledzenia i zarządzania komponentami typu open source oraz ich zależnościami może zapewnić ochronę przed atakami typu Dependency-Chain.

Przykład ataku na łańcuch zależności Pakiet npm „event-stream” (2018): naruszenie łańcucha dostaw

Opis:

W 2018 roku popularny pakiet npm o nazwie „strumień zdarzeń” został naruszony.

Atak polegał na manipulacji łańcuchem zależności, co miało negatywny wpływ na niczego niepodejrzewających użytkowników.

Jak to działało:

Początkowy kompromis:

  • Atakujący przejął mniej używaną zależność o nazwie „flatmap-stream”.
  • Wstrzyknęli złośliwy kod do „flatmap-stream”.

Propagacja:

  • Zagrożony pakiet „flatmap-stream” został uwzględniony jako zależność w powszechnie używanym pakiecie „event-stream”.
  • Wiele projektów nieświadomie zainstalowało zagrożony pakiet „event-stream”.

Wpływ:

Atakujący uzyskał dostęp do poufnych informacji od niczego niepodejrzewających użytkowników.

Incydent ten uwypuklił ryzyko ataków na łańcuchy dostaw za pośrednictwem zależności.

Zdobyta wiedza:

Programiści muszą przeglądać i weryfikować swoje pakiety, dbać o aktualność zależności oraz zachować ostrożność w kwestii nazw i źródeł pakietów.

Aby zapobiegać tego typu atakom na łańcuch dostaw, konieczna jest czujność i stały monitoring.

Chroń swoje projekty Open Source dzięki Xygeni

Jak już wspomniano, ekosystem open source jest mieczem obosiecznym — chociaż sprzyja innowacjom, naraża również oprogramowanie na znaczne ryzyko, takie jak zainstalować sabotaż złośliwe oprogramowanie, backdoory pierwszego użycia i ataki na łańcuch zależności. Konsekwencje tych zagrożeń są poważne, a ochrona łańcucha dostaw oprogramowania ma kluczowe znaczenie.

Xygeni Oferujemy potężne rozwiązania zaprojektowane z myślą o obronie Twoich projektów open source przed tymi stale ewoluującymi zagrożeniami. Nasze narzędzia zapewniają bezpieczeństwo Twoich zależności, odporność Twojego oprogramowania i płynny proces rozwoju.

Uczyń mądrzejszymcisjony z kompleksową analizą pakietów

Biorąc pod uwagę złożoność pakietów open source, podejmowanie świadomych decyzji ma kluczowe znaczenie. Xygeni Kompletna analiza pakietu Umożliwia szybką ocenę bezpieczeństwa komponentów open source. Dzięki naszej platformie możesz pewnie wybierać bezpieczne i niezawodne pakiety, unikając ryzyka związanego z niepewnymi zależnościami. Dzięki inteligentnym rozwiązaniomcisDzięki temu, że od początku dbasz o bezpieczeństwo swoich aplikacji, możesz budować silniejsze i bezpieczniejsze aplikacje, które przetrwają próbę czasu.

Zapewnij sobie proaktywną ochronę dzięki wykrywaniu złośliwego oprogramowania w czasie rzeczywistym

Reagowanie na zagrożenia po ich infiltracji systemu nie wystarczy. Dlatego Xygeni oferuje Wykrywanie złośliwego oprogramowania w czasie rzeczywistym aby wykrywać zagrożenia, takie jak złośliwe oprogramowanie typu zero-day, w momencie ich pojawienia się. Nasz system natychmiast blokuje złośliwy kod, uniemożliwiając mu dotarcie do środowiska programistycznego. Działając szybko, zapewniasz bezpieczeństwo swoich projektów od samego początku.

Zabezpiecz swój łańcuch dostaw dzięki ciągłemu monitorowaniu

W dynamicznym świecie rozwoju oprogramowania zmiany zachodzą nieustannie. Xygeni Ciągły monitoring łańcucha dostaw Czujnie monitoruje każdą aktualizację. Nasza proaktywna ochrona wykrywa i blokuje podejrzane zmiany w zależnościach, zapobiegając przedostawaniu się zainfekowanych pakietów do Twoich projektów. Z Xygeni utrzymujesz bezpieczny i niezawodny łańcuch dostaw, chroniąc swoje oprogramowanie przed potencjalnymi zagrożeniami.

Przejmij kontrolę nad swoim bezpieczeństwem dzięki Xygeni

Jak widać, zagrożenia związane z oprogramowaniem open source są realne i rosną. Rozwiązania bezpieczeństwa Xygeni oferują narzędzia do skutecznego zarządzania tymi zagrożeniami. Koncentrując się na wczesnym wykrywaniu, kompleksowej analizie pakietów i ciągłym monitorowaniu, możesz chronić swoje oprogramowanie przed nowymi zagrożeniami. Nie narażaj swoich projektów open source na ataki – wzmocnij swoją strategię bezpieczeństwa już dziś dzięki Xygeni i zyskaj spokój ducha, wiedząc, że Twoje oprogramowanie i dane są bezpieczne.

Gotowy zabezpieczyć swoje projekty open-source? Pozwól, aby Xygeni pomogło Ci wyprzedzić zagrożenia i stworzyć odporne oprogramowanie, które poradzi sobie z każdą sytuacją.

Poznaj funkcje Xygeni!
Obejrzyj naszą demonstrację wideo
sca-tools-oprogramowanie-narzędzia-analizy-kompozycji
Określ priorytety, rozwiąż problemy i zabezpiecz zagrożenia związane z oprogramowaniem
Załóż darmowe konto.
Nie wymagamy karty kredytowej.

Zabezpiecz rozwój i dostarczanie oprogramowania

z pakietem produktów Xygeni