Как антифрод вычисляет виртуальные машины через аппаратные API и почему это ломает маскировку
Антифрод редко ищет «виртуалку» по одному признаку. Он собирает связку сигналов из аппаратных API: серийники SMBIOS, BIOS vendor, UUID, MAC-адрес, дисковые идентификаторы, данные CPU и GPU. Отдельный артефакт может быть шумом, но набор из них уже дает стабильную корреляцию между сессиями.
Критичны не сами поля, а их согласованность. У реальной машины BIOS, board name, storage path и графический стек обычно образуют правдоподобную картину. В VM часто всплывают маркеры гипервизора, синтетические строки в DMI, слишком «чистые» значения без исторического следа, а также повторяемые паттерны в таймингах и кеш-метриках. Браузерное окружение передает больше данных, чем кажется.
Дополнительный слой — поведенческая проверка: как быстро отвечают API, есть ли рассинхрон между заявленной конфигурацией и тем, что видно через WebGL, WebGPU, Canvas, navigator, media devices. Когда аппаратный слой, графика и JS-окружение не сходятся, скоринг растет даже без явного флага VM.
Практический разбор сводится к одному: нужно оценивать не «можно ли скрыть VM», а сколько несостыковок она оставляет в цепочке идентификаторов. Анализируем энтропию параметров. Скрытность — это не отсутствие следов, это шум, сливающийся с фоном.
Fingerprint-кузница
@fingerprint_forge_ubt
Как антифрод вычисляет виртуальные машины через аппаратные API и почему это ломает маскировку
Этот пост опубликован в Telegram-канале Fingerprint-кузница. Подписаться можно по ссылке: @fingerprint_forge_ubt.