Журнал » Угрозы » Угроза доступа/перехвата/изменения HTTP cookies
Угроза доступа/перехвата/изменения HTTP cookies
Угрозы

Угроза доступа/перехвата/изменения HTTP cookies

1 0

Угроза заключается в возможности осуществления нарушителем несанкционированного доступа к защищаемой информации (учётным записям пользователей, сертификатам и т.п.), содержащейся в cookies-файлах, во время их хранения или передачи, в режиме чтения (раскрытие конфиденциальности) или записи (внесение изменений для реализации угрозы подмены доверенного пользователя).
Данная угроза обусловлена слабостями мер защиты cookies-файлов: отсутствием проверки вводимых данных со стороны сетевой службы, использующей cookies-файлы, а также отсутствием шифрования при передаче cookies-файлов. Реализация данной угрозы возможна при условиях осуществления нарушителем успешного несанкционированного доступа к cookies-файлам и отсутствии проверки целостности их значений со стороны дискредитируемого приложения.


ID угрозы: УБИ.017
Источник угрозы:
  • Внешний нарушитель с низким потенциалом
Последствия реализации угрозы:
  • Нарушение конфиденциальности
  • Нарушение доступности
Необходимые меры:

Угроза доступа, перехвата или изменения HTTP cookies представляет собой серьезную опасность для веб-приложений, поскольку cookies часто используются для хранения идентификаторов сессий, информации об аутентификации и других конфиденциальных данных. Злоумышленник, получивший доступ к cookies, может выдать себя за легитимного пользователя, получить несанкционированный доступ к его учетной записи, перехватить его сессию, изменить его настройки или украсть его данные.

Для минимизации данной угрозы необходимо принять следующие меры:

1. Защита от перехвата cookies (Man-in-the-Middle Attacks):

  • Использовать HTTPS: Обязательно использовать HTTPS для всех страниц вашего веб-сайта. HTTPS шифрует трафик между клиентом и сервером, предотвращая перехват cookies и других конфиденциальных данных.
  • HTTP Strict Transport Security (HSTS): Включите HSTS, чтобы браузер всегда использовал HTTPS для доступа к вашему веб-сайту, даже если пользователь попытается перейти по HTTP. HSTS предотвращает атаки понижения протокола (protocol downgrade attacks).

2. Защита от атак межсайтового скриптинга (Cross-Site Scripting - XSS):

  • Санизация входных данных: Тщательно санируйте все входные данные, полученные от пользователей, перед их отображением на странице или использованием в коде. Экранируйте специальные символы HTML, jаvascript и других языков, которые могут быть использованы для внедрения вредоносного кода.
  • Content Security Policy (CSP): Используйте CSP для ограничения источников, из которых браузер может загружать ресурсы (например, скрипты, стили, изображения). CSP помогает предотвратить выполнение вредоносного кода, внедренного с помощью XSS-атак.
  • HTTPOnly attribute: Установите атрибут HttpOnly для cookies, содержащих конфиденциальную информацию. Этот атрибут запрещает доступ к cookies из jаvascript, что предотвращает их кражу с помощью XSS-атак.

3. Защита от угона сессий (Session Hijacking):

  • Генерация случайных и непредсказуемых идентификаторов сессий: Идентификаторы сессий должны быть достаточно длинными и случайными, чтобы их было сложно угадать.
  • Срок действия сессий: Устанавливать ограниченный срок действия сессий и автоматически завершать сессии после определенного периода неактивности.
  • Обновление идентификатора сессии при смене привилегий: Обновлять идентификатор сессии при каждом изменении привилегий пользователя (например, при входе в систему или при выполнении административных действий).
  • Защита от подделки межсайтовых запросов (Cross-Site Request Forgery - CSRF): Используйте токены CSRF для защиты от атак CSRF, которые могут быть использованы для изменения cookies или выполнения других несанкционированных действий от имени пользователя.
  • Проверка IP-адреса пользователя: (С осторожностью) Можно проверять IP-адрес пользователя при каждом запросе, чтобы убедиться, что он не изменился. Однако этот метод не является надежным, так как IP-адрес пользователя может меняться в процессе сессии (например, при переключении между Wi-Fi и мобильной сетью).
  • HTTPOnly attribute: (Повторно) Используйте атрибут HttpOnly для cookies сессий, чтобы предотвратить их кражу с помощью XSS-атак.
  • Secure attribute: Установите атрибут Secure для cookies сессий, чтобы они передавались только по HTTPS.

4. Другие меры защиты:

  • Срок действия cookies: Устанавливать ограниченный срок действия для всех cookies, содержащих конфиденциальную информацию.
  • Удаление cookies при выходе: Предоставлять пользователям возможность удалять cookies при выходе из системы.
  • Шифрование конфиденциальных данных в cookies: Не храните конфиденциальные данные в cookies в открытом виде. Шифруйте конфиденциальные данные перед их сохранением в cookies.
  • Ограничение размера cookies: Ограничьте размер cookies, чтобы предотвратить переполнение буфера или другие атаки, связанные с cookies.
  • Domain and Path attributes: Правильно настраивайте атрибуты Domain и Path для cookies, чтобы ограничить область их действия.
  • SameSite attribute: Используйте атрибут SameSite для cookies, чтобы предотвратить атаки CSRF. Атрибут SameSite определяет, когда cookies могут быть отправлены вместе с межсайтовыми запросами.
  • Мониторинг журналов: Мониторьте журналы веб-сервера для выявления подозрительной активности, связанной с cookies.
  • Аудит безопасности: Регулярно проводите аудит безопасности вашего веб-приложения для выявления уязвимостей, связанных с cookies.

Пример настройки атрибутов cookies в PHP:

php
setcookie("session_id", $session_id, [    'expires' => time() + 3600,  // Срок действия: 1 час    'path' => '/',  // Доступен для всех путей на сайте    'domain' => 'example.com', // Доступен только для этого домена и поддоменов    'secure' => true, // Передавать только по HTTPS    'httponly' => true, // Недоступен для JavaScript    'samesite' => 'Strict', // Защита от CSRF]);

Ключевые моменты:

  • HTTPS: Использование HTTPS - это основа защиты cookies.
  • Защита от XSS: Предотвращение XSS-атак имеет решающее значение для защиты cookies от кражи.
  • Атрибуты Cookies: Правильная настройка атрибутов cookies (HttpOnly, Secure, SameSite, Domain, Path) обеспечивает дополнительный уровень защиты.
  • Комплексный подход: Необходимо применять все вышеперечисленные меры в комплексе для обеспечения максимальной защиты cookies.

Нет комментариев

Оставить комментарий

Оставить комментарий

Новости Новости Угрозы Угрозы Персональные данные Персональные данные