Clickjacking: budeme se bát?

9. 12. 2008

Sdílet

Clickjacking představuje nebezpečí pro každého uživatele, který pro prohlížení internetu používá některý z rozšířenějších internetových prohlížečů. Bohužel není vůbec snadné se clickjackingu vyhnout.

bitcoin_skoleni

Nebezpečí při brouzdání na internetu není zas až tak málo – počítejte s námi: phishing, botnety, drive-by downloady (stažení softwaru do počítače bez našeho vědomí) a spousty dalších podvodných útoků vedených na váš počítač připojený k internetu. Zkrátka řečeno všech výše uvedených rizik by si měl být uživatel vědom vždy, když se připojí k internetu. Nicméně většina nebezpečí, která při pohybu na internetu hrozí, má něco společného – dá se jim vyhnout, pokud zaměříte na to, které stránky přesně navštěvujete a na které odkazy klepete.




Nyní se objevuje další a zcela nová hrozba – clickjacking. Ohroženou skupinou jsou všichni uživatelé internetu, kteří používají některý z nejrozšířenějších internetových prohlížečů. A co je ještě horší, této hrozbě se nelze jen tak snadno vyhnout.
Clickjacking není úplnou novinkou, mluvilo se o něm už před několika lety. Za jeho návrat na scénu mohou dva výzkumní pracovníci zabývající počítačovou bezpečností – Robert Hansen a Jeremiah Grossman, kteří v září varovali před novými možnostmi zneužití clickjackingu, jež by vedlo k ohrožení bezpečnosti uživatelů či k nezákonnému výběru peněz z bankovních účtů napadených uživatelů.

Princip spočívá ve zneužití jedné z klíčových funkcí jazyka HTML, která umožňuje webovým místům vkládat obsah z jiných webových stránek. Vzhledem k této povaze clickjackingu jsou tak ohroženy prakticky všechny internetové prohlížeče.

Klikněte na tlačítko

Clickjacking spočívá v obalamutění uživatele takovým způsobem, že jej donutí klepnout v internetovém prohlížeči na nějaký zdánlivě neškodný internetový odkaz. Tento odkaz může mít třeba podobu tlačítka pro odeslání příspěvku do služby Digg – webového prostoru pro sdílení obsahu od uživatelů z celého světa.


V říjnu se izraelskému výzkumnému pracovníkovi Guy Aharonovskemu podařilo provést ukázku konkrétního nasazení clickjackingu. Dokázal totiž naprosto nepozorovaně resetovat nastavení soukromí v programu Adobe Flash a tajně zapnout webovou kameru a mikrofon, takže mohl nepozorovaně sledovat činnost uživatele.

Firma Adobe již dříve kontaktovala pány Hansena a Grossmana, aby ji seznámili s výsledky dosaženými při výzkumu clikjackingu, a zároveň dala zelenou k tomu, aby publikovali podrobnosti svých zjištění. Hansen tak na svém blogu publikoval 12 různých scénářů využívajících clickjacking.

„Tento seznam samozřejmě neobsahuje všechny existující pluginy, které jsou tímto typem útoku ohroženy a samozřejmě zde nejsou ani všechny prohlížeče nebo všechny internetové stránky,“ říká Hansen.

„Existuje několik druhů clickjackingu. Některé z nich překrývají celé stránky, jiné používají iFrames, aby vás donutily klepnout pouze na jedno místo. Některé z nich vyžadují pomoc JavaScriptu, jiné nikoliv.“

Na druhou stranu ovšem Hansen s Grossmanem jedním dechem dodávají, že není žádný důvod k panice a že clickjacking neznamená, že by měl být internet nebezpečnější než kdykoliv předtím.

„Pokud budeme předpokládat, že je většina webových aplikací zranitelná nějakým útokem vedeným z internetu – a všichni víme, že to tak je – pak clickjacking situaci zhoršuje. Nicméně situace je již tak jako tak špatná, a na tom clickjacking stejně nic nezmění,“ říká Hansen.

„Chceme v první řadě ukázat, že si nemyslíme, že je to taková chyba, že by kvůli ní mohl nastat konec světa. Na druhou stranu je zde další možnost zneužití počítačů napadených uživatelů, například vzdálené sledování uživatelů webovou kamerou či nevědomé donucování lidí k tomu, aby odesílali útočníkům peníze ze svých bankovních účtů.

Dočasné řešení


Hansen věří, že pro minimalizaci útoků typu clickjackingu je nyní nutno provést úpravy přímo v internetovém prohlížeči. „Existují způsoby, jak zabezpečit svoji vlastní internetovou stránku, a to použitím zdrojového kódu likvidujícího rámce (frame-busting), ovšem toto řešení není trvalé a je přitom nutno upravovat každou internetovou stránku obsahující citlivé údaje,“ říká Hansen. Zároveň jedním dechem dodává, že je docela možné, že výrobci internetových prohlížečů vyvinou a v co možná nejkratší době zveřejní nějakou rychlou záplatu, jež problém vyřeší.

Hansen i Grossman jsou v kontaktu s týmy bezpečnostních expertů Microsoftu, Mozilly i Apple. Tyto týmy odpovídají za Internet Explorer, Firefox i Safari. „Nicméně nemám žádnou představu o jejich časových plánech,“ říká Jansen.
Oprava internetových prohlížečů může být z dlouhodobějšího pohledu poněkud krátkozraká, tvrdí výzkumní pracovníci. Oprava každého internetového prohlížeče celý činí problém čím dál tím složitějším, a to i kvůli tomu, jak jsou si jednotlivé prohlížeče stále méně a méně podobné.

