amplifikacja
| Po angielsku | amplification attack |
|---|---|
| Którą formą pisać | obie formy Obie formy są w obiegu. Przy pierwszym wystąpieniu pisz „polski termin (english term)”, dalej sam polski. |
| Inne formy | wzmocnienie ataku · atak ze wzmocnieniem |
| Kategoria | Sieć i infrastruktura obronna |
Amplifikacja (amplification attack) to technika ataku odmowy usługi, w której napastnik wysyła niewielkie zapytania ze sfałszowanym adresem źródłowym ofiary do publicznych usług, a te odpowiadają ofierze pakietami wielokrotnie większymi. CISA opisuje to jako rozproszony, odbity atak odmowy usługi (DRDoS) wykorzystujący publicznie dostępne serwery UDP; pojedynczy pakiet może wygenerować od 10 do 100 razy większy ruch niż pierwotny [1]. Amplifikacja jest jedną z podstawowych technik ataków DDoS o dużym wolumenie.
Jak działa
Mechanizm opiera się na dwóch cechach protokołów bezpołączeniowych. Po pierwsze, UDP nie potwierdza adresu nadawcy przed odpowiedzią, więc napastnik może wpisać w pakiet adres ofiary; to spoofing adresu IP. Po drugie, niektóre usługi odpowiadają na krótkie zapytanie długą odpowiedzią. Serwer, który tak odpowiada, nazywa się amplifikatorem albo reflektorem [1].
Przebieg ataku pokazuje schemat poniżej.
Miarą skuteczności jest współczynnik wzmocnienia przepustowości (BAF). CISA definiuje go jako liczbę bajtów danych UDP, które amplifikator wysyła w odpowiedzi, w stosunku do liczby bajtów danych UDP w zapytaniu [1]. Napastnik wysyła więc niewielki strumień, a ofiara odbiera strumień zwielokrotniony, i to z adresów legalnych serwerów, a nie z jego własnego. Zapytania często pochodzą z botnetu, co dodatkowo zwiększa skalę.
Odmiany
Nazwy odmian pochodzą od nadużywanego protokołu: DNS amplification, NTP amplification, memcached amplification. Tabela podaje wybrane współczynniki z alertu CISA.
| Protokół | Współczynnik BAF | Nadużywane zapytanie |
|---|---|---|
| DNS | 28–54 [1] | opisane w alercie TA13-088A [1] |
| NTP | 556,9 [1] | polecenie monlist [4] |
| CharGEN | 358,8 [1] | żądanie generowania znaków [1] |
| SSDP | 30,8 [1] | żądanie SEARCH [1] |
| SNMPv2 | 6,3 [1] | żądanie GetBulk [1] |
| Memcached | 10 000–51 000 [1] | port UDP 11211 [3] |
Odmiany te dotyczą warstwy sieciowej i zalewają łącze. Różnią się od ataków na warstwę aplikacji, takich jak HTTP flood, i od ataków wyczerpujących stan połączeń, takich jak SYN flood.
W WordPressie
Sama strona WordPress rzadko jest amplifikatorem UDP, ale może paść ofiarą ataku amplifikacyjnego na serwer, na którym stoi. Na hostingu współdzielonym atak na jedną witrynę zalewa łącze wszystkich stron na tym serwerze.
WordPress bywał natomiast wykorzystywany jako reflektor w warstwie aplikacji. SANS Internet Storm Center opisał w marcu 2014 roku ataki, w których napastnik wysyła do pliku xmlrpc.php jedno żądanie z metodą pingback.ping, a instalacja WordPress wysyła wtedy żądanie do strony ofiary [5]. Tysiące witryn stają się w ten sposób nieświadomymi źródłami ruchu, a napastnik ukrywa swój adres [5]. Funkcja była domyślnie włączona [5]. SANS zalecał wyłączenie samej metody pingback przez filtr, zamiast usuwania pliku xmlrpc.php, co zepsułoby inne funkcje [5]. Do tego służy filtr xmlrpc_methods, który pozwala zmieniać listę metod udostępnianych przez serwer XML-RPC [6].
// Obronnie: usunięcie metody pingback z serwera XML-RPC.
add_filter( 'xmlrpc_methods', function ( $methods ) {
unset( $methods['pingback.ping'] );
return $methods;
} );
Zagrożenia i skutki
Najważniejszym skutkiem jest niedostępność usługi: łącze ofiary albo jej dostawcy zostaje nasycone. Cloudflare w lutym 2018 roku opisał ataki przez memcached, w których 15-bajtowe zapytanie dawało odpowiedź 750 kB, czyli wzmocnienie około 51 200 razy, a szczytowy ruch przychodzący sięgnął 260 Gb/s [3].
Drugim skutkiem jest współodpowiedzialność właściciela źle skonfigurowanej usługi. Jego serwer bierze udział w ataku na kogoś innego i zużywa własne łącze. Ofiara widzi ruch z adresów amplifikatorów, a nie napastnika, dlatego Cloudflare apelował do operatorów sieci o ustalanie, kto wysłał do amplifikatorów pierwotne zapytania [3].
Jak się bronić
Obrona dzieli się na obowiązki operatorów sieci, administratorów usług i właścicieli stron.
Filtrowanie adresów źródłowych. Dokument BCP 38 (RFC 2827) z maja 2000 roku zaleca, by operatorzy filtrowali ruch na brzegu sieci i przepuszczali tylko pakiety z adresami źródłowymi należącymi do ich własnych prefiksów [2]. Uniemożliwia to wysłanie pakietu z adresem ofiary. CISA wymienia to filtrowanie jako pierwszą metodę ograniczania ataków [1].
Zamykanie amplifikatorów. CISA zaleca stanową inspekcję UDP na zaporach brzegowych, na przykład refleksyjne listy ACL, oraz ograniczanie liczby żądań do usług UDP [1]. Cloudflare radził wyłączyć obsługę UDP w memcached, jeśli nie jest używana, i odciąć serwery memcached od internetu zaporą sieciową [3]. Projektantom protokołów zalecał, by usługa UDP nigdy nie odpowiadała pakietem większym od zapytania [3]. Taka zasada odbiera protokołowi wartość dla napastnika, nawet jeśli fałszowanie adresów źródłowych nadal jest możliwe.
Po stronie ofiary. Atak wolumetryczny trzeba zatrzymać przed łączem serwera. Służą temu usługi ochrony DDoS dostawcy, sieci CDN i reverse proxy z dużą przepustowością oraz kontakt z dostawcą łącza, który CISA wymienia jako element reagowania [1].
Historia i przykłady
W lutym 2014 roku Niebezpiecznik opisał, że rządowe serwery czasu tempus1.gum.gov.pl i tempus2.gum.gov.pl odpowiadały na polecenie monlist [4]. Polecenie monlist zwraca listę do 600 ostatnich połączeń z serwerem, więc odpowiedź jest wielokrotnie dłuższa od zapytania [4]. Zapytanie o długości 234 bajtów dawało 47 236 bajtów odpowiedzi, czyli około 200-krotne wzmocnienie; jeden datagram wywoływał nawet 100 datagramów odpowiedzi [4]. Rozwiązaniem była aktualizacja demona NTP do wersji 4.2.7p26 lub nowszej, w której monlist zastąpiono poleceniem mrulist [4]. W aktualizacji z 20 lutego 2014 roku kierownik laboratorium czasu i częstotliwości potwierdził zablokowanie funkcji monlist na obu serwerach [4]. Alert CISA TA14-017A opublikowano w styczniu 2014 roku i aktualizowano do grudnia 2019 roku [1].
Przypisy
6- [1] UDP-Based Amplification Attacks (Alert TA14-017A) · CISA
- [2] RFC 2827 (BCP 38): Network Ingress Filtering: Defeating Denial of Service Attacks which employ IP Source Address Spoofing · IETF
- [3] Memcrashed - Major amplification attacks from UDP port 11211 · Cloudflare
- [4] Polskie rządowe serwery czasu ułatwiają prowadzenie ataków DDoS (NTP amplification) · Niebezpiecznik
- [5] Wordpress "Pingback" DDoS Attacks · SANS Internet Storm Center
- [6] xmlrpc_methods — Hook Reference · WordPress.org