Поймать всех: AdGuard перерыл всю сеть в поисках скрытых трекеров
С распространением блокировки контента большинство инструментов трекинга стали довольно бесполезными. Но в условиях, когда рынок всё больше движется в направлении массового сбора данных, наблюдается тенденция к тому, чтобы отодвинуть трекинг как можно дальше. Некоторые действуют неприкрыто, а другие ищут более изобретательные способы сбора данных о пользователях.
Один из более тонких методов — CNAME. Запись CNAME (сокращение от 'Canonical Name', то есть «каноническое имя») — это тип DNS-записи, которая преобразовывает одно доменное имя (псевдоним) в другое (каноническое имя), вместо того чтобы преобразовать домен в IP-адрес. Эта функция используется на множестве сайтов для создания уникальных поддоменов для различных служб вроде почты, поиска и т.д. Обычно поддоменам доверяют так же, как и основному домену для их беспрепятственного взаимодействия.
Трекинг замаскированного CNAME использует эту механику в своих целях и создаёт гораздо больше проблем, чем просто нежелательный сбор данных.
Используя запись CNAME, внешний отслеживающий сервер может замаскироваться под поддомен сайта, которому доверяет браузер, и файлы cookie для отслеживания будут приняты браузером как свои. Что ещё хуже, это работает и наоборот: cookie, предназначенные для первичного домена, могут быть переданы скрытому трекеру. Третья сторона может получить любые данные, от имени пользователя и его контактной информации до cookie для аутентификации пользователя, которые используются для определения его сессии и позволяют ему оставаться залогиненным в системе.
Согласно недавнему исследованию Яны Димовой (Yana Dimova), Гюнес Акар (Gunes Acar), Воутера Джусена (Wouter Joosen), Тома ван Гётема (Tom Van Goethem) и Лукаша Олейника (Lukasz Olejnik), утечки cookie происходят на 95% сайтов, которые используют такие трекеры. В работе подчёркивается, что замаскированный трекинг CNAME одурачивает базовые инструменты веб-безопасности и может привести к серьёзным нарушениям безопасности и конфиденциальности.
Сами браузеры не могут защитить пользователей от замаскированного трекинга CNAME. Но блокировщики контента вполне способны с этим справиться: AdGuard, AdGuard DNS и uBO на Mozilla Firefox уже умеют блокировать такие «скрытые трекеры». Тем не менее, из-за ограничений в Chrome, Chromium и Safari, регулярные расширения не могут динамически преобразовывать имена хостов и удалять трекеры. Они ограничены списками фильтров, и трудно представить, чтобы кто-то перерыл всю сеть в поисках замаскированных трекеров CNAME, чтобы составить «совершенный» полный список фильтров.
Но подождите-ка, ведь именно это мы и сделали. Благодаря нашему собственному DNS-серверу и независимым инструментам блокировки контента в браузере мы начали сезон охоты на охотников (или скорее слежки за трекерами), вычислили их и заблокировали. А теперь мы сделали полный список всех известных замаскированных трекеров CNAME публично доступным — он входит в Фильтр счётчиков и системы аналитики. На данный момент, это наиболее полный автоматически обновляющийся репозиторий активно используемых скрытых трекеров, он состоит из более чем 6000 элементов. Мы будет обновлять его на регулярной основе, добавляя новые трекеры, как только они обнаруживаются. Мы опубликовали список на GitHub, чтобы другие блокировщики контента могли его использовать. EasyPrivacy уже добавил список в свой арсенал, а значит, приложенные нами усилия того стоили.
Означает ли это, что с замаскированным трекингом CNAME покончено раз и навсегда? Увы, нет. Мы планируем поддерживать список фильтров в актуальном состоянии, но количество скрытых трекеров постоянно растёт, а значит, что количество правил блокировки также будет увеличиваться. Проблема в том, что Safari и Chrome в их погоне за тотальным контролем над блокировкой контента ограничивают количество правил блокировки до 50 000 и 150 000 (как и планировалось в манифесте V3) соответственно. Даже сегодня мы видим, что 50 000 правил Safari едва достаточно, чтобы защитить себя от рекламы, трекеров и угроз, скрытых в сети. Однажды этого количества станет недостаточно, чтобы защитить пользователей от реальных угроз, и этот день ближе, чем вы думаете.