Raport to ta część testu penetracyjnego, która zostaje z Państwem po wyjściu testerów. Umiejętne czytanie raportu pozwala naprawić najpierw właściwe rzeczy i w pełni wykorzystać ponowny test. Pomaga też rozpoznać „pentest”, który w rzeczywistości był automatycznym skanem z dołączoną stroną tytułową.
Co zawiera dobry raport
OWASP Web Security Testing Guide opisuje strukturę raportu, która dobrze sprawdza się jako punkt odniesienia. Każda część służy innemu odbiorcy, a przewodnik sugeruje, że poszczególne sekcje można drukować osobno dla zespołów, które ich potrzebują.
| Sekcja | Główny odbiorca | Co sprawdzić |
|---|---|---|
| Podsumowanie dla kierownictwa | Kierownictwo | Jedna strona prostym językiem – co jest nie tak i jak to naprawić |
| Parametry testu | Wszyscy | Cel, zakres, harmonogram, testowane systemy i ograniczenia |
| Zestawienie podatności | Kierownicy IT i bezpieczeństwa | Wszystkie podatności z poziomem zagrożenia w jednej tabeli |
| Zestawienie działań naprawczych | Kierownicy IT i bezpieczeństwa | Pogrupowane działania, a nie tylko lista problemów |
| Szczegółowy opis podatności | Inżynierowie | Dowody, skutki, kroki odtworzenia i poprawka dla każdego problemu |
| Załącznik | Inżynierowie i audytorzy | Użyte narzędzia i ewentualne własne skrypty |
Sekcję ograniczeń warto przeczytać uważnie. Jeśli testy przerwały blokady kont albo drugiego dnia wyłączono serwer z zakresu, raport powinien o tym mówić. Czysty wynik dla obszaru, który nigdy nie został przetestowany, nie mówi nic.
Brytyjskie National Cyber Security Centre (NCSC) dodaje dwa elementy, które łatwo przeoczyć. Dobry raport zawiera opinię testerów o tym, na ile trafna była Państwa własna ocena podatności, oraz wskazówki, jak ten proces usprawnić.
Budowa dobrego opisu podatności
Każdy opis podatności powinien pozwolić inżynierowi, który nie brał udziału w projekcie, zrozumieć problem, odtworzyć go i naprawić. Należy szukać:
- unikalnego identyfikatora i jasnego tytułu
- poziomu zagrożenia, z wektorem CVSS, jeśli stosowany jest CVSS
- dokładnie wskazanych zasobów, których dotyczy, takich jak hosty, adresy URL, parametry czy role
- opisu słabości i wyjaśnienia, dlaczego ma ona znaczenie dla Państwa działalności
- dowodów, takich jak żądania i odpowiedzi, zrzuty ekranu lub wynik poleceń
- kroków pozwalających odtworzyć problem
- konkretnych zaleceń naprawczych, z odwołaniami, np. do biuletynu producenta
Oto skrócony przykład, jak to wygląda w praktyce:
ID AF-07 Invoice download does not check ownership
Severity Medium CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N (6.5)
Affected GET /api/v1/invoices/{id}/pdf on portal.example.eu
Evidence Logged in as customer A, a request for invoice 10452
(customer B) returned customer B's PDF.
Impact Any customer can download other customers' invoices,
including names, addresses and amounts.
Fix Check on the server that the invoice belongs to the
logged-in customer for every request.
Retest Request another customer's invoice and expect 403 or 404.
(W przykładzie pobieranie faktury nie sprawdza, czy należy ona do zalogowanego klienta, więc klient A może pobrać fakturę klienta B. Poprawka: serwer sprawdza to przy każdym żądaniu.)
Wektor pozwala zobaczyć, dlaczego ocena to średni poziom (Medium): naruszona jest poufność, a integralność i dostępność nie. Pozwala też nie zgodzić się z oceną, gdy są ku temu uzasadnione powody. Ponieważ faktury zawierają dane osobowe, mogą Państwo uznać, że problem zasługuje na wyższy priorytet, niż sugeruje wynik.
Jak ocenia się podatności
Wiele raportów ocenia podatności za pomocą Common Vulnerability Scoring System (CVSS) rozwijanego przez FIRST, a NCSC wymienia go wśród systemów oceny, których można wymagać. CVSS v3.1 i v4.0 stosują te same przedziały jakościowe:
| Ocena | Wynik CVSS |
|---|---|
| Brak (None) | 0,0 |
| Niska (Low) | 0,1–3,9 |
| Średnia (Medium) | 4,0–6,9 |
| Wysoka (High) | 7,0–8,9 |
| Krytyczna (Critical) | 9,0–10,0 |
Przy czytaniu tych ocen pomagają trzy uwagi:
- Wynik bazowy mierzy wagę podatności, a nie Państwa ryzyko. FIRST opisuje go jako odzwierciedlenie wewnętrznych cech podatności przy rozsądnie najgorszym scenariuszu. Zaleca, aby odbiorcy uzupełniali go informacjami o własnym środowisku.
- Waga podatności to dane wejściowe. Przewodnik OWASP zaleca, aby podsumowanie dla kierownictwa wprost to stwierdzało: ocena zasila proces zarządzania ryzykiem, a nie go zastępuje.
- Testerom brakuje kontekstu biznesowego. NCSC zaleca samodzielną ocenę wyników, ponieważ oceny mogą być zawyżone lub zaniżone. Ostrzega jednak, aby nie wykorzystywać tego do bagatelizowania problemów.
Co naprawić najpierw
- Wszystko, co da się wykorzystać z internetu bez logowania, zwłaszcza jeśli prowadzi do wykonania kodu, dostępu do danych lub przejęcia kontroli administracyjnej.
- Łańcuchy ataku. Dobry raport pokazuje, jak kilka podatności o niższej ocenie łączy się w jedną poważną. NIST SP 800-115 zauważa, że skanery nie wykrywają słabości, które ujawniają się dopiero po połączeniu podatności. Znajdowanie takich łańcuchów to w dużej mierze wartość dodana testera.
- Systemy, które trzymają klucze, takie jak dostawcy tożsamości, serwery kopii zapasowych, bramy zdalnego dostępu i wszystko, co przetwarza dane osobowe.
- Szybkie korzyści. Jedna zmiana konfiguracji czasem zamyka kilka podatności naraz.
- Przyczyny źródłowe. NIST zaleca analizę przyczyn źródłowych po ocenie, ponieważ wyniki mogą wskazywać zarówno na słabe procesy, jak i na słabe systemy. Pięć brakujących poprawek na pięciu serwerach to jedno ustalenie dotyczące zarządzania aktualizacjami, a nie pięć niezwiązanych problemów.
NCSC przedstawia test penetracyjny jako sprawdzian Państwa własnego zarządzania podatnościami, a nie główny sposób ich wykrywania. Jak to ujmuje, nowe odkrycia „powinny być wyjątkiem, a nie regułą”. Jeśli raport Państwa zaskakuje, mówi to coś również o wewnętrznych procesach.
Ponowny test
Ponowny test warto uzgodnić przy podpisywaniu umowy, łącznie z tym, co obejmuje i ile czasu jest na wcześniejsze poprawki. Wyniki należy otrzymać jako zaktualizowany raport lub aneks, ze statusem każdej podatności: usunięta, częściowo usunięta, nieusunięta lub ryzyko zaakceptowane.
Ponowny test potwierdza konkretne poprawki. Nie jest nowym testem. NCSC zwraca uwagę, że test pokazuje stan systemów tylko z dnia, w którym go przeprowadzono, a odstępy roku lub więcej między testami są powszechne. W międzyczasie należy nadal prowadzić kontrole.
Sygnały ostrzegawcze w tanim „penteście”
Automatyczne skanowanie ma swoje miejsce, a NIST SP 800-115 omawia je jako jedną ze standardowych technik oceny. Zauważa też, że skanery mogą mieć wysoki odsetek fałszywych alarmów i wymagają interpretacji przez osobę z odpowiednią wiedzą. Problem zaczyna się wtedy, gdy niezweryfikowany wynik skanowania jest sprzedawany jako test penetracyjny. Sygnały ostrzegawcze to m.in.:
- podatności opisane ogólnikowym, skopiowanym tekstem, bez dowodów, że ktokolwiek je potwierdził
- dziesiątki pozycji o niewielkim znaczeniu dotyczących banerów i szyfrów TLS, ale nic o kontroli dostępu, uwierzytelnianiu czy logice biznesowej, których testowanie wymaga człowieka
- poziomy zagrożenia przepisane wprost z narzędzia; NIST stwierdza, że oceniający powinni sami ustalać poziom ryzyka, zamiast przyjmować oceny skanera
- brak sekcji opisującej zakres, metodykę lub ograniczenia
- brak kroków odtworzenia, przez co zespół nie może zweryfikować poprawki
- brak nazwisk testerów lub informacji o ich kwalifikacjach; NCSC stwierdza, że testy powinien prowadzić wyłącznie wykwalifikowany i doświadczony personel
- „ponowny test”, który jest po prostu powtórzeniem tego samego skanu
Od czego zacząć
Przed kolejnym testem warto zapytać dostawcę:
- Co dokładnie jest w zakresie, a co jest wyłączone?
- Czy testerzy otrzymają konta dla każdej roli użytkownika, która ma zostać objęta testem?
- Czy można zobaczyć zanonimizowany przykładowy raport?
- Jak oceniane są podatności i czy każda będzie miała wektor CVSS?
- Czy ponowny test jest wliczony w cenę i w jakim terminie?
Jeśli planują Państwo test i chcą najpierw omówić jego zakres, zapraszamy do zapoznania się z naszą usługą testów penetracyjnych.
