Spis treści
Aplikacje chmurowe, składające się z różnych niezależnych komponentów znanych jako mikrousługi, są tworzone przy użyciu zwinnego podejścia do tworzenia oprogramowania zwanego DevSecOps, które kładzie nacisk na współpracę i bezpieczeństwo w całym procesie.
Jednym z kluczowych aspektów tworzenia aplikacji chmurowych jest korzystanie z ciągłej integracji/ciągłego dostarczania (CI/CD) pipelines. Te pipelineUmożliwiają programistom bezproblemową integrację nowych zmian w kodzie i ciągłe dostarczanie aktualizacji do aplikacji. Jednak ostatnie badania podkreślają wagę uwzględnienia całego cyklu życia oprogramowania (SDLC), znanego jako łańcuch dostaw oprogramowania (SSC), w zakresie bezpieczeństwa.
W ciągle zmieniającym się krajobrazie rozwoju oprogramowania i bezpieczeństwa, wyprzedzanie potencjalnych zagrożeń jest kluczowe. Dlatego Narodowy Instytut Standards and Technology (NIST) wykonał znaczący krok, publikując NIST SP 800-204D, zawierające software supply chain security (SSCS) środki do CI/CD pipelines. Niniejszy dokument opiera się na fundamencie Secure Software Development Framework (SSDF), również wydanym przez NIST.
Dla organizacji, które chcą poprawić bezpieczeństwo swojego łańcucha dostaw, to nowe źródło informacji NIST Jest to cenny i aktualny atut. W ostatnich latach byliśmy świadkami licznych, wyrafinowanych prób naruszenia bezpieczeństwa łańcuchów dostaw oprogramowania, co podkreśla pilną potrzebę poprawy środków bezpieczeństwa. Aż 82% dyrektorów ds. informatyki wyraziło obawy dotyczące podatności swojego łańcucha dostaw oprogramowania na potencjalne ataki.
Jeśli martwisz się o bezpieczeństwo swojego łańcucha dostaw, pamiętaj, że wiele organizacji podziela te obawy i poszukuje sposobów na ograniczenie ryzyka oraz wzmocnienie swoich łańcuchów dostaw oprogramowania. Przyjrzyjmy się bliżej strategiom i kwestiom związanym z integracją. SSCS środki do codziennych operacji DevOps.
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.
SSCS oraz CI/CD Pipelines: Serce DevSecOps
Ciągła integracja i ciągłe wdrażanie (CI/CD) Pipelinezrewolucjonizowały proces tworzenia oprogramowania, stanowiąc podstawę zwinnego paradygmatu DevSecOps. pipelineSystemy te to skomplikowane systemy, które obsługują kod pochodzący z różnych źródeł, w tym wewnętrznych repozytoriów stron trzecich oraz repozytoriów typu open source lub komercyjnych.
Proces kompilacji w ramach tych pipelines to złożony układ zależności sterowanych logiką aplikacji, generujący kompilacje z wielu indywidualnych artefaktów kodu źródłowego. Po utworzeniu artefakty są przechowywane w dedykowanych repozytoriach kompilacji, poddawane rygorystycznym testom przed spakowaniem. Pakiety te są przechowywane w określonych repozytoriach, skanowane w poszukiwaniu luk w zabezpieczeniach i ostatecznie wdrażane w środowiskach testowych lub produkcyjnych. Platformy takie jak przepływy pracy GitHub Actions, GitLab Runners i Buildcloud obsługują te przepływy pracy.
Dla bezpieczeństwa SSC w ramach tych przepływów pracy kluczowe jest generowanie obszernych danych o pochodzeniu. Dane te zapewniają identyfikowalność i rozliczalność w całym procesie. pipeline, działając jako symbol przejrzystości. Konieczne jest zajęcie się zarówno wewnętrznymi praktykami bezpieczeństwa SSC dotyczącymi oprogramowania własnego, jak i praktykami bezpieczeństwa dotyczącymi modułów oprogramowania firm trzecich. Nadrzędne cele są dwojakie:
- Wdrażaj środki obronne, aby zapobiegać manipulacjom w procesach produkcji oprogramowania i zapobiegać wprowadzaniu złośliwych aktualizacji oprogramowania.
- Podtrzymywać integralność CI/CD pipeline artefakty i działania poprzez definiowanie ról i uprawnień dla wszystkich aktorów zaangażowanych w pipeline.
Infrastruktura DevOps: fundament CI/CD
Narzędzia i technologie stanowiące podstawę operacji DevOps to ciche konie pociągowe ciągłej integracji. Ich konfiguracja i utrzymanie mają kluczowe znaczenie dla bezpieczeństwa i integralności całego systemu. CI/CD Regularne audyty i aktualizacje tych narzędzi są nieodzowne, aby zapewnić proaktywne reagowanie na luki w zabezpieczeniach.
Zautomatyzowane skanery podatności stały się nieocenionym sojusznikiem w tym przedsięwzięciu. Dzięki ciągłemu monitorowaniu narzędzi i konfiguracji DevOps, mogą one identyfikować potencjalne luki w zabezpieczeniach lub błędy w konfiguracji w czasie rzeczywistym. To proaktywne podejście zapewnia wgląd w ogólny stan bezpieczeństwa środowiska DevOps, umożliwiając szybką naprawę.
Co więcej, wybór wtyczek w łańcuchu narzędzi DevOps może znacząco wpłynąć na bezpieczeństwo. Chociaż wtyczki zwiększają funkcjonalność, mogą również wprowadzać luki w zabezpieczeniach, jeśli nie zostaną odpowiednio sprawdzone. Kluczowe jest, aby oceniać wtyczki na podstawie ich reputacji, historii bezpieczeństwa i wsparcia społeczności. Regularne przeglądy i aktualizacje tych wtyczek mogą dodatkowo wzmocnić bezpieczeństwo.
Bezpieczeństwo w CI/CD Pipelines: Nie podlegające negocjacjom
Każdy etap CI/CD pipelineod tworzenia kodu do obsługi kodu commitOperacje typu „s” i „pull-push” wymagają rygorystycznych środków bezpieczeństwa. Bezpieczny kod commitstanowią podstawę tych pipelines. Egzekwowanie przeglądów kodu, wykrywania złośliwego kodu i przestrzegania wytycznych bezpieczeństwa może znacząco zmniejszyć liczbę luk w zabezpieczeniach.
Operacje pull-push, które obejmują zmiany w kodzie, muszą być wzmocnione bezpiecznymi mechanizmami uwierzytelniania, takimi jak uwierzytelnianie wieloskładnikowe (MFA), aby zapobiec nieautoryzowanemu dostępowi. Procesy budowania w ramach pipelineProcesy kompilacji powinny być przeprowadzane w odizolowanych, bezpiecznych środowiskach. Korzystanie z bezpiecznych agentów kompilacji, regularne aktualizowanie narzędzi i zależności kompilacji oraz zapewnienie integralności procesu kompilacji to kluczowe kroki w tym kierunku.
Co więcej, integralność atestów i dowodów w systemach aktualizacji oprogramowania ma kluczowe znaczenie. Weryfikacja autentyczności i integralności aktualizacji oprogramowania gwarantuje, że pozostaną one nienaruszone podczas procesu wdrażania.
Build Attestations:Strażnik CI/CD Przetwarzanie
Atesty to nieocenieni bohaterowie w zabezpieczaniu łańcucha dostaw oprogramowania. Te uwierzytelnione zbiory metadanych, generowane przez określone procesy, mogą być weryfikowane przez konsumentów, zapewniając poziom zaufania i transparentności. Ponieważ organizacje priorytetowo traktują bezpieczeństwo swojego łańcucha dostaw oprogramowania, gromadzenie metadanych związanych z procesem kompilacji i tworzenia aplikacji staje się kwestią priorytetową.
Metadane dotyczące procesu kompilacji dostarczają informacji o używanych narzędziach, wersjach, konfiguracjach i zależnościach, stanowiąc podstawę kompilacji. Podobnie, metadane dotyczące tworzenia aplikacji zapewniają migawkę używanych frameworków programistycznych, bibliotek i zależności innych firm. To kompleksowe gromadzenie danych zapewnia niezrównany wgląd w pochodzenie i integralność bazy kodu.
Wykorzystując atesty i starannie gromadząc metadane, organizacje mogą znacząco zwiększyć swoje software supply chain securityTakie podejście nie tylko zapewnia przejrzystość i weryfikowalność, ale także stanowi podstawę efektywnego monitorowania, audytu i analizy bezpieczeństwa w całym cyklu życia oprogramowania.
Uwagi końcowe i dalsze kroki
Niedawne analizy luk w zabezpieczeniach oprogramowania i ataków uwypukliły palącą kwestię dla firm opracowujących oprogramowanie w ramach zwinnego paradygmatu DevSecOps wykorzystującego ciągłą integrację/ciągłe dostarczanie (CI/CD) pipelines. Zarówno organizacje rządowe, jak i z sektora prywatnego skupiają się obecnie na działaniach obejmujących cały SDLC, określanych zbiorczo mianem łańcucha dostaw oprogramowania (SSC).
Integralność każdej operacji w ramach SSC ma kluczowe znaczenie dla jej ogólnego bezpieczeństwa. Zagrożenia dla tej integralności mogą wynikać ze złośliwych działań wykorzystujących luki w zabezpieczeniach lub z niedopatrzeń i zaniedbań w należytej staranności podczas SDLCUznając powagę tego problemu, inicjatywy takie jak Rozporządzenie Wykonawcze (EO) 14028, Bezpieczne Ramy Rozwoju Oprogramowania (SSDF) NIST oraz różne fora branżowe skupiły się na bezpieczeństwie SSC, mając na celu wzmocnienie ochrony całego wdrożonego oprogramowania.
To wzmożone skupienie podkreśla potrzebę podjęcia działań w celu zintegrowania zapewnienia bezpieczeństwa SSC z CI/CD pipelines bezproblemowo. Taka integracja jest niezbędna dla organizacji skutecznie dbających o bezpieczeństwo SSC podczas tworzenia i wdrażania aplikacji chmurowych. Zbudowanie solidnej infrastruktury bezpieczeństwa SSC wymaga uwzględnienia różnych elementów, w tym zestawienia materiałów oprogramowania (SBOM) oraz ramy atestacji komponentów oprogramowania. W miarę jak te specyfikacje i wymagania ewoluują dzięki współpracy na forach rządowych i branżowych, pozostają one kluczowe dla kształtowania przyszłości bezpieczeństwa centrów danych (SSC).
Gotowy na odkrycie zawiłości integracji SSCS Wprowadzasz środki w DevOps? Pobierz kompleksowy raport Xygeni już dziś. Poznaj szczegółowe analizy, najlepsze praktyki i praktyczne strategie, aby wzmocnić swoje procesy DevOps. Wyposaż swój zespół w wiedzę, która pozwoli Ci wdrożyć SSCS mierzy bezproblemowo i prowadzi w software supply chain security. Nie przegap—Pobierz teraz.







