Carding Forum
Professional
- Messages
- 2,788
- Reaction score
- 1,176
- Points
- 113
1. Оглавление. Список заголовков, который не режет глаза.
2. User agent - Информация о браузере и ОС
3. Screen dimensions - Размеры экрана
4. Browser language - Язык браузера
5. Time zone - Часовой пояс
6. List of installed fonts - Установленные шрифты
7. WebGL renderer and vendor - Идентификатор видеокарты
8. Available GPUs - Доступные видеокарты
9. Plugins - Установленные плагины
10. Cookies enabled - Разрешены cookie
11. Local storage - Наличие и объем локального хранилища
12. Touch support - Поддержка мультитач
13. Hybrid/tablet mode - Режим работы ПК и планшета
14. Canvas fingerprinting - Информация через <canvas>
15. WebGL fingerprinting - Информация через WebGL API
16. JavaScript enabled - Разрешен JavaScript
17. AdBlock installed - Установлен AdBlock
18. Information about audio and video codecs - Информация об аудио и видео кодеках
19. Battery status and level - Заряд батареи и уровень
20. Connection type and speed - Тип и скорость соединения
21. System fonts - Системные шрифты
22. Writing direction - Направление письма (СПАН или АРАБ)
23. Do not track setting - Настройка «Не отслеживать»
24. Information about bandwidth estimation - Информация об оценке пропускной способности
25. Network interface information - Информация о сетевом интерфейсе
26. List of installed applications - Список установленных приложений
27. Hybrid app detection - Определение, работает ли устройство в режиме гибридного приложения.
28. Device memory - Объем оперативной памяти устройства.
29. Permissions access - Доступ к разрешениям
30. Hardware concurrency - Число вычислительных ядер процессора
31. Device sensor information - данные о датчиках
32. User agent - Информация о браузере и ОС. Скрипт получает информацию о браузере пользователя и его версии через специальную строку - user agent. Она передается с каждым HTTP запросом на сервер. Также получается информация об операционной системе, на которой работает браузер. Это может включать в себя:
33. Screen dimensions - Размеры экрана. Используя API window.screen, получаются такие характеристики экрана как:
34. Browser language - Язык браузераСкрипт определяет язык настроек браузера пользователя. Для этого используется целевой язык HTTP-запросов.
35. Time zone - Часовой поясСкрипт определяет часовой пояс, установленный на устройстве клиента. Для этого он анализирует временную метку HTTP-запросов.
Часовой пояс включает в себя:
36. List of installed fonts - Установленные шрифты. Скрипт получает список всех шрифтов, доступных на устройстве клиента. Для этого он использует API CSS @font-face.
В результате получается:
37. WebGL renderer and vendor - Идентификатор видеокарты. С помощью WebGL- и OpenGL-API скрипт получает информацию о видеоадаптерах устройства:
38. Available GPUs - Доступные видеокарты. Скрипт получает список всех графических процессоров, доступных на устройстве клиента. Для этого используется WebGL- и OpenGL-API.
В результате становится известно:
39. Plugins - Установленные плагины. Скрипт получает список всех плагинов, установленных в браузере пользователя. Для этого используется JavaScript API navigator.plugins.
Он возвращает:
40. Cookies enabled - Разрешены cookieСкрипт проверяет, разрешено ли использование HTTP cookie на устройстве клиента. Для этого он пытается установить временное cookie и проверяет, было ли оно успешно сохранено.
41. Local storage - Наличие и объем локального хранилища. Скрипт проверяет наличие API localStorage и sessionStorage на устройстве клиента. Это означает, что есть возможность использовать локальное хранилище браузера.
42. Touch support - Поддержка мультитач. Скрипт проверяет, поддерживает ли устройство клиента ввод с мультиприкосновенного экрана.
43. Hybrid/tablet mode - Режим работы ПК и планшета. Скрипт проверяет, может ли устройство клиента работать как в горизонтальном, так и в вертикальном режимах.
44. Canvas fingerprinting - Информация через <canvas>Скрипт получает информацию о устройстве путем рисования графики и текста на <canvas> элементе.
Затем он анализирует полученное изображение и извлекает следующие данные:
45. WebGL fingerprinting - Информация через WebGL APIСкрипт получает информацию о устройстве, используя WebGL - API для 3D-графики в браузере.
Он анализирует характеристики полученных 3D-объектов, включая:
46. JavaScript enabled - Разрешен JavaScriptСкрипт проверяет, разрешено ли использовать JavaScript на странице.
47. AdBlock installed - Установлен AdBlockСкрипт проверяет, установлен ли на устройстве блокировщик рекламы, такой как AdBlock, uBlock Origin и другие.
Для этого используются различные тесты:
48. Information about audio and video codecs - Информация об аудио и видео кодеках. Скрипт получает информацию о кодеках, поддерживаемых устройством клиента. Для этого использует API:
49. Battery status and level - Заряд батареи и уровень. С помощью API Navigator.battery скрипт получает следующие сведения о батарее устройства:
50. Connection type and speed - Тип и скорость соединения. С помощью API navigator.connection скрипт получает следующие сведения о соединении:
51. System fonts - Системные шрифты. Скрипт получает список всех системных шрифтов, доступных на устройстве клиента. Для этого использует API @font-face.
Это включает в себя:
52. Writing direction - Направление письма (СПАН или АРАБ)Скрипт определяет, направлено ли текст с левого на правый край или с правого на левый. Для этого анализирует HTML- или CSS-атрибуты.
Это нужно, чтобы отличить:
53. Do not track setting - Настройка «Не отслеживать». Скрипт проверяет, включена ли на устройстве настройка "Не отслеживать", которая призвана блокировать отслеживание пользователя.
54. Information about bandwidth estimation - Информация об оценке пропускной способности. Скрипт оценивает пропускную способность канала связи устройства клиента. Для этого использует несколько методов:
55. Network interface information - Информация о сетевом интерфейсе. С помощью API navigator.connection скрипт получает следующие сведения о сетевом интерфейсе устройства:
56. List of installed applications - Список установленных приложений. Скрипт получает список всех приложений, установленных на устройстве клиента.
57. Hybrid app detection - Определение, работает ли устройство в режиме гибридного приложения. Гибридные приложения позволяют работать как в веб-браузере, так и в качестве нативного приложения на устройстве.
Скрипт может определить, работает ли устройство клиента в режиме гибридного приложения. Для этого используются следующие признаки:
58. Device memory - Объем оперативной памяти устройства. Скрипт может определить количество оперативной памяти, установленной на устройстве клиента. Для этого используются различные способы:
59. Permissions access - Доступ к разрешениям. Скрипт может определить, какие разрешения были предоставлены данному приложению на устройстве клиента. Это касается разрешений:
60. Hardware concurrency - Число вычислительных ядер процессора. Скрипт может определить количество вычислительных ядер на процессоре устройства клиента. Это позволяет сделать выводы об его производительности. Для этого используются различные способы:
61. Device sensor information - данные о датчиках
• Акселерометр - измеряет ускорение устройства. Может использоваться для обнаружения движения или ориентации устройства.
• Гироскоп - измеряет угловую скорость устройства. Может использоваться для определения ориентации устройства.
• Магнитометр - измеряет магнитное поле вокруг устройства. Может использоваться как компас для определения азимута устройства.
• Барометр - измеряет атмосферное давление. Может использоваться для определения высоты устройства над уровнем моря.
• Светочувствительный датчик - измеряет освещенность окружающей среды. Может использоваться для автоматической регулировки яркости экрана.
• Датчик приближения - обнаруживает присутствие объектов путем излучения ультразвука и последующего приема эхо-сигналов. Используется для автоматического отключения экрана во время разговора.
2. User agent - Информация о браузере и ОС
3. Screen dimensions - Размеры экрана
4. Browser language - Язык браузера
5. Time zone - Часовой пояс
6. List of installed fonts - Установленные шрифты
7. WebGL renderer and vendor - Идентификатор видеокарты
8. Available GPUs - Доступные видеокарты
9. Plugins - Установленные плагины
10. Cookies enabled - Разрешены cookie
11. Local storage - Наличие и объем локального хранилища
12. Touch support - Поддержка мультитач
13. Hybrid/tablet mode - Режим работы ПК и планшета
14. Canvas fingerprinting - Информация через <canvas>
15. WebGL fingerprinting - Информация через WebGL API
16. JavaScript enabled - Разрешен JavaScript
17. AdBlock installed - Установлен AdBlock
18. Information about audio and video codecs - Информация об аудио и видео кодеках
19. Battery status and level - Заряд батареи и уровень
20. Connection type and speed - Тип и скорость соединения
21. System fonts - Системные шрифты
22. Writing direction - Направление письма (СПАН или АРАБ)
23. Do not track setting - Настройка «Не отслеживать»
24. Information about bandwidth estimation - Информация об оценке пропускной способности
25. Network interface information - Информация о сетевом интерфейсе
26. List of installed applications - Список установленных приложений
27. Hybrid app detection - Определение, работает ли устройство в режиме гибридного приложения.
28. Device memory - Объем оперативной памяти устройства.
29. Permissions access - Доступ к разрешениям
30. Hardware concurrency - Число вычислительных ядер процессора
31. Device sensor information - данные о датчиках
32. User agent - Информация о браузере и ОС. Скрипт получает информацию о браузере пользователя и его версии через специальную строку - user agent. Она передается с каждым HTTP запросом на сервер. Также получается информация об операционной системе, на которой работает браузер. Это может включать в себя:
- Имя ОС (Windows, macOS, iOS, Android и др.)
- Версию ОС
- Код языка ОС (en-US и др.)
- Браузер и его версия могут существенно различаться у разных людей. Это позволяет в первую очередь отличить одного пользователя от другого.
- Операционные системы также могут быть разными. Это дополнительно уточняет фингерпринт.
- Вся эта информация используется при создании уникального отпечатка устройства и его владельца.
33. Screen dimensions - Размеры экрана. Используя API window.screen, получаются такие характеристики экрана как:
- Ширина и высота в пикселях
- Соотношение сторон (например, 16:9)
- Количество доступных цветов
- Наличие цветовой гаммы sRGB
- Количество точек на дюйм (DPI)
- Эти параметры являются уникальными для большинства устройств.
- Размер экрана и плотность пикселей говорят о типе устройства - смартфон, планшет или ПК.
- Многие люди используют одно и то же устройство в течение длительного времени, так что эти характеристики остаются стабильными.
- Все параметры экрана учитываются при создании уникального фингерпринта. Они помогают определить тип устройства и отличить одного пользователя от другого.
34. Browser language - Язык браузераСкрипт определяет язык настроек браузера пользователя. Для этого используется целевой язык HTTP-запросов.
- Язык настроек браузера включает в себя:
- Язык интерфейса браузера
- Язык, на котором отображается веб-контент
- Раскладка клавиатуры
- Язык настроек часто соответствует родному языку пользователя. Поэтому это дает дополнительную информацию для идентификации.
- Даже если у пользователей одинаковые браузеры и ОС, их языковые настройки могут различаться.
- Язык настроек браузера является уникальным для большинства людей.
- Весь собранный скриптом набор факторов, в том числе язык настроек браузера, используется для создания уникального фингерпринта конкретного устройства и его владельца.
35. Time zone - Часовой поясСкрипт определяет часовой пояс, установленный на устройстве клиента. Для этого он анализирует временную метку HTTP-запросов.
Часовой пояс включает в себя:
- Смещение от GMT (например +05:00 для Москвы)
- Название часового пояса (Москва, Лондон и др.)
- Часовой пояс часто соответствует месту физического нахождения пользователя. Это позволяет лучше идентифицировать конкретного человека.
- Даже если у пользователей одинаковые устройства и настройки, их часовые пояса могут отличаться. Это является еще одним уникальным признаком.
- Часовой пояс также может указывать на привычки и образ жизни человека, например, среднее время сна.
- Вся полученная скриптом информация, включая часовой пояс, используется при создании уникального фингерпринта устройства и его владельца.
36. List of installed fonts - Установленные шрифты. Скрипт получает список всех шрифтов, доступных на устройстве клиента. Для этого он использует API CSS @font-face.
В результате получается:
- Названия установленных шрифтов
- Их начертание (normal, italic и др.)
- Семейства шрифтов
- Список доступных шрифтов часто бывает уникальным для конкретного устройства.
- Даже если у людей одинаковые ОС и настройки, установленные шрифты могут различаться. Это дополнительно уточняет фингерпринт.
- Наличие редких или малоизвестных шрифтов также может указывать на особенности устройства и его владельца.
- Весь собранный скриптом набор факторов, в том числе список установленных шрифтов, используется для создания уникального отпечатка.
37. WebGL renderer and vendor - Идентификатор видеокарты. С помощью WebGL- и OpenGL-API скрипт получает информацию о видеоадаптерах устройства:
- Имя видеочипа (например, Nvidia GeForce или AMD Radeon)
- Название производителя ОЗУ
- Версию драйверов
- Эта информация является уникальной для большинства компьютеров и мобильных устройств.
- Даже если у пользователей одинаковые ОС, видеокарты и чипсеты могут различаться.
- Наличие редких или старых видеочипов также может указывать на особенности устройства.
- Весь полученный скриптом набор факторов, включая информацию о видеоадаптере, используется при создании уникального фингерпринта.
38. Available GPUs - Доступные видеокарты. Скрипт получает список всех графических процессоров, доступных на устройстве клиента. Для этого используется WebGL- и OpenGL-API.
В результате становится известно:
- Количество ВП
- Имена видеокарт (например, GeForce или Radeon)
- Характеристики каждой карты: модель, объем видеопамяти, частоты и др.
- Перечень и характеристики доступных видеокарт часто бывают уникальными для каждого устройства.
- Даже если у людей одинаковые ОС, количество и модели их видеокарт могут существенно отличаться.
- Наличие нестандартной конфигурации ВП также может указывать на особенности устройства.
- Весь полученный скриптом набор факторов, включая список видеокарт, используется при создании уникального фингерпринта устройства и его владельца.
39. Plugins - Установленные плагины. Скрипт получает список всех плагинов, установленных в браузере пользователя. Для этого используется JavaScript API navigator.plugins.
Он возвращает:
- Название каждого плагина
- Его версию и поставщика
- Тип плагина (Shockwave Flash, Netscape и др.)
- Полный список установленных плагинов часто бывает уникальным для большинства пользователей.
- Даже если у людей одинаковые браузеры, установленные плагины могут существенно отличаться.
- Наличие редких или устаревших плагинов также может указывать на особенности устройства.
- Весь полученный скриптом набор факторов, включая список плагинов, используется при создании уникального фингерпринта.
40. Cookies enabled - Разрешены cookieСкрипт проверяет, разрешено ли использование HTTP cookie на устройстве клиента. Для этого он пытается установить временное cookie и проверяет, было ли оно успешно сохранено.
- Если cookie было установлено, значит их использование разрешено. Это фиксируется как часть уникального фингерпринта.
- Наличие или отсутствие cookie является важной деталью.
- Отключение cookie - нечастая практика и характерна только для определенной категории пользователей, озабоченных конфиденциальностью.
- Разные браузеры имеют разные настройки по умолчанию для cookie. Это может указывать на особенности конкретного пользователя.
- Вся собранная скриптом информация, включая наличие cookie, используется для создания уникального фингерпринта устройства и его владельца.
41. Local storage - Наличие и объем локального хранилища. Скрипт проверяет наличие API localStorage и sessionStorage на устройстве клиента. Это означает, что есть возможность использовать локальное хранилище браузера.
- Оно используется, чтобы временно сохранять данные на устройстве пользователя вне HTTP cookie.
- Также определяется объем доступной памяти, который зависит от конкретного браузера и устройства.
- Наличие локального хранилища является важной деталью. Некоторые старые браузеры его не поддерживают.
- Объем доступной памяти также бывает различным для разных устройств. Это еще один отличительный признак.
- Вся собранная скриптом информация, в том числе наличие и объем локального хранилища, используется для создания уникального фингерпринта устройства и его владельца.
42. Touch support - Поддержка мультитач. Скрипт проверяет, поддерживает ли устройство клиента ввод с мультиприкосновенного экрана.
- Для этого проверяется наличие API touch и событий touchstart/touchend.
- Если такая поддержка есть, фиксируется как часть уникального фингерпринта устройства.
- Наличие мультиприкосновенного экрана является важной деталью.
- Поддержка мультиприкосновений характерна только для мобильных устройств (смартфоны и планшеты).
- Это может указывать на тип устройства и его возможности.
- Наличие мультиприкосновенного экрана является одним из отличительных признаков при создании фингерпринта.
43. Hybrid/tablet mode - Режим работы ПК и планшета. Скрипт проверяет, может ли устройство клиента работать как в горизонтальном, так и в вертикальном режимах.
- Для этого анализируется ориентация экрана (landscape/portrait), отображение веб-страниц и наличие специальных режимов.
- Если такая гибридная работа возможна, это фиксируется как часть фингерпринта.
- Наличие гибридного режима является важной деталью.
- Такая функциональность характерна для планшетов и складных устройств.
- Это может указывать на тип устройства и его возможности.
- Гибридный/планшетный режим является одним из отличительных признаков при создании фингерпринта.
44. Canvas fingerprinting - Информация через <canvas>Скрипт получает информацию о устройстве путем рисования графики и текста на <canvas> элементе.
Затем он анализирует полученное изображение и извлекает следующие данные:
- Размеры изображения и его пиксельную плотность
- Текст, нарисованный на canvas (он часто содержит хеш от устройства)
- Цвета, использованные при рисовании
- Шум, присущий изображению
- Все эти данные являются уникальными для конкретного устройства.
- Даже если у людей одинаковые ОС и браузеры, результат рисования на <canvas> будет различаться.
- Вся информация, полученная с помощью <canvas>, используется как часть фингерпринта устройства.
45. WebGL fingerprinting - Информация через WebGL APIСкрипт получает информацию о устройстве, используя WebGL - API для 3D-графики в браузере.
Он анализирует характеристики полученных 3D-объектов, включая:
- Модели, нарисованные с помощью WebGL
- Текстуры
- Программы, выполняемые шейдерами
- Все это позволяет извлечь уникальную информацию:
- Хеш от устройства
- Имя и версию 3D-ускорителя
- Параметры рендеринга и т.д.
- Даже если у людей одинаковые браузеры и ОС, результат рендеринга 3D-объектов с помощью WebGL будет различаться.
- Вся полученная информация используется как часть фингерпринта устройства.
46. JavaScript enabled - Разрешен JavaScriptСкрипт проверяет, разрешено ли использовать JavaScript на странице.
- Для этого выполняется простой JavaScript-код.
- Если код выполняется без ошибок, значит JavaScript разрешен. Это фиксируется как часть фингерпринта.
- Разрешение на использование JavaScript является важной деталью.
- Отключение JavaScript — нечастая практика и характерна только для категории технически менее подкованных пользователей.
- Разные браузеры имеют разные настройки по умолчанию для JavaScript.
- Вся полученная информация, включая разрешение на использование JavaScript, используется при создании уникального фингерпринта устройства и его владельца.
47. AdBlock installed - Установлен AdBlockСкрипт проверяет, установлен ли на устройстве блокировщик рекламы, такой как AdBlock, uBlock Origin и другие.
Для этого используются различные тесты:
- Проверка отображения определенных элементов, которые должны быть заблокированы
- Измерение времени загрузки страницы с рекламой и без нее
- И специальные API для обнаружения блокировщиков рекламы (в некоторых браузерах)
- Если обнаруживается наличие блокировщика, это фиксируется как часть фингерпринта.
- Наличие блокировщика рекламы является важной деталью.
- Оно может указывать на повышенную озабоченность конфиденциальностью и безопасностью у пользователя.
- Вся собранная информация, включая наличие блокировщика рекламы, используется для создания уникального фингерпринта устройства и его владельца.
48. Information about audio and video codecs - Информация об аудио и видео кодеках. Скрипт получает информацию о кодеках, поддерживаемых устройством клиента. Для этого использует API:
- navigator.mediaDevices.getSupportedConstraints()
- MediaRecorder.isTypeSupported()
- HTMLMediaElement.canPlayType()
- Это позволяет узнать:
- Перечень поддерживаемых аудио и видео форматов
- Конкретные кодеки, доступные на устройстве
- Их параметры (частота дискретизации, разрешение и др.)
- Поддерживаемые кодеки зачастую бывают уникальными для каждого устройства.
- Вся полученная информация, в том числе информация о кодеках, используется при создании уникального фингерпринта устройства и его владельца.
49. Battery status and level - Заряд батареи и уровень. С помощью API Navigator.battery скрипт получает следующие сведения о батарее устройства:
- Текущий процент заряда
- Статус заряда (заряжается, разряжается или полностью заряжена)
- Наличие подключения к источнику питания
- Эта информация является уникальной для каждого мобильного устройства.
- У пользователей могут быть разные привычки использования устройства: кто-то часто заряжает батарею, кто-то редко.
- Даже если у людей одинаковые устройства, уровень заряда их батарей, как правило, будет различаться.
- Вся полученная информация, включая статус и уровень заряда, используется при создании уникального фингерпринта устройства.
50. Connection type and speed - Тип и скорость соединения. С помощью API navigator.connection скрипт получает следующие сведения о соединении:
- Тип подключения: мобильный интернет, WiFi, Ethernet, корпоративная сеть и т.д.
- Измеряется скорость соединения путем загрузки тестового контента. Это позволяет определить, является ли соединение медленным, средним или высокоскоростным.
- Определяется наличие или отсутствие мобильных данных.
- Анализируется стабильность соединения путем проверки колебаний скорости загрузки.
- Эта информация является уникальной для каждого устройства и подключения.
- Вся полученная информация, включая тип, скорость и стабильность соединения, используется при создании уникального фингерпринта.
51. System fonts - Системные шрифты. Скрипт получает список всех системных шрифтов, доступных на устройстве клиента. Для этого использует API @font-face.
Это включает в себя:
- Названия всех системных шрифтов
- Их начертание (нормальное, курсив и др.)
- Семейства шрифтов
- Список системных шрифтов зачастую бывает уникальным для конкретного устройства.
- Даже если у людей одинаковые ОС и настройки, их перечень системных шрифтов может различаться.
- Вся полученная информация, включая список системных шрифтов, используется при создании уникального фингерпринта.
52. Writing direction - Направление письма (СПАН или АРАБ)Скрипт определяет, направлено ли текст с левого на правый край или с правого на левый. Для этого анализирует HTML- или CSS-атрибуты.
Это нужно, чтобы отличить:
- Устройства с использованием латинского алфавита (слева направо)
- Устройства с арабским или ивритским алфавитом (справа налево)
- Направление письма является важной деталью.
- Это говорит о языковых настройках устройства и его владельца.
- Даже если у людей одинаковые ОС и настройки, направление письма на их устройствах может различаться.
- Вся полученная информация, включая направление письма, используется при создании уникального фингерпринта.
53. Do not track setting - Настройка «Не отслеживать». Скрипт проверяет, включена ли на устройстве настройка "Не отслеживать", которая призвана блокировать отслеживание пользователя.
- Для этого используется свойство заголовка HTTP-запроса DNT. Если оно установлено в 1, то включена настройка "Не отслеживать".
- При обнаружении такой настройки она фиксируется как часть уникального фингерпринта устройства.
- Включение настройки "Не отслеживать" указывает на повышенную озабоченность конфиденциальностью и безопасностью у данного пользователя.
- Разные браузеры имеют разные настройки по умолчанию для этой опции. Это может указывать на привычки конкретного человека.
- Вся собранная информация, в том числе настройка "Не отслеживать", используется для создания уникального фингерпринта.
54. Information about bandwidth estimation - Информация об оценке пропускной способности. Скрипт оценивает пропускную способность канала связи устройства клиента. Для этого использует несколько методов:
- Измеряет скорость загрузки различного типа контента (HTML, CSS, JS, изображения)
- Определяет время отклика на запросы к серверу
- Анализирует колебания скорости загрузки
- Измеряет размер сетевого буфера
- Использует специальные серверы для более точных измерений в условиях реальной нагрузки
- Полученные данные являются уникальными для каждого устройства и подключения.
- Вся полученная информация, включая оценку пропускной способности, используется при создании уникального фингерпринта.
55. Network interface information - Информация о сетевом интерфейсе. С помощью API navigator.connection скрипт получает следующие сведения о сетевом интерфейсе устройства:
- IP-адрес
- MAC-адрес
- Сетевое имя
- Тип подключения (WiFi, мобильный интернет, Ethernet)
- Идентификатор WiFi сети (при подключении к WiFi)
- Эта информация является уникальной для каждого устройства и подключения.
- Даже если у людей одинаковые устройства, их IP- и MAC-адреса, а также идентификаторы WiFi сетей, как правило, будут различаться.
- Вся полученная информация, включая IP-адрес, MAC-адрес и тип подключения, используется при создании уникального фингерпринта.
56. List of installed applications - Список установленных приложений. Скрипт получает список всех приложений, установленных на устройстве клиента.
- Для мобильных устройств используется доступ к локальным API, возвращающим список всех приложений.
- Для ПК анализируются:
- Открытые окна программ
- Запущенные процессы
- Регистры Windows
- В результате получается:
- Названия и версии приложений
- Тип программ (игры, социальные сети и др.)
- Производители приложений
- Перечень установленных программ зачастую является уникальным для конкретного устройства.
- Вся полученная информация, включая список приложений, используется при создании уникального фингерпринта.
57. Hybrid app detection - Определение, работает ли устройство в режиме гибридного приложения. Гибридные приложения позволяют работать как в веб-браузере, так и в качестве нативного приложения на устройстве.
Скрипт может определить, работает ли устройство клиента в режиме гибридного приложения. Для этого используются следующие признаки:
- Наличие специальных заголовков и метаданных, указывающих на гибридное приложение.
- Определение, была ли страница запущена как PWA (Прогрессивное веб-приложение).
- Анализ поведения страницы - поиск признаков работы нативного приложения.
- Доступ к локальным API, разрешенный только гибридным приложениям.
58. Device memory - Объем оперативной памяти устройства. Скрипт может определить количество оперативной памяти, установленной на устройстве клиента. Для этого используются различные способы:
- Напрямую запросить объем RAM через локальные API (только для мобильных устройств).
- Определить объем RAM косвенно, измеряя время выполнения операций, зависящих от количества оперативной памяти.
- Использовать информацию о модели устройства и характеристиках аппаратного обеспечения.
- После определения количества оперативной памяти этот параметр регистрируется как часть уникального фингерпринта.
- Объем RAM зачастую существенно отличается у разных устройств. Это делает его важным отличительным признаком при идентификации.
- Наличие большого или малого объема оперативной памяти может говорить об особенностях конкретного устройства и его владельца.
59. Permissions access - Доступ к разрешениям. Скрипт может определить, какие разрешения были предоставлены данному приложению на устройстве клиента. Это касается разрешений:
- На доступ к камере
- На доступ к микрофону
- На доступ к местоположению
- И других важных разрешений
- Для этого используются локальные API, предоставляющие информацию о настройках конфиденциальности.
- После определения списка предоставленных разрешений, эта информация регистрируется как часть уникального фингерпринта.
- Предоставленные разрешения зачастую отличаются у разных пользователей. Это делает их важным отличительным признаком.
- Наличие или отсутствие определенных разрешений может говорить об особенностях и привычках конкретного пользователя.
60. Hardware concurrency - Число вычислительных ядер процессора. Скрипт может определить количество вычислительных ядер на процессоре устройства клиента. Это позволяет сделать выводы об его производительности. Для этого используются различные способы:
- Напрямую запросить данные через локальные API (только для мобильных устройств).
- Измерить время выполнения CPU-интенсивных задач, после чего рассчитать количество ядер.
- Использовать информацию о модели устройства и его характеристиках.
- После определения количества вычислительных ядер, эта информация регистрируется как часть фингерпринта.
- Число CPU-ядер зачастую отличается у разных устройств. Это делает его важным отличительным признаком.
- Наличие большего или меньшего количества процессорных ядер может указывать на особенности конкретного устройства и его владельца.
61. Device sensor information - данные о датчиках
• Акселерометр - измеряет ускорение устройства. Может использоваться для обнаружения движения или ориентации устройства.
• Гироскоп - измеряет угловую скорость устройства. Может использоваться для определения ориентации устройства.
• Магнитометр - измеряет магнитное поле вокруг устройства. Может использоваться как компас для определения азимута устройства.
• Барометр - измеряет атмосферное давление. Может использоваться для определения высоты устройства над уровнем моря.
• Светочувствительный датчик - измеряет освещенность окружающей среды. Может использоваться для автоматической регулировки яркости экрана.
• Датчик приближения - обнаруживает присутствие объектов путем излучения ультразвука и последующего приема эхо-сигналов. Используется для автоматического отключения экрана во время разговора.