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.