Uważaj na identyfikację sieci społecznościowej

Photo of author

By maciekx

Natrafienie na bezpłatny link obiecujący iPhone’a kusi, lecz warto zachować szczególną ostrożność. Jedno nieprzemyślane kliknięcie może nieść za sobą poważne konsekwencje.

Clickjacking, znany także jako manipulacja interfejsem użytkownika, to technika ataku polegająca na maskowaniu lub modyfikacji wyglądu odnośnika za pomocą niewidocznej nakładki. Ma to na celu skłonienie użytkownika do wykonania akcji innej niż zamierzona.

Większość osób korzystających z mediów społecznościowych preferuje stałe zalogowanie. Tę wygodę przestępcy mogą wykorzystać, aby, bez wiedzy użytkownika, zmusić go do polubienia profilu lub rozpoczęcia obserwacji. W tym celu cyberprzestępca umieszcza na swojej stronie wabik, na przykład przycisk z napisem „Darmowy iPhone – oferta limitowana”. Pod spodem, w niewidocznej ramce, znajduje się strona portalu społecznościowego z przyciskiem „Lubię to” lub „Udostępnij”.

Dzięki tej prostej manipulacji, użytkownicy Facebooka mogą, nieświadomie, polubić strony lub grupy.

Opisany scenariusz, w którym ofiarą jest jedynie dodanie do grupy, można uznać za stosunkowo nieszkodliwy. Jednak, stosując nieco bardziej zaawansowane techniki, można sprawdzić, czy użytkownik jest zalogowany do bankowości internetowej. Zamiast polubienia czy udostępnienia treści, ofiara mogłaby zostać zmuszona do kliknięcia przycisku transferującego pieniądze na konto napastnika. Co więcej, złośliwe działanie jest trudne do wyśledzenia, gdyż użytkownik był legalnie zalogowany i sam wykonał kliknięcie.

Z uwagi na fakt, że większość ataków clickjacking opiera się na inżynierii społecznej, portale społecznościowe stanowią dla nich doskonały wektor.

Zobaczmy, jak to działa w praktyce.

Clickjacking na Twitterze

Jakiś czas temu, Twitter stał się celem masowego ataku, w którym użytkownicy, kierowani ciekawością, klikali w link.

Tweety z hasłem „Nie klikaj” i odnośnikiem szybko rozprzestrzeniły się po tysiącach profili. Po kliknięciu linka, a następnie w pozorny niewinny przycisk na stronie docelowej, z konta użytkownika wysyłany był tweet z tym samym hasłem i złośliwym linkiem.

Dział techniczny Twittera szybko zareagował i załatał lukę. Sam atak okazał się niegroźny, lecz uświadomił zagrożenie płynące z technik clickjackingu na tej platformie. Złośliwy odsyłacz przenosił użytkownika na stronę z ukrytym iframe. Wewnątrz tej ramki był ukryty przycisk, który z konta ofiary generował złośliwego tweeta.

Clickjacking na Facebooku

Użytkownicy aplikacji mobilnej Facebooka są narażeni na błąd, który spamerom umożliwia publikowanie linków na ich osiach czasu bez ich przyzwolenia. Błąd został odkryty przez specjalistę ds. bezpieczeństwa, który analizował kampanię spamową. Zauważył, że wiele jego kontaktów publikuje odnośnik do strony ze śmiesznymi obrazkami. Przed wyświetleniem zdjęć, użytkownicy byli proszeni o potwierdzenie pełnoletności.

Jednak nie byli świadomi, że to potwierdzenie znajdowało się w niewidzialnej ramce.

Po zaakceptowaniu deklaracji, użytkownicy byli przekierowywani do śmiesznych obrazków, a tymczasem, na ich osi czasu, publikowany był link. Było to możliwe, ponieważ komponent przeglądarki internetowej w aplikacji Facebook na Androida nie obsługuje nagłówków opcji ramek (o których więcej poniżej), co umożliwia złośliwe nakładanie ramek.

Facebook nie traktuje tego problemu jako błąd, ponieważ nie wpływa on na integralność kont użytkowników. Nie wiadomo więc, czy kiedykolwiek zostanie naprawiony.

Clickjacking w mniejszych sieciach społecznościowych

Nie tylko Twitter i Facebook padają ofiarą. Mniejsze portale społecznościowe i blogi również mają luki umożliwiające przechwytywanie kliknięć. LinkedIn, na przykład, miał błąd, który pozwalał atakującym zmuszać użytkowników do udostępniania linków bez ich wiedzy. Przed załataniem luki, przestępcy mogli załadować stronę LinkedIn ShareArticle w ukrytej ramce i umieścić ją nad atrakcyjnymi linkami czy przyciskami.

Inny przykład stanowi Tumblr. Ta platforma blogowa wykorzystuje kod JavaScript, aby chronić się przed clickjackingiem. Lecz ta ochrona jest nieskuteczna, gdyż strony mogą być odizolowane w ramce HTML5, co uniemożliwia uruchomienie kodu JavaScript. Atakujący, łącząc wspomnianą lukę z wtyczką do przeglądarki wspomagającą zapamiętywanie haseł, może skłonić użytkownika do wprowadzenia fałszywego kodu captcha, co w rzeczywistości spowoduje przekazanie haseł na stronę atakującego.

