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

Передача cookie: как атаки обходят MFA и как защититься

8 min read Кибербезопасность Обновлено 06 Jan 2026
Передача cookie: обход MFA и защита
Передача cookie: обход MFA и защита

Важно: даже при включённой MFA украденный сессионный cookie даёт полные права, пока сессия действительна.

Что такое атака передачи cookie

Атака передачи cookie (pass-the-cookie) — это злоупотребление сессионным cookie для обхода аутентификации. После прохождения MFA веб‑приложение создает сессионный cookie и хранит его в браузере пользователя. Cookie позволяет не вводить повторно учётные данные при переходе между страницами.

Смысл атаки — украсть этот сессионный маркер и «вставить» его в браузер злоумышленника. Сервер принимает маркер за легитимную сессию и предоставляет доступ к ресурсам. В результате атакующий может просматривать, скачивать, шифровать или выводить из системы данные — включая ресурсы в облаках (Microsoft Azure, AWS, Google Cloud).

Коротко о терминах:

  • Cookie: небольшой маркер, который браузер сохраняет и отправляет серверу для идентификации сессии.
  • Сессионный cookie: маркер, используемый для поддержания текущего сеанса без повторной аутентификации.
  • MFA: многофакторная аутентификация — второй и последующие факторы, такие как SMS, push, аппаратные ключи.

Как работает атака передачи cookie

Изображение телефона с печеньем, иллюстрирующее атаку передачи cookie

Ниже — упрощённый сценарий атаки.

Шаг 1. Кража сессионного cookie

Злоумышленники используют разные техники для кражи cookie:

  • Межсайтовый скриптинг (XSS). Внедрение скрипта, который читает cookie, если нет флага httpOnly.
  • Фишинговые страницы и подмены интерфейсов для получения сессии.
  • Man‑in‑the‑Middle (MITM). Перехват трафика в открытых Wi‑Fi при отсутствии TLS или при успешном перехвате TLS.
  • Трояны и вредоносные расширения, читающие локальное хранилище браузера.
  • Покупка уже украденных cookie на даркнете — коммерческий рынок сессионных маркеров.

Шаг 2. Внедрение cookie и использование сессии

Атакующий подставляет украденный cookie в свой браузер (или инструмент) и отправляет запросы к приложению. Сервер видит валидный маркер и восстанавливает сессию, предоставляя доступ.

Особенности реализации:

  • Cookie зависят от браузера и профиля. Cookie из Firefox обычно не видны в Chrome.
  • Обычный выход из системы (logout) инвалидирует сессию; закрытие вкладки — нет.
  • Настройки «продолжить с места остановки» могут сохранять сессии даже после закрытия браузера.

Почему MFA не всегда помогает

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

Человек в худи перед мониторами с подсветкой

Защита и смягчение последствий

Красный замок на клавиатуре

Ниже — практические меры, которые помогут уменьшить риск атак передачи cookie.

Привязывайте сессии к контексту

Добавьте в проверку сессии несколько контекстных атрибутов:

  • IP‑адрес (но учтите динамические IP и NAT).
  • Информация о браузере и устройстве (fingerprint).
  • Геолокация и временные шаблоны активности.
  • Тип сети (корпоративная vs публичная).

Если контекст меняется радикально — требуйте повторную аутентификацию.

Плюсы: повышает сложность использования украденного cookie. Минусы: ложные срабатывания у мобильных пользователей и роуминга.

Используйте клиентские сертификаты или mTLS

Клиентские сертификаты (mTLS) связывают соединение с конкретным устройством. Сертификат хранится на устройстве и предъявляется при каждом TLS‑соединении.

Когда подходит: внутренние приложения, корпоративные порталы, управление админскими интерфейсами.

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

Ограничивайте время жизни и права сессий

  • Делайте сессионные токены короткоживущими и требуйте обновления (re‑auth) для критичных операций.
  • Разделяйте сессии по уровням доступа: админская сессия отдельно от обычной.
  • Реализуйте ограничение по IP/геозоне для привилегированных аккаунтов.

