Może wystąpić w aplikacjach, frameworkach, tożsamościach, usługach chmurowych, sieciach, hostach, kontenerach, bazach danych, urządzeniach lub systemach zarządzania i może eksponować dane lub funkcje, osłabiać inną kontrolę albo tworzyć warunek, który zagrożenie może wykorzystać.
Przykłady obejmują niezmienione domyślne poświadczenia, publiczną pamięć masową, nadmierne uprawnienia, włączone funkcje przykładowe lub debugowe, rozwlekłe błędy, brakujące dyrektywy bezpieczeństwa, eksponowane interfejsy zarządzania, wyłączone logowanie i niespójne ustawienia między środowiskami. Poprawna konfiguracja zależy od architektury, celu, danych, zagrożeń i ograniczeń operacyjnych.
Najważniejsze punkty
Ustal intencjęZdefiniuj testowane, specyficzne dla wersji stany bazowe i politykę dla każdego środowiska, w tym wymagane usługi, interfejsy, uprawnienia, logowanie, szyfrowanie, obsługę błędów i zatwierdzone wyjątki.
Kontroluj zmianyUżywaj rozliczalnego przeglądu, powtarzalnego wdrażania, administracji o minimalnych uprawnieniach, chronionych magazynów konfiguracji i rozdzielenia poświadczeń między rozwojem, testem a produkcją.
Weryfikuj stanOceniaj efektywne ustawienia i relacje zasobów, porównuj je z zamierzonymi stanami bazowymi, wykrywaj dryf, ustalaj priorytety według ekspozycji i konsekwencji, remediuj bezpiecznie i potwierdzaj, że korekta się utrzymuje.
Istotne ograniczenieNie każda podatność jest błędną konfiguracją; poprawnie skonfigurowane oprogramowanie może zawierać słabości projektowe lub implementacyjne. Niezaliczony test konfiguracji nie jest też dowodem podatności na eksploitację, a niekompletna widoczność lub nieodpowiedni stan bazowy może pominąć istotne ryzyko.