Chromium 148: Math.tanh стал новым инструментом фингерпринтинга ОС
Исследователи обнаружили, что начиная с версии Chromium 148 встроенная функция Math.tanh в JavaScript выдаёт незначительно отличающиеся числовые результаты в зависимости от операционной системы, на которой запущен браузер.
Это расхождение возникает из-за различий в реализации математических вычислений на уровне системных библиотек и компилятора, используемых при сборке Chromium под разные платформы. В результате один и тот же код, вычисляющий Math.tanh для одинаковых входных значений, может возвращать разные значения в младших битах мантиссы числа с плавающей точкой на Windows, macOS и Linux.
Такая особенность делает Math.tanh пригодной для фингерпринтинга — определения операционной системы посетителя сайта без использования традиционных методов, таких как заголовок User-Agent или API navigator.platform. Поскольку значение возвращается обычной математической функцией, а не через явно идентифицирующий интерфейс, подобный способ сложнее обнаружить и заблокировать стандартными средствами защиты от трекинга.
Публикация вызвала широкое обсуждение на Hacker News, где материал набрал 220 голосов и 109 комментариев. Пользователи отмечают, что подобные побочные эффекты реализации базовых функций браузера регулярно становятся источником новых техник фингерпринтинга, поскольку разработчики браузеров редко рассматривают математические функции как потенциальный канал утечки информации.
Случай демонстрирует общую проблему современных браузерных движков: даже стандартизированные, на первый взгляд детерминированные операции могут содержать платформенно-зависимые особенности, если их реализация опирается на системные библиотеки. Это создаёт дополнительные сложности для разработчиков средств защиты приватности, которым приходится учитывать всё более широкий круг потенциальных источников идентификации пользователей.
Подробности механизма и примеры кода приведены в исходной публикации.
Источник: Hacker News
Комментарии
Войдите, чтобы комментировать.