Mit csinál az X-Frame-Options?

A HTTP-fejlécek egyfajta metaadatok, amelyeket webes kérésekkel és válaszokkal küldenek el, az általuk szolgáltatott információk lehetnek fontosak vagy egyszerűen csak információsak. A biztonsági fejlécek a webszerver által beállítható „válaszfejlécek” részhalmaza, ezek egyike azon szolgáltatásoknak, amelyek számos biztonsági probléma megoldásában segíthetnek. Az egyik biztonsági fejléc, az „X-Frame-Options” célja, hogy megakadályozza a kattintáseltörő támadásokat.

Click-Jacking

A kattintáseltörés, más néven „Felhasználói felület helyreállítása” olyan probléma, amikor a támadó képes rávenni a felhasználót, hogy olyasmire kattintson, ami nem az, aminek látszik. Webhelyek esetében ez úgy történik, hogy egy átlátszó webhelyet fednek át egy látható webhelyre. Az ilyen típusú támadások során a felhasználó azt hiszi, hogy interakcióba lép a látható webhellyel, a valóságban azonban akaratlanul is befolyásolja az átlátható webhelyet.

Például egy támadó létrehozhat egy webhelyet, amely valószínűvé teszi, hogy a felhasználó rákattint egy gombra, esetleg egy videó lejátszási gombjára. A weboldal tetején lévő átlátszó rétegben egy második weboldal található, például a Facebook-fiók törlésére szolgáló weboldal a „Fiók törlése” gombbal közvetlenül a lejátszás gomb felett. Ebben a forgatókönyvben, amikor a felhasználó megpróbál rákattintani a lejátszásra, valójában rákattint a gombra a Facebook-fiók törléséhez.

A kattintáseltörés azon a képességen alapul, hogy a célwebhelyet az álwebhely tetején jelenítik meg a „Keretezés” nevű folyamaton keresztül. A keretezés az „iframe” HTML-elemet használja, amely egy teljes külön weboldalt tölthet be egy másik oldalon. Ha betölti a megcélzott weboldalt egy keretbe, gondosan pozícionálja és átlátszóvá teszi, az áldozat egyáltalán nem lesz tudatában annak, hogy becsapják egy cselekvés végrehajtására.

X-Frame-Options

Az „X-Frame-Options” HTTP válaszfejléc egy opcionális szolgáltatás, amely beállítható a kiszolgáló konfigurációs fájljaiban lévő webhelyekhez. Az X-Frame-Options megakadályozza a weboldalak betöltését iframe-ekben, ami megakadályozza, hogy egy másik webhely fölé kerüljenek. Az áldozat böngészője valójában alkalmazza a biztonsági ellenőrzést, ez azért van, mert minden böngésző tiszteletben tartja az X-Frame-Options fejlécet, és megtagadja a keretben lévő fejléccel rendelkező weboldalak betöltését.

A fejléc lehetővé teszi a webhely tulajdonosának, hogy konfigurálja, mennyire korlátozza a beállítást. Két beállítás létezik: „X-Frame-Options: DENY” megakadályozza, hogy egy védett weboldal valaha is keretbe kerüljön. A másik lehetőség, az „X-Frame-Options: SAMEORIGIN”, csak akkor engedélyezi a védett weboldalak bekeretezését, ha a keretet betöltő oldal azonos domain névvel rendelkezik. Ebben az esetben betölthet egy keretet a saját webhelyére, de senki más nem töltheti be a saját webhelyére.