Feed subscription » blog | » comments | » google+ | » mobi | » twitter

Facebook a ClickJacking

Facebook a ClickJackingFacebook je vďačným terčom útokov prakticky od svojich začiatkov. Od vtedy, ako prestali byť užívatelia Facebooku fanúšikmi jednotlivých stránok a skupín, a stali sa z nich zo dňa na deň “Likeri”, objavujú sa útoky využívajúce tzv. ClickJacking.

Čo je to ClickJacking

Priklad ClickJackinguClickJacking, označovaný tiež aj ako UI redress attack, je forma útoku, pri ktorej útočník prekrýva jednu web stránku druhou za pomoci priehľadných vrstiev. Spodná stránka, viditeľná pre užívateľa, láka aby užívateľ klikol na niektorý z jej prvkov, ako napríklad obrázok alebo tlačítko. Vrchná stránka, napríklad Facebook konto, je vložená do priehľadnej vrstvy a umiestnená tak, aby sa niektoré časti prekrývali, ako napríklad tlačítko spodnej stránky a zároveň tlačítko Like na Facebooku. Užívateľ v domnienke že kliká na tlačítko spodnej stránky v skutočnosti klikne na tlačítko Like na Facebooku a do jeho profilu je pridaná linka, ktorú vybral útočník.

Pre lepšiu ilustráciu si pozrite obrázok v pravej časti stránky (zdroj).

História

ClickJacking bol popísaný v roku 2008 Robertom Hansenom a Jeremiahom Grossmanom a od vtedy sa objavilo niekoľko príkladov, ako by mohol byť tento útok použitý na oklamanie užívateľov. Minulý rok boli tieto útoky prezentované na sociálnej sieti Twitter. Asi najznámejším bol “Don’t click” prank, pri ktorom sa po kliknutí na tlačítko “Don’t click” publikoval status obsahujúci rovnomennú hlášku spolu s linkou na túto stránku. Nachytaných bolo niekoľko tisíc ľudí. Stále sa však jednalo o vo svojej podstate neškodné útoky, ktoré mali skôr ilustrovať silu útoku, ako reálne vytvoriť hrozbu.

ClickJacking a Facebook

ClickJacking Facebook ProfilTento rok sa však stále častejšie objavujú útoky využívajúce ClickJacking na sociálnej sieti Facebook, pričom sa im darí nachytať milióny užívateľov, no nielen laikov, ale i odborníkov. Mnohý slepo klikajú na rôzne stránky, ktoré im sľubujú ukázať napríklad 10 najkrajších žien planéty. Vpravo môžete vidieť príklad z môjho profilu, kde sa bolo nachytaných už 10 ľudí.

Následky

Mnohým neprekáža, že sa v ich profile zobrazí linka, ktorá ich ďalej neovplyvňuje. V skutočnosti sa takýto užívateľ stáva ďalším lákadlom pre jeho priateľov. Facebook sa stal akousi sociálnou RSS čítačkou. Vďaka tomu že sú publikované rôzne linky v profiloch ľudí, ktorým bežne dôverujeme, poznáme ako tak ich vkus, atď., znamená linka publikovaná v ich profile istotu dobrého zážitku. Ak teda užívateľ vidí, že viac desiatim ľudom sa páči táto linka, bude veľmi náchylný ju otvoriť a rovnako ako aj oni kliknúť.
Stránka takto behom niekoľkých hodín priláka milióny užívateľov. Keď ma útočník pocit, že nazbieral dosť ľudí, pridá na stránku malware, ktorý sa niektorou so zaužívaných metód dostane do počítača obetí. Aj takto vznikajú multimiliónové botnety.

Ochrana

Facebook ochrana proti ClickJackinguChrániť sa proti ClickJackingu, či už na strane užívateľa, alebo na strane majiteľa webu, nie je veľmi jednoduché. Samotný Facebook ma veľké problémy identifikovať takéto stránky, pretože ich správanie vrámci siete nijako nevybočuje iným, veľmi populárnym odkazom. Napriek tomu sa Facebook snaží zablokovať všetky podvodné stránky a to tak, že neumožní priamy prístup na túto linku zo samotnej stránky.

