Skip to main content

8.25 Bezpieczny cykl życia rozwoju oprogramowania

Rodzaj kontroli: Informacja
Właściwości bezpieczeństwa: Prewencyjne, Poufność, Integralność, Dostępność
Koncepcje cyberbezpieczeństwa: Ochrona, Bezpieczeństwo aplikacji, Bezpieczeństwo systemów i sieci
Obszary operacyjne: Ochrona

Kontrola

Zasady dotyczące bezpiecznego tworzenia oprogramowania i systemów powinny być określone i stosowane.

Cel

Zapewnienie, że bezpieczeństwo informacji jest uwzględniane i wdrażane na każdym etapie cyklu życia tworzenia oprogramowania i systemów.

Wytyczne

Bezpieczny rozwój jest kluczowy dla zapewnienia bezpieczeństwa usług, architektury, oprogramowania i systemów. Aby to osiągnąć, należy uwzględnić następujące aspekty:

  • Oddzielenie środowisk – środowiska deweloperskie, testowe i produkcyjne powinny być odseparowane (patrz 8.31).
  • Bezpieczeństwo w cyklu życia oprogramowania:
    • Wdrożenie zasad bezpieczeństwa w metodologii tworzenia oprogramowania (patrz 8.28 i 8.27).
    • Stosowanie wytycznych dotyczących bezpiecznego kodowania dla każdego używanego języka programowania (patrz 8.28).
  • Wymagania dotyczące bezpieczeństwa – uwzględnienie wymagań dotyczących bezpieczeństwa już na etapie specyfikacji i projektowania (patrz 5.8).
  • Punkty kontrolne bezpieczeństwa – definiowanie punktów kontrolnych dotyczących bezpieczeństwa w projektach (patrz 5.8).
  • Testowanie systemu i bezpieczeństwa – przeprowadzanie testów, takich jak testy regresji, analiza kodu i testy penetracyjne (patrz 8.29).
  • Bezpieczne repozytoria – przechowywanie kodu źródłowego i konfiguracji w bezpiecznych repozytoriach (patrz 8.4 i 8.9).
  • Bezpieczeństwo w zarządzaniu wersjami – stosowanie zasad bezpieczeństwa w kontroli wersji (patrz 8.32).
  • Szkolenia z zakresu bezpieczeństwa aplikacji – zapewnienie odpowiedniego poziomu wiedzy i szkoleń dla zespołów deweloperskich (patrz 8.28).
  • Zdolność deweloperów do wykrywania i usuwania podatności – szkolenie programistów w zakresie identyfikacji i eliminacji podatności w kodzie (patrz 8.28).
  • Zarządzanie licencjami – zapewnienie zgodności z wymaganiami licencyjnymi oraz unikanie problemów związanych z przyszłymi kosztami licencji (patrz 5.32).

Jeżeli rozwój oprogramowania jest realizowany przez zewnętrznych dostawców, organizacja powinna zapewnić, że dostawca przestrzega zasad bezpiecznego rozwoju zgodnie z polityką organizacji (patrz 8.30).

Inne informacje

Rozwój oprogramowania może odbywać się również wewnątrz aplikacji, np. w aplikacjach biurowych, skryptach, przeglądarkach i bazach danych.