skanowanie podatności
| Po angielsku | vulnerability scanning |
|---|---|
| Którą formą pisać | po polsku Polska nazwa przyjęła się w tekstach i w wyszukiwarce — używaj jej samodzielnie. |
| Inne formy | skaner podatności · skanowanie luk (potocznie) |
| Kategoria | Sieć i infrastruktura obronna |
Skanowanie podatności to zautomatyzowane sprawdzanie systemów i aplikacji pod kątem znanych podatności, przestarzałych wersji oprogramowania, brakujących poprawek i błędów konfiguracji [1]. Skaner ustala, jakie oprogramowanie działa na badanym hoście, i porównuje wynik z bazą znanych podatności [1]. Efektem jest raport z listą znalezisk i oceną ich istotności. W Polsce takie skanowanie dla wybranych podmiotów prowadzi CERT Polska w systemie Artemis [2].
Jak działa
NIST opisuje skanowanie podatności jako rozwinięcie identyfikacji portów i usług. Skaner, podobnie jak przy skanowaniu portów, wykrywa hosty, systemy operacyjne i otwarte porty, ale dodatkowo sam wskazuje podatności, zamiast zostawiać interpretację wyników człowiekowi [1]. Wykryte wersje systemów i aplikacji porównuje z informacjami zapisanymi w swojej bazie podatności [1]. Odpowiedzi badanego systemu na wzorce testowe zestawia z sygnaturami znanych podatności i zgłasza dopasowania [1].
Znaleziska w bazach skanerów są zwykle opisane identyfikatorem CVE i oceną CVSS. Skaner zna tylko to, co jest w jego bazie. Dlatego NIST zaleca, aby przed każdym uruchomieniem skanera zainstalować najnowsze aktualizacje jego bazy podatności, a częstotliwość tych aktualizacji traktować jako ważne kryterium wyboru narzędzia [1].
Rodzaje
Skany różnią się punktem widzenia i poziomem dostępu do badanego systemu. Im więcej skaner widzi od środka, tym mniej musi zgadywać.
| Rodzaj | Punkt widzenia | Cechy |
|---|---|---|
| sieciowy bez poświadczeń | z zewnątrz albo z sieci wewnętrznej | wykrywa otwarte porty i związane z nimi podatności [1] |
| sieciowy z poświadczeniami | konto administracyjne na hoście | odczytuje informacje o podatnościach wprost z hosta [1] |
| lokalny | skaner zainstalowany na hoście | większa szczegółowość, wymaga konta root lub administratora [1] |
| aplikacji webowych (DAST) | z zewnątrz, przez HTTP | szuka m.in. XSS, SQL injection i błędnej konfiguracji serwera [3] |
Według NIST skan wewnętrzny wykrywa zwykle więcej podatności niż zewnętrzny, ale oba punkty widzenia są ważne [1]. Skan z zewnątrz ogranicza zapora sieciowa i inne urządzenia brzegowe, które przepuszczają ruch tylko do wybranych portów [1].
OWASP określa skanery aplikacji webowych jako narzędzia badające aplikację zwykle z zewnątrz w poszukiwaniu takich błędów jak XSS (Cross-Site Scripting), SQL injection, wstrzyknięcie poleceń (command injection), path traversal oraz niebezpieczna konfiguracja serwera [3]. Zalicza je do kategorii DAST, czyli dynamicznego testowania bezpieczeństwa aplikacji [3]. OWASP zaznacza, że każde z tych narzędzi ma własne mocne i słabe strony [3].
W WordPressie
Najbardziej znanym skanerem przeznaczonym dla WordPressa jest WPScan. Autorzy opisują go jako skaner napisany dla specjalistów bezpieczeństwa i opiekunów blogów, służący do testowania bezpieczeństwa własnych witryn WordPress [4]. Działa metodą czarnej skrzynki, czyli bez dostępu do serwera [4]. Ustala wersję rdzenia, zainstalowane wtyczki i motywy, konta użytkowników, foldery kopii zapasowych tworzone przez popularne wtyczki oraz eksporty bazy danych [4]. Dane o podatnościach pobiera przez API bazy podatności WordPressa; bez tokena skaner działa, ale nie pokazuje podatności, a bezpłatny plan obejmuje 25 zapytań dziennie [4].
Te same ustalenia opisują osobne hasła: ujawnianie wersji, enumeracja użytkowników i publicznie dostępne pliki wrażliwe. Skan z zewnątrz musi wersje wtyczek wywnioskować z plików i znaczników w kodzie strony. Skaner działający wewnątrz instalacji zna je dokładnie, co odpowiada przewadze skanu lokalnego nad sieciowym opisanej przez NIST [1]. Tak działa część narzędzi typu wtyczka bezpieczeństwa, które porównują listę zainstalowanych komponentów z bazą znanych podatności we wtyczkach.
System Artemis CERT Polska ma osobne moduły analizujące instalacje WordPressa i aktualność wtyczek, a także skanery sprawdzające wersje Drupala, Joomli i Moodle [2].
Ograniczenia
NIST wymienia kilka istotnych słabości skanowania sieciowego [1]:
- Fałszywe alarmy. Skanery mają wysoki odsetek fałszywych alarmów, czyli zgłaszają podatności, których nie ma; wyniki powinna interpretować osoba znająca sieci i systemy operacyjne [1].
- Przeoczenia. Jak inne narzędzia oparte na sygnaturach, skanery pomijają część rzeczywistych podatności [1].
- Pojedyncze słabości. Skaner widzi podatności w izolacji. Kilka błędów o niskim ryzyku może razem dawać ryzyko wysokie, czego skaner nie wykryje; pewniejszą metodą jest test penetracyjny [1].
- Własne skale ryzyka. Każde narzędzie stosuje inne poziomy istotności, a ocena skanera nie musi odpowiadać rzeczywistemu ryzyku w danej organizacji [1].
- Obciążenie. Skan generuje znacznie więcej ruchu niż skanowanie portów, a testy odmowy usługi w rękach niedoświadczonej osoby mogą zaszkodzić skanowanym hostom [1].
Skaner porównuje wersje i sygnatury, więc nie zna reguł działania aplikacji. Błędy logiki biznesowej wychodzą zwykle dopiero w pracy ręcznej. NIST zauważa, że procesy ręczne mogą wykryć nowe lub mało znane podatności, które skanery pomijają, choć są znacznie wolniejsze [1].
Dobre praktyki
- Aktualizować bazę skanera przed każdym skanem [1].
- Kalibrować skaner tak, by ograniczyć zarówno fałszywe alarmy, jak i przeoczenia; NIST wskazuje jako częstą praktykę użycie kilku skanerów i porównanie wyników [1].
- Samodzielnie ustalać poziom ryzyka każdego znaleziska zamiast przyjmować ocenę narzędzia [1].
- Kolejność napraw ustalać także według tego, czy podatność jest już wykorzystywana. CISA prowadzi katalog KEV jako autorytatywne źródło podatności wykorzystanych w praktyce i zaleca używanie go przy ustalaniu priorytetów [5]. Pomocniczo stosuje się też prognozę EPSS.
- Traktować skan jako jeden z etapów zarządzania podatnościami, a jego wyniki przekazywać do zarządzania poprawkami. Część znalezisk to nie brak łatki, lecz błędna konfiguracja zabezpieczeń.
Historia i przykłady
CERT Polska prowadzi skanowanie w systemie Artemis. Według opisu usługi system przeskanował dotąd około 3,6 mln domen, subdomen i adresów IP i znalazł około 1,5 mln podatności i błędnych konfiguracji, w tym około 88 tys. wiążących się z wysokim ryzykiem [2]. Usługa jest dostępna między innymi przez portal moje.cert.pl, a od 3 kwietnia 2024 roku obejmuje także instytucje w domenie gov.pl [2]. Artemis ogranicza liczbę skanowanych portów i pakietów wysyłanych na sekundę do jednego serwera [2].
Skanowanie podatności pojawia się też w przepisach. Rozporządzenie DORA wymienia w programie testowania operacyjnej odporności cyfrowej podmiotów finansowych „oceny podatności i skanowanie pod tym kątem” [6].
Przypisy
6- [1] NIST SP 800-115: Technical Guide to Information Security Testing and Assessment · NIST
- [2] Artemis · CERT Polska
- [3] Vulnerability Scanning Tools · OWASP
- [4] WPScan — WordPress Security Scanner · WPScan Team
- [5] Known Exploited Vulnerabilities Catalog · CISA
- [6] Rozporządzenie (UE) 2022/2554 w sprawie operacyjnej odporności cyfrowej sektora finansowego (DORA) · EUR-Lex
Hasła w tym artykule
23- podatność
- skanowanie portów
- CVE
- CVSS
- zapora sieciowa
- XSS (Cross-Site Scripting)
- SQL injection
- wstrzyknięcie poleceń (command injection)
- path traversal
- ujawnianie wersji
- enumeracja użytkowników
- publicznie dostępne pliki wrażliwe
- wtyczka bezpieczeństwa
- podatność we wtyczce
- fałszywy alarm
- test penetracyjny
- błąd logiki biznesowej
- KEV
- EPSS
- zarządzanie podatnościami
- zarządzanie poprawkami
- błędna konfiguracja zabezpieczeń
- DORA
Linkują tutaj
32- podatność
- CVE
- CWE
- listowanie katalogów
- porzucona wtyczka
- Vulnerable and Outdated Components
- podatność wykorzystywana bez uwierzytelnienia
- skaner złośliwego oprogramowania (malware scanner)
- błędna konfiguracja zabezpieczeń
- n-day
- podatność w motywie
- publicznie dostępne pliki wrażliwe
- ujawnianie wersji
- złośliwe boty
- zarządzanie podatnościami
- honeypot
- skanowanie portów
- test penetracyjny
- utwardzanie
- zarządzanie poprawkami
- red team
- MITRE ATT&CK
- audyt bezpieczeństwa
- vibe coding
- OSINT
- zarządzanie powierzchnią ataku
- CSPM
- SBOM (wykaz komponentów oprogramowania)
- script kiddie
- skanowanie obrazów kontenerów
- grey hat
- OSV