Prez en tace k p řed n ášce o CSRF ú tocích Přip raven o p ro SOOM session #4 2007
Jiné ozna ení této zranitelnosti č Cross- Site Request Forgery CSRF Cross- Site Reference Forgery XSRF
Historie CSRF (první zmínky) 1988 Norm Hardy označení Confused deputy 2OOO Bugtrag zranitelnost na ZOPE 2001 Bugtrag poprvé použito označení CSRF u příspěvku The Dangerous of Allow- ing Users to Post Images
Cílem CSRF útok ů jsou koncoví uživatelé Díky právům obětí je možné útočit na webové služby a aplikace Podle zranitelnosti webové aplikace může, ale také nemusí, být vyžadována spoluúčast oběti Podobnost s XSS
Jak servery kontrolují identitu uživatelů Sessions Cookies Předávané parametry Sou část URL
Popis zranitelnosti Kam úto č ník nem ů že Nasm ě rování ob ě ti Využití oběti a provedení akce
Použité metody GET POST
Utoky m etodou GET Cíle útoků Hlasování v anketách (http:/ / www.anketa.cz/ hlasuj.php?volba= 2) Volba funkčnosti (http:/ / www.aplikace.cz/ index.php?akce= logout)
Utoky m etodou GET Popis útoku Vložení vhodného odkazu (http:/ / www.anketa.cz/ hlasuj.php?volba= 2) Maskování p ř esm ě rováním (http:/ / www.mojestranky.cz) Využití odkaz ů na externí zdroje IMG, IFRAME... < IMG SRC= http:/ / www.anketa.cz/ hlasuj.php?volba= 2 width= 0 height= 0 >
Utoky m etodou POST Cíle útoků Vkládání příspěvk ů do diskuzí Změny v nastavení uživatelských učtů Změna přístupového hesla Změna e- m ailové adresy Přidání adresy pro přesěrování příchozí pošty
Utoky m etodou POST Popis útoku Zjišt ě ní informací o formulá ř i, odesílaných datech a cílovém scriptu Doplnek pro webový prohlížeč Pr ůzkum sítové kom unikace Pr ůzkum zdrojového kodu stránky Vytvo ř ení kopie formulá ř e Nalákání oběti Odeslání dat z formuláře
Utoky m etodou POST Nedostatky popsaného útoku a vylepšení Viditelnost form uláře Prvky typu hidden Odeslání form ulá ř e kliknutím na tla č ítko Autom atické odeslání JavaScriptem Zobrazení odpovědi od serveru Vložení formuláře do skrytého rámu
Napadení intranetu Intranetové aplkace Sítová za ř ízení ovládaná p ř es webové rozhraní Změny v nastavení hraničních bod ů mohou umožnit vstup útočníka do intranetu
Další cíle CSRF útoků Ovlivn ě ní výsledk ů anket Vkládání příspěvk ů do diskuzí Nákupy v e- shopech Přihazování v aukcích Zm ě ny v nastavení uživatelského ú č tu Krádež uživatelského účtu S vyššími právy možnost nadadení aplikace Utoky na webové aplikace v intranetu Zm ě ny v nastavení FW, router ů, apd.
Odkud může útok přijít Odkaz na webových stránkách Vložení odkazu do jakéhokoliv dokum entu, flashe, apd... E- maiem E- mail ve formátu html Vložení odkazu na ex terní zdroje (obrázek) Vložení formulá ř e p ř ímo zprávy Autom atické odeslání form uláře IE - sdílení cookies s webovým prohlížečem
Elektroncké pasy Nejznámější Microsoft Passport Jednorázová registrace Po přihlášení ke služb ě možnost navštěvo- vat všechny servery, které jsou partnerem, pod svou identitou. Veliká hrozba a dopad CSRF útoků
Standardní scéná ř útočníka při CSRF Vytvo ř ení ú č tu na napadeném serveru Vyzkoušení veškerých akcí k odhalení chování aplikace Hledání slabých míst, vkládání externích obrázk ů, XSS... Výběr vhodné metody a provedení útoku
Obrana Odhalení útoku uživatelem Jak se může uživatel bránit Odhalení útočníka správcem aplikace Možnosti obrany na stran ě serveru Zadávání hesla při akci Hlavička referer Prom ěnné URI Skrytá pole Metoda lístků
Obrana na stran ě uživatele Odhalení útoku většinou pozdě Paranoidní nastavení webového browseru Paranoidní nastavení firewallu Obrana prakticky neexistuje
Vystopování útočníka Ihned ze strany uživatele sledováním sítového provozu Pozd ě ji pouze na stran ě serveru a to jen v případ ě, pokud jsou vedeny logy včetn ě položky referer
Obrana zadáváním hesla Učinná metoda Nemožnost použít při všech akcích Př i častém zadávání hesla otevírá nové možnosti pro jeho zcizení
Kontrola položky referer Učinná metoda Filtrování refereru na stran ě klienta znemožní provedení legitimních požadavků Výskyt ex ploit ů na spoofing hlavičky refer- er
Ochrana použitím proměnného URI http:/ / www.web.cz/ JK34ADE4H543/ script.php S dostatečn ě dlouhým a náhodným řetězcem bezpečná metoda Nalezením zranitelnosti XSS prolomitelné
Obrana pom ocí náhodného identifikátoru ve skrytém poli Na začátku sezení je vygenerován náhodný řetězec, který se předává ve skrytém poli do všech formulá řů. Bezpeč né Napadnutelné pomocí XSS
Obrana pom ocí lístků Náhodný ř et ě zec vygenerován pro každou činnost Každý lístek uložen do úložišt ě s popisem činnosti Př i provedení žádosti se ověřuje zda exstu- je lístek Velice bezpečné Napadnutelné pomocí XSS
Obrana není jednoduchá Zranitelností CSRF trpí m noho aplikací Konkrét ní případy: Seznam.cz Volný.cz A mnoho dalších