Pomysł automatyzacji testów bezpieczeństwa aplikacji rozwijał się w miarę wzrostu zagrożeń cybernetycznych. Na początku testowanie bezpieczeństwa było praktycznie całkowicie ręczne, ale rozwój DevOps i automatyzacji umożliwił zintegrowanie kontroli bezpieczeństwa w pipeline'ach CI/CD.
W pierwszych latach ręczne testy penetracyjne (pentest) i skanery były jedynymi narzędziami do sprawdzania podatności. Później w rozwoju zaczęły się pojawiać osobne zautomatyzowane skanery, a potem całe platformy, które integrują się w procesy.
Kluczowe cechy:
Czy możliwe jest znalezienie wszystkich podatności wyłącznie automatycznymi testami?
Nie, automatyczne kontrole pokrywają tylko część ryzyk bezpieczeństwa (np. XSS, wstrzyknięcia SQL). Dla pełności potrzebny jest również audyt ręczny.
Czy jeden typ skanera — SAST lub DAST — wystarczy do zapewnienia jakości ochrony?
Nie, SAST analizuje kod statycznie przed uruchomieniem aplikacji, DAST — zachowanie aplikacji w czasie pracy. Należy używać obu, a także uwzględnić dodatkowe metody.
Czy warto wyłączać testy bezpieczeństwa w CI/CD w celu przyspieszenia wdrożenia?
Nie, takie podejście jest niebezpieczne — stawia pod znakiem zapytania bezpieczeństwo produktu.
Bezpieczeństwo jest sprawdzane tylko przez ręczną analizę na etapie wydania i czasami skanerem, raporty nie są zintegrowane z CI/CD.
Zalety:
Wady:
Testy bezpieczeństwa są zautomatyzowane w CI/CD, krytyczne podatności blokują wydanie, dla fałszywych alarmów skonfigurowane są zasady filtracji, dodatkowe sesje pentestowe co kwartał.
Zalety:
Wady: