Гид по технологиям

Защита от DOM‑clickjacking и безопасное использование автозаполнения

8 min read Безопасность Обновлено 21 Sep 2025
Защита от DOM‑clickjacking автозаполнения
Защита от DOM‑clickjacking автозаполнения

Мужчина с ноутбуком, нажимающий на голографический экран входа в систему

В 2023–2024 году была описана DOM‑ориентированная вариация кликджекинга, которая эксплуатирует поведение расширений менеджеров паролей: расширение автоматически заполняет поля формы, когда пользователь кликает или фокусирует их. Атакующий может незаметно наложить невидимую форму поверх обычной интерактивной области страницы (кнопки «Закрыть», баннеры с согласием cookie и т. п.), и при клике менеджер паролей вставит сохранённые учётные данные в эту невидимую форму. Пользователь при этом не увидит утечки.

Важно: этот материал объясняет природу уязвимости и даёт рекомендации по защите. Он не содержит пошаговых инструкций по созданию эксплойта.

Как работает атака

Ключевая идея проста и опирается на модель DOM и на поведение расширений:

  1. Пользователь открывает страницу под контролем атакующего. На странице находится легитимный видимый элемент, например баннер cookie или кнопка закрытия всплывающего окна.
  2. Скрипт страницы создаёт или перемещает в эту область невидимую форму (например, стили opacity:0; pointer-events:auto; position:absolute;). По виду она совпадает с кликабельной зоной.
  3. Пользователь кликает по зоне, но фактически кликает по невидимой форме. Расширение менеджера паролей, замечая фокус/клик по полю ввода, автоматически подставляет логин, пароль, TOTP или данные карты.
  4. Содержимое может быть прочитано скриптом страницы и отправлено злоумышленнику.

Атака может похищать разные типы данных, которые менеджер паролей автозаполняет: пароли, коды одноразовой двухфакторной аутентификации (если менеджер хранит такие поля), данные карт и другие секреты.

Почему это работает

Проблема частично связана с тем, как браузеры рендерят страницу и как расширения взаимодействуют с полями формы. Даже если расширение пытается проверять контекст, отличить «невидимую» форму, наложенную на другую область, непросто. Многие менеджеры паролей по умолчанию заполняют поля при клике/фокусе, что упрощает атаку.

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

Когда атака не сработает (контрпримеры)

  • Расширение требует явного подтверждения от пользователя (например, нажать кнопку в всплывающем окне расширения) перед заполнением — тогда автоматическая подстановка блокируется.
  • Менеджер паролей не автозаполняет поля при простом фокусе/клике, а предоставляет только кнопку «вставить из менеджера».
  • Используется настольное/мобильное приложение менеджера паролей, которое копирует значение в буфер обмена только по явному действию пользователя.
  • Сайт применяет комплексные меры контроля контекста и защиты форм (например, динамическая валидация, CSP‑правила, согласованные с менеджерами паролей практики) — хотя это редкий случай.

Что нужно сделать сразу (пошаговая инструкция для пользователя)

  1. Обновите расширение менеджера паролей до последней версии. Многие вендоры уже выпустили улучшения, добавляющие подтверждение перед автозаполнением.
  2. Отключите автозаполнение в расширении (рекомендуется как временная мера).
  3. Настройте режим доступа расширения: «По клику» или «Только для выбранных сайтов».
  4. По возможности используйте настольное или мобильное приложение менеджера паролей и копируйте пароли вручную.
  5. Установите блокировщик скриптов для незнакомых сайтов (по умолчанию блокировать JavaScript и включать по мере необходимости).
  6. Включите надёжную двухфакторную аутентификацию или используйте аппаратный ключ/пасскей.

Отключение автозаполнения в расширении

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

Обычно это делается в настройках расширения в разделе с именем «Autofill and save», «Autofill» или аналогичном: найдите переключатель «Автозаполнение на фокус» и выключите его. После этого автозаполнение будет происходить только по явному нажатию кнопки расширения или по другой явной команде.

Отключение автозаполнения в 1Password

Важно: у разных менеджеров путь к опции может отличаться. Если вы не уверены, посмотрите справку вендора.

Настройка доступа расширений: «По клику» или «На конкретных сайтах»

Браузеры позволяют ограничить, где расширение может читать/взаимодействовать со страницей. Это снижает риск автоматической подстановки на сайтах, которым вы не доверяете.

  1. Откройте страницу расширений в вашем браузере.
  2. Найдите менеджер паролей и откройте «Детали» или «Права доступа».
  3. В разделе «Доступ к сайтам» выберите «По клику» или «Только для указанных сайтов».

При режиме «По клику» расширение активируется только после того, как вы нажмёте его иконку. В режиме «Только для указанных сайтов» расширение сможет работать только на заранее разрешённых доменах.

Включение режима «По клику» в настройках браузера

Используйте настольное или мобильное приложение менеджера паролей

Мобильные и настольные клиенты обычно требуют явных действий для копирования и вставки учётных данных. Это снижает вероятность автоматизированной кражи через веб‑страницу. Рабочий паттерн:

  • На странице входа откройте приложение менеджера паролей;
  • Найдите запись и нажмите «Копировать логин» / «Копировать пароль»;
  • Вставьте вручную в поля на сайте.

Плюс: многие приложения предлагают защищённый буфер обмена, автоматическое очищение буфера и другие полезные функции.

Блокировщики скриптов как дополнительный барьер

Большинство таких атак зависят от скриптов на странице. Блокировка скриптов значительно затруднит эксплуатацию уязвимости. Рекомендуемые практики:

  • Блокировать JavaScript по умолчанию на незнакомых сайтах.
  • Разрешать скрипты только доверенным доменам.

Расширение NoScript в действии: блокировка активных скриптов

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

Мини‑методология: как безопасно проверить свои настройки (без тестирования уязвимости)

  • Проверьте, как ваше расширение ведёт себя на знакомых ресурсах: активируется ли автозаполнение сразу при фокусе? Отключите автозаполнение и повторите проверку.
  • Убедитесь, что доступ расширения ограничён «по клику» или «на конкретных сайтах».
  • Попробуйте копировать пароли из настольного приложения: насколько удобно и безопасно это происходит?

Не пытайтесь воспроизводить эксплойт на публичных ресурсах — это может нарушать правила использования и создать риски безопасности.

Роль‑ориентированные контрольные списки

Для обычного пользователя:

  • Обновить расширение менеджера паролей.
  • Отключить автозаполнение по фокусу.
  • Перевести расширение в режим «По клику» или «Только для выбранных сайтов».
  • Включить 2FA и использовать аппаратные ключи там, где возможно.
  • Использовать блокировщик скриптов на незнакомых сайтах.

Для системного администратора / специалиста по безопасности:

  • Проверить политику использования менеджеров паролей в корпоративной сети.
  • Обучить сотрудников безопасному использованию менеджеров паролей (копирование из приложения, не использовать автозаполнение на общедоступных терминалах).
  • Рассмотреть внедрение SSO и аппаратных ключей для критичных систем.
  • Провести аудит расширений, разрешённых к использованию на корпоративных рабочих станциях.

План действий при подозрении на компрометацию учётной записи (SOP)

  1. Немедленно смените пароль на скомпрометированном сервисе с устройства, которому доверяете.
  2. Удалите старые сессии и выйдите из всех устройств, если сервис это поддерживает.
  3. Отозовите и перенастройте 2FA (особенно если были скомпрометированы кодовые устройства).
  4. Проверьте и, при необходимости, смените пароли на других сервисах, где использовался тот же пароль.
  5. Уведомите отдел безопасности вашей организации и провайдеров сервисов при подозрении на массовую утечку.

Ментальные модели и эвристики безопасности

  • «Автозаполнение = потенциальная автоматизация: отключи автоматизацию там, где она не нужна.»
  • «Расширение должно иметь минимальные права доступа.»
  • «Копировать и вставлять вручную — немного медленнее, но значительно безопаснее на подозрительных сайтах.»

Критерии приёмки изменений конфигурации (что считать успешно выполненным)

  • Автозаполнение по фокусу отключено в используемых менеджерах паролей.
  • Доступ расширения ограничен по клику или по списку доверенных доменов.
  • На корпоративных машинах внедрена политика по контролю установленных расширений и их прав.
  • Сотрудники прошли краткий обучающий модуль по безопасному использованию менеджеров паролей.

