Pomimo rosnącej konkurencji WordPress jest wciąż najczęściej wykorzystywanym systemem CMS. W przypadku mniejszych i średnich stron praktycznie dominuje na rynku amerykańskim i europejskim. Strony postawione na WordPressie mają jednak liczne wady, które są związane także z kwestiami bezpieczeństwa. W tym artykule przyglądamy się głównym zagrożeniom tzw. średniego szczebla, które są najczęściej spotykane w przypadku ataku na strony z tym CMS. Sprawdź, czy pomimo podatności i luk bezpieczeństwa WordPress wciąż może być dobrym wyborem dla osób, które zastanawiają się nad wyborem!
Podatności średniego poziomu w WordPress – definicja i skala
W 2023 roku 67% podatności w systemie WordPress była klasyfikowana jako podatności średniego szczebla (medium-level vulnerabilities). Luki te bezpośrednio wpływają na bezpieczeństwo użytkowników i mogą zaważyć przy ocenie stabilności systemu pod kątem prowadzenia danej działalności. Zanim jednak przejdzie się pochopnie do oceny, warto przeanalizować, na czym polegają te podatności i w jakich sytuacjach mogą one stanowić rzeczywiste zagrożenie dla bezpieczeństwa.
Podatności i luki bezpieczeństwa to nic innego jak potencjalne ścieżki, które umożliwiają hakerom albo dostanie się do określonej zawartości chronionej, albo wyrządzenie szkód. W przypadku działalności biznesowej możemy też mówić o próbach wykradzenia danych, choć najpopularniejsze są ataki spamerskie, których celem jest wywołanie przeciążenia po stronie serwera uniemożliwiającego klientom otwarcie strony.
Sposób analizowania luk bezpieczeństwa wymaga pewnego zoperacjonalizowania. Podejścia są różne. Rzecznik firmy WPScan, zajmującej się skanowaniem bezpieczeństwa WordPress i należącej do Automattic, przyznaje, że WPScan używa CVSS Scores (Common Vulnerability Scoring System) do klasyfikacji zagrożeń. Skale CVSS opierają się na numeracji od 1 do 10 oraz kategoryzacji na niski, średni, wysoki i krytyczny poziom zagrożenia. Jak przyznaje: „nie klasyfikujemy poziomów jako prawdopodobieństwo wystąpienia, ale stopień powagi podatności na podstawie ramy CVSS opracowanej przez FIRST. Ocena zagrożeń średniego poziomu ma wyznaczać trudność w wykorzystaniu podatności na poszczególne ataki i nadużycia (np. wstrzykiwanie SQL)”.
Ataki wykorzystujące podatności średniego szczebla mają charakter ukierunkowany. Dotyczy to sytuacji, kiedy przykładowo uprzywilejowane konto użytkownika zostało już przejęte, gdy atakujący wie, że niektóre prywatne treści zawierają wrażliwe informacje, które mogą być dla niego przydatne w ten bądź inny sposób.
Dodawanie dostępów dla użytkowników potencjalnym zagrożeniem bezpieczeństwa
Wiele podatności średniego stopnia wymaga dostępu na poziomie użytkownika lub autora. Chodzi o rolę, która która umożliwia zarejestrowanemu użytkownikowi pisanie treści na stronie. Większość witryn nie musi martwić się o zagrożenia dla bezpieczeństwa, które wymagają uwierzytelnienia na poziomie użytkownika z oczywistych przyczyn: większość stron nie udostępnia takich poziomów dostępu. Jeżeli jednak jest inaczej, z czym często mamy do czynienia w przypadku stron i blogów, na których publikowane są materiały różnych autorów, witryna jest bardziej wyeksponowana na zagrożenia bezpieczeństwa.
Jak przyznaje Chloe Chamberland, Kierownik ds. inteligentnych zagrożeń w Wordfence, większość właścicieli stron nie powinna martwić się o podatności średniego poziomu, które wymagają dostępu na poziomie użytkownika. Większość witryn na WordPress nie oferuje tego poziomu uprawnień. Zauważyła również, że tego rodzaju podatności są trudne do skalowania, ponieważ ich wykorzystanie uniemożliwia automatyzację, która obecnie jest warunkiem kluczowym dla przeprowadzania bardziej zaawansowanych ataków. Jeżeli nie potrzebujemy dawać dostępów na poziomie użytkownika, warto usunąć wszystkie tego typu dostępy, które zostały dotychczas udzielone. Znacznie zwiększy to bezpieczeństwo strony na WordPress i wyeliminuje możliwość powstania wielu zagrożeń średniego szczebla.
Luki bezpieczeństwa i Cross-Site Scripting
Podatności i luki bezpieczeństwa na poziomie użytkownika sprawiają, że jeśli atakujący może uzyskać dostęp do jednego z takich kont, zyskuje możliwość eskalacji działań w postaci przede wszystkim modyfikowania dotychczasowych uprawnień. Dostęp do takiego konta umożliwia również wprowadzanie różnych pomniejszych działań, które szkodzą właścicielowi strony. Dotyczy to między innymi modyfikacji treści, ale także dostępu do niektórych danych.
Ze względu na charakter dostępu na poziomie użytkownika administrator strony na WP miałby bardzo duże szanse na zobaczenie podglądu wszystkich zdarzeń. Jednak, jak przyznaje Chamberland, atakujący miałby stosunkowo duże szanse na sukces ze względu na podgląd administratora postu przed publikacją. Dotyczy to także bardziej wyrafinowanych działań, np. wstrzyknięcia kodu Javascript.
Tak, jak w przypadku każdej podatności na Cross-Site Scripting, podatności te mogą być wykorzystane do tworzenia nowych kont. Rozpoczyna to pełny proces przejęcia kontroli nad stroną. Jeśli poważny atakujący ma dostęp do konta na poziomie kontrybutora i nie ma innych trywialnych sposobów na podniesienie swoich uprawnień, to prawdopodobnie wykorzysta podatność na poziomie użytkownika Cross-Site Scripting, aby uzyskać dalszy dostęp.
Najpopularniejsze zagrożenia i ataki na strony WordPress
Ze względu na to, że WordPress wciąż jest najpopularniejszym systemem zarządzania treścią, rok do roku tysiące stron z WP jest w najróżniejszy sposób atakowanych. Zagrożenia średniego szczebla wykorzystujące luki bezpieczeństwa nie są jedynymi rodzajami zagrożeń. Do najpopularniejszych z tych najpoważniejszych ataków należą:
- Ataki typu Brute Force:
Ataki brute force polegają na wielokrotnych próbach logowania się do panelu administracyjnego WordPress przy użyciu różnych kombinacji nazw użytkowników i haseł. Ataki te prowadzone automatycznie przez boty, co stanowi poważne zagrożenie dla bezpieczeństwa witryny. Każde hasło może być złamane – jedyną kwestią jest to, kiedy to nastąpi. Znalezienie prostego hasła przez algorytmy programów wykorzystywanych przy brute force może zająć kilka godzin. Znalezienie dobrego, długiego i losowego hasła utworzonego z udziałem cyfr i znaków specjalnych, może zająć setki lat, co de facto oznacza brak realnej możliwości przejęcia strony. Wciąż jednak będą widoczne problemy związane z serwerem i funkcjonowaniem.
Najczęściej polecane środki zaradcze i prewencyjne dla ataków typu brute force to:
- zastosowanie silnego hasła dla konta administratora,
- wykorzystanie wtyczek do ograniczania liczby nieudanych prób logowania,
- włączenie funkcji dwuetapowej weryfikacji,
- analiza IP połączeń przychodzących.
- Ataki XSS (Cross-Site Scripting):
Ataki XSS polegają na wstrzykiwaniu złośliwego kodu JavaScript na stronie internetowej, który może być wykonany przez przeglądarkę użytkownika, prowadząc do kradzieży danych sesji lub przekierowania użytkownika na fałszywe strony. Możliwość przeprowadzenia ataków XSS najczęściej wiąże się właśnie z wykorzystaniem luk bezpieczeństwa średniego poziomu.
Rekomendowane działania prewencyjne obejmują:
- regularne aktualizacje WordPress oraz wtyczek,
- włączenie filtrów XSS w konfiguracji serwera,
- ograniczenie używania wtyczek i motywów pochodzących z niezaufanych źródeł.
- Ataki polegające na wstrzykiwaniu kodu SQL:
Ataki typu SQL Injection polegają na wstrzykiwaniu złośliwego kodu SQL poprzez formularze lub parametry URL, co może prowadzić do nieautoryzowanego dostępu do bazy danych WordPress oraz kradzieży danych. Kod może być wstrzyknięty także manualnie przez przejęte konto użytkownika.
Rekomendowane środki zaradcze:
- wykorzystanie przygotowanych instrukcji SQL oraz parametryzowanych zapytań,
- regularne przeglądy kodu w celu wykrywania podatności na SQL Injection,
- stosowanie dobrych wtyczek zabezpieczających,
- używanie silnika bazodanowego z mechanizmem filtrowania zapytań.
Zagrożenia średniego poziomu i sposoby przeciwdziałania – podsumowanie
Podatności o średnim poziomie powagi w systemie WordPress mogą być wykorzystywane przez atakujących w celu zdobycia dostępu do wrażliwych danych lub naruszenia bezpieczeństwa witryny. Istnieją różne rodzaje takich podatności, np. Cross-Site Scripting (XSS), wstrzykiwanie SQL, czy możliwość zdalnego wywołania kodu (RCE). Nawet jeśli podatność ta jest klasyfikowana jako średniego poziomu zagrożenia, może stanowić poważne ryzyko dla bezpieczeństwa szczególnie wtedy, gdy witryna zawiera poufne informacje lub przetwarza płatności online.
Pomimo tego, że wiele podatności o średnim poziomie powagi może nie być powodem do niepokoju, nadal dobrze jest być świadomym ich istnienia. Skanery bezpieczeństwa, takie jak specjalistyczne wtyczki typu WPScan, mogą ostrzegać o podatnościach i lukach bezpieczeństwa. Jeszcze lepiej sprawdzą się rozwiązania zapewniające stronie dodatkową zaporę ogniową. Darmowa wersja Wordfence oferuje dość dobrą ochronę w postaci zapory ogniowej i skanera malware. Wersja płatna oferuje ochronę przed wszystkimi podatnościami od razu po ich odkryciu i przed załataniem podatności. W połączeniu z usługami typu cloudflare przekłada się to na praktyczne wyeliminowanie zagrożeń średniego poziomu.
Niestety, tego typu zabezpieczenia czasem mogą być także niekorzystne pod względem SEO. Chociaż kwestie związane z bezpieczeństwem strony generalnie nie są klasyfikowane do obszaru SEO/SEM, warto wziąć ten kontekst pod uwagę. Z jednej strony brak zabezpieczeń witryny może zniweczyć całą ciężką pracę włożoną w uzyskanie wysokiej pozycji w wynikach wyszukiwania. Z drugiej jednak strony wtyczki również mogą być problematyczne zwłaszcza w kontekście serwisów, które stawiają na jakiś sposób interakcji z użytkownikiem. Z pewnością również nie obędzie się bez inwestycji i wzrostu stałych nakładów ponoszonych przez właściciela strony.