Fałszowanie żądań między witrynami

Wariant ataku clickjacking to fałszowanie żądań między witrynami, w skrócie CSRF. Używając inżynierii społecznej, cyberprzestępcy kierują ataki CSRF na użytkowników, zmuszając ich do wykonywania niechcianych działań. Wejściem ataku może być link wysłany w e-mailu lub na czacie.

Ataki CSRF nie są wymierzone w kradzież danych, gdyż napastnik nie widzi odpowiedzi na fałszywe żądanie. Ataki te koncentrują się na żądaniach zmiany stanu, np. modyfikacji hasła czy przekazaniu środków. Jeśli ofiara ma uprawnienia administratora, atak może narazić całą aplikację internetową.

Ataki CSRF mogą być przechowywane na wrażliwych stronach internetowych, szczególnie tych, które posiadają tzw. „przechowywane wady CSRF”. Można to osiągnąć poprzez wprowadzenie znaczników IMG lub IFRAME w polach, które później są wyświetlane, takich jak komentarze czy strony z wynikami wyszukiwania.

Zapobieganie atakom ramkowym

Nowoczesne przeglądarki potrafią rozpoznać, czy dany zasób może ładować się w ramce. Mogą również zdecydować o załadowaniu zasobu w ramce tylko, gdy żądanie pochodzi z tej samej witryny. Dzięki temu użytkownicy nie są w stanie klikać w ukryte ramki z treścią z innych stron, a ich kliknięcia nie zostają przejęte.

Techniki łagodzenia skutków po stronie klienta określa się jako pomijanie lub „zabijanie” ramek. Mimo iż mogą być skuteczne w pewnych przypadkach, stosunkowo łatwo je ominąć. Dlatego metody po stronie klienta nie są uznawane za najlepszą praktykę. Eksperci ds. bezpieczeństwa rekomendują metody po stronie serwera, takie jak X-Frame-Options (XFO) lub Content Security Policy (CSP).

X-Frame-Options to nagłówek odpowiedzi umieszczany przez serwery WWW na stronach, aby poinformować przeglądarkę, czy treść może być wyświetlana w ramce.

Nagłówek X-Frame-Option dopuszcza trzy wartości:

  • DENY, która zakazuje wyświetlania strony w ramce
  • SAMEORIGIN, która pozwala na wyświetlanie strony w ramce, o ile pozostaje w tej samej domenie
  • ALLOW-FROM URI, która zezwala na wyświetlanie strony w ramce tylko w określonym identyfikatorze URI (Uniform Resource Identifier), np. w obrębie konkretnej strony.

Nowsze metody anty-clickjackingu obejmują Content Security Policy (CSP) z dyrektywą frame-ancestors. Ta opcja, szeroko stosowana zamiast XFO, umożliwia serwerowi WWW autoryzację wielu domen do umieszczania jego treści w ramkach. Jednak nie jest jeszcze obsługiwana przez wszystkie przeglądarki.

Dyrektywa CSP frame-ancestors dopuszcza trzy rodzaje wartości: „none”, aby uniemożliwić wyświetlanie treści przez jakąkolwiek domenę; „self”, aby zezwolić tylko bieżącej witrynie na wyświetlanie treści w ramce; oraz listę adresów URL z symbolami wieloznacznymi, takimi jak „*.jakaswitryna.com” lub ’https://www.example.com/index.html’, aby zezwolić na umieszczanie w ramkach tylko na stronach, które pasują do elementów z listy.

Jak uchronić się przed clickjackingiem

Pozostawanie zalogowanym w sieci społecznościowej jest wygodne, lecz wymaga wzmożonej ostrożności podczas klikania. Warto też zwracać uwagę na odwiedzane strony, ponieważ nie wszystkie podejmują kroki w celu zabezpieczenia się przed clickjackingiem. Jeśli masz wątpliwości, nie klikaj w podejrzane linki, nawet jeśli oferta wydaje się atrakcyjna.

Kolejnym aspektem jest wersja przeglądarki. Nawet jeśli strona stosuje wszystkie nagłówki zapobiegające clickjackingowi, nie wszystkie przeglądarki je obsługują. Upewnij się więc, że używasz najnowszej dostępnej wersji.

Zdrowy rozsądek jest skuteczną formą ochrony przed clickjackingiem. Jeśli zobaczysz coś nietypowego, szczególnie link udostępniony przez znajomego w mediach społecznościowych, zastanów się, czy to jest styl publikacji twojego znajomego. Jeśli nie, poinformuj znajomego, że mógł paść ofiarą clickjackingu.

Ostatnia rada: osoby posiadające duże grono obserwujących, powinny podwoić ostrożność i odpowiedzialnie korzystać z Internetu. Jeżeli padną ofiarą clickjackingu, ucierpi na tym wiele osób.


newsblog.pl