Исследователь, известный под ником z0ccc, создал сайт Extension Fingerprints, который собирает данные об установленных расширениях для Google Chrome и на базе этих данных создает профиль пользователя. Затем такой профиль можно использовать для отслеживания человека в интернете.
Данный метод основан на том факте, что при создании расширения для Chrome можно объявить определенные ассеты ресурсами, доступными через интернет, и к ним смогут получить доступ веб-страницы или другие расширения. Обычно такие ресурсы представляют собой файлы изображений, которые используют web_accessible_resources, что значится в файле манифеста расширения.
Еще в 2019 году было опубликовано исследование, доказывавшее, что такие доступные через интернет ресурсы можно использовать для сбора данных об установленных расширениях и последующего фингерпринтинга браузера пользователя.
Чтобы предотвратить подобное, некоторые расширения применяют секретный токен, который требуют для доступа к веб-ресурсу. Однако z0ccc обнаружил метод, который все равно позволяет собирать информацию об установленных расширениях.
«Извлечение ресурсов защищенных расширений занимает больше времени, чем извлечении ресурсов неустановленных расширений. Сравнив разницу во времени, можно точно определить, установлены ли у пользователя защищенные расширения», — объясняет исследователь.
Хотя некоторые расширения, такие как MetaMask, не предоставляют вообще никаких ресурсов, z0ccc пишет, что все равно можно определить, установлены ли они, проверив typeof window.ethereum и является ли он undefined.
Чтобы проиллюстрировать работу своего метода, z0ccc создал вышеупомянутый сайт, который проверяет браузер посетителя на наличие доступных ресурсов для 1170 популярных расширений из Google Chrome Web Store (включая такие популярные решения, как uBlock, LastPass, Adobe Acrobat, Honey, Grammarly, Rakuten и ColorZilla).
На основе собранной статистики сайт генерирует хэш, который затем можно использовать для отслеживания конкретного браузера.
Хотя z0ccc не собирает никаких данных об установленных расширениях, его тесты показали, что uBlock является наиболее распространенным расширением, а наиболее популярным вариантом вообще оказалось полное отсутствие каких-либо установленных расширений.
Издание Bleeping Computer отмечает, что установка трех-четырех расширений снижает процент пользователей с похожим набором до 0,006%. То есть, чем больше установленных расширений, тем меньший процент людей будет иметь похожие комбинации. Z0ccc отмечает, что результат 0,006% свидетельствует о том, что это единственный пользователь с такой комбинацией расширений. Хотя проценты будут меняться мере того, как больше людей будет посещать сайт.
«Наличие 3+ обнаруживаемых расширений, похоже, всегда делает ваш профиль весьма уникальным», — предупреждает исследователь.
Исходники проекта Extension Fingerprints доступны на GitHub.