powierzchnia ataku
| Po angielsku | attack surface |
|---|---|
| Którą formą pisać | po polsku Polska nazwa przyjęła się w tekstach i w wyszukiwarce — używaj jej samodzielnie. |
| Inne formy | płaszczyzna ataku (wariant mniejszościowy) |
| Kategoria | Sieć i infrastruktura obronna |
Powierzchnia ataku to zbiór wszystkich punktów systemu lub organizacji, przez które napastnik może próbować wejść, wywołać skutek albo wyprowadzić dane. NIST definiuje ją jako zbiór punktów na granicy systemu, jego składnika lub środowiska, w których atakujący może spróbować wejścia, oddziaływania albo wydobycia danych [1]. Wielkość powierzchni ataku jest miarą ekspozycji, a nie samą podatnością: więcej punktów wejścia oznacza więcej miejsc, w których błąd może się ujawnić.
Jak działa
Pojęcie opisuje system od strony atakującego. OWASP zalicza do powierzchni ataku aplikacji sumę wszystkich ścieżek, którymi dane i polecenia wchodzą do aplikacji i z niej wychodzą, kod chroniący te ścieżki, cenne dane używane przez aplikację oraz kod chroniący te dane [3]. Mechanizmy ochronne, takie jak uwierzytelnianie, autoryzacja, walidacja i kodowanie danych, same należą do powierzchni ataku, bo błąd w nich otwiera drogę dalej [3].
Powierzchnię ataku da się mierzyć i porównywać w czasie. OWASP przywołuje miarę Relative Attack Surface Quotient, opracowaną przez badaczy Microsoftu i Carnegie Mellon, która sumuje punkty wejścia i wyjścia, kanały komunikacji i niezaufane elementy danych [3]. Praktyczny wniosek z tego podejścia: przy każdej zmianie w systemie warto sprawdzić, co zmieniło się w powierzchni ataku [3].
Analiza nie polega na wyliczeniu każdego pola formularza osobno. OWASP zaleca grupowanie punktów wejścia w kategorie według ryzyka (dostępne z zewnątrz albo tylko wewnętrznie), przeznaczenia, implementacji i technologii [3]. Przykładowe kategorie to punkty logowania, interfejsy administracyjne, funkcje wyszukiwania, formularze wprowadzania danych i interfejsy API [3]. W architekturach złożonych z wielu usług pierwszeństwo przy ocenie mają składniki osiągalne ze źródła ataku, na przykład z ruchu z internetu [3]. Tak powstaje mapa, na której widać, gdzie kończy się zaufana strefa systemu i które elementy przyjmują niezaufane dane.
Odmiany
CERT Polska wyróżnia zewnętrzną powierzchnię ataku, czyli zasoby organizacji widoczne spoza jej sieci wewnętrznej: urządzenia, usługi i publicznie dostępne informacje [2]. Należą do niej urządzenia brzegowe, zasoby w chmurze i usługi SaaS, zewnętrzny hosting stron, połączenia z partnerami oraz infrastruktura nieudokumentowana [2]. Ta ostatnia często powstaje jako shadow IT.
Wewnętrzna powierzchnia ataku obejmuje to, co jest dostępne dla kogoś, kto już jest w środku: konta, usługi w sieci lokalnej, uprawnienia. Ma znaczenie po przejęciu pierwszego konta albo urządzenia. Do powierzchni ataku należą też ludzie mający dostęp do systemu: konto pracownika przejęte przez socjotechnikę staje się kolejnym punktem wejścia.
W WordPressie
Na powierzchnię ataku strony WordPress składa się rdzeń, każda wtyczka i motyw, konta użytkowników, interfejsy programistyczne i serwer. Sekurak, opisując podatność CVE-2023-6553 we wtyczce Backup Migration, zauważa, że krytyczne błędy w samym silniku zdarzają się coraz rzadziej, a platforma pozwala korzystać z wielu wtyczek, co zwiększa powierzchnię ataku [5]. W tym przypadku był to zdalne wykonanie kodu bez uwierzytelnienia w wersjach do 1.3.7, poprawione w wersji 1.3.8 [5].
| Element | Przykład punktu wejścia | Jak zmniejszyć |
|---|---|---|
| Wtyczki i motywy | kod każdej aktywnej wtyczki [5] | usuwać nieużywane [4] |
| Edytor plików w panelu | edycja PHP z poziomu przeglądarki | DISALLOW_FILE_EDIT [4] |
| XML-RPC | metody wymagające uwierzytelnienia | filtr xmlrpc_enabled [6] |
| Panel administracyjny | logowanie z dowolnego adresu | dostęp tylko z sieci wewnętrznej [2] |
| Konta administratorów | przejęte hasło | drugi składnik logowania [2] |
Dokumentacja WordPressa zaleca usuwać z systemu wtyczki, których się nie używa [4]. Każda porzucona wtyczka pozostaje kodem wykonywanym na serwerze, a każda podatność we wtyczce jest punktem wejścia niezależnie od tego, czy funkcja wtyczki jest potrzebna. Stała DISALLOW_FILE_EDIT w wp-config.php odbiera wszystkim użytkownikom uprawnienia edit_themes, edit_plugins i edit_files [4]; zob. edytor plików motywów i wtyczek.
Przy XML-RPC trzeba znać zakres wyłączenia. Filtr xmlrpc_enabled decyduje tylko o metodach wymagających uwierzytelnienia, na przykład do publikowania; nie wyłącza pingbacków ani własnych metod, które uwierzytelnienia nie wymagają [6].
// wyłącza metody XML-RPC wymagające logowania
add_filter( 'xmlrpc_enabled', '__return_false' );
Znaczenie
Zasada ograniczania dostępu jest w dokumentacji WordPressa opisana jako podejmowanie decyzji, które zmniejszają liczbę możliwych punktów wejścia dla atakującego [4]. Mniejsza powierzchnia ataku nie usuwa błędów, ale zmniejsza liczbę miejsc, w których trzeba ich szukać, łatać i monitorować. Jest to cel utwardzania (hardening) i uzupełnienie zasady najmniejszych uprawnień.
Zmniejszanie powierzchni ataku ma sens, gdy wiadomo, z czego się ona składa. CERT Polska zaleca inwentaryzację: spis usług zewnętrznych, urządzeń brzegowych, usług dostępnych z zewnątrz wraz z portami i połączeń z innymi organizacjami [2]. Dokumentację tę zaleca weryfikować co kwartał [2].
Jak się bronić
Zarządzanie powierzchnią ataku jest procesem ciągłym. CERT Polska podkreśla, że raz przygotowane zabezpieczenia nie gwarantują stałej ochrony [2], i opisuje zestaw narzędzi i procesów do stałego monitorowania pod nazwą EASM (External Attack Surface Management) [2]; zob. zarządzanie powierzchnią ataku (ASM). Cykl pokazuje schemat poniżej.
- Wyłączaj nieużywane usługi domyślne i ograniczaj panele administracyjne do sieci wewnętrznej [2].
- Wymagaj uwierzytelniania dwuskładnikowego dla kont administracyjnych [2].
- Upraszczaj model użytkowników i usuwaj nieużywane funkcje [3].
- Stosuj kontrole operacyjne, takie jak WAF [3].
- Sprawdzaj, czy wdrożona architektura odpowiada zaprojektowanej [3]; pomaga w tym skanowanie portów własnych serwerów.
Przypisy
6- [1] Attack Surface — CSRC Glossary · NIST
- [2] Zewnętrzna powierzchnia ataku — Baza wiedzy CERT Polska · CERT Polska
- [3] Attack Surface Analysis Cheat Sheet · OWASP
- [4] Hardening WordPress — Advanced Administration Handbook · WordPress.org
- [5] Zdalne wykonanie kodu we wtyczce WordPressa (CVE-2023-6553) — Backup Migration 1.3.8 · Sekurak
- [6] xmlrpc_enabled — Hook Reference · WordPress.org
Hasła w tym artykule
16Linkują tutaj
33- tylna furtka
- listowanie katalogów
- wtyczka bezpieczeństwa
- porzucona wtyczka
- środowisko testowe
- XML-RPC
- podatność wykorzystywana bez uwierzytelnienia
- zero-day
- zarządzanie podatnościami
- przywrócenie działania
- APT
- zero-click
- DMZ
- zasada najmniejszych uprawnień
- zapora nowej generacji
- skanowanie portów
- utwardzanie
- bastion host
- podmiot przetwarzający
- mikrosegmentacja
- DNSSEC
- modelowanie zagrożeń
- apetyt na ryzyko
- BYOD
- OSINT
- MDM (zarządzanie urządzeniami mobilnymi)
- dostęp just-in-time
- zarządzanie powierzchnią ataku
- kontrola rodzicielska
- shadow IT
- skanowanie obrazów kontenerów
- aktualizacja firmware
- bezpieczeństwo IoT (internetu rzeczy)