Ochrana na strane užívateľa

Užívateľ by sa nikdy nemal spoliehať na dôveryhodnosť majiteľa daného webu. Akýkoľvek web môže byť kompromitovaný, či priamo zneužívaný na rôzne čierne aktivity. Taktiež nie je vhodné, aby sa užívateľ spoliehal na kompetentnosť svojich priateľov i napriek tomu, že patria medzi odborníkov na niektorú z časti IT.

Odhalenie

Priklad ClickJacking strankyOdhaliť ClickJacking nie je pre bežného užívateľa vôbec jednoduché. Stránka využívajúca takýto útok vyzerá úplne rovnako, ako všetky ostatné a tak jedinou možnosťou je pozrieť sa do jej zdrojového kódu. Tomu však väčšina nerozumie a tak im moc možností neostáva. Jedna tu však predsa len je. Ak je stránka grafický jednoduchá s menším množstvom prvkov na stránke a sľubuje napríklad obrázky pekných žien (alebo niečo podobné) po kliknutí na nejaké tlačítko, tak sa pravdepodobne jedná o ClickJacking (viď obrázok vpravo).

Ochrana

Používatelia prehliadača Firefox majú možnosť využiť rozšírenie, ktoré dokáže zabrániť väčšine útokov vykonávaných na strane užívateľa, NoScript. Vďaka funkcii ClearClick zabraňuje možnosti kliknúť na priehľadný prvok stránky. Ochrana cez NoScript funguje aj pokiaľ povolíte JavaScript globálne na všetkých stránkach a to vrátane ochrany voči XSS (Cross-Site Scripting).

Nakazenie

Ak ste sa nechali nachytať takouto stránkou, stále ju môžete zo svojho profilu odstrániť. Stačí vojsť do svojho profilu na Facebooku, nájsť daný “Like” status a jednoducho ho odstrániť. Vhodné je aj upozorňovať vašich priateľov, aby si dávali pozor na ClickJacking a nelákali tak ďalšie obete.

Ochrana na strane servera

Aj na strane servera existuje niekoľko možností, ako ochrániť seba s svojich užívateľov voči ClickJackingu.

Jednou z možností je používať tzv. Frame Killer, čo je jednoduchý JavaScriptový kód, ktorý neumožní vložiť stránku obsahujúci takýto kód do Frame prvku na inej stránke. Táto ochrana je však neúčinná, ak má užívateľ vypnutý JavaScript.

Inou možnosťou je pridať do hlavičky HTTP odpovedí X-FRAME-OPTIONS s hodnotou buď DENY alebo SAMEORIGIN, ktorá povie prehliadaču, či smie zobraziť danú stránku aj vo Frame elemente inej stránky. Táto ochrana je účinná len pre niektoré nové prehliadače (Internet Explorer 8, Google Chrome a Apple Safari). Napriek tomu je vhodné, aby stránka, ktorá nepotrebuje byť primárne zobrazovaná vo Frame elementoch iných stránok používala aj túto ochranu.

Ak vás táto problematika zaujíma, odporúčam prečítať výbornú štúdiu pod názvom “Busting Frame Busting: a Study of Clickjacking Vulnerabilities on Popular Sites“.

Zaujal vás článok? Sledujte ma na Twitteri.


