Метод идентификации браузера через манипуляции с кэшированием Favicon

8 февраля 2021 года

Опубликована реализация новой техники идентификации конкретного экземпляра браузера. Метод основывается на особенностях обработки изображений Favicon, при помощи которых сайт определяет пиктограммы, отображаемые в закладках, вкладках и прочих элементах интерфейса браузера. В качестве области хранения используется кэш Favicon, который выступает в роли "Supercookies".

Изображения Favicon сохраняются браузерами в отдельном кэше, который не пересекается с другими кэшами, является общим для всех режимов работы и не очищается штатными средствами очистки кэша и истории посещений. Данная особенность позволяет использовать идентификатор даже при работе в режиме инкогнито и затрудняет его удаление. На идентификацию с использованием предложенного метода также не влияет применение VPN и дополнений для блокировки рекламы.

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

Чем больше редиректов в цепочке, тем больше идентификаторов можно определить (число идентификаторов определяется по формуле 2^N, где N - число редиректов). Например, в два редиректа могут адресовать 4 пользователей, 3 - 8, 4 - 16, 10 - 1024, 24 - 16 млн, 32 - 4 миллиарда. Недостатком метода являются большие задержки - чем выше точность, тем больше времени требуется на редиректы перед открытием страницы. 32 редиректа позволяют сгенерировать идентификаторы для всех пользователей интернета, но приводят к возникновению задержки примерно в 6 секунды при первом входе и 3 секунды при последующих. Для миллиона идентификаторов задержка составляет около 3 секунд при первом входе и 1.5 секунд при последующих.

Метод подразумевает работу в двух режимах - записи и чтения. Режим записи осуществляет генерацию и сохранение идентификатора для пользователя впервые обратившегося к сайту. Режим чтения осуществляется чтение ранее сохранённого идентификатора. Выбор режима зависит от запроса файла Favicon для основной страницы сайта - если картинка запрошена, значит данные не прокэширования и можно предположить, что пользователь не обращался к сайту ранее. По данным исследователей, через указание HTTP-заголовка Cache-Control можно добиться нахождения Favicon в кэше сроком до одного года.

В режиме чтения при открытии сайта пользователь по цепочке перенаправляется на предопределённые страницы со своими Favicon (например, "demo.supercookie.me/t/50fd23e6:9bpZVrAwOmieUkMPkAeG"), а HTTP-сервер анализирует, какие из Favicon запрошены с сервера, а какие показаны без обращения к серверу из кэша. Наличие запроса кодируется как "0", а отсутствие, как "1". Для того, чтобы идентификатор сохранился и при будущих обращениях, в ответ на запросы Favicon выводится 404 код ошибки.

В режиме записи в цикле редиректов для страниц, кодирующих "1", выдаётся ответ с Favicon, оседающий в кэше браузера (при повторном прохождении цикла данные Favicon будут отдаваться из кэша, без обращения к серверу), а для страниц кодирующих "0" - 404 код ошибки (при повторном цикле редиректа данные страницы будут запрошены вновь).

Метод применим в Chrome, Safari, Edge и частично в Firefox. В Firefox для Linux использованию Favicon в качестве Supercookies мешает особенность, из-за которой браузер вообще не кэширует Favicon. Интересно, что авторы метода идентификации уведомили разработчиков Firefox о данной особенности около года назад, указав на наличие ошибки в работе кэша, но не упомянув о своей работе и о том, что исправление приведёт к возможности идентификации пользователей. Дополнительно можно напомнить, что начиная с Firefox 85 в браузер добавлен режим сегментирования сети (Network Partitioning), позволяющий блокировать методы отслеживания перемещений, манипулирующие извлечением информации из различных браузерных кэшей.

Источники

править


 
 
Creative Commons
Эта статья содержит материалы из статьи «Метод идентификации браузера через манипуляции с кэшированием Favicon», опубликованной OpenNET и распространяющейся на условиях лицензии Creative Commons Attribution (CC BY) — указание автора, источник и лицензию.
 
Эта статья загружена автоматически ботом NewsBots и ещё не проверялась редакторами Викиновостей.
Любой участник может оформить статью: добавить иллюстрации, викифицировать, заполнить шаблоны и добавить категории.
Любой редактор может снять этот шаблон после оформления и проверки.

Комментарии

Викиновости и Wikimedia Foundation не несут ответственности за любые материалы и точки зрения, находящиеся на странице и в разделе комментариев.