Clickjacking: Amikor a kattintás nem azt jelenti, amit gondolunk
A webbiztonság világában sok támadás bonyolult exploitokra, sérülékeny kódra vagy rosszul konfigurált rendszerekre épül, a clickjacking azonban egészen más kategória. Itt ugyanis nem a rendszer feltörése a cél, hanem a felhasználó tudatos megtévesztése.
Egy jól kivitelezett clickjacking során a támadó eléri, hogy a felhasználó egy teljesen legitimnek tűnő kattintással olyan műveletet hajtson végre, amelyet valójában nem akart. A háttérben húzódó technika pedig általában egy átlátszó réteg és egy iframe kombinációjára épül. A módszer sikerességének oka pedig nem kifejezetten a technológiában, hanem az emberi psziché működésében rejlik.
Mi az a clickjacking?
A clickjacking – magyarul kattintás-eltérítés – egy olyan webes támadás, amelynek során a felhasználót észrevétlenül ráveszik, hogy egy láthatatlan vagy rejtett felületre kattintson. Azaz miközben felhasználó azt hiszi, hogy egy gombra, képre vagy linkre kattint, valójában egy teljesen más művelet aktiválódik.
A módszer valójában megdöbbentően egyszerű, hiszen elsőként a támadó betölt egy legitim weboldalt egy iframe segítségével. Ezt az iframe-et azonban egy CSS-rétegen átlátszóvá teszi, majd a láthatatlan felületet egy csábító vagy ártalmatlan gomb alá helyezi. Végül a felhasználó gyanútlanul kattint – csakhogy egyáltalán nem arra, amire gondol.
A folyamat veszélye többek között abban rejlik, hogy a clickjacking során a felhasználó ugyan nem tudatosan, de akaratlagosan, a böngésző számára teljesen szabályos felhasználói interakcióként kattint. Ezért a rendszer gyakran nem érzékeli támadásként az eseményt, emiatt a kattintás-eltérítés hosszú időn át is rejtve maradhat.
Hogyan működik a clickjacking technikailag?
A clickjacking tipikusan három egyszerű technikai elemre épül:
1. iframe beágyazás
Az iframe lehetővé teszi, hogy egy weboldal tartalma egy másik oldalba beágyazódjon. Ez teljesen legitim webfejlesztési technika. A probléma akkor kezdődik, amikor ezt manipulációra használják.
2. Átlátszó réteg
A támadó az iframe-et CSS segítségével átlátszó réteggé alakítja.
Például:
- opacity: 0
- position: absolute
- pontos pixel pozicionálás
Ezzel a felhasználó számára láthatatlan felület jön létre.
3. Kattintásmanipuláció
Az átlátszó réteg pontosan egy csábító UI-elem alá kerül. Tipikus példák:
- „Kattints ide a nyereményhez”
- „Indítsd el a videót”
- „Töltsd le az ajándékot”
A felhasználó gyanútlanul kattint, valójában azonban egy másik weboldalon történik művelet.
Példaművelet:
Az alábbiakban egy többrétegű clickjacking támadás szimulációja látható, melynek során a felhasználó találkozik az egyébként valós támadásokban is gyakran alkalmazott „Gratulálunk! Nyerj egy iPhone-t – kattints ide!” üzenettel. A tájékozatlan, webbiztonságban járatlan szemlélő ekkor megörül, hiszen a nagyértékű nyeremény csábító számára.
Azt azonban nem tudja, hogy a nyereményoldal háttérében a támadó egy átlátszó rétegen keresztül egy másik weboldalt tölt be – például utalást indít el egy banki weboldalon.
Példa a kattintás-eltérítés támadásra

Ami egy ilyen kattintás után történhet
Ha a háttérben betöltött oldal érzékeny műveleteket engedélyez egyetlen kattintással, akkor komoly problémák adódhatnak. Bekövetkezhet például
- egy jogosultság engedélyezése;
- valamely szolgáltatás akaratlan aktiválása;
- a fiókbeállítások módosítása;
- hírlevél-feliratkozás;
- egy fizetési művelet jóváhagyása.
Mivel a művelet a felhasználó aktív munkamenetében, a felhasználó látszólag szándékolt döntése következtében történik, a rendszer legitim kérésként kezeli és menti azt. Ezért a clickjacking jellemzően a naplókban sem jelenik meg klasszikus támadásként.
Miért veszélyes a clickjacking vállalati környezetben?
A vállalatok gyakran technikai sérülékenységekre koncentrálnak, pl. hibás kód, rossz konfiguráció, patch hiány. A clickjacking viszont egy felhasználói interakciót manipuláló támadás, mely különösen problémás olyan rendszerek esetén, ahol
- adminisztrációs felület érhető el böngészőből;
- belső alkalmazások session-alapú hitelesítést használnak;
- érzékeny műveletek hajthatók végre akár egy kattintással.
Ha egy alkalmazás nem védi magát a beágyazás ellen, egy támadó külső oldalon keresztül manipulálhatja a felhasználói interakciókat.
Hogyan lehet védekezni ellene?
Szerencsére a védekezés viszonylag jól ismert és hatékony.
-
X-Frame-Options HTTP fejléc
Az egyik legegyszerűbb védelem. Példa: X-Frame-Options: DENY. Ez teljesen megtiltja, hogy az oldal iframe-ben jelenjen meg.
-
Content Security Policy – frame-ancestors
A modern megoldás a Content Security Policy. Például: Content-Security-Policy: frame-ancestors ‘self’. Ez pontosan meghatározza, mely domainek ágyazhatják be az oldalt.
-
SameSite cookie beállítás
A SameSite cookie policy csökkentheti a session visszaélések egy részét.
-
Többlépcsős megerősítés
Érzékeny műveletek esetén érdemes komplex, többlépcsős megerősítést alkalmazni, azaz megerősítő párbeszédablakot használni, második kattintást és újrahitelesítést is kérni.
A technológia nem elég, a felhasználók a kulcs
Az etikus hackelések során gyakran látjuk, hogy a technikai védelem önmagában nem elegendő, hiszen a támadások jelentős része a felhasználók manipulációjára épül. Ezért a biztonság egyik legfontosabb eleme a valós támadásokat modellező szimuláció lehet.
Ennek érdekében a vállalati ellenállóság tesztelésére a Whiteshield-nél rendszeresen végzünk tudatossági és ellenállóképességi teszteket, amelyek a valós támadási technikákat modellezik. Ilyenek például az adathalász szimulációk (pl.: valós phishing kampányok modellezése; kattintási arány és reakciók mérése; oktatási visszacsatolás a dolgozóknak) és a clickjacking szimulációk (pl.: manipulált felületek tesztelése; felhasználói interakciók vizsgálata; szervezeti kockázatok feltárása).
Az ilyen tesztek ugyanis mind a dolgozóknak, mind a vállalati döntéshozóknak segítenek megérteni, hogy a biztonság nem csak a rendszereken múlik, hanem azon is, hogyan viselkednek az emberek a képernyő előtt.
Ha szeretné Ön is megtudni, mennyire ellenálló a szervezete a manipulációs támadásokkal szemben, teszteljük rendszereit és felhasználóit valós támadási forgatókönyvekkel! Lépjen velünk kapcsolatba!

