Обзор предотвращения междоменного отслеживания в современном браузере, в частности Intelligent Tracking Prevention (ITP) в WebKit.

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

Компонент, предотвращающий стороннее отслеживание в WebKit, называется интеллектуальным предотвращением отслеживания (ITP) в WebKit (Safari, приложения для iOS,…), Улучшенная защита от отслеживания в Firefox и просто Предотвращение отслеживания в Edge. В настоящее время Chrome имеет наименее развитую функцию предотвращения отслеживания, но уже объявил, что полностью откажется от сторонних файлов cookie к 2022 году.

Насколько мне известно, предотвращение отслеживания в настоящее время никак не стандартизировано. Все основные браузеры (Edge, Chrome, Firefox, Safari) ограничивают себя предотвращением отслеживания третьими сторонами. В группе основных браузеров предотвращение отслеживания WebKit является наиболее строгим.

Если вы немного не уверены в том, что такое основной домен или в чем разница между основным и сторонним файлом cookie, подумайте о том, чтобы освежить свою память, прочитав мою другую историю о файлах cookie, прежде чем двигаться дальше. / em>

Мотивация и обзор

Без предотвращения отслеживания, если вы вставляете какой-либо элемент из некоторого домена d, этот элемент может устанавливать файлы cookie на d. Затем эти файлы cookie доступны для чтения и записи со встроенных страниц, размещенных на любой странице, в любом домене, который также включает что-то, размещенное на d. Таким образом, популярные встраиваемые элементы, такие как кнопка «Мне нравится» в Facebook, позволяют их владельцам отслеживать поведение людей при просмотре большого количества сайтов: если вы посещаете любой сайт, на котором есть кнопка «Нравится», Facebook узнает, что вы посетили этот сайт; они могут легко связать эту информацию с вашим профилем Facebook.

Цель ITP - предотвратить такое междоменное отслеживание. Для этого WebKit накладывает ограничения на все сторонние файлы cookie. WebKit также накладывает ограничения на все файлы cookie, которые устанавливаются на стороне клиента из JavaScript. Я расскажу об ограничениях на сторонние файлы cookie и файлы cookie на стороне клиента в отдельных разделах.

Почему именно WebKit?

Я выбрал обсуждение предотвращения отслеживания в Webkit, потому что WebKit имеет хорошую документацию и потому, что он является лидером в области предотвращения отслеживания, при этом другие браузеры немного отстают, но в конечном итоге следуют их примеру.

WebKit - лидер в предотвращении отслеживания, другие браузеры отстают, но в конечном итоге следуют их примеру.

Ограничения на сторонние файлы cookie

ITP 1.0, ITP 1.1 и ITP 2.0 ограничивают полезность сторонних файлов cookie путем разделения и очистки файлов cookie, установленных на доменах, которые используются для целей отслеживания. Я избавлю вас от введения в то, что такое секционированные файлы cookie, потому что ITP 2.1 избавляется от этой концепции и просто запрещает установку сторонних файлов cookie отслеживания в большинстве (или во всех) случаях.

В настоящее время ITP (июль 2020 г.) работает следующим образом:

  • Интеллектуальная модель классификации машинного обучения разделяет домены на отслеживающие и не отслеживающие домены. Домены отслеживания - это домены, которые используются только для междоменного отслеживания. Домены без отслеживания - это домены, с которыми пользователи в основном взаимодействуют в качестве основного домена. Классификация доменов происходит на вашем компьютере на уровне доменов второго уровня и основана на вашей собственной истории просмотров.
  • С марта 2020 года WebKit реализовал полную блокировку сторонних файлов cookie, что делает невозможным использование сторонних файлов cookie, кроме как через API доступа к хранилищу (см. Ниже). До марта это было невозможно, только если company.com был классифицирован как домен отслеживания. Интересно, что WebKit пошел на полную блокировку отчасти потому, что независимо от того, заблокировал он файл cookie или нет, он может раскрыть информацию об истории браузера пользователя.
  • Если company.com классифицируется как домен отслеживания и не использовался в качестве основного домена более 30 дней, то все его старые файлы cookie удаляются. Это происходит независимо от даты истечения срока действия файла cookie.

С марта 2020 года в WebKit реализована полная без исключения сторонняя блокировка файлов cookie.

API доступа к хранилищу

