В последние годы, с развитием киберугроз, на свет появляется всё больше видов атак, направленных на обход современных механизмов безопасности. Одной из таких угроз стала новая разновидность кликджекинга, получившая название DoubleClickjacking. Эта атака представляет собой усовершенствованную форму манипуляции с действиями пользователей, используя двойной щелчок мыши, чтобы обманом заставить их авторизовать важные действия или выполнить нежелательные операции.
Что такое кликджекинг?
Прежде чем углубляться в суть DoubleClickjacking, стоит вспомнить, что такое кликджекинг. Этот тип атак, также известный как «переделка пользовательского интерфейса», заключается в создании злоумышленниками вредоносных веб-страниц, которые заставляют пользователей нажимать на скрытые или замаскированные элементы интерфейса.
Часто такие атаки осуществляются путем наложения скрытого iframe с легитимным сайтом на веб-страницу, созданную злоумышленниками. На этом сайте создаются заманчивые кнопки и ссылки, которые пользователи воспринимают как безопасные, однако на самом деле эти элементы скрывают опасные действия. Например, пользователь может случайно авторизовать вредоносное приложение OAuth или подтвердить запрос многофакторной аутентификации (MFA).
С развитием технологий браузеры начали внедрять защитные меры, такие как ограничения на передачу cookies между сайтами и установки заголовков безопасности (например, X-Frame-Options), которые позволяют ограничивать возможность внедрения iframe с вредоносных сайтов. Однако даже такие меры защиты не всегда могут быть эффективными против более продвинутых атак.
Введение атаки DoubleClickjacking
Новая угроза, получившая название DoubleClickjacking, была представлена экспертами по кибербезопасности, в том числе Паулосом Йибело. В отличие от традиционного кликджекинга, эта атака использует метод двойного щелчка мыши для выполнения манипуляций, которые заставляют пользователя выполнять важные действия на целевых сайтах.
Суть атаки заключается в следующем: злоумышленники создают веб-страницу, на которой отображается безобидная кнопка с заманчивым призывом, например, «Нажмите здесь, чтобы увидеть вознаграждение» или «Посмотреть интересное видео». Когда пользователь нажимает на эту кнопку, открывается новое окно, которое фактически перекрывает исходную страницу и предлагает посетителю решить капчу для продолжения.
Однако в это время на исходной странице, в фоновом режиме, через JavaScript, изменяется контент на легитимный сайт, на котором злоумышленники пытаются получить доступ к чувствительной информации. Когда пользователь пытается решить капчу, он на самом деле выполняет действия на скрытой странице с легитимным сайтом, например, нажимая на кнопку для авторизации или подтверждения запроса.
Весь механизм атаки завязан на двойном щелчке мыши. Сначала пользователь кликает по кнопке на веб-странице, что приводит к открытию окна с капчей. Затем, при попытке решить капчу, происходит срабатывание события mousedown, после чего окно с капчей закрывается, и второй клик приходится на скрытую кнопку или ссылку на легитимном сайте. Таким образом, пользователь ошибочно подтверждает действие, которое он не собирался выполнять, например, авторизует приложение или соглашается на выполнение транзакции.
Почему эта атака так опасна?
DoubleClickjacking является особенно опасной, поскольку она обходится без использования iframe, cookies или попытки передать данные между различными сайтами. Все действия происходят на легитимных веб-страницах, что делает их менее уязвимыми для традиционных защитных механизмов, таких как X-Frame-Options и другие.
По словам Паулоса Йибело, эта атака может затронуть почти все сайты, а также расширения браузера. Для демонстрации этой угрозы эксперт показал примеры атак, в которых были захвачены аккаунты пользователей популярных сервисов, таких как Shopify, Slack и Salesforce.
Помимо веб-страниц, атака может быть использована и для обхода защиты расширений браузера. Например, злоумышленники могут воспользоваться техникой для авторизации транзакций в криптовалютных кошельках или для деактивации VPN-сервисов, что приведет к раскрытию IP-адресов.
Как защититься от DoubleClickjacking?
Чтобы предотвратить атаки типа DoubleClickjacking, Паулос Йибело предлагает несколько рекомендаций для разработчиков:
- Блокировка чувствительных кнопок с помощью JavaScript. Добавьте код, который блокирует кнопки, требующие важного действия, до тех пор, пока пользователь не выполнит определенный жест или не подтвердит действие. Это помешает автоматическому нажатию кнопки авторизации или другой важной операции после двойного щелчка.
- Использование HTTP-заголовков для ограничения переключения контекста. Возможно применение специальных заголовков HTTP, которые будут ограничивать или блокировать слишком быстрые переходы между окнами или контекстами в процессе двойного клика.
- Прослушивание событий. Разработчики должны внимательно следить за событиями mousedown и другими действиями пользователя, чтобы обнаруживать подозрительные клики и предотвращать автоматические манипуляции.
Заключение
Атака DoubleClickjacking демонстрирует, как злоумышленники могут использовать новые методы для обхода стандартных механизмов безопасности и манипуляции действиями пользователей. Эта угроза требует дополнительного внимания и внедрения новых защитных мер, чтобы обезопасить пользователей и предотвратить нежелательные последствия для их конфиденциальности и безопасности.