Hlavní navigace

TabNabbing krade přihlašovací údaje nepozorným

31. 5. 2010
Doba čtení: 5 minut

Sdílet

O phishingu, česky „rhybaření“, tedy metodách pro odcizení přihlašovacích údajů pomocí podstrčených stránek, které se tváří jako přihlašovací stránky webových služeb, se v poslední době hovoří poměrně často. Metod, jak podstrčit nepozornému uživateli takovou podvodnou stránku, je velké množství. Novou zajímavou metodou je TabNabbing, který popsal odborník na uživatelská rozhraní Aza Raskin.

Většina současných phishingových metod je založena na tom, že útočník podstrčí oběti více nebo méně zamaskovanou URL adresu, nejčastěji mailem, spolu s historkou o tom, proč by se měl dotyčný přihlásit. Historka mívá většinou silný apel („pokud se nepřihlásíte, tak přijdete o účet / o peníze / zablokujeme účet“) a spoléhá se na to, že dostatečně vystrašený uživatel v té rychlosti přehlédne, že adresa stránky, kam svoje údaje zadává, je jiná než adresa jeho banky či PayPalu.

Informace o těchto metodách se ale naštěstí šíří a lidé začínají být k podobným výzvám, šířeným mailem, zdravě nedůvěřiví, obzvlášť když banky a další podobné instituce opakují: Nikdy vám nebudeme posílat maily se žádostí o změnu hesla! Před zadáním údajů si zkontrolujte adresu! Navíc i prohlížeče a mailové programy začínají mít ochranu proti podobným podvodným stránkám zabudovanou.

Jak vypadá TabNabbing

TabNabbing (informovali jsme ve zprávičce) vychází ze stejného předpokladu a využívá rovněž nepozornosti, ale přistupuje k ní trochu jiným způsobem. (Zde je na místě podotknout, že jde o teoretický koncept, který zatím na své masivní nasazení pro krádeže přihlašovacích údajů čeká.) Typická krádež pomocí TabNabbingu by vypadala takto: Pracujete se svým prohlížečem a v záložkách (tabech) máte otevřené stránky, na které se chcete podívat. Hledáte, řekněme, nějaký výrobek, a otvíráte si odkazy, které vás zaujaly, do nových záložek. Pak vás zaujme ještě něco, a po chvíli máte v záložkách už zmatek, máte třicet otevřených stránek a je načase si je projít. A jak si je tak procházíte a postupně zavíráte, tak v jedné objevíte přihlašovací formulář ke GMailu. „A jo, to mě asi odhlásili pro nečinnost,“ řeknete si a přihlásíte se. Otevře se vám váš GMail a vše vypadá naprosto v pořádku. Ale přitom už má vaše přihlašovací údaje útočník.

Jak se to stalo? Je to prosté: Stránka, která provozuje TabNabbing, je na první pohled naprosto nenápadná – může to být klidně i reálná webová stránka, napadená skriptovým trojanem či pozměněná pomocí permanentního XSRF tak, že spouští TabNabbingový skript. Dokud se na stránku díváte, tak nedělá nic. Jakmile ale přepnete na jinou záložku, tak počká a po určitém čase změní ikonku v záložce a obsah na stránce tak, aby vypadal jako, řekněme, přihlašovací stránka GMailu. (Jak si ověří, že uživatel na GMail chodí, to si ukážeme později.) URL je sice jiné, ale nepozorný člověk si toho ani nevšimne. Pokud zapomene, že neměl GMail otevřený, nebo že ho má otevřený v jiném tabu, vypadá vše velmi věrohodně – člověk si pamatuje, že na GMailu byl, že ho měl někde otevřený, tak to asi je to okno, a pravděpodobně ho odhlásili, tak se zase přihlásí… Ani ho nenapadne, že právě v tomhle TABu měl původně stránku (třeba) s přehledem letních folkových koncertů. Po odeslání údajů (samosebou na útočníkův server) si útočník údaje uloží a přesměruje oběť na pravý GMail. A protože je velmi pravděpodobné, že byl uživatel předtím přihlášený (a k žádnému automatickému odhlášení ve skutečnosti nedošlo), tak uvidí to, co vidět má – tedy svou schránku. Na první pohled je tedy vše tak, jak to mělo být a uživatel nemá nejmenší podezření.

