Favicon позволяют web-сайтам отслеживать пользователя и обходить VPN, режим инкогнито и другие распространенные методы сокрытия браузинга.

Немецкий разработчик ПО Йонас Штреле (Jonas Strehle) опубликовал на GitHub реализацию новой техники привязки идентификатора к определенному экземпляру браузера. Метод основан на особенностях обработки изображений Favicon, для чего используется отдельный кеш, выступающий в роли Supercookie.

Favicon используются практически на всех сайтах — когда у пользователя открыто большое количество вкладок, маленький значок в начале каждой вкладки браузера представляет собой логотип для открытого окна. Однако, по словам исследователя, данные значки также могут представлять собой уязвимость, которая позволяет web-сайтам отслеживать пользователя и обходить VPN, режим инкогнито и другие распространенные методы сокрытия интернет-активности.

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

Подобные данные позволяют web-серверу узнать информацию о своем посетителе. По словам Штрела, комбинируя состояние доставленных и не доставленных значков для определенных URL-адресов браузера, клиенту может быть присвоен уникальный шаблон (идентификационный номер). Когда web-сайт перезагружается, web-сервер может восстановить идентификационный номер с помощью сетевых запросов, отправленных клиентом для отсутствующих значков, и таким образом идентифицировать браузер.

Источник: securitylab