1. Что представляют собой CSS-функции в цифровом отпечатке

Браузеры предоставляют множество API и возможностей, связанных с CSS, которые можно использовать для идентификации или снятия цифрового отпечатка браузерной среды. К ним относятся:

  • CSS.supports(property, value): Проверяет, поддерживает ли браузер определенное CSS-свойство или значение.
  • document.styleSheets: Перечисляет все загруженные таблицы стилей, что может выявить установленные расширения или пользовательский CSS.
  • Запросы особенностей CSS: Платформы могут обнаруживать поддержку современных модулей, таких как @supports, CSS Grid, Flexbox, API Houdini и других.
  • Пользовательские свойства и значения CSS: Некоторые скрипты измеряют реакцию на определенные правила @property или оценивают CSS.registerProperty().
  • Ориентация экрана, медиазапросы и prefers-color-scheme: Все они могут влиять на возможности CSS и часто используются для обогащения цифрового отпечатка.

В совокупности эти “CSS-отпечатки” формируют профиль того, какой браузер и устройство вы используете.


2. Как платформы обнаруживают CSS-отпечатки

CSS-отпечатки собираются незаметно во время обычного отображения сайта или через скриптовые тесты. Методы обнаружения включают:

  1. Перечисление поддерживаемых функций: Скрипты проверяют CSS.supports() в циклах или используют парсинг стилей для оценки Grid, Flexbox, backdrop-filter или поведения макета пользовательских элементов.
  2. Проверка таблиц стилей: Анализируя все загруженные таблицы стилей, сборщики отпечатков могут обнаружить внедренный или измененный CSS, иногда связанный с инструментами автоматизации или обходом CSP.
  3. Изменения макета на основе шрифтов: Платформы могут наблюдать, как пользовательские шрифты или стили текста влияют на отображение, и измерять это через DOMRect или boundingRect API.
  4. Динамическая отрисовка элементов: Использование boundingClientRect, scrollIntoView или window.getComputedStyle() для оценки реакции элементов при разных макетах может дать подсказки об инструментах.
  5. Экспорт CSS Houdini: Браузеры, которые предоставляют API, такие как CSS.paintWorklet или CSS.animationWorklet, помечаются с высокой точностью — особенно при обнаружении финансовых или безголовых браузеров.

CSS-функции особенно эффективны для различения реальных профилей просмотра людей и инженерных поддельных сред, что делает их ключевой целью современных систем борьбы с мультиаккаунтами или ботами.


3. Как FlashID маскирует CSS-функции

FlashID использует надежный и модульный подход к контролю CSS-отпечатков, позволяя:

  1. Подменять поведение CSS.supports(): Мы перехватываем и перезаписываем ответы о возможностях CSS, чтобы отражать согласованный, заданный пользователем профиль браузера.
  2. Изолированные среды таблиц стилей: FlashID гарантирует, что содержимое document.styleSheets специфично для каждого экземпляра браузера и может обрезаться для предотвращения утечек, таких как обнаружение внедрения стилей.
  3. Согласованность отрисовки шрифтов: Мы сохраняем специфичные для профиля CSS-значения, обеспечивая стабильность вычисляемых стилей, связанных со шрифтами, отступами и преобразованиями, между сеансами.
  4. Настройка поведения макета: Выбор макета CSS, такой как display: grid, правила flex или пользовательский парсинг значений, точно имитируется для сохранения реалистичности браузера.
  5. Маскировка поддержки Paint Worklet: FlashID может имитировать или подавлять продвинутые API CSS Houdini, такие как paintWorklet, усложняя обнаружение.
  6. Адаптивное поведение с учетом профиля: Медиазапросы, prefers-color-scheme и стили, связанные с экраном, адаптируются в соответствии с остальной частью профиля браузера.

Благодаря этим высокоуровневым настройкам, FlashID гарантирует, что CSS-отпечатки не выдают идентичность браузера, и каждый профиль ведет себя так, как если бы он работал на уникальном, изолированном устройстве.


Рекомендуемое Чтение

Run multiple accounts without bans and blocks
Скачать

Защита безопасности нескольких аккаунтов, начиная с FlashID

С помощью нашей технологии отпечатков пальцев оставайтесь незаметными.

Защита безопасности нескольких аккаунтов, начиная с FlashID