WebGL выдаёт GPU и драйверы через строки, которые браузер не скрывает
Через WebGL-fingerprint обычно смотрят не только на canvas, но и на служебные параметры контекста. Самые заметные: GL_RENDERER, GL_VENDOR, GL_VERSION, а также набор расширений. Это не «дополнительные метки» — это связка, по которой можно восстановить класс видеокарты, семейство драйвера и иногда даже виртуализированную среду.
Анализируем энтропию параметров. Важен не один value, а согласованность: ANGLE в renderer, vendor вроде Google Inc., наличие типовых extensions и поведение WebGL2. Несостыковки между строками и реальными возможностями контекста часто дают более сильный сигнал, чем сама строка. Браузерное окружение передает больше данных, чем кажется.
Что проверять при аудите:
— GL_RENDERER не должен конфликтовать с остальным стеком
— GL_VENDOR должен совпадать с ожидаемым путём рендера
— список extensions лучше оценивать как набор, а не по одному флагу
— пустые или слишком «чистые» значения тоже образуют сигнатуру
Разбираем сигнатуру на уровне syscall: если поверх WebGL виден software renderer, урезанный набор extensions или повторяемый шаблон строк, это уже не шум, а устойчивый маркер. Скрытность — это не отсутствие следов, это шум, сливающийся с фоном.
Для проверки полезно смотреть не на один параметр, а на весь граф согласованности: API, GPU, драйвер и тип окружения должны складываться в один профиль.
Fingerprint-кузница
@fingerprint_forge_ubt
WebGL выдаёт GPU и драйверы через строки, которые браузер не скрывает
Этот пост опубликован в Telegram-канале Fingerprint-кузница. Подписаться можно по ссылке: @fingerprint_forge_ubt.