Диаграмма принятия решений (Mermaid)

flowchart TD
  A[Обнаружили уязвимость автозаполнения?] -->|Да| B{Расширение может требовать подтверждение}
  B -->|Да| C[Оставить автозаполнение включённым, но следить за обновлениями]
  B -->|Нет| D[Отключить автозаполнение]
  D --> E{Использовать настольное приложение?}
  E -->|Да| F[Перейти на ручное копирование из приложения]
  E -->|Нет| G[Ограничить доступ расширения «По клику»]
  C --> H[По возможности сообщить вендору и мониторить патчи]
  G --> H
  F --> H

Безопасность учётных записей: лучшие практики

  • Используйте уникальные пароли для каждого сайта.
  • Включайте двухфакторную аутентификацию. Предпочтительнее аппаратные ключи (FIDO2) или passkeys.
  • Если используете TOTP, держите приложение‑аутентификатор на отдельном устройстве от основного рабочего устройства.
  • Регулярно проверяйте список активных сессий и устройства в учетных записях.

Альтернативные подходы

  • Хранение паролей в шифрованном менеджере без функции автозаполнения — даёт контроль, но увеличивает число ручных операций.
  • Корпоративные SSO‑решения с централизацией доступа и аппаратными ключами — сокращают зависимость от сторонних расширений.
  • Использование встроенных в браузер менеджеров паролей: они тоже могут быть уязвимы, но у некоторых браузеров есть дополнительные механизмы изоляции.

Примечания по конфиденциальности и соответствию (GDPR)

Если вы управляете корпоративной инфраструктурой, учтите, что компрометация учётных записей может повлечь утечку персональных данных. План реагирования должен включать оценку объёма утечки, уведомление пострадавших и, при необходимости, регулятора в соответствии с действующим законодательством.

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

Короткий глоссарий

  • DOM: структура документа веб‑страницы, через которую скрипты управляют элементами.
  • Clickjacking: приём, при котором пользователь вводит данные или выполняет действие на невидимой/замаскированной сущности.
  • Autofill (автозаполнение): функция менеджера паролей, автоматически вставляющая сохранённые данные в поля формы.
  • 2FA/TOTP: двухфакторная аутентификация; TOTP — временные одноразовые коды.

Заключение

DOM‑clickjacking использует легальную функциональность браузеров и менеджеров паролей, чтобы выманить учётные данные без видимого вмешательства. Основные меры защиты — снизить автоматизм: отключить автозаполнение или ограничить права расширения, использовать настольные/мобильные клиенты, блокировать скрипты на недоверенных сайтах и применять надёжные вторичные факторы аутентификации. Для организаций важно внедрить политику контроля расширений и обучить пользователей базовым практикам безопасности.

Важное: регулярные обновления плагинов и внимательность при взаимодействии с незнакомыми веб‑страницами остаются ключевыми превентивными мерами.

Краткое резюме ниже.

Краткое резюме:

  • Отключите автозаполнение и ограничьте права расширения.
  • Предпочитайте настольные/мобильные клиенты менеджеров паролей.
  • Блокируйте скрипты на недоверенных сайтах.
  • Используйте надёжную 2FA или аппаратные ключи.
Поделиться: X/Twitter Facebook LinkedIn Telegram
Автор
Редакция

Похожие материалы

Как просмотреть и удалить историю поиска в YouTube
Приватность

Как просмотреть и удалить историю поиска в YouTube

Исправить ошибку Hueneme Negev — Black Ops 6
Игры

Исправить ошибку Hueneme Negev — Black Ops 6

Защита от DOM‑clickjacking автозаполнения
Безопасность

Защита от DOM‑clickjacking автозаполнения

Визуальный поиск: CamFind vs Blippar — тест
Технологии

Визуальный поиск: CamFind vs Blippar — тест

Блокировка сайтов на общем ПК — HomeGuard, Qustodio
Безопасность

Блокировка сайтов на общем ПК — HomeGuard, Qustodio

Как добавить USB‑порты к компьютеру — руководство
Компьютерное оборудование

Как добавить USB‑порты к компьютеру — руководство