Test penetracyjny a skan podatności - czym się różnią i za co naprawdę płacicie
W skrócie: skan podatności to automat, który porównuje to, co widzi, z bazą znanych błędów. Test penetracyjny to człowiek, który próbuje się włamać: rozumie, jak działa Wasza aplikacja, potwierdza znaleziska i łączy drobiazgi w realną ścieżkę ataku.
Oba mają sens, ale do innych celów. Problem zaczyna się wtedy, gdy wynik skanera dostajecie pod nazwą "test penetracyjny".
Ofertę "pentestu" da się dziś przygotować w godzinę: uruchomić skaner, wyeksportować wynik do PDF-a, dodać stronę tytułową. Na pierwszy rzut oka raport wygląda poważnie - kilkadziesiąt pozycji, kolorowe oznaczenia krytyczności, numery CVE. Dla kogoś, kto kupuje test pierwszy raz, różnica między takim dokumentem a raportem z prawdziwego testu nie jest oczywista. Ten tekst ma ją pokazać.
Co robi skan podatności
Skaner (Nessus, Qualys, OpenVAS, Burp Scanner, Nuclei i dziesiątki innych) wysyła do Waszych systemów serię zapytań i porównuje odpowiedzi z bazą sygnatur. Sprawdza wersje oprogramowania, otwarte porty, konfigurację TLS, znane ścieżki do paneli i plików, typowe wzorce błędów w formularzach.
Robi to szybko, powtarzalnie i tanio. Dobrze nadaje się do tego, żeby regularnie sprawdzać, czy nie pojawiło się coś oczywistego: niezałatany serwer, wygasły certyfikat, przypadkowo wystawiony panel administracyjny. W tym zakresie skaner bywa nawet lepszy od człowieka, bo nie męczy się i nie pomija pozycji z listy.
Czego skaner nie znajdzie
Skaner nie wie, co Wasza aplikacja powinna robić. Widzi tylko to, co robi. Dlatego przechodzi obok całej klasy błędów, które w praktyce są najgroźniejsze:
- Kontrola dostępu. Użytkownik zmienia numer faktury w adresie z
/faktury/1041na/faktury/1040i widzi dokument innego klienta. Dla skanera to dwie poprawne odpowiedzi200. Tylko człowiek wie, że druga nie powinna się wyświetlić. - Logika biznesowa. Kod rabatowy, który da się nałożyć dwa razy. Zamówienie, w którym można podmienić cenę w żądaniu. Proces akceptacji, który da się pominąć, wywołując ostatni krok bezpośrednio.
- Łańcuchy ataku. Trzy znaleziska, każde z osobna o niskiej krytyczności (wyciek nazwy użytkownika, brak limitu prób logowania, słabe hasło domyślne), razem dają przejęcie konta administratora. Skaner pokaże je jako trzy niezależne, "niskie" pozycje.
- Wszystko za logowaniem. Większość skanerów słabo radzi sobie z aplikacjami, w których trzeba się zalogować, przejść wieloetapowy formularz albo utrzymać sesję. Najciekawsza część systemu zostaje wtedy w ogóle nietknięta.
Do tego dochodzą fałszywe alarmy w drugą stronę. Surowy wynik skanera zawiera zwykle sporo pozycji, które w Waszym kontekście nie mają znaczenia albo wcale nie występują - skaner wywnioskował je z numeru wersji, nie sprawdził. Bez weryfikacji zespół traci czas na łatanie rzeczy, których nie było, a prawdziwe problemy giną w szumie.
Dlaczego to ważne
Czysty wynik skanera nie oznacza, że system jest bezpieczny. Oznacza tylko, że nie ma w nim błędów, które skaner umie rozpoznać. Najdotkliwsze incydenty w aplikacjach webowych - wycieki danych klientów przez źle zabezpieczone API - to niemal zawsze błędy kontroli dostępu, czyli dokładnie to, czego automat nie widzi.
Co robi test penetracyjny
Tester też używa skanerów, ale jako punktu wyjścia, nie wyniku. Główna część pracy to ręczne testowanie: poznanie aplikacji tak, jak zna ją użytkownik, a potem systematyczne sprawdzanie, co się stanie, gdy zachowa się inaczej, niż przewidzieli projektanci. Każde znalezisko jest potwierdzane - w raporcie są kroki, które pozwalają je odtworzyć, i ocena, co realnie dzięki niemu da się zrobić.
Dlatego test penetracyjny trwa dni, a nie godziny, i wymaga umowy, uzgodnionego zakresu i pisemnej zgody na testowanie. Więcej o tym, jak wygląda dobry raport, piszemy w tekście jak czytać raport z pentestu.
Porównanie w jednej tabeli
| Skan podatności | Test penetracyjny | |
|---|---|---|
| Kto wykonuje | Narzędzie, człowiek je uruchamia | Tester, narzędzia go wspierają |
| Czas | Godziny | Dni, zależnie od zakresu |
| Co znajduje | Znane podatności, przestarzałe wersje, błędy konfiguracji | To samo plus kontrola dostępu, logika biznesowa, łańcuchy ataku |
| Weryfikacja | Brak lub wybiórcza | Każde znalezisko potwierdzone i odtwarzalne |
| Raport | Lista pozycji z bazy sygnatur | Opis skutków, kroki reprodukcji, rekomendacje dla tego systemu |
| Jak często | Regularnie, nawet co tydzień | Raz w roku i po większych zmianach |
Kiedy sam skan wystarczy
Skan nie jest gorszą wersją pentestu, tylko innym narzędziem. Wystarczy, gdy:
- chcecie regularnie pilnować infrastruktury między testami i szybko łapać nowe, znane podatności,
- macie prostą stronę wizytówkę bez logowania, bez danych klientów i bez własnej logiki,
- dopiero zaczynacie i potrzebujecie pierwszego obrazu sytuacji, zanim zdecydujecie, gdzie wydać budżet.
Pentest jest potrzebny, gdy macie aplikację, w której użytkownicy się logują i widzą swoje dane, sklep, panel klienta, API dla partnerów, albo gdy wymaga go od Was klient, ubezpieczyciel lub regulacja (np. NIS2).
Jak rozpoznać skan sprzedawany jako pentest
Kilka pytań, które warto zadać przed podpisaniem umowy:
- Ile dni pracy człowieka obejmuje test? Jeśli odpowiedź jest wymijająca albo cały test ma trwać jeden dzień dla rozbudowanej aplikacji, to najpewniej skan.
- Czy testujecie za logowaniem i na kilku rolach? Bez kont testowych o różnych uprawnieniach nie da się sprawdzić kontroli dostępu.
- Czy mogę zobaczyć przykładowy, zanonimizowany raport? Szukajcie kroków reprodukcji i opisu skutków. Sama lista CVE z opisami skopiowanymi z bazy to wynik skanera.
- Czy w cenie jest retest? Dostawca, który potwierdzał znaleziska ręcznie, potrafi też sprawdzić, czy poprawka działa.
Więcej o tym, co wpływa na zakres i jak porównywać oferty, piszemy w tekście ile kosztuje test penetracyjny.
Od czego zacząć
Jeśli nie wiecie, czego potrzebujecie, zacznijcie od sprawdzenia, co widać z zewnątrz. W bezpłatnym skanie ekspozycji pasywnie, bez ingerencji w Wasze systemy, sprawdzamy subdomeny, wystawione usługi, certyfikaty, nagłówki i konfigurację poczty. Wynik często sam podpowiada, czy kolejnym krokiem powinien być regularny skan, czy pełny test penetracyjny.
Nie wiecie, od czego zacząć?
Zacznijcie od bezpłatnego skanu ekspozycji - pokaże, co widać z zewnątrz, i podpowie, czy pełny test ma w Waszym przypadku sens.
Zapytaj o wycenę