ERROR Клікджекінг: що це та як від нього захиститися? — UKEY SECURITY

Клікджекінг: що це та як від нього захиститися?

Як ми всі з вами знаємо, зловмисники використовують безліч різних методів для перенаправлення жертв на свої сайти і збору їх особистих даних. І коли вебмайстри думають про захист свого сайту, вони часто втрачають з виду клікджекінг.

У цій статті ми пояснимо:

  • Що таке клікджекінг;
  • Які типи цієї атаки найчастіше використовують зловмисники;
  • Як захиститися від клікджекінгу.

Що таке клікджекінг?

Клікджекінг – це шахрайська техніка, яку зловмисники використовують для отримання доступу до конфіденційної інформації або комп’ютера жертви, заманюючи її на зовні нешкідливий сайт. Зазвичай зловмисники реалізують клікджекінг, накладаючи невидимий шар зі своєю сторінкою поверх легітимного сайту. При цьому елемент керування (кнопка, посилання), необхідний для здійснення необхідної дії, поєднується з видимим посиланням або кнопкою, натискання якої очікується від користувача.

В результаті жертва, що нічого не підозрює, може непомітно для себе оформити підписку в соціальній мережі або «лайкнути» будь-який запис. Крім того, зловмисники можуть обдурити користувача, змусивши його повірити, що він вводить пароль у звичайне поле для авторизації, в той час як він насправді вводить свої облікові дані на невидимому сайті шахрая.

Класика клікджекінгу

Найчастіше зловмисники накладають свої шкідливі сторінки поверх легітимних сторінок. Реалізувати це можна кількома способами:

  • Невидимі кадри: зловмисник створює невидимий кадр 1×1, який не дозволяє користувачеві побачити вміст. Цільовий елемент невидимого кадру, наприклад кнопка на веб-сайті, розташовується по центру під курсором жертви, що дозволяє легко обдурити користувача і змушує його натиснути на шкідливий контент;
  • Події покажчика: створюється плаваючий div, який повністю закриває цільовий елемент інтерфейсу користувача. Для цільового елемента встановлюється CSS-властивість pointer-events встановлюється в ‘none’, що змушує кліки проходити крізь нього, реєструючи їх на невидимий кадр зловмисника;
  • Прозорі накладання: Зловмисник накладає прозоре вікно поверх елемента, який натискає користувач. Жертва не бачить прозорого вікна та вважає, що натискає на звичайну кнопку чи посилання.
клікджекінг

Більш екзотичні методи клікджекінг-атаки

Ці варіанти використовуються рідше класичного накладання прозорої сторінки:

  • Швидка заміна контенту. У цій атаці зловмисники використовують розмиті оверлеї, які закривають цільові елементи на веб-сторінці. Дія виконується майже миттєво (за мілісекунди) перед тим, як жертва взаємодіє з веб-сторінкою. Цей метод вимагає від зловмисника передбачити час натискання;
  • Примарні курсори миші. Використовуючи плаваючий div, зловмисник може створити додатковий курсор миші та встановити його на фіксованій відстані від реального покажчика миші жертви. Потім хакер має в своєму розпорядженні сторінку так, щоб фейковий курсор був більш помітний і поміщає на неї елемент, на який жертва повинна натиснути.

Як перевірити, чи вразливий ваш сайт перед клікджекінг-атакою

Все просто – створіть HTML-сторінку і спробуйте вставити в її кадр одну з ваших веб-сторінок. Якщо це вийшло, вам варто подумати над захистом свого сайту від клікджекінг-атаки.

Як захиститися від клікджекінгу?

Знаючи те, що таке клікджекінг та які види цієї атаки існують, ми можемо розглянути деякі методи захисту:

  • Використовуйте заголовок X-Frame-Options. Він може дозволяти або забороняти відображення сторінки всередині кадру. Для захисту від клікджекінгу вам потрібно одне з двох значень – DENY (безпечніша) і SAMEORIGIN;
  • Використовуйте Content Security Policy (CSP, політику захисту контенту) – механізм забезпечення безпеки, який визначає безпечні джерела завантаження ресурсів, встановлює правила використання вбудованих стилів, скриптів, а також динамічної оцінки JavaScript;
  • Framebusting. Це найстаріший і найнадійніший метод захисту від клікджекінг-атаки, що просто забороняє відкриття сторінки у фреймі;
  • Встановіть атрибут samesite на Strict. Samesite – атрибут cookie, який допоможе уникнути клікджекінг-атаки. Якщо samesite = Strict, то cookie-файл буде надіслано на сайт тільки в тому випадку, якщо він відкритий безпосередньо, не через кадр або будь-яким іншим способом. Пам’ятайте, що цей метод захисту ефективний лише в тому випадку, якщо ви використовуєте cookie для авторизації користувачів.

Підбиваємо підсумки

Як ви зрозуміли, зловмисникам дуже легко проводити клікджекінг-атаки, які дозволяють їм перехоплювати будь-які дії на вашому сайті. Щоб знизити ризик таких атак, просто перевірте свій сайт та скористайтеся нашими порадами щодо захисту.