30% из тысячи крупнейших сайтов используют скрипты для скрытой идентификации
27 августа 2020 года
Группа исследователей из Mozilla, Айовского университета и Калифорнийского университета опубликовала итоги изучения применения на сайтах кода для скрытой идентификации пользователей. Под скрытой идентификации понимается генерация идентификаторов на основе косвенных данных о работе браузера, таких как разрешение экрана, список поддерживаемых MIME-типов, специфичные параметры в заголовках (HTTP/2 и HTTPS), анализ установленных плагинов и шрифтов, доступность определённых Web API, специфичные для видеокарт особенности отрисовки при помощи WebGL и Canvas, манипуляции с CSS, учёт значений по умолчанию, сканирование сетевых портов, анализ особенностей работы с мышью и клавиатурой.
Изучение 100 тысяч самых популярных сайтов по рейтингу Alexa показало, что на 9040 из них (10.18%) применяется код для скрытой идентификации посетителей. При этом если рассматривать тысячу самых популярных сайтов, то подобный код был выявлен в 30.60% случаев (266 сайтов), а среди сайтов, занимающих в рейтинге места с тысячного по десятитысячное, в 24.45% случаев (2010 сайтов). В основном скрытая идентификация применяется в скриптах, предоставляемых внешними сервисами для борьбы с мошенничеством и отсеиванием ботов, а также рекламными сетями и системами отслеживания перемещения пользователей.
Для выявления кода, осуществляющего скрытую идентификацию, был разработан инструментарий FP-Inspector, код которого предложен под лицензией MIT. В инструментарии используются методы машинного обучения в сочетании со статическим и динамическим анализом кода JavaScript. Утверждается, что применение машинного обучения позволило заметно повысить точность выявления кода для скрытой идентификации и выявить на 26% больше проблемных скриптовпо сравнению с заданной вручную эвристикой.
Многие из выявленных скриптов идентификации отсутствовали в типовых списках блокировки Disconnect, Adsafe (Архивная копия от 4 декабря 2011 на Wayback Machine), DuckDuckGo, Justuno и EasyPrivacy.После отправки уведомления разработчиками списка блокировки EasyPrivacy был создан отдельный раздел для скриптов скрытой идентификации. Кроме того, FP-Inspector позволил выявить некоторые новые способы использования Web API для идентификации, которые ранее не встречались на практике.
Например, было выявлено использование для идентификации информации о раскладке клавиатуры (getLayoutMap), остаточных данных в кэше (при помощи API Performance анализируются задержки при отдаче данных, что позволяет определить обращался ли пользователь к определённому домену или нет, а также открывалась ли ранее страница), выставленных в браузере полномочий (информация о доступе к Notification, Geolocation и Camera API), наличии специализированных периферийных устройств и редких датчиков (геймпады, шлемы виртуальной реальности, сенсоры приближения). Кроме того, зафиксирован учёт при идентификации наличия специализированных для определённых браузеров API и различий поведения API (AudioWorklet, setTimeout, mozRTCSessionDescription), а также использование API AudioContext для определения особенностей звуковой системы.
В ходе исследования также был изучен вопрос нарушения штатной функциональности сайтов в случае применения методов защиты от скрытой идентификации, приводящих к блокированию сетевых запросов или ограничению доступа к API. Было показано, что выборочное ограничение API только для скриптов, выявленных FP-Inspector, приводит к меньшим нарушениям в работе, чем при использовании в Brave и Tor Browser более жёстких общих общих ограничений вызовов API, потенциально приводящих к утечке данных.
Источники
правитьЛюбой участник может оформить статью: добавить иллюстрации, викифицировать, заполнить шаблоны и добавить категории.
Любой редактор может снять этот шаблон после оформления и проверки.
Комментарии
Если вы хотите сообщить о проблеме в статье (например, фактическая ошибка и т. д.), пожалуйста, используйте обычную страницу обсуждения.
Комментарии на этой странице могут не соответствовать политике нейтральной точки зрения, однако, пожалуйста, придерживайтесь темы и попытайтесь избежать брани, оскорбительных или подстрекательных комментариев. Попробуйте написать такие комментарии, которые заставят задуматься, будут проницательными или спорными. Цивилизованная дискуссия и вежливый спор делают страницу комментариев дружелюбным местом. Пожалуйста, подумайте об этом.
Несколько советов по оформлению реплик:
- Новые темы начинайте, пожалуйста, снизу.
- Используйте символ звёздочки «*» в начале строки для начала новой темы. Далее пишите свой текст.
- Для ответа в начале строки укажите на одну звёздочку больше, чем в предыдущей реплике.
- Пожалуйста, подписывайте все свои сообщения, используя четыре тильды (~~~~). При предварительном просмотре и сохранении они будут автоматически заменены на ваше имя и дату.
Обращаем ваше внимание, что комментарии не предназначены для размещения ссылок на внешние ресурсы не по теме статьи, которые могут быть удалены или скрыты любым участником. Тем не менее, на странице комментариев вы можете сообщить о статьях в СМИ, которые ссылаются на эту заметку, а также о её обсуждении на сторонних ресурсах.