Куки (cookies) — это хранящиеся на компьютерах и гаджетах небольшие файлы, c помощью которых сайт запоминает информацию о посещениях пользователя.
Проще говоря, когда пользователь совершает на сайте какое-то действие, например добавляет товар в корзину или вводит логин и пароль для входа в аккаунт, сервер записывает эту информацию в куки и отправляет браузеру вместе со страницей. Эти и другие сведения о различных действиях собираются в текстовом документе cookies.txt.
Благодаря кукам при каждом посещении того или иного ресурса не нужно вводить регистрационные данные — браузер их подгружает самостоятельно. Поэтому нагрузка не сервер не возрастает и повышается скорость открытия веб-страниц.
Сами по себе куки не опасны — это обычные текстовые файлы. Они не могут запускать какие-либо процессы на компьютере и каким-то образом влиять на работу операционной системы.
В то же время куки, в частности, умеют запоминать:
- в какое время и с какого устройства человек заходил на страницу;
- предпочтения пользователей (например, язык, валюта или размер шрифта);
- товары, которые просматривались или добавлялись в корзину, даже если пользователь временно вышел из интернет-магазина;
- текст, который мы вводили на сайте раньше;
- IP-адрес и местоположение пользователя;
- дату и время посещения сайта;
- версию операционной системы и браузера;
- клики и переходы.
Например, в Google утверждают, что используют файлы cookie, чтобы:
КТО СОБИРАЕТ ТВОИ ДАННЫЕ И ЗАЧЕМ? [netstalkers] Что стоит за соглашением на cookie
- настраивать предпочтения пользователя по рекламе, в том числе персонализировать и показывать на внешних сайтах рекламные объявления;
- предоставлять пользователю подходящие ему функции и контент (например, для музыкального сервиса YouTube Music сохраняются данные о параметрах громкости, режима повтора и автовоспроизведения);
- защищать персональные данные;
- подсчитывать количество посещений страницы;
- выявлять и устранять проблемы в работе сайта;
- предотвращать мошенничество, спам и другие злоупотребления;
- собирать данные для аналитики, по которым владельцы сервисов и сайтов могут определять, как пользователи взаимодействуют с ними.
Пример употребления на «Секрете»
«Cookies не относятся к персональным данным, так как в соответствии с законом персональные данные — это любая информация, которая позволяет идентифицировать человека. Даже фамилия, имя и отчество могут не являться персональными данными, если требуются дополнительные сведения, чтобы определить личность человека. Не говоря уже о cookies».
(Основатель и генеральный директор Nethouse Денис Имшенецкий — о работе с персональными данными.)
Нюансы
В большинстве современных браузеров пользователи могут управлять тем, как используются файлы cookie на отдельных сайтах, а также удалять их. Со временем куки накапливаются и могут занимать гигабайты на жёстком диске. Поэтому раз в несколько месяцев полезно удалять их хотя бы для тех сайтов, которые посещаются редко. Совсем отключать куки — не самая хорошая идея. Чистить куки вручную практичнее, но после этого придётся заново настраивать персональные параметры сайтов и входить в аккаунты.
Сookies: что это такое и зачем они нужны | SEMANTICA
Некоторые куки могут оставаться на компьютере в течение нескольких месяцев, а некоторые удаляются при завершении сессии. Если долго не посещать какую-либо соцсеть, пользователю придётся пройти авторизацию, поскольку сохранённые файлы с логином и паролем к этому моменту уже автоматически очистятся.
Виды cookies
Выделяют два основных вида cookies:
- сессионные (временные) — данные о просмотренных страницах, записи форм заказов и другая информация, позволяющая клиентам упростить работу с сайтом. Существуют только в период времени, когда пользователь находится на сайте, и удаляются сразу же после прекращения сеанса, то есть вслед за тем, как закроется вкладка. После закрытия вкладки временные файлы автоматически удаляются;
- постоянные — хранят долгосрочную информацию в течение нескольких недель или месяцев, например логин от учетной записи. Они не удаляются после окончания взаимодействия с сайтом.
Куки — это мощный источник аналитической информации, необходимой рекламодателям. Опираясь на персональные предпочтения и сведения об активности, на сайтах будет формироваться индивидуальная реклама. То есть на одном и том же сайте разным посетителям в рекламных блоках будут предлагаться разные товары. Кому-то — новые кроссовки, а кому-то — фены. По сути, владельцы сайтов просто вставляют у себя код того или иного посредника в рекламных блоках.
Факт
Заходя на большинство сайтов, можно видеть всплывающее окно предупреждения о сборе файлов cookies или просьбой разрешить собирать эти данные. Такая процедура стала обязательной после ужесточения закона Евросоюза о cookies.
Источник: secretmag.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
Что такое cookie файлы и чем они могут быть опасны
HTTP-файлы cookie используются в большинстве современных сайтов, но представляют собой уязвимость для конфиденциальности. Как необходимая часть просмотра веб-страниц, файлы cookie помогают веб-разработчикам делать Вам более удобное и приятное посещение веб-сайтов. Файлы cookie позволяют веб-сайтам запоминать вас, ваши логины на веб-сайте, корзины покупок и многое другое. Но они также могут быть сокровищницей частной информации, за которой преступники могут шпионить.
Хотя большинство файлов cookie совершенно безопасны, некоторые из них могут использоваться для отслеживания Вас без вашего согласия. Что еще хуже, за законными файлами cookie иногда можно шпионить, если злоумышленник получает к ним доступ.
В этой статье мы расскажем Вам, что такое, как работают и для чего нужны cookie. Мы ответим на большинство ключевых вопросов по этой теме которые могут у Вас возникнуть.
Файлы cookie — это текстовые файлы с небольшими фрагментами данных, такими как имя пользователя и пароль, которые используются для идентификации вашего компьютера, когда вы используете интернет. Конкретные файлы cookie, известные как файлы cookie HTTP, используются для идентификации конкретных пользователей и улучшения вашего опыта просмотра веб-страниц.
Данные, хранящиеся в файле cookie, создаются сервером при вашем подключении. Эти данные помечены идентификатором, уникальным для вас и вашего компьютера.
Когда ваш компьютер и сетевой сервер обмениваются файлами cookie, сервер считывает идентификатор и знает, какую информацию конкретно вам предоставить.
Различные типы файлов cookie — Magic Cookies и HTTP-файлы cookie
Файлы cookie обычно работают одинаково, но применяются в разных случаях:
«Magic Cookies» — это довольно старый компьютерный термин, обозначающий пакеты информации, которые отправляются и принимаются без изменений. Обычно они используется для входа в компьютерные системы баз данных, такие как внутренняя сеть предприятия. Эта концепция появилась раньше современных файлов cookie, которые мы используем в основном в наше время.
HTTP-файлы cookie — это переработанная версия «Magic Cookies», созданная именно для просмотра веб-страниц. Программист Лу Монтулли использовал «волшебные куки» в качестве вдохновения в 1994 году. Он воссоздал эту концепцию для браузеров, когда помогал интернет-магазину починить перегруженные серверы. Но за удобством которые приносят cookie в нашу жинь скрывается то, что некоторые злоумышленники могут использовать cookie для слежки за Вашей онлайн-активностью и кражи вашей личной информации.
Как работают HTTP-файлы cookie?
Файлы cookie HTTP или Интернет-файлы cookie созданы специально для Интернет-браузеров, чтобы отслеживать, персонализировать и сохранять информацию о сеансе каждого пользователя. «Сеанс» означает просто время, которое вы проводите на сайте.
Файлы cookie создаются для вашей идентификации при посещении нового веб-сайта. Веб-сервер, на котором хранятся данные веб-сайта, отправляет короткий поток идентифицирующей информации в ваш веб-браузер.
Файлы cookie браузера идентифицируются и считываются парами «имя-значение». Они сообщают cookie-файлам, куда следует отправлять и какие данные следует вспомнить.
Сервер отправляет файл cookie только тогда, когда он хочет, чтобы веб-браузер сохранил его. Если вам интересно, «где хранятся файлы cookie», все просто: ваш веб-браузер сохранит их локально, чтобы запомнить «пару имя-значение», которая идентифицирует вас.
Если пользователь вернется на этот сайт в будущем, веб-браузер вернет эти данные на веб-сервер в виде файла cookie. Проще говоря, cookie немного похожи на получение квитанции за гардеробную:
- Вы отдаете свое «пальто» в гардеробы. В этом случае при подключении к вам на сервере веб-сайта привязывается набор данных. Эти данные могут быть вашей личной учетной записью, вашей корзиной покупок или даже тем, какие страницы вы посетили.
- Вы получаете «билет», который идентифицирует вас как владельца «пальто». Файл cookie для веб-сайта предоставляется вам и сохраняется в вашем веб-браузере. У него есть уникальный ID специально для вас.
- Если вы уедете и вернетесь, вы можете получить «пальто» по «билету». Ваш браузер передает на сайт ваши файлы cookie. Он считывает уникальный идентификатор в файле cookie, чтобы собрать данные о ваших действиях и вспомнить ваш визит в том виде, в котором вы его оставили.
Для чего используются файлы cookie?
Веб-сайты используют файлы cookie HTTP, чтобы упростить Вам как пользовател. работу в Интернете. Без файлов cookie вам придется снова войти в систему после того, как вы покинете сайт или восстановите корзину, если вы случайно закроете страницу. Именно это делает файлы cookie важной частью работы в Интернете.
Для чего предназначены файлы cookie:
- Управление сеансом. Например, файлы cookie позволяют веб-сайтам распознавать пользователей и вспоминать их индивидуальные данные для входа и предпочтения, такие как спортивные новости против политики.
- Персонализация. Индивидуальная реклама — это основной способ использования файлов cookie для персонализации ваших сеансов. Вы можете просматривать определенные элементы или части сайта, и файлы cookie используют эти данные для создания целевой рекламы, которая может Вам понравиться.
- Отслеживание. Сайты покупок используют файлы cookie для отслеживания ранее просмотренных пользователями товаров, позволяя сайтам предлагать другие товары, которые могут им понравиться, и хранить их в тележках для покупок, пока они продолжают делать покупки.
Файлы cookie хранятся на вашем устройстве локально, чтобы освободить место на серверах веб-сайта. В свою очередь, веб-сайты можно персонализировать, экономя деньги на обслуживании серверов и хранении.
Какие существуют типы файлов HTTP cookie?
Файлы cookie бывают двух типов: сессионные и постоянные.
Cессионные файлы cookie используются только при навигации по сайту. Они хранятся в оперативной памяти и никогда не записываются на жесткий диск.
По окончании сеанса файлы cookie сеанса автоматически в обязательном пордке удаляются. Постоянные же файлы cookie остаются на компьютере на неопределенный срок, хотя многие из них имеют срок действия и автоматически удаляются по достижении этой даты.
Постоянные файлы cookie используются для двух основных целей:
- Аутентификация. Эти файлы cookie отслеживают, вошел ли пользователь в систему и под каким именем. Они также оптимизируют информацию для входа в систему, поэтому пользователям не нужно запоминать пароли сайта.
- Отслеживание. Эти файлы cookie отслеживают несколько посещений одного и того же сайта с течением времени. Некоторые интернет-магазины, например, используют файлы cookie для отслеживания посещений определенных пользователей, включая просмотренные страницы и продукты. Информация, которую они получают, позволяет им предлагать другие предметы, которые могут заинтересовать посетителей. Постепенно профиль создается на основе истории просмотров пользователя на этом сайте.
Почему файлы cookie могут быть опасными?
Поскольку данные в файлах cookie не меняются, сами файлы cookie не вредоносны.
Они не могут заразить компьютеры вирусами или другим вредоносным ПО. Однако некоторые типы кибератак могут захватить файлы cookie и предоставить доступ к вашим сеансам просмотра.
Опасность заключается в их способности отслеживать истории просмотров отдельных пользователей. Чтобы объяснить, давайте обсудим, на какие файлы cookie следует обращать внимание.
Собственные и сторонние файлы cookie
Некоторые файлы cookie могут представлять большую угрозу, чем другие, в зависимости от того, откуда они пришли. Основные файлы cookie создаются непосредственно веб-сайтом, который Вы используете. Как правило, безопаснее, если вы просматриваете сайты с хорошей репутацией.
Сторонние файлы cookie вызывают больше беспокойства. Они создаются веб-сайтами, которые отличаются от веб-страниц, которые пользователи просматривают в настоящее время, обычно потому, что они связаны с рекламой на этой странице.
Посещение сайта с 10 объявлениями может создать 10 файлов cookie, даже если пользователи никогда не нажимают на эти объявления. Сторонние файлы cookie позволяют рекламодателям или аналитическим компаниям отслеживать историю просмотров отдельных страниц в Интернете на любых сайтах, содержащих их объявления.
Следовательно, рекламодатель может определить, что пользователь сначала искал одежду для бега в определенном магазине на открытом воздухе, прежде чем зайти на конкретный сайт спортивных товаров, а затем в определенный онлайн-бутик спортивной одежды.
Zombie-файлы cookie поступают от третьих лиц и постоянно устанавливаются на компьютеры пользователей, даже если они отказываются устанавливать файлы cookie. Они также снова появляются после того, как были удалены. Когда зомби-куки впервые появились, они были созданы из данных, хранящихся в хранилище Adobe Flash . Иногда их называют «флеш-куки», и их очень сложно удалить.
Как и другие сторонние файлы cookie, зомби-файлы cookie могут использоваться компаниями, занимающимися веб-аналитикой, для отслеживания историй просмотров уникальных пользователей. Веб-сайты также могут использовать зомби для блокировки определенных пользователей.
Разрешение или удаление файлов cookie
По вашему выбору, вы можете ограничить количество файлов cookie, которые попадают на ваш компьютер или мобильное устройство. Если вы разрешите файлы cookie, это упростит ваш просмотр. Для некоторых пользователей отсутствие риска для безопасности файлов cookie важнее, чем удобство работы в Интернете.
Вот как разрешить файлы cookie:
- Найдите раздел cookie — обычно в разделе «Настройки»> «Конфиденциальность».
- Установите флажки, чтобы разрешить файлы cookie. Иногда опция говорит: «Разрешить локальные данные».
- Если вам не нужны файлы cookie, вы можете просто снять эти флажки.
Удаление файлов cookie может помочь вам снизить риски нарушения конфиденциальности. Он также может сбросить отслеживание и персонализацию вашего браузера.
Удалить обычные файлы cookie легко, но это может затруднить навигацию по определенным веб-сайтам. Без файлов cookie в Интернете пользователям, возможно, придется повторно вводить свои данные при каждом посещении. Разные браузеры хранят файлы cookie в разных местах, но обычно вы можете их удалить следующим образом:
- Найдите раздел «Настройки», «Конфиденциальность», который иногда отображается в разделах «Инструменты», «Свойства обозревателя» или «Дополнительно».
- Следуйте инструкциям по доступным параметрам для управления или удаления файлов cookie.
Чтобы удалить зараженные файлы cookie и другие вредоносные типы, вам нужно воспользоваться помощью некоторого программного обеспечения для обеспечения безопасности в Интернете .
В будущем вы можете анонимизировать свое использование в Интернете с помощью виртуальной частной сети (VPN) . Эти службы туннелируют ваше веб-соединение на удаленный сервер, который выдает себя за вас. Файлы cookie будут помечены для этого удаленного сервера в другой стране, а не для вашего локального компьютера.
Независимо от того, как вы обрабатываете файлы cookie, лучше всего оставаться начеку и чаще очищать файлы cookie.
Источник: ib-tree.medium.com