1. Историческая роль Silverlight в идентификации браузера
Silverlight (браузерный плагин Microsoft, аналогичный Adobe Flash) применялся при идентификации браузеров периодически с 2007 по 2020 год, в основном через:
Перечисление
navigator.plugins
Браузеры предоставляли список установленных плагинов (например,Silverlight Plug-In 5.1.50918.0
), позволяя сценариям определять наличие или версию — это был вектор идентификации с высоким уровнем энтропии.Обнаружение ActiveX (только для IE) Устаревший Internet Explorer позволял использовать
new ActiveXObject('AgControl.AgControl')
, раскрывая специфические для системы интерфейсы.Проверка MIME-типов Даже неактивные плагины можно было обнаружить через
navigator.mimeTypes['application/x-silverlight-2']
.Артефакты рендеринга Графическая подсистема Silverlight (например, сглаживание шрифтов) приводила к измеримым отклонениям в выводе Canvas/WebGL.
2. Почему Silverlight больше не используется в современной идентификации браузеров
Техническое устаревание:
- Удаление NPAPI: Chrome (2015), Firefox (2017) и Edge прекратили поддержку NPAPI. Плагины вроде Silverlight и Java больше не загружаются.
- Нейтрализация API:
navigator.plugins
возвращает пустой/фиксированный массив.navigator.mimeTypes
заблокирован.- ActiveX теперь работает только в специальном режиме IE (Enterprise Mode), который по умолчанию отключён.
Безопасность и актуальность:
- Уязвимости, не исправленные обновлениями: Последнее обновление Silverlight (v5.1, 2019 год) оставило такие серьёзные уязвимости, как CVE-2016-0034, без исправления.
- Минимальная ценность в качестве идентификатора: По данным StatCounter, у 99.8% пользователей нет Silverlight, и поэтому использование его в идентификации не даёт значимой энтропии.
Рекомендуемое Чтение