W ten sposób operatorzy stron internetowych i użytkownicy mogą chronić się przed atakami typu Cross-Site Scripting.

Ataki XSS: Jak chronić siebie, swoich klientów i swój biznes

Ataki XSS są szczególnie podstępne. I szczególnie popularne wśród hakerów. Pokazujemy, w jaki sposób możesz się zabezpieczyć przed atakami XSS - jako operator strony i jako użytkownik.

W ciągu 14 miesięcy dostawca zabezpieczeń Wordfence przeanalizował 1599 wtyczek WordPressa, a najczęstszymi lukami były tak zwane luki XSS. Prawie 47 procent znalezionych luk dotyczyło skryptów krzyżowych (cross-site scripting) - w skrócie XSS. Jest to wystarczający powód, aby przyjrzeć się bliżej temu rodzajowi ataku, w którym hakerzy wstrzykują złośliwy kod do Twojej witryny i praktycznie ją przejmują. W ten sposób napastnicy wykorzystują Twój blog, sklep lub stronę firmową jako narzędzie do prowadzenia nielegalnych działań.

Ten wykres pokazuje, że XSS jest najczęstszym błędem wykrywanym we wtyczkach, według wordfence.
XSS to według wordfence najczęściej wykrywana luka we wtyczkach.

Luki XSS są zawsze niebezpieczne, gdy dane wejściowe użytkownika są przekazywane do serwera WWW bez ich sprawdzenia, na przykład w formularzach kontaktowych lub polach komentarzy. Po udanym ataku hakerzy mogą wykraść dane, włączyć Twoją stronę do botnetu lub zainfekować komputery odwiedzających. Na szczęście istnieje kilka prostych sposobów ochrony przed atakami XSS.

XSS jest istotne zarówno dla odwiedzających, jak i dla operatorów stron

Ważne jest, aby zrozumieć, że luki XSS w witrynach WordPress są istotne zarówno dla operatorów witryn, jak i dla odwiedzających. Operatorzy stron są wykorzystywani do realizacji podstawowych celów hakerów, a odwiedzający strony są często poszkodowani, na przykład przez kradzież danych lub dystrybucję złośliwego kodu.

Zasadniczo ataki XSS zaczynają się w miejscu, w którym użytkownicy wysyłają dane do serwera operatora strony. W tych punktach wstrzykiwany jest kod, który - jeśli dane wprowadzone przez użytkownika nie są krytycznie sprawdzane, np. przez firewall - może zainfekować stronę. Różne rodzaje ataków XSS są podsumowane w naszym artykule wprowadzającym na ten temat.

Najważniejsze: Regularne aktualizacje WordPress

Luki, które hakerzy wykorzystują do wstrzykiwania złośliwego kodu, znajdują się w rdzeniu WordPress, we wtyczkach lub w motywach. Właśnie dlatego regularne aktualizacje wszystkich tych komponentów są tak ważne. W tych aktualizacjach naprawiane są luki, które do tej pory zostały znalezione.

Warto też regularnie czytać informacje o aktualizacjach poszczególnych producentów, aby zorientować się, które luki w zabezpieczeniach są regularnie usuwane przez aktualizacje. Na przykład informacje dotyczące konserwacji i aktualizacji bezpieczeństwa rdzenia WordPressa są udokumentowane na blogu WordPressa. Najlepszym tego przykładem jest ostatnia aktualizacja zabezpieczeń, WordPress 4.7.5.

Zapory ogniowe i białe listy chroniące przed prostymi atakami XSS

Innym prostym środkiem ochrony przed atakami XSS są tzw. zapory aplikacji internetowych(WAF). Zapory te są sercem dużych wtyczek bezpieczeństwa i są zasilane najnowszymi lukami przez odpowiedni zespół badawczy producenta. WAF to generalnie procedura , która chroniaplikacje internetowe przed atakami za pośrednictwem protokołu HTTP (Hypertext Transfer Protocol ).

Jednak nawet te mechanizmy ochronne mają swoje ograniczenia. W przypadku niektórych ataków XSS atak odbywa się za pośrednictwem bazy danych. Dlatego sprawdzanie danych wejściowych użytkownika pod kątem obecności złośliwego kodu jest jednym z głównych mechanizmów bezpieczeństwa w walce z atakami XSS. Na przykład treść komentarzy jest skanowana pod kątem podejrzanych ciągów znaków i w razie potrzeby sortowana.

Wyjście danych powinno być również zabezpieczone

