Jak już omówiliśmy w poprzednich materiałach na temat software supply chain security, zbadaliśmy koncepcję ataków na łańcuch dostaw i ich potencjalny wpływ na organizacje. Ataki te często wykorzystują luki w zabezpieczeniach w całym cyklu życia oprogramowania (SDLC), stwarzając znaczne ryzyko na każdym etapie. Dzisiaj zagłębimy się w najpowszechniejsze software supply chain security zagrożenia, które pojawiają się na etapie źródłowym.
Przede wszystkim kluczowe jest zdefiniowanie ataku na łańcuch dostaw i jego specyfiki Software Supply Chain Security Zagrożenia pojawiające się na etapie źródłowym.
Definicja ataku na łańcuch dostaw oprogramowania
Narodowy Instytut USA Standardi technologii (NIST) definiuje atak na łańcuch dostaw oprogramowania „Kiedy atak ma miejsce, gdy cyberprzestępca infiltruje sieć dostawcy oprogramowania i wykorzystuje złośliwy kod, aby skompromitować oprogramowanie, zanim dostawca wyśle je swoim klientom. Zhakowane oprogramowanie następnie kompromituje dane lub system klienta. Nowo nabyte oprogramowanie może być skompromitowane od samego początku lub kompromitować je w inny sposób, na przykład poprzez poprawkę lub łatkę. W takich przypadkach kompromituje się jeszcze przed wprowadzeniem poprawki lub łatki do sieci klienta. Tego typu ataki wpływają na wszystkich użytkowników skompromitowanego oprogramowania i mogą mieć rozległe konsekwencje dla rządów, infrastruktury krytycznej i klientów oprogramowania z sektora prywatnego."
Etap źródłowy Software Supply Chain Security Zagrożenia
Etap źródłowy cyklu życia łańcucha dostaw oprogramowania obejmuje początkowe fazy rozwoju oprogramowania, od koncepcji do stworzenia kodu źródłowego. Etap ten obejmuje wybór narzędzi, bibliotek i komponentów, a także opracowanie i wdrożenie podstawowych funkcjonalności oprogramowania.
Software supply chain security Zagrożenia na etapie źródłowym odnoszą się do luk w zabezpieczeniach, które mogą zostać wykorzystane do wprowadzenia nieautoryzowanych lub złośliwych zmian w kodzie źródłowym. Obejmuje to zagrożenie ze strony zarówno osób nieupoważnionych, jak i uprawnionych, które wprowadzą nieautoryzowane zmiany.

