Как антифрод видит VM через аппаратные API — не по гипервизору, а по шуму железа
Антифрод редко ищет «VirtualBox» в лоб. Он собирает аппаратный профиль из нескольких API и ловит несостыковки: одинаковые серийники, пустые SMBIOS-поля, слишком ровные тайминги, странные кэши, непропорциональные задержки вызовов. Браузерное окружение передает больше данных, чем кажется.
Ключевые векторы: • WMI/SMBIOS — модель платы, BIOS vendor, UUID • GPU/DirectX/WebGL — строки рендера, лимиты контекста, признаки софта вместо железа • CPU/topology — число ядер, флаги инструкций, несоответствие частот и latency • Disk/TPM/NIC — нулевые или шаблонные идентификаторы, MAC из приватных диапазонов.
Дальше включается корреляция. Если WebGL рисует один адаптер, а системные API отдают другой; если тайминги syscall слишком стабильны; если sensor API пустой, а остальная система выглядит «идеальной» — профиль получает высокий risk score. Анализируем энтропию параметров: именно низкая вариативность выдаёт контейнеризацию быстрее, чем сам факт виртуализации.
Практика защиты не в маскировке одного поля, а в согласованности слоями: аппаратные ответы, браузерные API, latency-поведение и идентификаторы должны выглядеть как один класс среды. Скрытность — это не отсутствие следов, это шум, сливающийся с фоном.
Fingerprint-кузница
@fingerprint_forge_ubt
Как антифрод видит VM через аппаратные API — не по гипервизору, а по шуму железа
Этот пост опубликован в Telegram-канале Fingerprint-кузница. Подписаться можно по ссылке: @fingerprint_forge_ubt.