Click-jacking, často označovaný jako "UI redress attack," je typ útoku, při kterém útočník láká uživatele, aby klikli na neviditelný nebo překrytý prvek Webové stránky. Tímto způsobem může útočník přimět uživatele, aby nevědomky provedli akce na jiné stránce, než na které si myslí, že jsou. Tento článek se zaměřuje na konkrétní metody ochrany proti click-jackingu.
Co je Click-jacking?
Click-jacking je útok, který využívá nevědomost uživatelů k provedení nechtěných akcí na webové stránce. Útočník obvykle vkládá cílovou stránku do iframe, který je následně skrytý nebo překrytý jiným obsahem. Uživatelé jsou tak vedeni k tomu, aby klikli na místa, která skutečně aktivují prvky na skryté stránce.
Metody ochrany proti Click-jackingu
1. Záhlaví X-Frame-Options
Jednou z nejefektivnějších metod ochrany je nastavení HTTP záhlaví X-Frame-Options
. Toto záhlaví webovému prohlížeči sděluje, že danou stránku není povoleno vkládat do rámů (iframes) nebo objektů na jiných doménách. Existují tři hlavní hodnoty pro X-Frame-Options
:
DENY
- Stránka nesmí být vložena do žádného iframe nezávisle na původu.
SAMEORIGIN
- Stránka může být vložena pouze do iframe na stejné doméně.
ALLOW-FROM uri
- Stránka může být vložena pouze z určeného zdroje.
2. Content Security Policy (CSP)
Další silný nástroj proti click-jackingu je Content Security Policy, konkrétně direktiva frame-ancestors
. Tato direktiva umožňuje webům určit, které domény mohou obsahovat jejich stránky jako iframes. Použitím frame-ancestors
může stránka efektivně omezit možnost být zneužita skrze click-jacking. Například:
Content-Security-Policy: frame-ancestors 'self' example.com;
3. JavaScriptové ochranné skripty
Ačkoliv nejsou tak robustní jako serverová řešení, JavaScriptové skripty mohou poskytnout dodatečnou úroveň ochrany. Jedním z přístupů je detekovat, zda je stránka vložena do iframe a pokud ano, přesměrovat celou stránku. Příklad skriptu:
if (top.location != self.location) {
top.location = self.location;
}
4. Vizuální upozornění uživatelů
Vzdělávání uživatelů je také důležité. Upozorňování uživatelů na potenciální rizika click-jackingu a poskytování informací o tom, jak rozpoznat podezřelé chování, může významně snížit úspěšnost těchto útoků.
Ochrana proti click-jackingu je klíčová pro zajištění bezpečnosti uživatelů na internetu. Implementací záhlaví X-Frame-Options, Content Security Policy, použitím JavaScriptových ochranných skriptů a vzděláváním uživatelů mohou webové aplikace výrazně snížit riziko úspěšných click-jackingových útoků.