Применяйте флаги cookie и безопасные практики хранения

  • HttpOnly (не даёт JavaScript читать cookie).
  • Secure (cookie отправляются только по HTTPS).
  • SameSite=strict или lax в зависимости от сценария.
  • Минимизируйте хранение чувствительной информации в cookie.

Привязывайте сессии к устройству и браузеру

Token binding (привязка токена к ключу устройства) или локальная привязка через сертификат/ключ делают украденный cookie бесполезным на другом устройстве.

Контроль доступа и мониторинг

  • Ведите обширные журналы входов, смен сессий и привилегий.
  • Настройте детекцию аномалий: резкая смена IP, множественные сессии с разных геолокаций.
  • Используйте honeypot cookie: маркеры, доступ к которым должен отсутствовать у легитимных пользователей — их использование сигнализирует компрометацию.

Используйте специализированные инструменты Threat Detection

SIEM, UEBA, XDR и специализированные облачные инструменты умеют кореллировать события и находить подозрительные сессии (странные паттерны активности, подозрительные токены).

Образование пользователей

Обучайте сотрудников о признаках фишинга, опасностях публичного Wi‑Fi и вредоносных расширениях. Практика «выйти из системы» — важнее, чем просто закрыть браузер.

Конкретные меры для разработчиков

  • Реализуйте серверную проверку контекста сессии при каждой критичной операции.
  • Инвалидируйте сессии после смены пароля, MFA или при обнаружении подозрительной активности.
  • Храните маркеры в защищённых httpOnly cookie, не в localStorage.
  • Разработайте удобный механизм принудительного выхода (remote logout).

Когда эти меры дают сбои

  • Атаки из той же локальной сети: если атакующий находится в той же сети и IP‑фильтрация жёсткая, он может пройти проверки по IP.
  • Утечка сертификатов или ключей устройства делает mTLS бесполезным.
  • Сложная геодинамика у мобильных работников приводит к ложным срабатываниям.

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

  • Использовать краткоживущие JWT с обновлением через refresh‑token и строгими правилами invalidation.
  • Внедрять Zero Trust: каждый запрос проверяется, а контроль прав основан на минимуме привилегий.
  • Разделять административный доступ в отдельную подсеть и требовать строгую аутентификацию.

Ментальные модели для принятия решений

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

Дерево принятия решения

flowchart TD
  A[Обнаружен подозрительный доступ] --> B{Сессия активна?}
  B -- Да --> C{Привилегии высокие?}
  C -- Да --> D[Принудительная деаутентификация и MFA]
  C -- Нет --> E[Проверка контекста и логов]
  B -- Нет --> F[Проанализировать источник cookie]
  E --> G{Аномалия подтверждена?}
  G -- Да --> D
  G -- Нет --> H[Наблюдение и оповещение]
  F --> H

Роли и чек‑листы

Администратор:

  • Включить httpOnly и Secure для всех сессионных cookie.
  • Настроить централизованный журнал входов и мониторинг.
  • Настроить принудительную инвалидность сессий при смене пароля и MFA.

Разработчик:

  • Не хранить токены в localStorage.
  • Реализовать проверку контекста на сервере.
  • Сделать короткий TTL для критичных сессий.

Команда SOC/информационной безопасности:

  • Настроить правила детекции аномалий и оповещения.
  • Поддерживать процедуру развертывания honeypot cookie.
  • Подготовить инцидентный план и связь с админом приложения.

Обычный пользователь:

  • Всегда выходить из аккаунтов на общих устройствах.
  • Не принимать push‑запросы, в которых нет контекста.
  • Не устанавливать непроверенные расширения и не использовать публичный Wi‑Fi для чувствительных операций.

