Веб-атака gesture jacking похожа на кликджекинг, но надежнее

Веб-атака gesture jacking похожа на кликджекинг, но надежнее

Веб-атака gesture jacking похожа на кликджекинг, но надежнее

Обман пользователя по методу gesture jacking позволяет перехватить нажатие кнопки на веб-странице и перенаправить поданный через браузер запрос на другой сайт, пока пользователь давит на клавишу.

Новый вектор атаки, по сути, представляет собой вариант кликджекинга, он же UI redress (переадресация интерфейса). Обнаруживший его эксперт Amazon назвал свою находку cross window forgery (дословно: межоконный подлог). Ознакомившись с новой угрозой, Эрик Лоуренс (Eric Lawrence) из Microsoft решил, что gesture jacking (перехват жеста) будет точнее.

Автору атаки лишь нужно убедить визитера нажать и удержать клавишу ввода или пробела при посещении сайта с вредоносным скриптом. Этот жест будет воспринят как разрешение для всплывающего окна и приведет к активации кнопки на целевой странице.

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

Добиться от посетителя нужного жеста можно с помощью встроенного интерактивного элемента, который выводит, к примеру, такое сообщение: «Нажмите и удерживайте клавишу ввода, чтобы продолжить».

 

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

 

«Атака gesture-jacking более надежна [в сравнении с кликджекингом], так как при этом не нужно тщательно позиционировать окна, рассчитывать время клика и учитывать особенности настройки дисплея пользователя», — отметил в своем блоге Лоуренс.

Кликджекинг может использоваться для накрутки кликов в реферальной программе, раздачи вредоносов, кражи учетных данных. Сбор лайков в соцсети таким методом даже получил отдельное название — лайкджекинг.

Разработчики браузеров пытаются бороться с этой неистребимой проблемой. Компания Google, например, ввела опцию принудительной загрузки страниц без фокуса на указанных в URL фрагментах. В Mozilla обсуждают такую возможность, но пока обходятся патчами (CVE-2023-34414, CVE-2023-6206), хотя это вряд ли уязвимость — скорее фича.

Веб-разработчики тоже могут внести свою лепту: не добавлять ID-атрибуты кнопкам высокой степени риска или рандомизировать значения при каждой загрузке страницы. Можно также предусмотреть для таких страниц механизм, подобный редиректу, чтобы фрагменты в URL сбрасывались.

Хорошо помогает запрет демонстрации страниц в фреймах через настройки Content Security Policy. Использование опции frame-ancestors позволит контролировать список URL прямых родителей по DOM, которым разрешено использовать контейнеры <frame>, <iframe>, <object>, <embed>. Как вариант, можно организовать спецпроверки (размер окна при загрузке контента, длительность подачи запроса через клавиатурный ввод) и активировать элементы интерфейса на страницах лишь по сигналу об отсутствии угрозы.

Энтузиаст выпустил скрипт для быстрой установки защищённого MTProxy

Пользователь Хабра под ником aikendo рассказал о развитии собственного проекта MTProxy, опубликованного от имени lingeniare. Несмотря на одинаковые названия, это не официальный прокси-сервер Telegram и не его форк, а сторонний скрипт для автоматической установки и настройки MTProxy.

Автор решил избавить пользователей от ручной компиляции, редактирования конфигураций и других развлечений для тех, кому отчаянно не хватает терминала после работы. На выходе скрипт должен предоставить уже настроенный прокси для Telegram.

После первого релиза проект получил Fake TLS с указанием внешнего домена через параметр --domain. Механизм маскирует прокси-трафик под обычное TLS-соединение и помогает проходить системы глубокого анализа пакетов — DPI.

Архитектуру секретов тоже переработали. Вместо общего файла ключи разных пользователей хранятся раздельно в каталоге /etc/mtproxy/secrets.d. Сам прокси запускается от отдельной системной учётной записи mtproxy, а сервис systemd получил дополнительные ограничения по принципу наименьших привилегий.

Для защиты от перебора и сетевого флуда скрипт добавляет правила iptables с модулем hashlimit. Их можно сохранять после перезагрузки через netfilter-persistent. Интерфейс статистики теперь доступен только локально по адресу localhost:2398, чтобы служебные данные не торчали наружу без необходимости.

За стабильностью следит watchdog на базе таймера systemd: при сбое он перезапускает прокси. Скрипт также настраивает синхронизацию времени по NTP, поскольку рассинхронизация часов может сорвать MTProto-рукопожатие. Опционально доступен сетевой алгоритм BBR.

После установки проект выводит QR-код и прямую ссылку tg://proxy, поэтому подключение не требует ручного переписывания параметров. Исходный код открыт на GitHub.

RSS: Новости на портале Anti-Malware.ru