Nano Hash - криптовалюты, майнинг, программирование

Когда уместно иметь в вашем домене файлы cookie, отличные от HttpOnly?

Я прочитал информацию о OWASP, а также ряд статей, включая статью Джеффа Этвуда Защита ваших файлов cookie, и я все еще чувствую, что мне нужно лучше понимать файлы cookie HttpOnly.

Это произошло потому, что мне нужно было добавить на сайт некоторый код отслеживания Google Adword. Этот javascript должен был установить и прочитать файл cookie в домене веб-сайта, и я предположил, что это проблема. Веб-сайт представляет собой приложение .Net с httpOnlyCookies="true" в web.config, поэтому я предположил, что лучшим подходом было бы заменить javascript и записать файл cookie из серверной части, чтобы убедиться, что сгенерированный файл cookie был HttpOnly. Тогда я мог бы легко прочитать cookie и на стороне сервера.

Я понимаю, что установка HttpOnly свойства cookie в значительной степени предотвращает чтение и манипулирование cookie клиентом. Но я не понимаю:

  • Учитывая приведенный выше пример, возникла ли у меня проблема с использованием реализации javascript?
  • Можно ли было бы записать файл cookie с помощью javascript (но по-прежнему читать его на стороне сервера)? Я думаю, что нет, поскольку файл cookie не является файлом cookie HttpOnly
  • Если я поступил правильно (перенес все на серверную реализацию), почему файлы cookie Google Analytic всегда реализованы как файлы cookie, отличные от HttpOnly? Неужто они тоже представляют угрозу безопасности?

Итак, как сказано в заголовке, я предполагаю, что я спрашиваю - когда (если вообще) целесообразно иметь файлы cookie, отличные от HttpOnly, в вашем домене?


  • Файлы cookie, которые хранят информацию небезопасного характера (например, файл cookie, который запоминает последний использованный размер окна браузера), на самом деле не являются проблемой безопасности. Кого волнует утечка информации? 18.03.2014
  • Каждый раз, когда вы хотите, чтобы JavaScript мог читать файл cookie, вам нужно, чтобы он не был HttpOnly. Вы не хотите делать это, например, с аутентифицированным сеансовым ключом. 18.03.2014
  • @mah Да, это довольно очевидно :) Вопрос в том, когда уместно использовать cookie, отличные от HttpOnly? Если я могу обрабатывать все мои реализации файлов cookie на стороне сервера, должен ли я? Или это перебор? Если да, то почему? 18.03.2014
  • Чтобы ответить на вопрос, вы должны сначала рассмотреть цель cookie. Если это связано с предпочтениями пользователя в том, как что-то отображается, то, возможно, лучшим решением будет обработка JavaScript. Если вместо этого пользовательские предпочтения относительно того, какие данные будут отображаться (возможно, отфильтровать данные), тогда решение на стороне сервера может быть лучше (для ограничения пропускной способности), но HttpOnly, вероятно, не важен (поскольку нет разветвления безопасности - или не должно быть) . HttpOnly действительно необходим только для вещей, которые чувствительны к безопасности. 18.03.2014
  • Таким образом, требование HttpOnly можно игнорировать для любых файлов cookie, которые содержат неконфиденциальную информацию. Это так просто? 18.03.2014
  • Да, это так просто. 18.03.2014

Ответы:


1

Так что это намного проще, чем я предполагал. Согласно комментариям, оставленным @mah выше, пометка cookie как HttpOnly является избыточной, если cookie содержит неконфиденциальную информацию.

25.03.2014

2

Параметр httpOnly был ответом на уловки JavaScript, направленные на кражу файла cookie сеанса пользователя. Это произошло потому, что cookie сеанса - это временные учетные данные, которые позволяют вам получить доступ к сеансу пользователя, вошедшему в систему на сервере.

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

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

19.03.2014
Новые материалы

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

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

Частный метод Python: улучшение инкапсуляции и безопасности
Введение Python — универсальный и мощный язык программирования, известный своей простотой и удобством использования. Одной из ключевых особенностей, отличающих Python от других языков, является..

Как я автоматизирую тестирование с помощью Jest
Шутка для победы, когда дело касается автоматизации тестирования Одной очень важной частью разработки программного обеспечения является автоматизация тестирования, поскольку она создает..

Работа с векторными символическими архитектурами, часть 4 (искусственный интеллект)
Hyperseed: неконтролируемое обучение с векторными символическими архитектурами (arXiv) Автор: Евгений Осипов , Сачин Кахавала , Диланта Хапутантри , Тимал Кемпития , Дасвин Де Сильва ,..

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

Обеспечение масштабируемости LLM: облачный анализ с помощью AWS Fargate и Copilot
В динамичной области искусственного интеллекта все большее распространение получают модели больших языков (LLM). Они жизненно важны для различных приложений, таких как интеллектуальные..