О сортах печенья: какие бывают cookie-файлы и с чем их едят хакеры

Рассказываем, как перехватывают куки, причем тут Session ID и как уберечь свои печеньки от перехода на темную сторону.

Как защитить cookie-файлы и Session ID

Откройте любой сайт в Интернете — скорее всего, первым, что вы увидите, будет всплывающее оповещение про использование cookie-файлов. Обычно вам предлагают принять все или только необходимые cookies — или же отклонить их. При этом, вне зависимости от вашего решения, вы, скорее всего, не заметите разницы, но оповещение в любом случае пропадет с экрана.

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

Что такое cookie-файлы

Когда вы заходите на какой-либо сайт, он отправляет браузеру cookie — так называют небольшой текстовый файл с данными о вас, вашей системе и действиях, которые вы совершали на сайте. Браузер, сохранив эти данные на вашем устройстве, отправляет их обратно на сервер при каждом последующем обращении к этому сайту. Благодаря этому ваше взаимодействие с сайтом упрощается — не приходится авторизовываться на каждой странице, сайты помнят выбранные вами настройки оформления, интернет-магазины хранят в корзине выбранные вами товары, стриминговые сервисы знают, на какой серии вы остановили просмотр, и так далее.

В куки-файлах могут храниться логин, пароль, токены безопасности, номер телефона, адрес, банковские данные и Session ID (идентификатор сеанса). Идентификатор сеанса рассмотрим чуть подробнее.

Session ID — это уникальный код, присваиваемый каждому пользователю при входе на сайт. Если третьему лицу удается перехватить этот код, то для веб-ресурса он будет выглядеть как легитимный пользователь. Вот простая аналогия: представьте, что войти в офис можно по электронному пропуску с уникальным кодом. Если у вас его украдут, то похититель — неважно, похож он на вас или нет — беспрепятственно сможет открыть двери в любые доступные вам помещения. При этом система безопасности будет уверена, что входите вы — подобный сюжет можно увидеть во многих детективных сериалах. Так и в Интернете: если злоумышленник украдет куки с Session ID, он сможет зайти на сайт, где вы уже были залогинены, от вашего имени, не нуждаясь в вводе логина-пароля, а порой и минуя двухфакторную аутентификацию. Именно так в 2023 году хакеры угнали YouTube-каналы знаменитого техноблогера Linus Sebastian – Linus Tech Tips и еще два канала, принадлежащих Linus Media Group – с десятками миллионов подписчиков. Мы подробно разбирали этот случай ранее.

Какие бывают cookie-файлы

Теперь давайте разбираться в сортах печенья. Все cookie-файлы можно классифицировать по целому ряду параметров.

По времени хранения

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

Временные cookies могут превращаться в постоянные — так, если вы включите на сайте галочки «Запомнить меня», «Сохранить настройки» или аналогичные, отвечающие за это данные будут сохранены в постоянных куки-файлах.

По источнику

  • Собственные. Генерируются самим сайтом, нужны для обеспечения его работы и пользователей, а также могут использоваться для аналитики и маркетинга.
  • Сторонние. Собираются сторонними ресурсами и применяются, например, при отображении рекламы и последующем сборе ее статистики. Сюда же относятся cookie аналитических сервисов, например Google Analytics или «Яндекс Метрики», и соцсетей — они хранят ваши учетные данные и позволяют в один клик поставить лайк или поделиться страницей в ваших соцсетях.

По значимости

  • Обязательные. Необходимы для обеспечения базовых функций работы сайта, например продажи товаров на маркетплейсах. У каждого пользователя в таком случае есть личный кабинет, а значит, в cookie-файлах будут храниться логин, пароль и Session ID.
  • Необязательные. Предназначены для отслеживания поведения пользователей, помогают тщательнее подбирать рекламу. Большинство необязательных куки — сторонние, они не влияют на возможность полноценно использовать сайт.

По технологии хранения

  • Обычные. Эти cookies хранятся в текстовых файлах в стандартном хранилище браузера. При очистке данных браузера они полностью удаляются, и после этого сайты, отправившие эти куки, перестанут «узнавать» вас.
  • Особые. Существуют два особых подвида — supercookie и evercookie, которые хранят данные нестандартным образом. Суперкуки могут избежать удаления функцией очистки браузера, а эверкуки могут быть восстановлены с помощью JavaScript после удаления. Благодаря этому они могут использоваться для постоянного и малоконтролируемого трекинга пользователей.

При этом одни и те же cookie-файлы могут относиться к разным категориям. Так, большинство необязательных куки — сторонние, а обязательные включают в себя временные куки, которые отвечают за безопасность конкретного сеанса посещения сайта. Подробнее о том, в каких случаях используются все эти виды cookie-файлов и как они работают, читайте в полной версии исследования на Securelist.

Как перехватывают куки через Session ID

«Печеньки», содержащие Session ID, — самые лакомые кусочки для хакеров. Кражу Session ID также называют перехватом сеанса (session hijacking). Давайте рассмотрим самые интересные и популярные методы кражи идентификатора сеанса.

Прослушивание трафика (session sniffing)

Перехват сеанса возможен за счет прослушивания интернет-трафика между пользователем и сайтом. Подобные атаки возможны на тех веб-ресурсах, которые вместо более безопасного протокола HTTPS используют HTTP. При этом cookie-файлы передаются в заголовке запроса в открытом виде, то есть не шифруются. И перехватив трафик между вами и посещаемым веб-сайтом, злоумышленник с легкостью извлечет их.

