Na czym polega atak clickjacking? Jak się zabezpieczyć?
3 min
3 min
Na skróty
Cyberprzestępcy znają dziesiątki sposobów, aby dobrać się do naszych danych. Jednym z nich jest clickjacking — bardzo prosta (i, niestety, dosyć skuteczna) forma cyberataku. Wyjaśniamy, na czym konkretnie polega — i jak się przed nią ochronić.
Clickjacking to chętnie stosowana przez cyberprzestępców technika manipulacji interfejsem użytkownika — znana także jako UI redress attack. W skrócie — polega ona na ukryciu pod teoretycznie bezpiecznym i godnym zaufania elementem strony innej zawartości. Najczęściej jest to po prostu link, przekierowujący np. do fałszywej strony logowania (w celu wyłudzenia danych) lub do pobierania pliku zawierającego złośliwe oprogramowanie; czasem skutkuje także wywołaniem zaimplementowanego przez hakera kodu JavaScript.
Przygotowujący clickjacking attack przestępcy kierują się podobną logiką, co projektanci interfejsów stron — za cel ataku z reguły biorą te elementy, które przyciągają uwagę użytkownika (chociażby atrakcyjne grafiki oraz reklamy) lub których kliknięcie jest wysoce prawdopodobne (np. przycisk logowania lub potwierdzenia płatności).
Ataki typu clickjacking wykorzystują technikę stackowania — czyli układania na sobie kilku warstw strony internetowej.
Zdj 1. Atrakcyjna witryna może okazać się jedynie fasadą dla stworzonej przez cyberprzestępców strony.
Źródło: Clickjacking — Wikipedia
Najczęściej napastnicy umieszczają przygotowaną przez siebie złośliwą stronę w kodzie HTML atakowanej witryny za pomocą „ramki” — iframe. Odpowiednio skonfigurowana, może być w pełni niewidoczna dla użytkownika — i tę właśnie właściwość wykorzystują cyberprzestępcy.
Przykład — wyobraźmy sobie stronę typu landing page, oferującą możliwość pobrania darmowej wersji programu antywirusowego. Jeżeli strona wygląda wiarygodnie, a sam użytkownik nie jest świadomy zagrożeń czyhających w sieci — istnieje spore prawdopodobieństwo, że kliknie on przycisk Pobierz. I tu zaczyna się atak — bo pod przyciskiem znajdować się może tak naprawdę zupełnie inny button, na przykład aktywujący skrypt do zbierania danych nt. aktywności użytkownika (keylogger) albo rozpoczynający pobieranie zawirusowanego programu (niemającego nic wspólnego z oprogramowaniem antywirusowym!).
W innym wariancie clickjackingu przestępcy nie podkładają całej strony — a jedynie modyfikują wybrane elementy legalnej witryny, na przykład podmieniając hiperłącza lub zmieniając treść buttonów.
Jak każda forma cyberataków, clickjacking wykorzystuje „luki” w kodzie strony oraz ustawieniach jej działania. Jeżeli odpowiednio przygotujemy witrynę — skutecznie uniemożliwimy hakerom podłożenie niepożądanej zawartości pod nasz interfejs.
Standardowym zabezpieczeniem przed clickjacking attack jest implementacja dwóch nagłówków HTTP (pośredniczą one w komunikacji pomiędzy przeglądarką użytkownika a serwerem strony):
Zdj 2. Przy pomocy tak zdefiniowanych nagłówków ograniczymy dostęp do tworzenia ramek jedynie do stron z tej samej domeny.
Źródło: X-Frame-Options (XFO) implemented via the CSP frame-ancestors directive — eCyLabs
Inną, równie skuteczną opcją jest dodanie do kodu strony specjalnego skryptu (oczywiście napisanego w JavaScript’cie), który będzie wykrywał, czy witryna znajduje się w ramce. A jeśli tak — to automatycznie ją zablokuje.
Po stronie użytkownika możliwości wykrycia clickjackingu są ograniczone — i dlatego też jest to tak skuteczna forma ataku.
Radzimy więc przede wszystkim uzbroić się w ostrożność — i bardzo uważnie obserwować zachowanie odwiedzanych stron. Jeżeli witryna zachowuje się inaczej, niż dotychczas — na przykład prosi nas o ponowne potwierdzenie płatności albo o podanie hasła w momencie, gdy wcale nie jest to konieczne — to znak, że możemy znajdować się na stronie, która padła ofiarą ataku.
Co istotne, clickjacking na stronie logowania dość często możemy rozpoznać, spoglądając na pasek adresu przeglądarki. Jeśli adres URL wygląda podejrzanie — lub jeśli nie znajduje się przy nim informacja o stosowanych na stronie zabezpieczeniach — istnieje duża szansa, że zostaliśmy właśnie przekierowani na fałszywą witrynę. W takim wypadku należy ją natychmiast opuścić.
W bibliotekach wtyczek Chrome’a i Firefoxa znajdziemy przynajmniej kilka pluginów, które mają pomóc rozpoznać „podłożoną” stronę. Zdecydowanie najpopularniejszym z nich jest NoScript Security Suite, pozwalający zablokować wybrane skrypty JavaScript, w tym także i umożliwiający umieszczenie strony w ramce iframe. Pluginy nie gwarantują oczywiście stuprocentowego bezpieczeństwa — ale na pewno stanowią dodatkową ochronę.
A jak zabezpieczać dane w sklepie online, by nie padły łupem innych rodzajów ataków? Temu zagadnieniu poświęciliśmy już kilka wpisów — zachęcamy do lektury.
Zawodowy copywriter oraz student psychologii na Uniwersytecie Warszawskim. W świecie marketingu internetowego równie mocno, co chwytliwe (i wartościowe) treści interesuje go dobry design. Gdy nie zajmuje się tworzeniem contentu, odkrywa perełki kina niezależnego i pracuje nad własnymi opowiadaniami.