Новый метод хакерских атак SVG-кликджекинг меняет правила веб-безопасности
Исследовательница Lyra Rebane представила новый метод атаки, SVG-кликджекинг, который позволяет обойти ограничения политики одного источника с помощью SVG-фильтров для извлечения данных из iframe. Техника демонстрирует, как злоумышленники могут программировать сложные действия через CSS и SVG, обходя традиционные защитные механизмы веб-браузеров.
Новые угрозы: SVG-кликджекинг меняет подход к веб-безопасности
По данным The Register, исследовательница безопасности Lyra Rebane разработала новый метод атаки, основанный на использовании Scalable Vector Graphics (SVG) и Cascading Style Sheets (CSS). Метод, получивший название SVG-кликджекинг, демонстрирует, как можно обойти ограничения политики одного источника (same-origin policy), используя фильтры SVG для утечки информации.
Техника была представлена на конференции BSides Tallinn в октябре и недавно описана в публичном отчёте. Основной идеей атаки стало использование SVG-фильтров для доступа к пикселям содержимого веб-страницы, расположенной в другом источнике. Это позволяет злоумышленникам получать информацию, которая не предназначена для внешнего взаимодействия.
Механика SVG-кликджекинга
Clickjacking, или атака с подменой пользовательского интерфейса, — это метод, при котором пользователь неосознанно выполняет действия на веб-сайте. Такие атаки могут включать подмену кнопок или элементов интерфейса, чтобы пользователь нажал на нежелательный объект. Впервые термин был введён в 2008 году исследователями безопасности Jeremiah Grossman и Robert Hansen.
С тех пор были разработаны защитные механизмы, включая использование заголовков X-Frame-Options и Content Security Policy, а также ограничения на использование фреймов. Однако, как показывает практика, злоумышленники продолжают находить новые способы обхода ограничений.
Rebane обнаружила новую технику после попытки воспроизвести визуальный эффект Apple Liquid Glass с помощью SVG и CSS. Она обнаружила, что SVG-фильтры могут анализировать пиксельное содержимое веб-страницы, даже если она находится в iframe. Это позволило ей создать логические элементы, такие как feBlend и feComposite, что делает SVG-фильтры функционально полными. Таким образом, злоумышленник может программировать сложные действия, не зависящие от времени и не требующие значительных ресурсов.
В качестве доказательства концепции Rebane создала атаку, которая позволяет извлечь текст из Google Docs. Атакующий использует кнопку «Generate Document» в всплывающем окне. При нажатии система обнаруживает всплывающее окно и запрашивает ввод CAPTCHA. После ввода, текст документа добавляется в скрытое поле. Поскольку Google Docs позволяет встраивать содержимое в iframe, защита в виде X-Frame-Options не применяется.
Влияние на практику безопасности
Rebane отмечает, что подобные уязвимости часто возникают в приложениях, которые должны быть доступны на сторонних сайтах — например, в видеохостингах, социальных сетях, картографических сервисах и рекламных платформах. В некоторых случаях приложения не защищены должным образом, что делает их уязвимыми к атакам.
Кроме того, атака может быть реализована без использования iframe, например, через внедрение HTML-кода на странице. Такие атаки известны как XSS, но современные сайты всё чаще используют политики безопасности (CSP), чтобы предотвратить выполнение вредоносного JavaScript. В таких условиях CSS становится альтернативным инструментом для атак, включая SVG-кликджекинг.
Защитные меры и текущее состояние
Разработчики могут использовать API Intersection Observer v2 для обнаружения атак, связанных с SVG-фильтрами. Google признала уязвимость и выплатила премию в размере $3133.70. Однако, как отмечает Rebane, проблема не решена окончательно, и неясно, является ли она ошибкой браузера. Уязвимость также затрагивает другие браузеры, включая Firefox.
Связанный баг в Chromium, появившийся ещё в марте, был помечен как «won't fix». Это указывает на сложность устранения уязвимости в текущей архитектуре веб-браузеров.
Интересно: Как обеспечить защиту от SVG-кликджекинга, если стандартные механизмы безопасности уже не гарантируют полной защиты?

