Skip to main content

8.4 Dostęp do kodu źródłowego

Rodzaj kontroli: Informacja
Właściwości bezpieczeństwa: Prewencyjne, Poufność, Integralność
Koncepcje cyberbezpieczeństwa: Ochrona, Zarządzanie tożsamością i dostępem, Bezpieczeństwo aplikacji
Obszary operacyjne: Kontrola

Kontrola

Dostęp do kodu źródłowego, narzędzi deweloperskich oraz bibliotek programistycznych powinien być odpowiednio zarządzany.

Cel

Zapobieganie wprowadzeniu nieautoryzowanej funkcjonalności, unikanie niezamierzonych lub złośliwych zmian oraz ochrona poufności cennej własności intelektualnej.

Wytyczne

Dostęp do kodu źródłowego oraz powiązanych zasobów (np. projektów, specyfikacji, planów weryfikacji i walidacji) oraz narzędzi deweloperskich (np. kompilatorów, systemów budowania, narzędzi integracyjnych, platform testowych i środowisk deweloperskich) powinien być ściśle kontrolowany.

W przypadku kodu źródłowego może to zostać osiągnięte poprzez kontrolowanie jego centralnego przechowywania, najlepiej w systemie zarządzania kodem źródłowym.

Dostęp do kodu źródłowego powinien być zróżnicowany w zależności od roli personelu. Przykładowo, dostęp do odczytu kodu źródłowego może być szeroko dostępny w organizacji, natomiast dostęp do zapisu powinien być ograniczony wyłącznie do upoważnionych osób. W przypadku komponentów kodu wykorzystywanych przez wielu programistów w organizacji należy wdrożyć scentralizowane repozytorium kodu.

Dodatkowo, jeśli organizacja korzysta z kodu open-source lub komponentów firm trzecich, dostęp do odczytu takich repozytoriów może być szeroko dostępny, ale dostęp do zapisu powinien być nadal ograniczony.

W celu kontroli dostępu do bibliotek kodu źródłowego i zmniejszenia ryzyka nieautoryzowanych zmian należy rozważyć:

  • a) zarządzanie dostępem do kodu źródłowego oraz jego bibliotek zgodnie z ustalonymi procedurami;
  • b) przyznawanie dostępu do odczytu i zapisu do kodu źródłowego zgodnie z potrzebami biznesowymi oraz zarządzanie dostępem w celu minimalizacji ryzyka nieautoryzowanych zmian lub nadużyć;
  • c) aktualizowanie kodu źródłowego oraz powiązanych elementów zgodnie z procedurami kontroli zmian (zob. 8.32) oraz nadawanie dostępu do kodu wyłącznie po otrzymaniu odpowiedniego zatwierdzenia;
  • d) niedopuszczanie bezpośredniego dostępu programistów do repozytorium kodu źródłowego, lecz umożliwienie dostępu wyłącznie poprzez narzędzia deweloperskie kontrolujące operacje i autoryzacje na kodzie źródłowym;
  • e) przechowywanie list kodu źródłowego w bezpiecznym środowisku, gdzie dostęp do odczytu i zapisu jest odpowiednio zarządzany i przypisywany;
  • f) prowadzenie dziennika audytowego wszystkich operacji dostępu oraz zmian w kodzie źródłowym.

Jeśli kod źródłowy jest przeznaczony do publikacji, należy rozważyć dodatkowe środki zapewniające jego integralność, np. podpis cyfrowy.

Inne informacje

Brak odpowiedniej kontroli dostępu do kodu źródłowego może skutkować jego modyfikacją lub ujawnieniem danych ze środowiska deweloperskiego (np. kopii danych produkcyjnych, szczegółów konfiguracji) osobom nieupoważnionym.