Przykłady zagrożeń źródłowych
Prześlij zły kod
Przesyłanie złego kodu odnosi się do praktyki commitWprowadzanie kodu do repozytorium źródłowego zawierającego defekty, błędy lub luki w zabezpieczeniach. Może to obejmować zarówno złośliwy kod celowo wprowadzony w celu naruszenia integralności lub bezpieczeństwa oprogramowania, jak i niezamierzony kod, który wprowadza błędy lub luki w zabezpieczeniach z powodu złych praktyk kodowania lub braku testowania. Przykładem takiego ataku wektorowego był Atak NMP. W 2022 roku haker zinfiltrował repozytorium kodu źródłowego popularnej biblioteki oprogramowania open source o nazwie npm. Haker umieścił w niej złośliwy kod, który umożliwił mu uzyskanie nieautoryzowanego dostępu do systemów organizacji, które zainstalowały bibliotekę. Złośliwy kod umożliwił hakerowi kradzież danych z zainfekowanych systemów, instalację złośliwego oprogramowania i zakłócanie ich działania. Atak dotknął szerokie spektrum organizacji, w tym agencje rządowe, firmy i osoby prywatne.
Repozytorium źródeł kompromisu
Przeciwnik uzyskuje nieautoryzowany dostęp do repozytorium kodu źródłowego (SCM) i wprowadza złośliwe zmiany lub usuwa prawidłowy kod. Można to osiągnąć różnymi metodami, takimi jak wykorzystanie luk w zabezpieczeniach SCM, naruszając dane uwierzytelniające programisty mającego dostęp do repozytorium lub uzyskując dostęp do podstawowej infrastruktury hostującej SCMPrzykładem tego ataku wektorowego był Atak PHP. Atakujący włamał się na samodzielnie hostowany serwer Git PHP, który jest bezpiecznym repozytorium do przechowywania i zarządzania kodem źródłowym języka programowania PHP. Atakujący zdołał wstrzyknąć dwa złośliwe kody. commitdo głównej bazy kodu PHP. Te commits dodał tylne furtki, które umożliwiały atakującemu uzyskanie nieautoryzowanego dostępu do instalacji PHP. Tylne furtki umożliwiały atakującemu wykonanie dowolnego kodu w dowolnej instalacji PHP, co mogło posłużyć do kradzieży danych, instalacji złośliwego oprogramowania lub zakłócenia działania. Atak spowodował również znaczne szkody wizerunkowe dla PHP, ponieważ wzbudził obawy dotyczące bezpieczeństwa tego języka programowania.
Kompilacja ze zmodyfikowanego źródła
Przeciwnik uzyskuje kopię kodu źródłowego z innego źródła niż oficjalne repozytorium kodu źródłowego i wykorzystuje ją do zbudowania i wdrożenia oprogramowania. Ten zmodyfikowany kod źródłowy może zawierać złośliwy kod, backdoory lub inne szkodliwe modyfikacje, które mogą zagrozić integralności, funkcjonalności lub bezpieczeństwu oprogramowania. Przykładem takiego ataku wektorowego był… Webmin Atak. Atakujący uzyskał nieautoryzowany dostęp do infrastruktury kompilacji Webmina, która odpowiada za kompilowanie i pakowanie oprogramowania Webmina. Atakujący zmodyfikował infrastrukturę kompilacji, aby korzystać z plików źródłowych, których nie było w oficjalnym repozytorium kodu źródłowego Webmina.
Napisz niebezpieczny kod
Niebezpieczne praktyki kodowania, celowe lub nieumyślne, mogą wprowadzać luki w zabezpieczeniach oprogramowania. Luki te mogą zostać wykorzystane przez atakujących do uzyskania nieautoryzowanego dostępu, modyfikacji lub kradzieży danych, a także do zakłócania działania systemu. Przykładem takiego ataku wektorowego był… Atak Apache StrutsW 2003 roku haker zinfiltrował repozytorium kodu źródłowego biblioteki oprogramowania open source o nazwie Apache Struts. Haker wprowadził do biblioteki lukę, która umożliwiła mu uzyskanie nieautoryzowanego dostępu do systemów organizacji, które zainstalowały bibliotekę. Luka umożliwiła hakerowi wykonanie dowolnego kodu w zainfekowanych systemach, który mógł posłużyć do kradzieży danych, instalacji złośliwego oprogramowania i zakłócania ich działania. Atak dotknął szerokie spektrum organizacji, w tym agencje rządowe, firmy i osoby prywatne.
Manipulowanie krytycznymi plikami
Zmiana lub modyfikacja krytycznych plików w cyklu rozwoju oprogramowania może mieć poważne konsekwencje, w tym wprowadzenie złośliwego kodu, naruszenie poufnych danych i zakłócenie działania oprogramowania. Przykładem takiego ataku wektorowego jest… Atak Maven. W 2020 roku hakerzy zinfiltrowali repozytorium kodu źródłowego popularnej biblioteki oprogramowania open source o nazwie Maven. Umieścili złośliwy kod w pliku pom.xml biblioteki, który służy do konfiguracji procesu kompilacji. Złośliwy kod umożliwił hakerom wstrzyknięcie swoich zależności do procesu kompilacji, które następnie zostały uwzględnione w skompilowanym oprogramowaniu. Zależności te zawierały tylne furtki, które umożliwiały hakerom uzyskanie nieautoryzowanego dostępu do systemów organizacji, które zainstalowały oprogramowanie.
Oczyszczanie ścieżki: Usprawnianie operacji z przejrzystym widokiem
Wyjdź poza ramy bezpieczeństwa, a przekonasz się, że wizualizacja łańcucha dostaw to coś więcej niż tylko zabezpieczenie – to jak włączenie światła w ciemnym pokoju, ukazujące najszybsze i najefektywniejsze ścieżki w Twoich operacjach. Daje zespołom pełny obraz ekosystemu programistycznego, umożliwiając identyfikację zbędnych zasobów i niekonserwowanych elementów. Ta przejrzystość jest szczególnie przydatna w przypadku dużych projektów, w których wiele jednostek i komponentów jest ze sobą powiązanych.
Uwagi końcowe
Poprzez zrozumienie różnych typów etapu źródłowego software supply chain security Dzięki informacjom o zagrożeniach i wdrożeniu odpowiednich środków bezpieczeństwa organizacje mogą chronić się przed tymi niszczycielskimi atakami.
- Ataki na łańcuch dostaw oprogramowania mogą wprowadzić złośliwy kod do oprogramowania na dowolnym etapie cyklu jego rozwoju, także na etapie źródłowym.
- Zagrożenia na etapie źródłowym obejmują przesyłanie błędnego kodu, naruszanie repozytoriów źródłowych, budowanie ze zmodyfikowanych źródeł, pisanie niezabezpieczonego kodu i manipulację krytycznymi plikami.
- Organizacje muszą wdrażać kompleksowe środki bezpieczeństwa w całym cyklu życia oprogramowania, aby ograniczyć ryzyko ataków na łańcuch dostaw.
Chcesz być o krok przed konkurencją? software supply chain security?
Bądź na bieżąco z naszymi nadchodząca seria blogów, gdzie zagłębimy się w najczęstsze ataki występujące w całym cyklu życia oprogramowania. Od etap budowy po wdrożenie i dalej, wyposażymy Cię w wiedzę i strategie, które ochronią Twoją organizację przed tymi podstępnymi zagrożeniami.
Nie przegap! Zapisz się na nasz blog już dziś i bądź pierwszą osobą, która dowie się o naszych najnowszych spostrzeżeniach na temat software supply chain security.
Razem możemy zbudować bardziej odporny i bezpieczny ekosystem oprogramowania dla wszystkich.
Obejrzyj naszą demonstrację wideo