Новые угрозы: когда визуал становится уязвимостью
В мире веб-технологий безопасность часто зависит от баланса между удобством и контролем. С одной стороны, современные веб-стандарты позволяют создавать богатые интерфейсы, визуальные эффекты и интерактивные элементы. С другой — они же создают новые возможности для злоумышленников. Недавняя уязвимость, получившая название SVG-кликджекинг, — это яркий пример того, как визуальные технологии могут стать инструментом для атак, обходящих даже продуманные меры безопасности.
Когда картинка становится угрозой
SVG — это формат векторной графики, который позволяет создавать масштабируемые изображения прямо в браузере. CSS, в свою очередь, управляет стилем и отображением этих изображений. Вместе они обеспечивают мощный инструмент для визуализации. Но, как оказалось, их можно использовать и вовсе не для красоты.
Исследовательница Lyra Rebane продемонстрировала, что с помощью SVG-фильтров можно анализировать пиксельное содержимое веб-страниц, даже если они находятся в iframe. Это позволяет извлекать информацию, которая не предназначена для внешнего взаимодействия. Такие действия нарушают политику одного источника (same-origin policy), которая является фундаментальной частью веб-безопасности.
Ключевой момент: SVG-фильтры становятся не только инструментом для визуальных эффектов, а полноценным вычислительным механизмом, способным обрабатывать и анализировать содержимое веб-страниц.
Обход стандартных барьеров
Защита от clickjacking уже давно включает механизмы вроде заголовков X-Frame-Options и Content Security Policy. Эти инструменты ограничивают встраивание контента в iframe и предотвращают выполнение вредоносного JavaScript. Однако SVG-кликджекинг обходит эти меры, используя не скрипты, а стили и графику. Это делает его менее заметным для традиционных систем безопасности.
Важно понимать, что атака не зависит от времени и не требует значительных ресурсов. Это делает её особенно опасной для сайтов, которые позволяют встраивать контент на сторонних ресурсах — например, социальных сетях, картографических сервисах и рекламных платформах.
Ключевой момент: Современные атаки всё чаще используют не код, а структуру и логику визуализации. Это требует пересмотра подходов к безопасности, ориентированных на текстовые и скриптовые угрозы.
Уязвимости в новых AI-браузерах
Новые угрозы не ограничиваются только SVG. Введение AI-браузеров, таких как Atlas от OpenAI, расширяет спектр рисков, связанных с обработкой данных. Эти инструменты, разработанные для автоматизации задач, включают интеграцию с сервисами, такими как Google Docs, что может стать новой точкой проникновения для атак [!].
Такие браузеры, в отличие от традиционных, не только загружают данные, но и активно с ними взаимодействуют, применяя ИИ-модели для анализа и преобразования информации. Это открывает дополнительные векторы воздействия, включая атаки типа prompt hijacking, когда злоумышленник манипулирует запросами к ИИ-агенту, чтобы извлечь конфиденциальные данные.
Что делать, если стандарты не защищают?
Google признала уязвимость и выплатила вознаграждение исследовательнице. Однако, как отмечает Rebane, проблема не решена окончательно. Уязвимость затрагивает не только Chrome, но и Firefox, а баг в Chromium был закрыт как «won't fix». Это говорит о том, что текущая архитектура браузеров не позволяет полноценно устранить проблему.
Разработчикам предлагается использовать API Intersection Observer v2 для обнаружения атак, связанных с SVG-фильтрами. Но это не панацея — атаки могут быть реализованы и без iframe, например, через внедрение HTML-кода на странице. Это делает их ещё более универсальными и трудными для обнаружения.
Важный нюанс: Уязвимости, связанные с визуальными технологиями, требуют не только обновления правил безопасности, но и переосмысления того, что считается «безопасным» контентом. Визуал может скрывать больше, чем кажется.
Источник: The Register