Заголовки HTTP – це тип метаданих, які надсилаються з веб-запитами та відповідями, інформація, яку вони надають, може бути важливою або просто інформаційною. Заголовки безпеки — це підмножина «заголовків відповіді», які можуть бути встановлені веб-сервером, вони є однією з функцій, які можуть допомогти вирішити низку проблем безпеки. Один із заголовків безпеки, який називається «X-Frame-Options», призначений для запобігання атак з використанням кліків.
Клік-джекінг
Клік-джекінг, також відомий як «виправлення інтерфейсу користувача», — це проблема, коли зловмисник може обманом змусити користувача натиснути щось, що не є тим, чим він виглядає. Для веб-сайтів це робиться шляхом накладання прозорого веб-сайту на видимий. При цьому типі атаки користувач думає, що він взаємодіє з видимим веб-сайтом, але насправді він мимоволі впливає на прозорий веб-сайт.
Наприклад, зловмисник може налаштувати веб-сайт, на якому ймовірно, що користувач натисне кнопку, наприклад, кнопку відтворення відео. У прозорому шарі зверху цієї веб-сторінки розташована друга веб-сторінка, наприклад веб-сторінка для видалення облікового запису Facebook за допомогою кнопки «Видалити обліковий запис», розташованої безпосередньо над кнопкою відтворення. У цьому випадку, коли користувач намагається натиснути кнопку «Відтворити», він фактично натискає кнопку, щоб видалити свій обліковий запис Facebook.
Клік-джекінг покладається на можливість відображення цільового веб-сайту у верхній частині фіктивного веб-сайту за допомогою процесу, який називається «Обрамлення». Обрамлення використовує елемент HTML «iframe», який може завантажувати цілу окрему веб-сторінку на іншій сторінці. Завантаживши цільову веб-сторінку у фрейм, обережно розташувавши її та зробивши прозорою, жертва буде зовсім не усвідомлювати, що її обманом обманюють, щоб виконати дію.
Опції X-Frame
Заголовок відповіді HTTP «X-Frame-Options» — це додаткова функція, яку можна встановити для веб-сайтів у файлах конфігурації сервера. X-Frame-Options запобігає завантаженню веб-сторінок у iframe, що запобігає їх накладенню на інший веб-сайт. Браузер жертви фактично застосовує контроль безпеки, тому що всі браузери поважають заголовок X-Frame-Options і відмовляться завантажувати будь-які веб-сторінки із заголовком, встановленим у фреймі.
Заголовок дозволяє власнику веб-сайту налаштувати, наскільки обмеженим є налаштування. Є два параметри: “X-Frame-Options: DENY” запобігає створенню захищеної веб-сторінки. Інша опція, «Опції X-Frame: SAMEORIGIN», дозволяє створювати фрейми для захищених веб-сторінок, лише якщо сторінка, яка завантажує фрейм, має те саме доменне ім’я. У цьому випадку ви можете завантажити фрейм на свій власний веб-сайт, але ніхто інший не може завантажити його на свій.