Brute Force Amplification – nowy rodzaj ataków na WordPressa

Internet

Ataki typu brute force to prawdziwa plaga, która dotyka większość serwisów internetowych, nie tylko tych działających na WordPressie. Zasadę ich działania i sposoby na zabezpieczenie się przed nimi opisywałem w kwietniu. Jednak w ostatnim czasie odkryto nową wariację tego typu ataków, nazwaną Brute Force Amplification, która jest znacznie trudniejsza do wykrycia, mimo że wciąż jest stosunkowo łatwa do zablokowania.

Zwykły atak typu brute force na WordPressa polega na wysyłaniu bardzo dużej ilości żądań logowania za pośrednictwem interfejsu XML-RPC, dzięki czemu w sprzyjających okolicznościach atakujący jest w stanie „zgadnąć” hasło administratora. Używane są w tym celu słowniki popularnych haseł. Wadą takiego ataku jest jego łatwa wykrywalność – sprawdzenie 100 haseł wymaga bowiem wysłania 100 żądań do serwera.

Atak Brute Force Amplification wykorzystuje metodę system.multicall, za pomocą której atakujący może wykonać nawet kilkaset prób logowania wysyłając tylko jedno żądanie do serwera. Przyśpiesza to znacznie tempo, w jakim przeprowadzany jest atak, zmniejsza zużycie zasobów po stronie atakującego, a jednocześnie utrudnia wykrycie ataku przez atakowanego (trudno zauważyć zwiększoną liczbę żądań wysyłanych do pliku xmlrpc.php).

Brute Force Amplification został po raz pierwszy wykryty przez Sucuri 10 września 2015 i od tamtej pory liczba tego typu ataków rośnie w zastraszającym tempie (dane z początku października mówią o około 60 tysiącach dziennie – mowa tylko o atakach wykrytych przez oprogramowanie Sucuri).

Najprostszą obroną przed tego typu atakami jest całkowite zablokowanie dostępu do interfejsu XML-RPC (więcej na ten temat znaleźć można tutaj). Problem pojawia się jednak w momencie, gdy z jakiegoś powodu potrzebujemy tego interfejsu – korzystają z niego między innymi aplikacje do zarządzania WordPressem (np. oficjalne klienty dla systemów iOS i Android), a także niektóre wtyczki (na przykład Jetpack). W takim przypadku możemy skorzystać na przykład z wtyczki Stop XML-RPC Attack, która blokuje XML-RPC dla wszystkich z wyjątkiem Jetpacka i domen należących do Automattic.

Istnieje też możliwość wyłączenia tylko metody system.multicall – wystarczy umieścić ten kod w pliku functions.php motywu lub w pliku wtyczki:

function mmx_remove_xmlrpc_methods($methods) {
    unset($methods['system.multicall']);
    return $methods;
}
add_filter('xmlrpc_methods', 'mmx_remove_xmlrpc_methods');

Skuteczne powinny być również najpopularniejsze wtyczki blokujące ataki typu brute force, takie jak iThemes Security czy Wordfence. Jetpack od wersji 3.4 posiada funkcję Jetpack Protect, która (według zapewnień twórców) także daje sobie radę z nowym rodzajem ataków. Serwisy korzystające z usługi CloudFlare (abonament Pro lub wyższy) również powinny być bezpieczne.

Zdjęcie: Gustavo Molina

Bezpośredni link