Кликджекинг: что это и как от него защититься?

Кликджекинг: что это и как от него защититься?

Как мы все с вами знаем, злоумышленники используют множество самых разных методов для перенаправления жертв на свои сайты и сбора их личных данных. И когда вебмастеры думают о защите своего сайта, они часто упускают из вида кликджекинг.

В этой статье мы объясним:

  • Что такое кликджекинг;
  • Какие типы этой атаки чаще всего используют злоумышленники;
  • Как защититься от кликджекинга.

Что такое кликджекинг?

Кликджекинг – это мошенническая техника, которую злоумышленники используют для получения доступа к конфиденциальной информации или компьютеру жертвы, заманивая ее на внешне безобидный сайт. Обычно злоумышленники реализуют кликджекинг, накладывая невидимый слой со своей страницей поверх легитимного сайта. При этом элемент управления (кнопка, ссылка), необходимый для осуществления требуемого действия, совмещается с видимой ссылкой или кнопкой, нажатие на которую ожидается от пользователя. В результате ничего не подозревающая жертва может незаметно для себя оформить подписку в социальной сети или «лайкнуть» какую-либо запись. Кроме того, злоумышленники могут обмануть пользователя, заставив его поверить, что он вводит пароль в обычное поле для авторизации, в то время как на самом деле он вводит свои учетные данные на невидимом сайте мошенника.

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

Чаще всего злоумышленники накладывают свои вредоносные страницы поверх легитимных страниц. Реализовать это можно несколькими способами:

  • Невидимые фреймы: злоумышленник создает невидимый фрейм 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 для авторизации пользователей.

Подводим итоги

Как вы поняли, злоумышленникам очень легко проводить кликджекинг-атаки, которые позволяют им перехватывать любые действия на вашем сайте. Чтобы снизить риск таких атак, просто проверьте свой сайт и воспользуйтесь нашими советами по защите.


Тени в интернете всегда следят за вами

Станьте невидимкой – подключайтесь к нашему каналу.