Dlaczego aktualizacje są tak ważne dla bezpieczeństwa stron WordPress
Dlaczego aktualizacje rdzenia WordPress i pluginów są tak ważne? Dlaczego niezaktualizowane oprogramowanie jest tak niebezpieczne? Ten artykuł ma na celu odpowiedzieć na te pytania.
WordPress jest najpopularniejszym CMS-em. Najnowsze statystyki pokazują, że WP jest używany przez 63.3% wszystkich stron z CMS-em, i 36.1% wszystkich stron w internecie.
Brak aktualizacji jest najczęstszym powodem, przez który dochodzi do zhakowania strony WordPress.
Do czego może doprowadzić brak aktualizacji?
Brak aktualizacji odpowiada za lwią część ataków na strony WordPress, więc skutki pokrywają się z najczęstszymi skutkami udanych ataków:
- wykorzystanie zhakowanej strony do rozsiewanie malware
- seo spam
- wykorzystanie zhakowanej strony do ataków DDoS
Aktualizacja pluginów i dodatków WordPress
Jednym z powodów popularności WP jest ilość pluginów, dzięki którym w bardzo łatwy sposób możemy dodać funkcjonalności do naszej strony, zaczynając od tych najprostszych, a kończąc na skomplikowanych pluginów zwiększających interaktywność strony.
O ile sam rdzeń WordPress-a jest bardzo uważnie badany pod względem bezpieczeństwa i odpowiadają za niego utalentowani developerzy, nie ma takiej gwarancji w przypadku dodatków.
Niezależnie od tego, czy mamy do czynienia z płatnymi pluginami, czy tymi, za które nie trzeba płacić, musimy się liczyć z tym, że w kodzie zostanie odkryta luka.
Jeśli luka zostanie odkryta przez cyberwandali, jest to 0-day. Tego typu bug może zostać wykorzystany do ataków i właściwie, jako że nie istnieje jeszcze wiedza o jego istnieniu, nie ma sposobu, by się przed nim bronić (0-day oznacza ilość dni od upublicznienia luki). Natomiast tylko część luk zostaje znaleziona przez czarne kapelusze (black hat), a i te prędzej czy później stają się znane. Duża część luk w oprogramowaniu zostaje wykryta przez badaczy bezpieczeństwa, bądź bug-hunterów. Gdy dochodzi do takiego odkrycia producent oprogramowania (tu: danej wtyczki, czy motywu) zostaje poinformowany i ma czas na dokonanie poprawek, co kończy się wydaniem aktualizacji. W tym momencie informacja o błędzie w kodzie zostanie upubliczniona (do publikacji może dojść w niektórych przypadkach wcześniej). Niestety o danym bugu dowiadują się również hakerzy i praktycznie od razu zaczynają pisać exploit-y, które go wykorzystują. Dokonanie jak najszybszej aktualizacji jest niebywale ważne. W momencie wypuszczenia aktualizacji 100% stron jest podatna na atak.
Aktualizacje, a rdzeń WordPress
W przypadku głównej instalacji WP sprawa wygląda dużo lepiej niż w przypadku wtyczek pod względem jakości kodu. Główny rdzeń WordPress jest pisany przez doświadczonych developerów i bardzo dokładnie prześwietlany pod względem bezpieczeństwa i jakości.
WordPress jest także oficjalnie na hackerone — płaci badaczom bezpieczeństwa za każdą wykrytą lukę, wysokość wynagrodzenia uzależniona jest od rodzaju zagrożenia.
Wydawać by się mogło, że z tych powodów jądro powinno być dużo bezpieczniejsze, sprawa jest jednak nieco bardziej skomplikowana. Jako że z WP korzysta spora część internetu, hakerzy mają bardzo dużą motywację, by znaleźć lukę. Każda wykryta podatność ma wpływ na miliony stron. W przypadku danej wtyczki mogą to być maksymalnie setki tysięcy stron, które aktualnie z niej korzystają. Dlatego, mimo że w teorii jakość kodu jest bardzo wysoka, to dochodzi do nowych odkryć. Dokonywanie aktualizacji jądra WP jest fundamentalne. Odkryta luka jest wykorzystywana, praktycznie od razu, przez nieporównywalnie większą ilość hakerów niż w przypadku błędu we wtyczce.
Aktualizacje, a PHP
Mimo, że update'y jądra WP, wtyczek i motywów jest tak ważne, nie należy zapominać o samym PHP. Jest to język, w którym pisana jest reszta oprogramowania zainstalowane na serwerze, który hostuje stronę z WordPressem.
Aktualizacje PHP nie są tak fundamentalne, ale nie należy ich ignorować. Nowsze wersje języka często zawierają poprawki związane z bezpieczeństwem kodu.
Niestety dokonanie aktualizacji w tym przypadku jest trudniejsze, a niekiedy niemożliwe do dokonania. Wszystko uzależnione jest od danej firmy hostingowej.
Na co należy uważać przy aktualizacjach?
Aktualizacje należy wprowadzać jak najszybciej, ale nie należy robić tego bezmyślnie. Przed ich wprowadzeniem należy je przetestować w wersji developerskiej (testowej), zanim wprowadzimy je do produkcyjnej wersji strony.
Zdarzały się przypadki, że aktualizacja rdzenia WordPress była niezgodna, z niektórymi pluginami, co powodowało nieprawidłową pracę strony. Należy o tym pamiętać szczególnie w przypadkach większych stron, korzystających z dużej liczby wtyczek, czy ręcznie pisanych motywów.
Z tego samego powodu należy być ostrożnym przy automatycznych aktualizacjach. Należy tu zachować zdrowy rozsądek, przy mniejszych stronach, których właściciel ma małą techniczną wiedzę i ograniczony czas, który może nad nią spędzać, lepszym rozwiązaniem jest ustawienie automatycznych update'ów, niż dokonywanie ich ze sporym opóźnieniem.
Dlaczego każda, nawet mała, strona jest narażona?
Spora część ludzi ma błędne wyobrażenie o tym, jak wygląda przeciętny atak na stronę internetową. Zauważyliśmy to wśród naszych klientów, właścicieli mniejszych firm, których część jest mocno zaskoczona atakiem.
Przeciętny atak to nie haker za ekranem monitora, którzy dniami, czy tygodniami próbuje złamać zabezpieczenia strony. Chociaż zaawansowane ataki targetowane, które przypominają to wyobrażenie, również mają miejsce, to stanowią one jedynie ich małą część.
Większość ataków jest zautomatyzowana i polega na skanowaniu internetu przez boty (często również z użyciem poprzednio zhakowanych witryn), w poszukiwaniu podatnych, na wykryte luki, stron. Z tego powodu wielkość samej strony, czy biznesu za nią stojącego nie ma najmniejszego znaczenia. Właściciele małych stron często ignorują wdrażanie praktyk bezpieczeństwa, myśląc, że ten problem ich nie dotyczy, bo ich biznes jest zbyt mały, by zainteresować hakerów.