Celý problém spočívá v tom, že clickjacking zdaleka není pouze jen tím jediným problémem, který by bylo třeba v internetovém prohlížeči vyřešit. Hansen řekl, že když to tak udělá, najde „všechny skupiny náhodných chyb prohlížeče“.
Celá řada bezpečnostních trhlin využívajících clickjacking bude buď závislá na prohlížeči, nebo na platformě. „Vzhledem k tomu, že jsou si internetové prohlížeče čím dál tím méně podobné, stane se tato chyba závislá pouze na určitém prohlížeči stále běžnější,“ říká Hansen. Pokud dojde k zveřejnění záplat, které vyřeší problém s clickjackingem tak, že řešení bude pro každý internetový prohlížeč jiné, otevře to zároveň vrátka k novým útokům.

Řešení pro Firefox

V tuto chvíli existuje alespoň minimální zabezpečení, kterým ochráníte sebe sama a zachováte si možnost relativně bezpečného brouzdání na internetu. Jednou z taktik, jež se dá použít pouze ve Firefoxu, je instalace doplňku NoScript (www.noscript.net). „Doplněk NoScript odvádí skvělou práci už tím, že nahrazuje relativně pomalé tempo Mozilly ve vydávání aktualizací, nicméně ani zdaleka se nejedná o skutečně nejlepší způsob jak ochránit uživatele,“ říká Hansen. Poukazuje na blokování obsahu doplňkem NoScript, který díky tomu zabraňuje kompletnímu vykreslení některých internetových stránek.



„Nalezení řešení pro clickjacking bude poměrně složité, což je příčinou neexistence nějakého okamžitého řešení,“ dodává Hansen. Pokud však tomuto problému nebudeme věnovat takovou pozornost, jakou si zaslouží, mohlo by se v budoucnu stát, že se bude clickjacking používat k daleko propracovanějším a cíleným útokům na počítače uživatelů.

Co je clickjacking?


Clickjacking umožňuje hackerům a útočníkům ukrýt pod zcela standardním obsahem webové stránky škodlivý materiál. Ten pak kupříkladu může překrývat tlačítka na webové stránce, takže si uživatel po jejich stisku myslí, že klepe na neškodný odkaz nebo funkci, zatímco ve skutečnosti klepne na něco, co je dílem hackera.

Jak se proti clickjackingu bránit?

V současnosti toho příliš dělat nemůžete. Z mála konkrétních rad, které se objevily, jedna svým způsobem po vás chce, abyste se vzdali používání internetu v té podobě, jak jej používáte doposud, a ostatní velmi výrazně ovlivní váš způsob prohlížení internetových stránek.

První způsob ochrany spočívá v přechodu na prohlížeč Lynx (více o něm zde), což je textový internetový prohlížeč šířený jako Open Source. Jeho používáním se však vracíte někam k počátkům rozvoje internetu pro běžné uživatele, přesněji řečeno k roku 1992. Lynx je program známý spíše ve světě Unixu/Linuxu, i když samozřejmě existují verze pro Windows i Mac OS X.





Clickjacking v Lynxu nemá žádnou šanci, a to jednoduše proto, že neobsahuje žádný vizuální obsah, který by mohl útočník překrýt škodlivým kódem. Na druhou stranu brouzdání po internetu v textovém internetovém prohlížeči skutečně patří někam do minulého století. Podle Hansena však velmi dobrou úroveň zabezpečení (hovoří o úspěšnosti až 99,99%) získáte kombinací Firefoxu a jeho doplňku NoScript.

Použití NoScriptu má samozřejmě i svoje nevýhody: zakázáním vám neznámých skriptů a pluginů dojde k tomu, že mít omezeno prohlížení řady internetových stránek, popřípadě se vám budou tyto stránky zobrazovat tak, že budou pro vás nepoužitelné.

I provozovatelé svých internetových stránek mohou provést opatření k tomu, aby se uživatelé jejich stránek stali oběťmi clickjackingu. Alespoň to tvrdí Giorgio Maone, italský výzkumný pracovník v oblasti zabezpečení, který je autorem doplňku NoScript a sám se stará o jeho další vývoj. Vývojáři webů mohou použít na svých stránkách skript, který zkontroluje, zda není jejich internetová stránka vložena do nějaké jiné internetové stránky. Pokud by tomu tak bylo, pak by skript jejich nezávadnou stránku přesunul do popředí, čímž by se zabránilo clickjackingu.

Tato metoda se označuje jako frame-busting. Používá ji kupříkladu i služba PayPal od firmy eBay, která slouží pro provádění plateb na internetu. K tomuto kroku přistoupila už jen proto, že se stává velmi častým cílem internetových útočníků.

Kdy problémy s clickjackingem zmizí?

Některé firmy zabývající se vývojem aplikací, jako například firma Adobe, zkoušejí do svých produktů implementovat různé opravy tak, aby reagovaly na aktuální situaci. Nicméně Hansen tvrdí, že jediným řešením je integrace dostatečně silné ochrany před clickjackingem přímo do nejrozšířenějších internetových prohlížečů. Ostatně hovoří o tom, že jediný, kdo může na clickjacking zareagovat v plném rozsahu, jsou právě pouze výrobci internetových prohlížečů.

Hansen i Grossman spolupracují s Micorosftem, Mozillou i firmou Apple. Celkem tak pokrývají 98 procent podílu všech prohlížečů na trhu. Hansen říká, že všichni pracují na řešení problému clickjackingu, i když na druhou stranu si vůbec není jistý tím, jakou prioritu tato řešení mají před ostatními úkoly, jimiž se jednotlivé týmy okolo internetových prohlížečů zabývají.