Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
W DevSecOps wydawanie i wdrażanie określają, czy działania związane z bezpieczeństwem wykonane wcześniej w cyklu życia zostaną utrzymane aż do środowiska produkcyjnego. Solidne praktyki w zakresie zarządzania zależnościami, nadzoru nad wydaniami i przepływów pracy wdrożeniowej pomagają uczynić proces dostarczania oprogramowania bezpiecznym, powtarzalnym i godnym zaufania.
W tym obszarze możliwości opisano, w jaki sposób organizacja zarządza bezpiecznymi zależnościami, zabezpiecza swoje wersje i obsługuje przepływy pracy wdrażania. To właśnie na tym etapie działania związane z bezpieczeństwem z wcześniejszych etapów zostają albo zachowane aż do wdrożenia produkcyjnego, albo zaprzepaszczone.
W miarę dojrzewania organizacji wydania i wdrożenia przechodzą od kruchych, doraźnych sposobów dostarczania do powtarzalnych procesów wspieranych przez prognozowanie. Zarządzanie zależnościami dojrzewa wraz z kolejnymi poziomami Secure Supply Chain Consumption Framework (S2C2F), kolejne wydania zyskują zautomatyzowane testy bezpieczeństwa i mechanizmy wycofywania zmian, a przepływy wdrożeniowe stają się ciągłe, zarządzane jako kod i w coraz większym stopniu samonaprawialne.
Podstawowe obszary możliwości
Wydawanie wersji i wdrażanie w DevSecOps koncentruje się na trzech podobszarach kompetencji:
Bezpieczne zależności: Jak zależności zewnętrzne i open source są ewidencjonowane, skanowane i utrzymywane.
Bezpieczne wersje: Jak identyfikowane są podatności i jak zarządza się nimi na kolejnych kamieniach milowych i w wydaniach.
Procesy wdrażania: Jak wdrożenia są automatyzowane, testowane oraz czynione niezawodnymi i powtarzalnymi.
Etapach
Procesy publikowania wydań i wdrażania przechodzą przez pięć etapów dojrzałości. Te etapy pokazują, jak zasady DevSecOps pojawiają się w administrowaniu systemami inżynieryjnymi, od późnej i niespójnej ochrony do chronionych procesów rozszerzonych przez przewidywanie.
| Ogólny etap | Pseudonim sceniczny | Jak wygląda |
|---|---|---|
| Ad hoc | Kruche | Niewiele jest chronione od początku; zagrożenia są identyfikowane i ograniczane późno, jeśli w ogóle. |
| Inicjowanie | Dane ustrukturyzowane | Podstawowe procesy pozwalają wcześnie czerpać korzyści z częstszych i bardziej przewidywalnych wydań. |
| Orkiestracja | Wzbogacony | Automatyzacja i rozszerzone pokrycie testowe przed wdrożeniem dodają pewność i zmniejsz ryzyko. |
| Usprawnianie | Ciągły | Szerszy zakres testów dzięki automatyzacji zwiększa pewność i usprawnia wdrażanie kolejnych wydań. |
| Pionierskie | Refleksyjny | Chronione procesy są wspomagane udoskonaleniami w zakresie przewidywania. |
Kruche (Ad hoc)
Gdy zespoły koncentrują się wyłącznie na osiąganiu pierwszych rezultatów i ich dostarczaniu, nie uwzględniają bezpieczeństwa w procesie wytwarzania oprogramowania od samego początku. Często identyfikują i ograniczają zagrożenia późno, jeśli w ogóle.
Bezpieczne zależności: nie ma zorganizowanego spisu. Aktualizacje pakietów są ręczne i mogą się w ogóle nie zdarzyć.
Bezpieczne wersje: nie ma zorganizowanych działań związanych z zabezpieczeniami wydań.
Przepływy pracy wdrożeniowej: Działania wdrożeniowe są rozproszone i podejmowane doraźnie.
Ustrukturyzowane (inicjowanie)
Gdy zespoły ustanawiają procesy wydawania i wdrażania, zaczynają widzieć wczesne korzyści wynikające z częstszych i przewidywalnych wydań.
Bezpieczne zależności: zespoły wykonują działania S2C2F poziomu 1. Sprawdzanie licencji jest ręczne, a powiadomienia klientów są podstawowe.
Bezpieczne wydania: zespoły ręcznie sprawdzają podatności, kwestie licencyjne i problemy z wersjami na etapach kamieni milowych i przy wydaniach, zazwyczaj korzystając z serwisów zewnętrznych.
Przepływy wdrażania: istnieją, ale są w dużej mierze ręczne i mogą być niespójne lub niekompletne. Wdrożenia są zwykle duże i rzadko.
Wzbogacone (orkiestracja)
Wprowadzenie do automatyzacji i rozszerzanie zakresu testów przed wdrożeniem zwiększa pewność i zmniejsza ryzyko.
Bezpieczne zależności: usługa Teams definiuje początkowy proces zarządzania zmianami z przeglądem i zatwierdzeniami zmian wersji. Korzystają z zestawień składników oprogramowania (SBOM), skanowania pod kątem licencji oraz działań S2C2F na poziomie 2. Wprowadzono maskowanie danych.
Bezpieczne wersje: automatyczne narzędzia do testowania zabezpieczeń aplikacji dynamicznych są używane w kluczowych punktach kontrolnych w celu identyfikowania luk w zabezpieczeniach i innych problemów. Korygowanie jest nadal trudne i czasochłonne.
Przepływy wdrażania: One stają się dojrzałe i niezawodne. Potoki wdrożeniowe obejmują kompleksowe zautomatyzowane testy, w tym dynamiczne testy bezpieczeństwa aplikacji i testy wydajności. Artefakty są weryfikowane przy użyciu podpisywania kodu.
Ciągłe (streamlinowanie)
Automatyzacja, która zapewnia szersze pokrycie komponentów i scenariuszy, zwiększa pewność i daje zespołom większą elastyczność przy wydawaniu kolejnych wersji.
Bezpieczne zależności: Automatyczna zewnętrzna świadomość sytuacyjna umożliwia działanie prewencyjne w defensywie. Zespoły wykonują działania S2C2F poziomu 3 i automatycznie generują SBOM-y.
Bezpieczne wydania: zespoły utrzymują pełną ewidencję w całym procesie, wdrażają ochronę przed złośliwym oprogramowaniem i wykrywanie zagrożeń zero-day oraz nie poświęcają jakości na rzecz szybkości, ponieważ mogą szybko i skutecznie wycofywać wdrożenia.
Przepływy pracy wdrażania: zautomatyzowane, ciągłe dynamiczne testowanie aplikacji jest zintegrowane w całym cyklu. Sztuczna inteligencja pomaga zapewnić automatyczne naprawianie, a infrastruktura jest zarządzana jako kod. Mniejsze, częstsze zmiany mogą być wdrażane w sposób ciągły bez poświęcania niezawodności.
Refleksywny (Pionierski)
Chronione i chronione procesy są ulepszane dzięki możliwościom predykcyjnym, które zapewniają dodatkowe korzyści z zakresu zabezpieczeń i wydajności.
Bezpieczne zależności: zespoły utrzymują plany awaryjne dla każdej zależności, współtworzyją poprawki zabezpieczeń i aktualizacje z powrotem do oprogramowania open source i wykonują działania na poziomie 4 S2C2F.
Bezpieczne wydania: Inwestycje strategiczne dodatkowo zwiększają możliwość przewidywania i zapobiegania ekspozycji.
Przepływy wdrażania: Agentowa sztuczna inteligencja jest wykorzystywana do optymalizacji przepływów pracy i zwiększania efektywności, co poprawia bezpieczeństwo i usprawnia proces ciągłego wdrażania.