Такие атаки частенько происходят в общедоступных сетях Wi-Fi, особенно если те не защищены протоколами WPA3 или хотя бы WPA2, поэтому мы рекомендуем с особой осторожностью относиться к общественным точкам подключения. Безопаснее сделать выбор в пользу мобильного трафика. А если вы окажетесь в другой стране, то лучше воспользуйтесь Kaspersky eSIM Store.

Межсайтовый скриптинг (Cross-Site Scripting, XSS)

Межсайтовый скриптинг регулярно попадает в топы проблем безопасности веб-сайтов — и неспроста. Атака позволяет злоумышленникам получить доступ к данным сайта, в том числе к cookie-файлам с заветными Session ID.

Происходит все так: злоумышленник находит уязвимость в исходном коде сайта, внедряет вредоносный скрипт, а пользователям остается просто перейти на зараженную страницу, и все — прощайте, куки! Скрипт получает к ним полный доступ и пересылает злоумышленнику.

Межсайтовая подделка запросов (Cross-Site Request Forgery, CSRF/XSRF)

В отличие от других типов атак, межсайтовая подделка запроса (Cross-Site Request Forgery) работает на доверии сайта к браузеру пользователя. Злоумышленник заставляет браузер пользователя, прошедшего аутентификацию, без его ведома выполнить необычные действия: изменить пароль или удалить какие-либо данные — например, закачанные видеоролики.

Для подобной атаки злоумышленник создает веб-страницу или письмо с вредоносной ссылкой, HTML-кодом или скриптом с запросом к уязвимому сайту. Достаточно открыть такую страницу или письмо или кликнуть на ссылку, чтобы браузер автоматически отправил вредоносный запрос на нужный сайт. К запросу будут приложены все ваши куки-файлы, связанные с этим сайтом, и сайт "поверит", что это именно вы запросили замену пароля или удаление собственного канала — и от вашего имени выполнит "просьбу" злоумышленников.

Именно поэтому мы рекомендуем не открывать ссылки, присланные незнакомцами, и установить Kaspersky Premium, которая предупредит о вредоносных ссылках или скриптах.

Предсказуемые Session ID

Порой злоумышленникам даже не нужно придумывать никаких сложным схем — идентификатор можно угадать! На некоторых сайтах Session ID генерируется предсказуемыми алгоритмами и содержит, например, ваш IP-адрес плюс некоторую, легко воспроизводимую последовательность символов.

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

Есть и другие методы кражи Session ID — например, фиксация сеанса (session fixation), проброс куки (cookie tossing), атаки типа "человек посередине" (Man-in-the-Middle, MitM). Они подробно разобраны в материале Securelist.

Как защититься от кражи cookie-файлов

В первую очередь нужно отметить, что львиная доля ответственности за сохранность cookie-файлов лежит на разработчиках сайтов, и советы им мы опять же приводим в полной версии исследования на Securelist.

Но есть кое-какие рекомендации, которые помогут каждому человеку обезопасить свое пребывание в Интернете.

  • Вводите личные данные только на сайтах с протоколом HTTPS. Видите в адресной строке HTTP? Откажитесь как от приема cookies, так и от передачи какой-либо чувствительной для вас информации — логинов, паролей, данных банковских карт и так далее.
  • Обращайте внимание на предупреждения браузера. Если при входе на тот или иной сайт вы заметите пометку о недействительном или подозрительном сертификате безопасности, то лучше как можно скорее закрыть его.
  • Своевременно обновляйте браузеры или включите автообновление. Это позволит защититься от известных уязвимостей.
  • Регулярно очищайте куки и кэш браузера. Так вы убережете себя от эксплуатации старых и потенциально утекших куки-файлов и Session ID. В большинстве браузеров можно настроить автоматическое удаление данных при их закрытии.
  • Не переходите по подозрительным ссылкам. Особенно если их вам прислали незнакомцы в мессенджере или электронной почте. Сложно отличить легитимную ссылку от фишинговой? Установите Kaspersky Premium, которое предупредит переход по вредоносной ссылке.
  • Включите двухфакторную аутентификацию (2FA) везде, где это возможно. Хранить токены 2FA и генерировать одноразовые коды удобно в Kaspersky Password Manager — так они будут синхронизироваться на всех ваших устройствах, а злоумышленнику будет куда сложнее получить доступ к вашему аккаунту после завершения сеанса, даже если он угонит ваш Session ID.
  • Отказывайтесь от принятия всех cookies на всех сайтах. Принимать все "печеньки" от всех сайтов — не лучшая стратегия. Многие сайты сейчас предлагают выбор — принять все или только обязательные cookies. В этом случае выбирайте опцию "только обязательные", без которых сайт может работать некорректно.
  • Подключайтесь к общественным сетям Wi-Fi только в крайнем случае. Чаще всего они плохо защищены, этим активно пользуются злоумышленники. А если все-таки перешли, то не авторизовывайтесь в аккаунтах в соцсетях и мессенджерах, не пользуйтесь онлайн-банкингом и другими сервисами, требующими обязательной аутентификации.

Знакомимся с cookie-файлами еще ближе:

Советы

Как отключить слежку в iOS?

У вас есть iPhone, iPad или iPod? Потратьте несколько минут на настройку служб геолокации, чтобы сэкономить заряд батареи и сохранить конфиденциальность перемещений.