8.27 Zasady bezpiecznego inżynierii systemów
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 inżynierii bezpiecznych systemów powinny być ustalone, udokumentowane, utrzymywane i stosowane do wszelkich działań związanych z rozwojem systemów informacyjnych.
Cel
Zapewnienie, że systemy informacyjne są projektowane, implementowane i eksploatowane w sposób bezpieczny w ramach cyklu życia rozwoju.
Wytyczne
Zasady inżynierii bezpieczeństwa powinny zostać ustalone, udokumentowane i stosowane w działalności inżynierii systemów informacyjnych. Bezpieczeństwo powinno być projektowane w każdej warstwie architektury (biznesowej, danych, aplikacji i technologii). Nowa technologia powinna zostać przeanalizowana pod kątem ryzyka związanego z bezpieczeństwem, a projekt powinien zostać zweryfikowany pod kątem znanych wzorców ataków.
Zasady bezpiecznej inżynierii dostarczają wskazówek dotyczących technik uwierzytelniania użytkowników, kontroli sesji i walidacji oraz sanitacji danych.
Zasady inżynierii systemów bezpiecznych powinny obejmować analizę:
a) pełnego zakresu kontroli bezpieczeństwa wymaganych do ochrony informacji i systemów przed zidentyfikowanymi zagrożeniami;
b) zdolności kontroli bezpieczeństwa do zapobiegania, wykrywania lub reagowania na zdarzenia związane z bezpieczeństwem;
c) specyficznych kontroli bezpieczeństwa wymaganych przez szczególne procesy biznesowe (np. szyfrowanie informacji poufnych, sprawdzanie integralności i podpisywanie informacji cyfrowych);
d) miejsca i sposobu zastosowania kontroli bezpieczeństwa (np. przez integrację z architekturą bezpieczeństwa i infrastrukturą techniczną);
e) jak poszczególne kontrole bezpieczeństwa (ręczne i automatyczne) współdziałają, aby stworzyć zintegrowany zestaw kontroli.
Zasady inżynierii bezpieczeństwa powinny uwzględniać:
a) potrzebę integracji z architekturą bezpieczeństwa;
b) infrastrukturę techniczną bezpieczeństwa (np. infrastruktura klucza publicznego, zarządzanie tożsamością i dostępem, zapobieganie wyciekom danych i dynamiczne zarządzanie dostępem);
c) zdolność organizacji do opracowywania i wspierania wybranej technologii;
d) koszty, czas i złożoność spełniania wymagań bezpieczeństwa;
e) bieżące dobre praktyki.
Bezpieczna inżynieria systemów powinna obejmować:
a) stosowanie zasad architektury bezpieczeństwa, takich jak „bezpieczeństwo przez projektowanie”, „obrona w głębokości”, „bezpieczeństwo domyślne”, „domyślne odrzucenie”, „zabezpieczanie przed błędami”, „nie ufać zewnętrznym aplikacjom”, „bezpieczeństwo podczas wdrażania”, „załóż, że system został złamany”, „najmniejszy przywilej”, „użyteczność i zarządzalność” oraz „najmniejsza funkcjonalność”;
b) przegląd projektu z orientacją na bezpieczeństwo, mający na celu identyfikację luk w bezpieczeństwie informacji, zapewnienie specyfikacji kontroli bezpieczeństwa i spełnienia wymagań bezpieczeństwa;
c) dokumentowanie i formalne potwierdzenie kontroli bezpieczeństwa, które nie w pełni spełniają wymagania (np. z powodu nadrzędnych wymagań bezpieczeństwa);
d) twardnienie systemów.
Organizacja powinna rozważyć zasady „zero trust”, takie jak:
a) założenie, że systemy informacyjne organizacji są już złamane, a więc nie opierać się wyłącznie na bezpieczeństwie perymetrycznym;
b) stosowanie podejścia „nigdy nie ufaj, zawsze weryfikuj” w odniesieniu do dostępu do systemów informacyjnych;
c) zapewnienie, że żądania do systemów informacyjnych są szyfrowane end-to-end;
d) weryfikowanie każdego żądania dostępu do systemu informacyjnego tak, jakby pochodziło ono z otwartej, zewnętrznej sieci, nawet jeśli te żądania pochodzą wewnętrznie (tj. nie ufać automatycznie niczemu wewnątrz lub na zewnątrz swoich granic);
e) stosowanie „najmniejszego przywileju” i dynamicznych technik zarządzania dostępem (patrz 5.15, 5.18 i 8.2). Obejmuje to uwierzytelnianie i autoryzowanie żądań dostępu do informacji lub systemów na podstawie kontekstowych informacji, takich jak dane uwierzytelniające (patrz 5.17), tożsamości użytkowników (patrz 5.16), dane o urządzeniu końcowym użytkownika oraz klasyfikacja danych (patrz 5.12);
f) zawsze uwierzytelnianie żądających i zawsze weryfikowanie żądań autoryzacji dostępu do systemów informacyjnych na podstawie informacji, w tym danych uwierzytelniających (patrz 5.17) i tożsamości użytkowników (patrz 5.16), danych o urządzeniu końcowym użytkownika oraz klasyfikacji danych (patrz 5.12), np. wymuszanie silnego uwierzytelniania (np. wieloskładnikowego, patrz 8.5).
Ustalone zasady inżynierii bezpieczeństwa powinny być stosowane, jeśli to możliwe, do zleconego rozwoju systemów informacyjnych poprzez umowy i inne wiążące porozumienia między organizacją a dostawcą, któremu organizacja zleca rozwój. Organizacja powinna zapewnić, że praktyki inżynierii bezpieczeństwa dostawców są zgodne z potrzebami organizacji.
Zasady inżynierii bezpieczeństwa oraz ustalone procedury inżynieryjne powinny być regularnie przeglądane, aby zapewnić, że skutecznie przyczyniają się do podniesienia standardów bezpieczeństwa w procesie inżynieryjnym. Powinny być również regularnie przeglądane, aby zapewnić, że pozostają aktualne w kontekście zwalczania nowych zagrożeń oraz w stosunku do postępów technologicznych i rozwiązań stosowanych w organizacji.
Inne informacje
Zasady inżynierii bezpieczeństwa mogą być stosowane do projektowania lub konfiguracji szeregu technik, takich jak:
- tolerancja błędów i inne techniki odporności;
- segregacja (np. przez wirtualizację lub konteneryzację);
- odporność na manipulacje.
Techniki bezpiecznej wirtualizacji mogą być używane do zapobiegania zakłóceniom między aplikacjami działającymi na tym samym urządzeniu fizycznym. Jeśli wirtualna instancja aplikacji zostanie skompromitowana przez atakującego, tylko ta instancja jest dotknięta. Atak nie wpływa na inne aplikacje ani dane.
Techniki odporności na manipulacje mogą być używane do wykrywania manipulacji kontenerami informacji, zarówno fizycznymi (np. alarm przeciwkradzieżowy), jak i logicznymi (np. plik danych). Cechą takich technik jest to, że istnieje zapis próby manipulacji kontenerem. Dodatkowo kontrola ta może zapobiec pomyślnemu wydobyciu danych przez zniszczenie ich (np. pamięć urządzenia może zostać usunięta).