Skan podatności czy test penetracyjny?
Autor: Natalia Vyvial ·

To nie są dwa poziomy tego samego, w których droższe zastąpiłoby tańsze. Skan porównuje systemy z bazami znanych podatności i działa wszerz. Test penetracyjny sprawdza konkretną aplikację tak, jak zrobiłby to atakujący, i szuka także błędów w Państwa własnej logice.
Czym te dwie rzeczy się różnią?
Tym, czego szukają. Skan porównuje Państwa systemy, urządzenia, aplikacje i usługi z bazami znanych podatności, więc szuka tego, co ktoś już opisał. Test penetracyjny to natomiast ręczna i zautomatyzowana praca na konkretnej aplikacji, która sprawdza, co da się z nią zrobić, i znajduje także błędy, których nie ma w żadnej bazie, bo powstały dopiero w Państwa logice.
Z tego wynika druga różnica: skan działa wszerz i się powtarza, test sięga w głąb i wykonuje się go celowo. Nie są to więc dwa poziomy tego samego, w których droższe zastąpiłoby tańsze. To dwa różne pytania.
Co znajdzie skan, a co mu umknie?
Znajdzie nieaktualizowane systemy, znane błędy w komponentach i usługi wystawione na zewnątrz, o których w firmie często nikt nie wie. Znaleziska otrzymują ocenę CVSS (otwiera się w nowym oknie) i priorytet, więc naprawia się według wagi, a nie według tego, co akurat jest pod ręką. Bazą znanych podatności jest CVE (otwiera się w nowym oknie), narzędziem na przykład Greenbone Vulnerability Manager, a do spojrzenia z zewnątrz służy Shodan, który pokazuje, co jest widoczne z internetu.
Umknie mu wszystko, co nie jest błędem komponentu, tylko błędem Państwa aplikacji. To, że po zmianie numeru w adresie wyświetla się zamówienie innego klienta, że płatność można potwierdzić dwa razy albo że funkcję administratora można wywołać bezpośrednio, bez sprawdzania roli. Skaner tych rzeczy nie widzi, bo z jego perspektywy aplikacja odpowiada poprawnie.
Co robi tester, czego nie potrafi skaner?
Sprawdza aplikację tak, jak zrobiłby to atakujący, i kieruje się przy tym metodyką, żeby o niczym nie zapomnieć: OWASP Top 10 (otwiera się w nowym oknie) i OWASP Testing Guide w przypadku aplikacji webowych, MASVS (otwiera się w nowym oknie) w przypadku mobilnych. Testuje się uwierzytelnianie, autoryzację, walidację danych wejściowych, logikę aplikacji i ochronę danych, w tym ataki typu SQL injection, XSS, CSRF, IDOR, SSRF i RCE.
Wynikiem nie jest lista portów, lecz raport, który kategoryzuje znaleziska według ryzyka. A ponieważ poprawka może usunąć podatność tylko pozornie, po niej wykonuje się retest. Przy skanie tego się nie robi: po prostu uruchamia się kolejny przebieg.
| Skan podatności | Test penetracyjny | |
|---|---|---|
| Czego szuka | Znanych podatności według baz (CVE) | Błędów konkretnej aplikacji, w tym błędów w logice |
| Jak działa | Automatycznie, wszerz | Ręcznie i automatycznie, w głąb |
| Jak często | Regularnie: środowisko produkcyjne co miesiąc, skany zewnętrzne można zautomatyzować co tydzień | Celowo: przy istotnej zmianie, nowej aplikacji lub przed wdrożeniem |
| Wynik | Znaleziska z oceną CVSS i priorytetem | Raport z kategoryzacją ryzyk i zaleceniami, opcjonalny retest |
| Na co nie odpowie | Czy aplikację da się nadużyć w sposób, którego nikt nie opisał | Jak będzie wyglądać środowisko za miesiąc |
Jak często wykonuje się jedno i drugie?
Skan ma sens jako stały rytm, a nie jednorazowa akcja: dla środowiska produkcyjnego zaleca się go co miesiąc, skany zewnętrzne można zautomatyzować co tydzień, a doraźnie uruchamia się je po większych zmianach. Powód jest prosty: podatność w Państwa systemie może powstać, choć niczego Państwo nie zrobili. Wystarczy, że ktoś odkryje ją w komponencie, którego Państwo używają.
Test penetracyjny jest natomiast powiązany ze zdarzeniem. Nowa aplikacja, zasadnicza zmiana, nowa integracja albo system, który od teraz obsługuje pieniądze lub dane osobowe. Testowanie co miesiąc tego samego nie ma sensu, jeśli nic się nie zmieniło.
Czego pilnować w zleceniu testu?
Zakresu, bo to on decyduje o cenie i o tym, co w ogóle da się znaleźć. Test jednej publicznej aplikacji nie powie nic o sieci wewnętrznej, a test bez danych logowania nie powie nic o tym, co zalogowany użytkownik może zrobić z cudzymi danymi. Jedno i drugie to uprawnione zlecenie, tylko nie wolno go mylić z oceną bezpieczeństwa firmy jako całości.
Druga sprawa to zawartość raportu: oprócz znalezisk i ich wagi także droga, którą tester do nich dotarł. Bez niej programiści poprawiają opis, a nie błąd, i nikt nie sprawdzi, czy poprawka zadziałała. Dlatego po poprawkach wykonuje się retest i dlatego warto uzgodnić go, zanim test się zacznie.
Od czego zacząć?
Od skanu, z dwóch powodów. Jest tańszy, więc można go uruchomić od razu, a przede wszystkim pokaże, jak duży jest właściwie problem: ile systemów firma utrzymuje, ilu z nich nikt nie aktualizuje i co jest widoczne z internetu. Dopiero na tej podstawie można zdecydować, która aplikacja zasługuje na test, bo za testowanie wszystkiego nikt nie płaci.
Jedno i drugie jest zarazem dobrą podstawą do zarządzania ryzykiem, którego od firm świadczących usługi regulowane wymaga czeska ustawa o cyberbezpieczeństwie; czy dotyczy ona Państwa i w jakim reżimie, omawia osobny artykuł. Skanowanie i testy dostarcza Securent i znajduje się w kategorii Cyberbezpieczeństwo obok usług ICT.
Powiązane produkty
- Cyberbezpieczeństwo
Usługi ICT
Dbamy o Państwa infrastrukturę, sieci i urządzenia końcowe, aby firma działała niezawodnie. Usługi ICT i wsparcie mają Państwo w jednym miejscu.
- Cyberbezpieczeństwo
Securent
Niech Państwa firma pozostaje pod kontrolą. Securent chroni dane, procesy i systemy oraz szkoli pracowników, bo większość ataków zaczyna się od zwykłego błędu.


