Виртуальная машина (VM) — программно реализованный компьютер со своей операционной системой и приложениями, который работает на общем физическом оборудовании изолированно от хоста и других виртуальных машин.
Как работают виртуальные машины
Гипервизор распределяет процессор, память, хранилище и сеть физического хоста между несколькими гостевыми системами. Каждая VM видит собственное виртуальное оборудование и может работать под Windows, Linux или другой ОС. Виртуальные машины хранятся в виде файлов образов дисков, поэтому их можно копировать, переносить между хостами и откатывать к снимкам (snapshots). Аппаратные расширения Intel VT-x и AMD-V делают виртуализацию достаточно быстрой практически для любых задач: на виртуальных машинах работает большинство облачных серверов и корпоративных дата-центров.
Как виртуальные машины используются в безопасности
- Анализ вредоносного ПО — аналитики запускают подозрительные файлы в изолированных VM и затем восстанавливают чистый снимок; автоматические песочницы устроены так же.
- Изоляция — рискованные задачи, тестовые системы и устаревшее ПО можно запускать отдельно от основной системы.
- Обучение и тестирование — лаборатории для тестирования на проникновение и киберучения строятся на виртуальных машинах.
Риски виртуальных машин
Вредоносы часто проверяют, не запущены ли они в виртуальной машине, и затаиваются, чтобы избежать анализа (MITRE ATT&CK T1497, Virtualization/Sandbox Evasion). Самая серьёзная угроза — побег из VM (VM escape), разновидность выхода из песочницы, при которой код внутри гостевой системы вырывается на хост. Известный пример — уязвимость VENOM (CVE-2015-3456) в эмуляции контроллера дисковода QEMU. Группировки вымогателей атакуют и сами хосты виртуализации: зашифровав файлы дисков VM на сервере VMware ESXi, одна атака выводит из строя десятки систем сразу, как это было в кампании шифровальщика ESXiArgs в 2023 году.
Рекомендации
- Своевременно обновлять гипервизор и гостевые инструменты.
- Ограничить доступ к консолям управления виртуализацией.
- Создавать резервные копии VM в отдельном хранилище, которое хост не может перезаписать.