Для поддержки определенных функций, требующих сторонних файлов cookie, WebKit представил Storage Access API (где-то после ITP 1.0, но до ITP 1.1). Этот API позволяет разработчикам читать и записывать файлы cookie домена, например video.example, с сайтов с другим основным доменом, например news.example. Это возможно независимо от того, классифицируется ли video.example как домен отслеживания. Запрос доступа к этим файлам cookie возможен при взаимодействии пользователя со встроенным элементом, загруженным из video.example, например, когда пользователь фактически нажимает кнопку Нравится или воспроизводит встроенное видео. Начиная с ITP 2.0, пользователи по-прежнему должны давать явное согласие на это, нажимая разрешить во всплывающем диалоговом окне; взаимодействие с video.example таким образом также сбрасывает 30-дневный таймер взаимодействия с доменом video.example. API доступа к хранилищу еще не является стандартом, но уже поддерживается в большинстве современных браузеров.

Ограничения на использование файлов cookie на стороне клиента

Учитывая, что ITP делает невозможным использование файлов cookie из отслеживающих доменов в качестве сторонних файлов cookie без взаимодействия с пользователем и раздражающих всплывающих окон, как работают такие службы, как Google Analytics и трекер Snowplow? Что ж, они устанавливают отслеживающие файлы cookie в собственном домене сайта на стороне клиента, используя window.cookie-функциональность Javascript. Такое использование клиентских файлов cookie является законным.

Проблема в том, что сеансы просмотра, принадлежащие разным доменам, могут быть объединены с использованием различных методов, например путем встраивания идентификатора отслеживания пользователя в одном домене в ссылки на другой домен. Трекеры использовали такие методы, чтобы обойти ограничения, наложенные на сторонние файлы cookie. ИТП 2.1, 2.2. и 2.3, таким образом, ограничивают возможности клиентских файлов cookie и накладывают ограничения на оформление ссылок, средства отслеживания отказов и информацию, встроенную в заголовок Referrer, для предотвращения их использования для междоменного отслеживания.

Поведение WebKit, когда дело доходит до применения ограничений на стороне клиента, зависит от того, классифицируется ли домен как домен отслеживания или нет. Хотя есть еще кое-что, мы можем резюмировать текущее поведение ITP (ITP 2.3) в отношении основных файлов cookie, установленных с помощью Javascript, следующим образом:

  • Начиная с ITP 2.1, установленные на стороне клиента файлы cookie имеют максимальный срок жизни (TTL) семь дней. Если ваш веб-сайт использует Javascript для хранения информации о пользователе, то пользователь, вернувшийся на вашу страницу после восьми дней бездействия, будет отображаться как новый пользователь, а не как вернувшийся.
  • Если сайт был достигнут из домена, определенного как домен отслеживания, или по ссылке, содержащей строку запроса (оформление ссылки), ITP 2.2 дополнительно снижает максимальный TTL до одного дня . Это не позволяет рекламодателям объединять семидневные сеансы ITP 2.1. ITP 2.3 также удаляет данные, не относящиеся к файлам cookie, доступные для записи на сайт, также известные как локальное хранилище, через семь дней и усекает информацию в document.referrer до TLD + 1 в запросах на отслеживание доменов.

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

Вывод

Если было интересно узнать о предотвращении слежения и его истории. Поскольку сторонние файлы cookie были (и остаются) широко распространенными и имеют некоторые полезные, добросовестные приложения, похоже, что браузеры изначально не решались полностью их заблокировать. Однако, несмотря на благие намерения, похоже, произошло обратное. Ограничения, накладываемые на сторонние файлы cookie, серьезно ограничивают их полезность, в то время как «злоумышленники» находят способы обойти все, что не является полной блокировкой. Сейчас мы стремительно движемся к полной блокировке.

Я написал эту историю в контексте настройки Snowplow для отслеживания пользователей на нескольких доменах. Хотя ITP предназначен для предотвращения междоменного отслеживания, он также влияет на то, как вы должны настроить отслеживание одного домена. Вскоре я опубликую статью о том, как настроить отслеживание с минимальным влиянием ITP, поэтому обязательно подписывайтесь на меня, если не хотите пропустить!

Я работаю в Data Minded, независимой консалтинговой компании по разработке и анализу данных, расположенной в Лёвене, Бельгия. Если вам нужна помощь в настройке трекеров, смело обращайтесь к нам!