Cookie, сховища та відстеження після сторонніх cookie

Cookie були першим способом упізнати браузер, що повертається, і двадцять років їх вистачало. Зміни, які браузери в них внесли, пояснюють, чому відбиток знову став цікавим.
Власні та сторонні
Власний cookie встановлює сайт з адресного рядка. Саме так ви залишаєтеся в системі. Сторонній cookie встановлює інший домен, чий вміст вбудувала сторінка, наприклад рекламний скрипт, і цей домен може читати його на кожному сайті, що його вбудовує. Ця друга властивість зробила міжсайтове відстеження тривіальним: один рекламодавець, один cookie, кожен сайт.
Що змінилося
Safari почав блокувати сторонні cookie за замовчуванням у 2017 році через Intelligent Tracking Prevention і неодноразово посилював цей захист. Firefox наслідував з Enhanced Tracking Protection у 2019 році, а потім із Total Cookie Protection, що дає кожному сайту власну баночку cookie, тож сторонній cookie на одному сайті невидимий на іншому. Chromium запровадив розділені cookie (атрибут Partitioned, «CHIPS»), щоб вбудований вміст міг зберігати стан для кожного сайту верхнього рівня, і кілька років оголошував, відкладав і зрештою відмовився від повного видалення сторонніх cookie, зупинившись на виборі користувача.
Практичний результат: міжсайтове відстеження за допомогою cookie ненадійне в Safari і Firefox і дедалі більше розділене в Chromium. Це добре для приватності, і це штовхнуло трекери до сигналів, яким сховище взагалі не потрібне.
Інші сховища
localStorage, IndexedDB і Cache API за природою власні; вони належать origin, який їх записав, і тепер у кожному великому браузері розділені за сайтом верхнього рівня, тож їх не можна використати як міжсайтові ідентифікатори, як старі сторонні cookie. Трюки відстеження через ETag і кеш існують, але крихкі й широко нейтралізовані.
Чому відбиток заповнює прогалину
Відбитку не потрібне сховище. Його заново обчислюють із власних властивостей браузера при кожному візиті, тож очищення cookie його не скидає, а розділення його не ізолює. У цьому його привабливість для трекерів і небезпека для всіх, хто вважав «очистити дані сайту» чистим аркушем. Контрзаходи теж інші: не блокувати сховище, а зменшувати різноманітність того, що може прочитати сторінка, і саме для цього існують зменшення user agent, шум canvas і маскування рендерера.
Що може показати діагностика
Сторінка може повідомити, чи ввімкнено cookie і чи встановлено заголовок Do Not Track (сигнал, який майже жоден сайт не поважає, через що браузери прибирають його на користь Global Privacy Control). Вона не може читати cookie іншого сайту, а надійна діагностика не встановлює жодних власних. PowerScan працює без cookie, без сховищ і без ідентифікаторів, що можна перевірити в інструментах розробника браузера: панель сховища для сайту порожня після сканування.
Що ізоляція означає тепер
Для тих, хто тримає акаунти окремо, cookie — легка частина: окремі профілі мають окремі баночки cookie. Важка частина — відбиток, бо два профілі на одному комп’ютері з тим самим браузером ділять кожен апаратний і візуалізаційний сигнал, доки браузер їх не змінить. Це тема наступної статті.


