5 миллисекунд на деанон. Новый инструмент Adbleed видит тебя даже через Tor
NewsMakerКак рекламные фильтры деанонимизируют пользователей.
Исследователь представил PoC-инструмент Adbleed , который показывает неожиданный способ частично «деанонимизировать» пользователей VPN. Идея в том, что VPN действительно скрывает реальный IP-адрес и подменяет геолокацию на сторону выбранного сервера, но не меняет то, какие правила блокировки рекламы применяет ваш браузер. А эти правила часто зависят от страны и языка.
Большинство блокировщиков рекламы работают на фильтр-листах : это большие текстовые списки правил, которые запрещают загрузку доменов, элементов страниц и трекеров. Базовые списки вроде EasyList рассчитаны на англоязычную рекламу и крупные международные сети, но для многих стран пользователи (или сам блокировщик) дополнительно включают локальные фильтры. Например, в Германии может быть активен EasyList Germany, во Франции - Liste FR. В таких списках много доменов, которых нет в базовом наборе, и именно эта разница превращается в отпечаток, по которому можно угадывать страну проживания или язык, даже если весь трафик уходит через VPN-выход в другом государстве.
Adbleed определяет активные локальные списки полностью на стороне клиента, через JavaScript в браузере. Трюк основан на времени отказа: скрипт пытается загрузить крошечный ресурс вроде favicon с домена, который блокируется только конкретным «страневым» списком. Если блокировщик перехватывает запрос, ошибка возникает почти мгновенно, до попадания в сетевой стек, обычно быстрее 5 мс. Если блокировки нет, запрос реально уходит в сеть, и даже простой DNS-поиск при несуществующем домене добавляет десятки или сотни миллисекунд. Это отличие по задержке и становится сигналом.
Для каждой страны автор проверяет 30 доменов и делает вывод о включенном локальном списке, если заблокированными оказываются минимум 20 из 30. Порог выбран специально высоким, чтобы снизить ложные срабатывания: разные браузеры и расширения поставляются с разными наборами базовых фильтров, и часть доменов может блокироваться «случайно» пересечением списков. В реальном же случае с активным локальным фильтром результат обычно близок к 25-30 из 30.
Исследователь представил PoC-инструмент Adbleed , который показывает неожиданный способ частично «деанонимизировать» пользователей VPN. Идея в том, что VPN действительно скрывает реальный IP-адрес и подменяет геолокацию на сторону выбранного сервера, но не меняет то, какие правила блокировки рекламы применяет ваш браузер. А эти правила часто зависят от страны и языка.
Большинство блокировщиков рекламы работают на фильтр-листах : это большие текстовые списки правил, которые запрещают загрузку доменов, элементов страниц и трекеров. Базовые списки вроде EasyList рассчитаны на англоязычную рекламу и крупные международные сети, но для многих стран пользователи (или сам блокировщик) дополнительно включают локальные фильтры. Например, в Германии может быть активен EasyList Germany, во Франции - Liste FR. В таких списках много доменов, которых нет в базовом наборе, и именно эта разница превращается в отпечаток, по которому можно угадывать страну проживания или язык, даже если весь трафик уходит через VPN-выход в другом государстве.
Adbleed определяет активные локальные списки полностью на стороне клиента, через JavaScript в браузере. Трюк основан на времени отказа: скрипт пытается загрузить крошечный ресурс вроде favicon с домена, который блокируется только конкретным «страневым» списком. Если блокировщик перехватывает запрос, ошибка возникает почти мгновенно, до попадания в сетевой стек, обычно быстрее 5 мс. Если блокировки нет, запрос реально уходит в сеть, и даже простой DNS-поиск при несуществующем домене добавляет десятки или сотни миллисекунд. Это отличие по задержке и становится сигналом.
Для каждой страны автор проверяет 30 доменов и делает вывод о включенном локальном списке, если заблокированными оказываются минимум 20 из 30. Порог выбран специально высоким, чтобы снизить ложные срабатывания: разные браузеры и расширения поставляются с разными наборами базовых фильтров, и часть доменов может блокироваться «случайно» пересечением списков. В реальном же случае с активным локальным фильтром результат обычно близок к 25-30 из 30.