Obejmuje kod własny, komponenty stron trzecich, tożsamości, dane, interfejsy, konfigurację, wdrożenie i zachowanie runtime w aplikacjach webowych, mobilnych, desktopowych, usługowych i wbudowanych. Jest to ciągła odpowiedzialność inżynieryjna i zarządcza, a nie test końcowy.
Użyteczny program tłumaczy ryzyko organizacyjne na wymagania aplikacyjne i powtarzalne praktyki, przypisuje decyzje rozliczalnym właścicielom i zwraca wyniki produkcyjne do projektowania i rozwoju. Głębokość pracy powinna odzwierciedlać dane aplikacji, uprawnienia, ekspozycję, zależności i potencjalne konsekwencje awarii.
Najważniejsze punkty
Projektowanie i zarządzanieUtrzymuj inwentarz aplikacji, definiuj wymagania bezpieczeństwa i prywatności, modeluj zagrożenia i granice zaufania, wybieraj bezpieczniejsze architektury oraz rejestruj zaakceptowane ryzyka i wyjątki.
Budowa i łańcuch dostawStosuj bezpieczne praktyki kodowania, przeglądaj zmiany, chroń systemy rozwoju i wydawania, zarządzaj zależnościami, zabezpieczaj konfigurację i produkuj identyfikowalne artefakty.
Weryfikacja i eksploatacjaŁącz przegląd kodu, analizę statyczną, dynamiczną i kompozycyjną z ukierunkowanym testowaniem ręcznym, monitorowaniem runtime, obsługą podatności, reagowaniem na incydenty i zweryfikowaną remediacją.
Istotne ograniczenieŻadne narzędzie, test, framework, wynik dojrzałości ani brama wydania nie może udowodnić, że aplikacja jest bezpieczna. Pokrycie zmienia się wraz z architekturą, środowiskiem, zachowaniem atakującego i ewolucją aplikacji.