Jak personifikovat útok?

Samosebou je nesmysl ukázat nevinné oběti stránku webu, kde nemá účet. Chce to alespoň trochu věrohodnosti, tudíž je na místě ověřit si, jestli oběť na tu stránku, kterou chce útočník podvrhnout, alespoň někdy byla. Což není tak obtížný problém, a výrazně to zvýší pravděpodobnost, že oběť podvodné stránce naletí.

Kam chodíte, může prozradit nejen historie vašeho prohlížeče, ale při trošce šikovnosti i prohlížeč sám. Jeden z hezkých triků, který popisuje např. Pepak na svém blogu, je založený na využití rozlišování navštívených a nenavštívených odkazů. Prohlížeč totiž, pokud není tato funkce explicitně potlačena, rozlišuje vizuálně navštívené a nenavštívené odkazy. Stačí pak přiřadit navštíveným odkazům („a:visited“) určitou specifickou barvu, a pomocí skriptu lze snadno zjistit, jestli uživatel na nějaké stránce byl nebo ne. Můžete se podívat na demonstrační kód, který hledá informace o tom, jestli jste byli na Rootu, Zdrojáku, Lupě, Seznamu a Centru – ale může tam být klidně i URL banky, PayPalu, GMailu či Facebooku.

Příklad

Pro čtenáře Roota jsme trochu upravili Raskinův kód. Zkuste si otevřít v novém panelu ukázkovou stránku. Jak je vidět, na první pohled se ničím neliší od hlavní stránky Roota. Nechte ji otevřenou a přepněte se do jiného panelu. Chvilku počkejte a sledujte, co se bude dít. (Upozornění: Ukázka nefunguje v některých verzích prohlížeče Chrome, podle informací na stránce autora kódu jde o důsledek bugu. Při testu v Safari na Windows a v IE8 skript nezměnil favicon; v Opeře a FF fungoval bez problémů. )

CS24_early

Z testovacích důvodů je čas velmi krátký, při reálném útoku by byl třeba okolo minuty, což je dost na to, aby člověk zapomněl, jestli v tomhle panelu, kam si otevřel odkaz od kolegy, bylo něco informatického, nebo jestli to byl odkaz na veselý obrázek z Facebooku… aha, asi ten obrázek… a vida, jsem odhlášený, tak se přihlásím, kliknu na Login… a jsem na domovské stránce Facebooku… Kde je ten veselý obrázek? Veselý obrázek se nekoná, ale útočník má vaše přihlašovací údaje, aniž byste si všimli něčeho podezřelého.

Obrana

Obrana je prostá: Zkontrolovat si vždy URL, než napíšeme přihlašovací údaje. Mohou pomoci všelijaké automatické vyplňovače typu Roboformu – člověka přinejmenším zarazí, když mu na stránce, na kterou pravidelně chodí, nevyplní Roboform přihlašovací údaje, a při bližším zkoumání zjistí, že je vlastně jinde. TabNabbing nijak nemodifikuje základní princip phishingu: Nepozorný uživatel vloží své údaje do stránky, která se tváří jako nějaká jiná. Nový je jen způsob, jak oběti tuto stránku podstrčit. Vzhledem k obrovskému počtu kompromitovaných WWW stránek a velkému počtu stránek, které umožňují XSS útok, je pravděpodobné, že se s ním v budoucnu budeme setkávat. Je totiž oproti posílání odkazů mailem ještě o něco nenápadnější. Mějme se tedy na pozoru.

Byl pro vás článek přínosný?

Autor článku

Martin Malý je autorem serveru Bloguje, mikroblogu Teidu či služby pro zkracování odkazů Jdem.cz. Vedl také magazín Zdroják.