План реагирования на инцидент

  1. Идентифицировать подменную сессию и прекратить её (invalidate session, logout all sessions).
  2. Заблокировать ключевые аккаунты и потребовать смену пароля + повторной MFA.
  3. Провести форензик: собрать логи, IP, user‑agent, метки времени.
  4. Уведомить заинтересованные стороны и пользователей о потенциальной компрометации.
  5. Применить исправления (обновление конфигурации cookie, усиление контроля контекстов).
  6. Провести уроки и обновить процессы и тесты.

Критерии приёмки:

  • Сессии инвалидации применяются в течение 5 минут после команды.
  • Детектирование аномальных сессий приводит к оповещению SOC и автоматической блокировке.
  • Пользователи получают инструкцию по восстановлению доступа.

Тесты и критерии приёмки

Тестовые сценарии:

  • Попытка использования украденного cookie на другом устройстве должна приводить к отказу либо требованию реаутентификации.
  • Попытка доступа с изменившимся user‑agent или IP должна вызвать дополнительную проверку.
  • После смены пароля все активные сессии должны инвалироваться.

Критерии приёмки:

  • Процент ложных срабатываний в тестовой группе не превышает приемлемого уровня (определяется организацией).
  • Сценарии обхода регрессируют и проходят автоматические тесты.

Пример процедур и шаблонов

Шаблон сообщения пользователю при подозрительном входе:

“Мы обнаружили попытку входа в ваш аккаунт с нового устройства/локации. Если это были вы — подтвердите через приложение. Если нет — сбросьте пароль и свяжитесь с поддержкой.”

Рекомендованный набор логов для анализа:

  • Временная метка события
  • Пользовательский идентификатор
  • IP и ASN
  • User‑agent и fingerprint
  • ID сессии и связанный refresh token

Примерные ограничения и риски

  • Жёсткая привязка по IP ухудшает UX у мобильных сотрудников.
  • Надменные правила fingerprinting могут конфликтовать с защиой приватности и местными законами.

Приватность и соответствие требованиям:

  • Логи содержат персональные данные — применяйте правила минимизации и политики хранения в соответствии с GDPR и локальными требованиями.
  • Уведомляйте пользователей о сборе метаданных и целях их использования.

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

Атаки передачи cookie обходят MFA, используя украденные сессионные маркеры. Эффективная защита требует многоуровневого подхода: технические контрмеры (флаги cookie, короткий TTL, привязка к устройству, mTLS), мониторинг и процессы реагирования, а также образование пользователей. Без сочетания этих мер сам MFA не даст полной гарантии.

Глоссарий в одну строку

  • Сессионный cookie — маркер, подтверждающий текущую авторизованную сессию и позволяющий обходить повторную авторизацию.

Короткое объявление для внутренних каналов (100–200 слов):

Мы внедряем дополнительные меры защиты от атак передачи cookie. Эта угроза позволяет злоумышленникам получить доступ к аккаунтам, используя украденные сессионные cookie даже при включённой MFA. План включает настройку httpOnly и Secure флагов для cookie, уменьшение времени жизни сессий, привязку сессий к устройствам, усиленный мониторинг аномалий и обновление инцидентного плана. Пожалуйста, соблюдайте привычку всегда выходить из учётных записей на общих устройствах и сообщать о подозрительной активности. Дополнительные инструкции и временные рамки будут отправлены отдельно.

Поделиться: X/Twitter Facebook LinkedIn Telegram
Автор
Редакция

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

Исправить ошибку установщика Windows 2203
Windows

Исправить ошибку установщика Windows 2203

Многозадачность в Chrome OS — советы и трюки
Гайды

Многозадачность в Chrome OS — советы и трюки

Разгон RAM на ПК: руководство и советы
Аппаратное обеспечение

Разгон RAM на ПК: руководство и советы

Прикрепляйте файлы из облака в Gmail без скачивания
Gmail

Прикрепляйте файлы из облака в Gmail без скачивания

TasksBoard — Канбан для Google Tasks
Продуктивность

TasksBoard — Канбан для Google Tasks

Как удалить неавторизованные устройства в Spotify
Безопасность аккаунта

Как удалить неавторизованные устройства в Spotify