12 Responses to “Facebook a ClickJacking”


  1. 1 Mike Jun 15th, 2010 at 17:57

    Nie FameKiller ale FrameKiller :)

  2. 2 Pip.o Jun 15th, 2010 at 18:35

    Neviem sice ako ma facebook riesenu ochranu ale ak nema “zahashovane” formulare (ochrana pred CSRF) clickjacking by bol podla mna zbytocny, ked staci len prosty prikaz v js:
    … = new Image();
    ….src = ‘http://facebook.com/like.php…’;
    I ked neviem ci si kontroluju referer, ale ak hej tak aj tak 1/3 uzivatelov ma zakazany tento HTTP Header, vratane mna, co je tiez celkom pekny ulovok z miliona. Pokial to ale maju zahashovane tak neni ina moznost ako Clickjack.

  3. 3 pd Jun 15th, 2010 at 22:49

    Facebook pouziva autorizacni tokeny, takze je proti CSFR “dobre” chranen.

  4. 4 Leyla Jun 18th, 2010 at 20:10

    Chcem sa opýtať na facebooku je miliony stranok s nazvom ,,Kto videl Váš profil” ja tomu veľmi neverím ale chcela by som jednoznačnú odpoveď.Je vôbec možné aby sa na facebooku dalo sledovať kto si obzerá profil? Každý vraví niečo iné sú mnoho aplikácii ktoré sľubovali prehrávače do profilu a nakoniec aj fungovali. Takže niesom si istá či to o PROFILE je klamstvo či nie… chcela by som názor niekoho skúseného.

    Ďakujem

  5. 5 Rastislav Turek Jun 18th, 2010 at 20:55

    @Leyla: velmi jednoducho, je to kravina. nic take nie je a pravdepodobne nikdy nebude

  6. 6 nitram147 Jul 9th, 2010 at 09:02

    Ahoj

    Je to totálna blbosť nikdy to fungovať nebude a skús si ty spraviť like s názvom facebook a azet v jednom alebo nieco podobne posli pozvanky vsetkym priatelom asi po týždny tam bude 1000 ľudí a potom sa to rozbehne a bude aj 150 000 ľudí … ak ti to bude stačit premenuješ like na nenavidím a meno niake ho politaka alebo koho chceš alebo niečo čo dosť urazí , dotičný si pozrie like a zistí že ho 150 000 ľudí nenávidí a 9/10 ľudí si ani nevšimne že sú v niakej skupine …… Toto nepíšem ako návod a mojim cielom neni nikoho uraziť len poukázať na chyby facebooku a upozorniť na podvodné skupiny .

    S prianim krásneho slnečného teplého letného dňa pozdravuje nitram147

  7. 7 Rastislav Turek Jul 9th, 2010 at 12:02

    @nitram147: nerozumiem, co na tom nebude fungovat?

  8. 8 Emkei Jul 20th, 2010 at 00:43

    ono neni tezke zaznamenavat prihlasene uzivatele, kteri si prohlizeli vas profil, staci treba jen poslednich 10 (jak to funguje v praxi si lze prohlednout napriklad v profilech na webtrh.cz), je ovsem nepravdepodobne, ze by tuto funkci zavedl v nejblizsi dobe sam Facebook, natoz nekdo jiny a tudiz plati, ze se zatim jedna o podvod. o nerealnou kravinu vsak v zadnem pripade nejde…

  9. 9 Nevilel Jul 25th, 2010 at 20:39

    Príklad českej stránky na ClickJacking: http://ms2010gol.borec.cz/

  10. 10 nitram147 Sep 16th, 2010 at 21:19

    Myslel som tym to ze taka funkcia na facebooku neexistuje a keby ju aj vytvorily urcite by nefungovala tak ze by ste sa museli spridať do niakej skupiny takze vsetky skupiny tohto typu sú len podvody !

  11. 11 Sharron Clemons Dec 21st, 2010 at 22:25

    Facebook pouziva autorizacni tokeny, takze je proti CSFR “dobre” chranen.

  1. 1 (Ne)bezpečnosť Facebooku alebo klikáme na všetko o106 Pingback on Dec 7th, 2010 at 23:45

Zanechajte odkaz

  • na ďalšie komentáre odkazujte za použitia čísla komentáru v hranatej zátvorke, napríklad [3]
  • vaša IP adresa je logovaná a zneužívaná na výskumné účely
  • môžete mi tykať
  • komentáre sú moderované, kritiku prijímam, snažte sa prosím strániť invektív