T1497.001 - «Системные проверки» (System Checks) - является подтехникой в рамках более общей техники «Обход виртуализации и песочниц» (T1497) в классификации MITRE ATT&CK. Она описывает, как вредоносное ПО инспектирует среду своего выполнения, чтобы определить, запущено ли оно на реальном конечном устройстве (эндпоинте) или внутри виртуальной машины либо песочницы (изолированной аналитической среды).
Вместо немедленного выполнения вредоносной логики, программы, использующие системные проверки, собирают индикаторы окружения: аппаратные атрибуты, конфигурацию операционной системы, артефакты реестра, сетевые свойства и условные обозначения в именах системы. Эти сигналы помогают злоумышленникам понять, насколько среда похожа на легитимную рабочую станцию пользователя.
Когда обнаруживаются индикаторы, связанные с виртуализацией или анализом вредоносного ПО, программа может изменить свое поведение, чтобы избежать обнаружения. Типичные реакции включают задержку выполнения, подавление доставки полезной нагрузки, завершение процесса или переход в спящий режим до тех пор, пока не будет идентифицирована более реалистичная среда. Эта техника позволяет злоумышленникам обходить автоматизированные системы анализа и снижать вероятность раннего обнаружения.
Использование T1497.001 злоумышленниками
Вредоносное ПО может выполнять множество проверок атрибутов системы, чтобы оценить, выполняется ли оно на реальном физическом хосте или в аналитической среде.
Аппаратные индикаторы и индикаторы конфигурации
- Строки в диске, BIOS или прошивке, связанные с вендорами виртуальных машин (например: "VBOX" или "VMware").
- Необычно низкое количество ядер CPU или ограниченный объем памяти и дискового пространства.
- Поля "Производитель" или "Модель", явно помеченные как "virtual".
- Отсутствие ожидаемых физических компонентов, таких как аудиоустройства или аппаратные датчики.
- Прямое взаимодействие со специфичными для гипервизора инструкциями или интерфейсами ввода-вывода.
Сетевые идентификаторы и MAC-адреса
Имена сетевых адаптеров и префиксы MAC-адресов, сопоставленные с платформами виртуализации.
| Префикс MAC | Ассоциированная платформа / Вендор |
| 00:05:69 | VMware, Inc. |
| 00:0C:29 | VMware, Inc. |
| 00:1C:14 | VMware, Inc. |
| 00:50:56 | VMware, Inc. |
| 08:00:27 | Oracle Corporation (VirtualBox) |
| 0A:00:27 | Oracle Corporation (VirtualBox) |
Эти префиксы активно сопоставляются вредоносным ПО для определения того, является ли хост виртуальной машиной или средой песочницы, что влияет на решение о продолжении вредоносного выполнения. Хотя эти префиксы не являются окончательными идентификаторами (поскольку MAC-адреса могут быть изменены вручную), они достаточно распространены, чтобы использоваться в качестве надежных эвристик для идентификации виртуальных сред как в коде вредоносных программ, так и в инструментах защитного анализа.
Артефакты информации о системе
- Имена хостов/пользователей, часто используемые в песочницах ("sandbox", "malware" и т.д.).
- Ключи реестра, установленные службы и процессы, специфичные для ПО виртуализации.
- Наличие известных инструментов песочниц или драйверов.
Контекст окружения и выполнения
- Отсутствие типичной пользовательской активности или нормальной телеметрии.
- Расположение файлов или имена файлов, указывающие на анализ (например, "sample", "hash" и т.д.).
С технической точки зрения, эти проверки могут использовать Windows Management Instrumentation (WMI), запросы к реестру, обнаружение информации о системе на уровне ОС, инспекцию инструкций CPU (например, через CPUID для обнаружения присутствия гипервизора) и перечисление запущенных служб или аппаратных устройств. Вредоносное ПО также может сканировать файловую систему или реестр на наличие идентификаторов, специфичных для виртуализации.
По сути, T1497.001 действует как "привратник окружения". Прежде чем выполнять вредоносные действия, такие как установка бэкдоров, сброс полезных нагрузок или инициирование связи с командным центром (C2), вредоносное ПО убеждается, что оно запущено на легитимной цели, а не в подконтрольной аналитику песочнице или виртуальной машине, тем самым уклоняясь от обнаружения и затрудняя усилия по анализу.
Примеры процедур, используемых злоумышленниками
После двух лет отсутствия в Топ-10 (2024 и 2025), техника «Обход виртуализации и песочниц» вновь вошла в число наиболее часто используемых методов.
Идеальный пример - из анализа, проведенного в июне 2025 года, где было обнаружено, что вредоносная программа Blitz проверяет конфигурацию системы, в частности, количество процессоров и разрешение экрана, чтобы определить, работает ли она в виртуальной машине или песочнице. Многие виртуальные среды настроены с меньшими ресурсами, например, с ограниченным количеством процессоров и низким разрешением экрана, что вредоносное ПО использует в качестве индикаторов среды песочницы.
- Количество процессоров: Проверяет, меньше ли количество процессоров четырех.
- Разрешение экрана: Проверяет наличие определенных низких значений разрешения экрана (например, 1024x768, 800x600 или 640x480).
- Проверка драйвера песочницы: Проверяет наличие известного драйвера песочницы: \\?\\A3E64E55_fl (ассоциируется с ANY.RUN).
- Проверки ключей/значений реестра: Проверяет наличие известных ключей/значений реестра, характерных для песочниц и виртуальных сред.
| 1 2 3 4 5 | # Вредоносное ПО проверяет количество процессоров: if cpu_count < 4 then exit # Оно проверяет разрешение экрана if screen_resolution in [1024x768, 800x600, 640x480] then exit |
В марте 2022 года новое вредоносное ПО под названием Bumblebee начало проводить множество фишинговых кампаний. Анализ этого вредоносного ПО показывает, что оно ищет ключ реестра WMware, который может указывать на виртуальную среду.
| 1 2 3 4 5 6 7 8 9 10 11 12 13 | IpSubKey = L"SOFTWARE\\VMware, Inc.\\VMware Tools"; VO = 0i64; while ( 1 ) { memset(Buffer, 0, sizeof (Buffer)); v1 = *&Buffer(8 * ve - 8); sprintf_s(Buffer, 0x100ui64, L"Checking reg key % ", V1); hKey = 0i64; if ( !RegOpenKeyExW(HKEY_LOCAL_MACHINE, v1, 0, 0x20019u, &hKey) ) break; if ( ++ve >= 1 ) return 0i64; } |
В дополнение к приведенному выше коду, вредоносная программа также пытается найти определенные файлы VirtualBox, которые могут указывать на виртуальную среду:
| 1 2 3 4 5 6 | pszFile[0] = L"System32\\drivers\\VBoxMouse.sys" pszFile[1] = L"System32\\drivers\\VBoxGuest.sys" ... pszFile[14] = L"System32\\vboxservice.exe"; pszFile[15] = L"System32\\vboxtray.exe"; pszFile[16] = L"System32\\VBoxControl.exe"; |
Вредоносное ПО HavanaCrypt также использует методы анти-виртуализации, чтобы избежать динамического анализа при выполнении в виртуальной машине. Это вредоносное ПО проверяет службы, которые в основном используются виртуальными машинами, такие как VMware Tools и VMTools:
| 1 2 3 4 5 6 | private static readonly string[] C3554254475 = new string[] { "VMTools","Vmhgfs","VMMEMCTL","Vmmouse","Vmrawdsk", "Vmusbmouse", "Vmvss", "Vmscsi", "Vmxnet", "vmx_svga", "Vmware Tools", "Vmware Physical Disk Helper Service" }; |
В своей атаке, нацеленной на энергетическую организацию в Украине, компания Unit42 зафиксировала использование вредоносного ПО, которое проверяло версию BIOS на наличие известных идентификаторов виртуальных машин.
Начиная с начала мая 2022 года, операторы программы-вымогателя Cuba используют упаковщик Domain Admin tool с функциями защиты от виртуальных машин (Anti-VM) от Themida. При выполнении на виртуальной машине появляется всплывающее сообщение с предупреждением: "Извините, это приложение не может быть запущено под виртуальной машиной" ("Sorry, this application cannot run under a Virtual Machine").