Clickjacking na Facebooku

Tento útok je populární hlavně na Facebooku u jeho Like/To se mi líbí tlačítka. Spočívá v tom, že se útočníkovi povede, aby návštěvník udělil stránce Like, aniž by o tom věděl.

Docílí se toho celkem snadno.

  1. Na web se umístí typicky nějaké video s lákavým popiskem a náhledem.
  2. Do místa, kde se očekává, že nic netušící návštěvník klikne, se umístí Like tlačítko. Toto místo je zpravidla nějaké tlačítko Play.
  3. Tento Like box se využitím průhlednosti zneviditelní (maximálně zprůhlední).
  4. Nyní si uživatel zkusí pustit video, ale místo toho se kliknutí promítne do Like tlačítka.
  5. V případě, že video na stránce skutečně existuje a po dalším kliknutí se spustí, si člověk vůbec nemusí všimnout, že je stránka podvodná. A nevědomky udělené To se mi líbí tak útočníkovi zůstane.

Příklad takového videa – je možné pozorovat popisek To se mi libí, který pochází z neviditelného Like tlačítka.

Příklad clickjackingu

Živá ukázka zjednodušeného postupu clickjackingu.

Risika

Risika nachytání se nejsou příliš vysoká. Nejspíš vás maximálně někdo bude považovat za člověka, co kliká na každou ptákovinu.

Obrana

  1. Neklikat na podezřelé odkazy s šokujícími názvy.

  2. Když se dostaneme na takovou podezřelou stránku, podívat se před kliknutím, zda se při podržení myši nad videem neobjevuje popisek (title) z Like tlačítka.

  3. Po navštívení a kliknutí na něco na podezřelé stránce nebo čas od času si zkontrolovat Activity log/Záznamy o aktivitách, které jsou na stránce vlastního profilu vpravo dole nad cover obrázkem.

    Záznamy o aktivitách

  4. Stoprocentní, ale možná až nežádoucí obrana, je zablokovat všechna To se mi líbí tlačítka spolu s dalšími prvky Facebooku.

    Stačí zablokovat část URL *connect.facebook.net*.

Ochrana vlastních stránek

Tento útok je použitelný i pro jiné weby, než je Facebook. Ochrana z posice tvůrce webu / webové aplikace tkví v zakázání načítání stránky do rámů (většinou <iframe>) – je k tomu možné použít hlavičku X-FRAME-OPTIONS.

Řešení v PHP:

<?php
header('X-Frame-Options: SAMEORIGIN');
?>

Proč tohle Facebook nedělá? Protože je na načtení v <iframe> závislý. Kdyby se jeho obsah nenačítal v <iframe>, měl by útočník ještě víc možností ke zneužití.

To je všechno. Líbil se vám článek a chcete se dozvědět, až vyjde další?

Sledujte:

 

Připomínky mi pište do komentářů ↓

Jak vytvořit bezpečné heslo

Bezpečnost hesel

Postup, jak si vymyslet a zapamatovat dostatečně silné heslo.

Bezpečnostní risika webu

Bezpečnost webových stránek

Bezpečnostní risika na webových stránkách a jejich řešení a prevence.

40 nejčastějších hesel

40 nejpoužívanějších hesel

Jaká hesla často používají čeští uživatelé.

Využití XSS díry

Využití XSS chyby

Jak je možné využít XSS díru na webové stránce a jak XSS „opravit“.

HTTPS – má smysl?

Přechod na HTTPS

Jaké jsou výhody a nevýhody převedení webu na zabezpečené HTTPS. Proč web na HTTPS přesunout?

Komentáře