1. Что такое PWA в контексте отпечатка браузера
Progressive Web Apps (PWA) — это веб-приложения, которые используют современные возможности веба для предоставления пользователю опыта, похожего на мобильные приложения. Хотя спецификация PWA изначально разрабатывалась для повышения удобства использования и обеспечения доступа в оффлайне, она также добавляет ряд сигналов в браузере, которые могут использоваться при создании отпечатков.
Индикаторы отпечатков, связанные с PWA, могут включать:
- Работает ли сайт в автономном режиме (
matchMedia('(display-mode: standalone)').matches
) - Поддержка service worker и поведения кэширования
- Данные манифеста приложения (
/manifest.json
) - Статус установки PWA и доступ к API, специфичным для приложений:
navigator.setAppBadge()
navigator.getInstalledRelatedApps()
- Баннеры и подсказки об установке приложения
- Поведение в оффлайн-режиме и согласованность кэширования (например,
localStorage
,IndexedDB
)
Хотя это часто игнорируется, наличие или отсутствие определённых признаков PWA вместе с индикаторами его установки позволяет уникально идентифицировать сессию пользователя или экземпляр браузера. Более продвинутые платформы теперь используют отпечатки PWA для обнаружения подделки сессий в многопользовательских средах.
2. Как платформы обнаруживают отпечатки PWA
Методы отпечатков PWA в первую очередь основаны на возможностях веб-приложений и на том, как браузер взаимодействует с баннерами установки и service worker. Некоторые ключевые методы обнаружения включают:
- Определение режима отображения: Считывая
window.matchMedia('(display-mode: standalone)').matches
, скрипты отслеживания могут понять, как пользователь взаимодействует с приложением — поведение может отличаться в зависимости от установленного состояния. - API для установки значков и уведомлений: Проверка доступа к
navigator.setAppBadge()
или push-уведомлениям позволяет определить, установлено ли приложение и используется ли оно активно. - Доступ и кэширование манифеста: Платформы могут проверять, корректно ли кэшируются ресурсы, загружается ли приложение из манифеста или ведет себя как установленное приложение.
- Отслеживание баннеров и подсказок об установке: Наблюдение за тем, подавляются ли подсказки об установке, закрываются или принимаются, может выявить следы автоматизации или подделки.
- Жизненный цикл service worker: Системы отслеживания могут оценивать метки времени регистрации или обновления workers, а также обработку сообщений, чтобы обнаруживать аномальные сценарии использования браузера.
В средах, где несколько учетных записей должны функционировать независимо, подобные сигналы необходимо изолировать для каждой сессии браузера по отдельности. В противном случае, наличие или отсутствие индикаторов установки могут сигнализировать системам слежения, что несколько сессий происходят с одного устройства.
3. Как FlashID обрабатывает отпечатки PWA
FlashID рассматривает возможности, связанные с PWA, как изолируемые компоненты браузера, гарантируя, что каждый профиль действует, словно это — совершенно отдельное уникальное устройство с точки зрения установки и обращения со service worker.
Рекомендуемое Чтение