В Сети мы часто сталкиваемся с объявлением: «Мы собираем cookie». На автомате кликаем «я согласен» и продолжаем пользоваться сайтом. Но с чем именно мы соглашаемся в этот момент?
Фото: LinkedIn Sales Solutions / Unsplash
Что такое cookies?
Cookies («куки», в переводе с англ. «печенье») — это небольшие текстовые документы, которые с помощью браузера сохраняет на компьютере пользователя веб-сервер (сайт).
В эти файлы можно записать практически любую информацию о посетителе сайта: во сколько и с какого устройства человек заходил на страницу, какими товарами интересовался и так далее.
Для каждого сайта есть свой набор видимых cookie-файлов. Интернет-ресурсы имеют доступ к cookie только тех людей, кто их посетил. То есть у условного магазина одежды нет доступа к файлам зрителей онлайн-кинотеатра.
В cookie-файлы запрещено записывать персональные данные пользователей. Однако они все равно могут содержать в себе ценную информацию, которую злоумышленники порой перехватывают и впоследствии продают на черном рынке.
Взлом вконтакте cookie 2015 2016 вся правда
При посещении любого сайта можно узнать, собирает ли он информацию о вас. Достаточно открыть раздел настроек вашего браузера «Конфиденциальность».
Пример раздела «Настройки» в браузере Google Chrome
Какие есть виды cookies?
Выделяют временные и постоянные cookie.
- Во временных хранятся данные о просмотренных страницах, записи форм заказов и другая информация, позволяющая клиентам упростить работу с сайтом. Эти файлы удаляются после ухода посетителя с интернет-ресурса.
- Постоянные cookie не удаляются после окончания взаимодействия с сайтом. Изначально они создавались, чтобы избежать постоянного ввода логина и пароля при использовании ресурса, а также для сохранения корзины товаров в случае внезапного окончания сессии. Со временем владельцы сайтов стали использовать рекламные алгоритмы, постоянно записывающие в эти куки информацию о пользователях. Это позволяет вести его историю посещений в течение долгого времени.
Как долго хранятся файлы cookies?
Временные и постоянные cookie находятся в белой зоне. Ими легко управлять, читать и записывать. Их можно удалять. Но помимо белой существуют также серая и темная зоны.
В серую зону попадают сторонние cookie, которые вам записывает не сам сайт, а другой внешний фрагмент кода, например, рекламный баннер. Посещение вами страниц, содержащих этот баннер, позволяет сформировать ваш круг предпочтений. Эта информация о предпочтениях определенной группы пользователей впоследствии продается рекламодателям.
Также существуют cookie из темной зоны, запись которых блокируется: супер-cookie и evercookie.
- Супер-cookie — это файлы, которые записываются источником более высокого доменного имени. Например, вы находитесь на сайте aa.bb.ru, но ваши cookie были записаны bb.ru, то есть доменом более высокого уровня. Как правило, такая запись является брешью в безопасности. При перехвате пакета сведений последние могут использоваться для подделки логинов, изменения или хищения пользовательской информации.
- Evercookie — неудаляемые. Даже после принудительного стирания этих фрагментов историй из вашего браузера они все равно могут быть восстановлены программным путем и использованы различными сторонними системами. Такие cookie запрещены, и поисковики стараются блокировать ресурсы, которые записывают информацию подобным способом.
Описание процедур по очистке cookie-файлов можно найти на страницах служб поддержки браузеров: Mozilla, Opera, Chrome.
Взлом вконтакте cookie 2015-2016 (вся правда)
Фото: JJ Ying / Unsplash
Как cookies используются в маркетинге?
В маркетинге существует три типа данных:
- Первичные данные — самые важные, это личные данные клиентов. Такую информацию клиент сообщает компании путем заполнения форм и анкет. Это сведения, которые сайт собирает самостоятельно и хранит в специально выделенной базе данных или CRM-системе. Их запрещено хранить в cookie-файлах.
- Вторичные данные — анонимные, их источником может быть аналитическая или рекламная система. Когда человек заходит на интернет-ресурс, то аналитическая система фиксирует все пользовательские действия, совершенные на сайте. Такие сведения используются в дальнейшем для проведения массовых рекламных кампаний ради привлечения на страницу людей.
- Сторонние данные — обогащение cookie-файлов, собранных вашей аналитической системой с помощью внешних подрядчиков. Вы отправляете анонимную информацию по вашему пользователю на некую площадку, которая сохраняет отправленный вами пакет и возвращает обратно расширенный пакет данных по этому человеку (какими ресурсами он еще интересовался, есть ли у него дети или нет).
Как законодательство регулирует cookies?
За последние несколько лет в рекламной индустрии было много громких скандалов с утечками пользовательской информации — это повлияло на ужесточение законодательства в отношении cookie-файлов.
Недавно принятые законы GDPR в Европе, российский 152-ФЗ «О персональных данных», бразильский LGPD формулируют более строгие требования к записи и обмену куки. В частности, каждый интернет-ресурс обязан уведомлять своих посетителей о том, что собирает эти файлы.
Также наблюдаются шаги по запрету использования постоянных cookie. В других странах, например, в Китае, такие фрагменты информации собираются государством и используются в целях социального скоринга и присвоения оценок благонадежности (на основе посещенных интернет-страниц). Социальный скоринг может повлиять на решение по выдаче кредита или на стоимость страховки.
Фото: Thomas Jensen / Unsplash
Как обезопасить себя от кражи cookies?
Среди самых распространенных последствий сбора cookie-файлов может быть:
- Навязчивая реклама товаров, которыми вы интересовались ранее;
- Установка на компьютер вредоносного ПО;
- Рекламный спам на электронной почте и в соцсетях;
- Утечка личной информации, в том числе паспортных данных и сведений о банковских картах;
- Попытки мошенничества с использованием ваших персональных данных.
В основном кражи cookie-файлов происходят по вине владельцев сайтов или же самих пользователей. Чтобы не допустить этого, важно соблюдать несколько правил:
- Не заходите на страницы, использующие незащищенное подключение (http вместо https);
- Избегайте ресурсы с большим количеством рекламных баннеров;
- Если вы не уверены в надежности сайта, но вам необходимо его посетить, используйте режим инкогнито: он удаляет все cookie-файлы после окончания сессии;
- По минимуму устанавливайте сторонние плагины;
- Не вводите персональные данные на интернет-ресурсах, не вызывающих доверия;
- Перед совершением покупки в определенном интернет-магазине читайте отзывы других клиентов, чтобы удостовериться в безопасности совершаемой операции.
Кроме того, вы можете установить блокировщик рекламы. С ним удобнее серфить в интернете, и ваша личная информация формально остается защищенной. Но блокировщик рекламы — плагин по своей сути, а значит, он также потенциально может собирать информацию по вашим взаимодействиям.
Источник: dzen.ru
Как включить Сookie в браузере и зачем это нужно
Cookie — это фрагмент данных, который браузер получает от веб-сервера сайта и сохраняет на компьютере. Эти данные нужны для того, чтобы пользователю не пришлось заново входить в учётную запись, менять тему оформления сайта и другие настройки.
Кроме того, без Cookie не работают интернет-магазины. Предположим, вам удалось урвать последние кроссовки Nike на распродаже по очень выгодной цене. А теперь представьте, что они исчезли из корзины, как только вы её открыли. Чтобы уберечь вас от разочарования и нужны Cookie.
Но есть и обратная сторона: данные из этих файлов легко перехватить. Злоумышленники могут получить доступ к учётной записи пользователя и личным данным, если он использует нешифрованное соединение, например, публичный Wi-Fi. Не паникуйте! Многие сайты работают через защищённый протокол HTTPS. Однако бдительность в вопросах безопасности не помешает.
По умолчанию Cookie включены. Если вам нужно отключить или, наоборот, включить их, сделать это можно в настройках браузера. Там же вы можете и удалить Сookie при необходимости. Например, если вашим компьютером пользуются несколько человек.
Как включить Cookie
Яндекс.Браузер
1. Зайдите в «Настройки» → «Показать дополнительные настройки».
2. Откройте вкладку «Настройки содержимого».
Чтобы удалить файл cookie, нужно зайти в «Настройки» → «Показать дополнительные настройки» → «Очистить историю загрузки».
Chrome
1. Откройте «Настройки» → «Дополнительные».
2. Выберите пункт «Настройки контента» → «Файлы cookie».
Чтобы удалить файл cookie, нужно зайти в «Настройки» → «Дополнительные» → «Настройки контента» → «Очистить историю».
Opera
1. Откройте «Настройки» → «Безопасность».
2. Найдите пункт «Файлы cookie».
Чтобы удалить файл cookie, нужно зайти в «Настройки» → «Безопасность» → «Конфиденциальность» → «Очистить историю посещений».
Firefox
1. Откройте «Настройки» → «Приватность и защита».
2. В пункте «История» выберите «Firefox будет использовать ваши настройки хранения истории».
Чтобы удалить файл cookie, нужно зайти в «Настройки» → «Приватность и защита» → «История» → «Показать Cookie».
Safari
1. Откройте «Настройки» → «Конфиденциальность».
2. Поставьте или уберите галочку напротив «Блокировать все файлы cookie».
Чтобы удалить файл cookie, нужно зайти в «Настройки» → «Конфиденциальность» → «Управлять данными веб-сайтов».
- 17 расширений для безопасного и приватного сёрфинга в Chrome
- Что делать, если тормозит браузер
- 6 простых способов защитить свой браузер от угроз
Источник: lifehacker.ru
[Перевод] Всё о файлах cookie и их безопасности
HTTP является протоколом без статических данных, что означает, что он не может различать два последовательных запроса, исходящих от одного и того же компьютера, сети или пользователя. Это было основной проблемой. Из-за этого пользователь не мог поддерживать свою сессию, и если бы мы продолжили в том же духе, интернет стал бы таким же, каким он был десять лет назад, состоящим только из кучи статичных html-страниц. Никаких учетных записей пользователей, никакой настройки и т.д., а если и есть какие-то учетные записи, то для доступа к каждой странице нужно снова и снова входить в систему.
Чтобы решить эту проблему, HTTP нужно было сделать с сохранением состояния. Ответом стал файл cookie. В отличие от cookie, которые вы получаете, это небольшие файлы, создаваемые веб-сайтом, который вы посещаете. Они генерируются веб-приложениями и хранятся в вашем браузере в виде пар ключ-значение.
Примером может служить PHPSESSID: xyjaez1081lze23, lang: en.
Давайте разберемся в этом на примере. Предположим, вы пошли в магазин и принесли оттуда посуду. Придя домой, вы обнаруживаете, что один из них сломан. Тогда вы идете к владельцу магазина и рассказываете ему о своей проблеме. Но, к вашему ужасу, он отвечает, что не знает вас. Таково было исходное состояние HTTP без файлов cookie.
Веб-сервер не узнает вас при любом раскладе.
Теперь рассмотрим другой сценарий. Владелец магазина дает вам чек. На чеке есть номер. Этот номер уникален и может быть использован для вашего опознания. У него также есть копия номера, хранящаяся в его компьютере. Когда вы возвращаетесь в магазин, он просит вас предъявить чек.
Он сверяет номер с номером на своем компьютере. После этого он узнает вас. Это именно то, что делает cookies, и ничем не отличается от чека, используемого для вашего запоминания.
Они также могут использоваться по различным причинам. Например:
- Чтобы запомнить ваши языковые предпочтения. Например, вышеуказанный файл cookie lang был установлен на en. Поскольку они были сохранены в вашем браузере, они будут отправлены на сайт, который сохранил их в первую очередь. Это веб-приложение разберет его и отправит вам английскую версию сайта.
- Для отслеживания вас. Они также могут использоваться для отслеживания вашей страны, города и т.д.
- Количество раз, когда вы обращались к бесплатной услуге.
- И самое важное — для сохранения данных о вашей сессии.
Какие различные флаги используются в файле Cookie?
Это могут быть небольшие файлы, но каждый Cookie сам по себе имеет сложную структуру. Сложной ее делают различные флаги, которые могут присутствовать в каждом куки. Эти флаги — не что иное, как атрибуты cookies, предназначенные для различных целей, или просто названия значений, которые могут быть использованы для идентификации этих чисел.
Давайте вкратце рассмотрим все флаги.
- Secure: Может быть установлен либо в true, либо в false. Если установлено значение true, cookie будет отправляться только при соединении HTTPS. Это может быть использовано для снижения риска атаки MITM, при которой злоумышленник заставляет пользователя просматривать сайт по протоколу HTTP. Если этот флаг установлен, cookie не будет передаваться по HTTP.
- HttpOnly: Если установлено значение true, JavaScript на стороне клиента не сможет получить доступ к файлу cookie. Это может быть использовано для сохранения cookie от XSS-атаки, которая крадет cookie. Таким образом, javascript на стороне клиента не сможет получить доступ к cookie.
- Domain: Содержит домен или поддомен, на который может быть отправлен файл cookie.
- Path: На каждом пути могут быть разные вещи. Если разработчик хочет установить разные cookie для каждого пути, он может использовать атрибут path для достижения этой цели.
- Expires: Используется для определения срока действия cookie.
- SamePath: Используется для определения условий, когда cookie могут быть отправлены при межсайтовых запросах.
Что такое атрибут domain и как он используется в Cookie?
Теперь давайте подробнее рассмотрим атрибут domain в cookie. Как следует из названия, он используется для хранения имени домена и поддомена. Оно может использоваться браузерами для определения того, на какой домен/поддомен нужно отправить cookie, а от какого следует воздержаться.
Также можно считать, что это определяет область применения cookie. Веб-приложение может иметь несколько субдоменов, и каждый субдомен может установить свой собственный файл cookie.
Предположим, что сайт www.example.com имеет 4 поддомена, и на каждом поддомене работает свой сайт на разных фреймворках. Они устанавливают свои собственные файлы cookie.
Приведенная ниже таблица хорошо это объясняет.
Cookies для соответствующих субдоменов
Так, если вы посетите сайт www.example.com, веб-приложение передаст вам PHPSESSID: wwwexample1 в виде cookie. Он будет сохранен вашим браузером, и когда вы отправите запрос обратно на www.example.com, ваш браузер отправит точно такой же файл cookie на веб-сервер. По сути, он определил атрибут домена в cookie, и если вы посещаете тот же домен, который указан в cookie, cookie будет включен в запрос.
Если вы посетите сайт sub1.example.com, веб-приложение установит, например, JSPSESSID: sub1.example2 в качестве файла cookie. Хотя домены одинаковые, то есть example.com, но субдомены разные. Таким образом, если вы отправляете запрос на сайт sub1.example.com, ваш браузер отправит JSPSESSID:sub1example2 в качестве cookie на веб-сервер.
Same Site Cookie
Это новый атрибут, который сейчас используется современными браузерами.
Давайте сначала разберемся, что такое first party и third-party cookies:
first-party cookie — это cookie, который устанавливается веб-сайтом, имеющим то же имя, что и домен, который в данный момент посещается, как отображается в адресной строке браузера. third-party cookie — это файл, который исходит от домена, отличного от того, на котором в данный момент находится пользователь.
Таким образом, атрибут «same site» устраняет пару уязвимостей, использующих атрибут domain в cookie (если запрос отправляется на домен, указанный в cookie, то cookie автоматически включается), таких как CSRF.
Так, если пользователь перенаправляется с сайта abc.com на сайт bcd.com, а в браузере есть cookie с доменом bcd.com, он будет автоматически включен в запрос перенаправления. Но если установлен атрибут cookie того же сайта, cookie не будет включен в запрос перенаправления.
В атрибуте same site есть два флага.
Strict
Если установлен атрибут strict, то даже когда пользователь переходит по обычной ссылке, опция strict запрещает браузеру передавать cookie на целевой сайт.
Lax
Значение lax является хорошим балансом между безопасностью и удобством использования для сайтов, которые хотят, чтобы пользователи оставались в системе после перехода по внешней ссылке. Таким образом, если пользователь переходит по обычной ссылке, cookie будет включен в запрос.
Заключение
Файлы cookie внесли значительный вклад в обеспечение прозрачности веб-сайтов, но они также увеличивают площадь атаки. Они могут использоваться противниками для получения контроля над привилегированными функциями, выполнения SQL-инъекций, перехвата сессий и захвата учетных записей. Конечно, все это в значительной степени зависит от типа приложения и функциональности, предоставляемой веб-приложением, и его зависимости от файлов cookie. Бывали случаи, когда злоумышленникам удавалось получить доступ к скрытым функциям, доступным только администраторам, просто подменив значения в cookies.
Как разработчик вы должны проверить, какие функциональные возможности предоставляет веб-приложение и как файлы cookie интегрированы с веб-приложением. Cookies, особенно сессионные, должны быть трудноуловимыми, а соответствующие флаги/атрибуты должны быть установлены в соответствии с вашими потребностями.
Оригинал статьи — здесь.
Поддержите автора хлопками на Medium.
Перевод статьи был выполнен проектом перевод энтузиаста:
- cookie
- перевод
- translate
- информационная безопасность
- безопасность
Источник: habr.com