Regelmäßige Updates schließen vorhandene XSS-Sicherheitslücken und Firewalls sowie Whitelists versuchen Schadcode auszufiltern, bevor dieser den Webserver erreicht und die Seite infizieren kann. Doch sollte auch die Datenausgabe entsprechend gesichert werden. Die meisten Programmier- und Skriptsprachen, wie PHP, Perl oder JavaScript, besitzen hierfür bereits vordefinierte Funktionen zur Zeichenersetzung bzw. -maskierung. Diese sorgen dafür, dass “problematische” HTML-Metazeichen (z. B. <, > und &) durch harmlose Zeichenreferenzen ersetzt werden. So wird verhindert, dass der Schadcode aktiv werden kann. Auch sollte der Code mithilfe von sog. sanitization libraries bereinigt werden. Hierfür wird ein Plugin auf dem Server installiert und zusätzlicher Code in deinen Seitenquellcode eingebunden. Der folgende Code-Schnipsel sorgt dann zum Beispiel dafür, dass <class> zu den erlaubten Attributen hinzugefügt wird:

Tak może wyglądać kod konfiguracyjny potrzebny do przeprowadzenia sanityzacji kodu.
Tak może wyglądać kod potrzebny do przeprowadzenia sanityzacji kodu.

Do realizacji tego zadania potrzebne są umiejętności programistyczne. Tę ochronę danych wyjściowych może łatwo wdrożyć na przykład programista lub dyrektor techniczny.

Zdrowa dawka sceptycyzmu: Jak chronią się użytkownicy

Jednak ataki XSS dotyczą nie tylko operatorów stron, ale także osób je odwiedzających. Wielu atakom XSS można zapobiec, stosując krytyczne i ostrożne podejście do "obcych" linków. Na przykład użytkownicy mają możliwośćkorzystania z dodatków NoScript .Zapobiegają one wykonywaniu skryptów, czyli szkodliwych linii kodu, które na przykład kradną dane.

Jeśli chcesz się zabezpieczyć, możesz również zapobiec cross-site scriptingowi po stronie klienta, wyłączając obsługę JavaScript w przeglądarce. Bo jeśli ten tzw. aktywne skrypty jest wyłączona, niektóre typy ataków XSS nie mają już szans, ponieważ szkodliwe aplikacje nie są nawet uruchamiane. Jednak większość nowoczesnych stron internetowych przestaje wtedy "działać" prawidłowo - a w najgorszym wypadku nie działa w ogóle. Jest to więc kwestia wyważenia aspektów bezpieczeństwa i użyteczności.

Jak wyłączyć JavaScript jednym przyciskiem w ustawieniach przeglądarki Chrome.
Jak wyłączyć JavaScript jednym przyciskiem w ustawieniach przeglądarki Chrome.

Wniosek: Ataki XSS są czasem bardzo złożone, ale ochrona przed nimi jest czasem dość prosta.

XSS stanowi zagrożenie zarówno dla Ciebie jako operatora strony, jak i dla Twoich gości i klientów. Co jakiś czas ujawniane są luki w zabezpieczeniach wtyczek lub motywów. Na przykład wtyczka WP Statistics, która ma ponad 400 000 aktywnych instalacji, lub WooCommerce i Jetpack, z których każda ma ponad trzy miliony aktywnych instalacji.

Jeśli aktualizujesz swoje wtyczki i motywy oraz korzystasz z WAF, zrobiłeś już duży krok we właściwym kierunku. Jeśli używasz również białych list dla kodu przychodzącego i wychodzącego, to już doskonale zabezpieczyłeś swoją witrynę. Jednak szczególnie dwa ostatnie działania nie są łatwe do wdrożenia bez znajomości programowania.

W porównaniu z dość prymitywnymi atakami brute force bardziej złożone ataki XSS niestety nadal stosunkowo często kończą się sukcesem. Jednak tych tak zwanych złożonych ataków jest znacznie mniej niż ataków typu brute force na witryny WordPress.. Mimo to powinieneś maksymalnie utrudnić atakującym zadanie. Udane włamanie nie tylko kosztuje czas i pieniądze na usunięcie skryptów, ale może też zagrozić Twojej pozycji w wyszukiwarkach.

Może miałeś już doświadczenia z atakami XSS? Co robisz, aby się przed nimi chronić?

Spodobał Ci się ten artykuł?

Zostawiając opinię pomożesz nam udoskonalać publikowane przez nas treści.

Napisz komentarz

Twój adres e-mail nie zostanie opublikowany. Pola wymagane oznaczone są *.