Obsah
¨
Clickjacking
Clickjacking je útok na uživatelské rozhraní, který zneužívá důvěry uživatele v legální webovou stránku. Cílem je přimět uživatele k provedení akce, kterou by dobrovolně neudělal – například ke smazání účtu, odeslání peněz, změně hesla nebo k udělení přístupu k webové kameře.
Název vznikl spojením slov „click“ (kliknutí) a „hijacking“ (únos).
Jak Clickjacking funguje?
Útočník vytvoří neviditelnou past pomocí HTML a CSS:
1. **Návnada:** Útočník vytvoří lákavou stránku (např. "Vyhráli jste iPhone, klikněte zde"). 2. **Neviditelný rám:** Do této stránky vloží legitimní web (např. nastavení Facebooku nebo internetové bankovnictví) pomocí prvku ''<iframe>''. 3. **Průhlednost:** Pomocí CSS (vlastnost ''opacity: 0'') učiní legitimní web zcela neviditelným a umístí jej přesně nad tlačítko "návnady". 4. **Interakce:** Uživatel se snaží kliknout na "Výhru", ale ve skutečnosti jeho kliknutí směřuje do neviditelného rámu na tlačítko "Potvrdit transakci".
Typy Clickjacking útoků
- Likejacking: Útočník donutí uživatele nechtěně kliknout na tlačítko „To se mi líbí“ u konkrétní stránky na sociální síti, čímž zvyšuje její dosah.
- Filejacking: Pokus o přístup k souborovému systému uživatele tím, že je oklamán, aby klikl na neviditelný formulář pro nahrání/stažení souborů.
- Cookiejacking: Útočník se snaží získat data z cookies prohlížeče, aby mohl převzít identitu uživatele.
Obrana proti Clickjackingu
Existují dva hlavní způsoby, jak se jako majitel webu bránit:
1. HTTP hlavička X-Frame-Options
Tato starší, ale stále účinná metoda říká prohlížeči, zda smí být stránka zobrazena v rámu:
- DENY: Stránka nesmí být vložena do rámu nikým (nejbezpečnější).
- SAMEORIGIN: Stránku lze vložit do rámu pouze na stejné doméně.
2. Content Security Policy (CSP)
Moderní a flexibilnější metoda využívající direktivu frame-ancestors, která nahrazuje X-Frame-Options:
Content-Security-Policy: frame-ancestors 'self';
Tento příkaz povolí vkládání stránek do rámů pouze vlastnímu webu.
Historický kontext: Frame Busting
Před zavedením standardů jako CSP se vývojáři bránili pomocí JavaScriptu (tzv. „Frame Busting“ skripty). Tyto skripty kontrolovaly, zda je okno prohlížeče „hlavní“, a pokud ne, pokusily se rám rozbít. Tato metoda je však dnes považována za nespolehlivou, protože útočníci se naučili tyto skripty vypínat nebo obcházet.
Související pojmy: Content Security Policy (CSP), OWASP, XSS, HTTP, Iframe, Sociální inženýrství.
