Что такое виртуальная машина
Виртуальная машина, или VM (Virtual Machine), — это изолированная программная вычислительная среда, которая предоставляет гостевой операционной системе виртуальные аппаратные ресурсы. Внутри VM можно установить операционную систему и приложения практически так же, как на отдельный сервер или ПК.
Физический компьютер использует процессор, оперативную память, накопители и сетевые адаптеры. Для виртуальной машины эти ресурсы предоставляются через слой виртуализации. Например, VM можно выделить четыре виртуальных процессорных ядра, 8 Гбайт оперативной памяти, виртуальный диск объемом 100 Гбайт и виртуальный сетевой адаптер.
Доступом виртуальных машин к физическим ресурсам управляет гипервизор.
Благодаря изоляции на одном физическом сервере можно разместить несколько независимых систем. Например, одна VM может работать под Linux и обслуживать веб-приложение, другая — под Windows Server и использоваться для корпоративного сервиса, а третья — служить тестовой средой.
Как работает виртуальная машина
В упрощенном виде процесс выглядит так:
- На физическом сервере или компьютере работает гипервизор.
- Он управляет доступом к процессору, оперативной памяти, дискам и сетевым интерфейсам.
- Администратор создает виртуальную машину и задает выделяемые ей ресурсы.
- В VM устанавливается гостевая операционная система.
- Операционная система и приложения работают с предоставленными виртуальными ресурсами.
- Гипервизор распределяет физические ресурсы между VM и обеспечивает их логическую изоляцию.
Упрощенная архитектура:
Физический сервер → гипервизор → виртуальные машины → гостевые ОС → приложения
Одна виртуальная машина обычно не получает прямого доступа к памяти и данным другой VM, если такой доступ не предусмотрен конфигурацией платформы.
Из чего состоит виртуальная машина
С точки зрения гостевой операционной системы VM во многом похожа на обычный компьютер. Обычно ей предоставляются:
- vCPU — виртуальные процессорные ядра;
- виртуальная оперативная память — часть ресурсов RAM физического сервера, выделенная VM;
- виртуальный диск — файл или набор файлов, которые гостевая ОС воспринимает как накопитель;
- виртуальный сетевой адаптер — обеспечивает подключение VM к виртуальным и физическим сетям;
- гостевая операционная система — ОС, установленная внутри VM;
- виртуальные устройства — контроллеры, графические адаптеры, USB-устройства и другие компоненты, которые эмулируются или предоставляются гипервизором.
Конкретный набор ресурсов и устройств зависит от платформы виртуализации и настроек администратора.
Что такое гипервизор
Гипервизор — программный компонент виртуализации, который создает виртуальные машины, распределяет между ними вычислительные ресурсы и контролирует их взаимодействие с физическим оборудованием.
Благодаря гипервизору несколько независимых операционных систем могут одновременно использовать ресурсы одного физического сервера.
Гипервизор первого типа
Гипервизор первого типа, или bare-metal hypervisor, работает на уровне физического оборудования без обычной хостовой операционной системы между гипервизором и аппаратными ресурсами.
Такой подход широко применяют в дата-центрах, корпоративной инфраструктуре и облачных средах.
Примеры: VMware ESXi, Microsoft Hyper-V, Xen.
Гипервизор второго типа
Гипервизор второго типа запускается как приложение в хостовой операционной системе. Между ним и физическим оборудованием находится ОС компьютера.
Такие решения часто используют разработчики, специалисты по информационной безопасности и пользователи, которым необходимо запускать несколько ОС на рабочем компьютере.
Примеры: Oracle VirtualBox, VMware Workstation, Parallels Desktop.
Для чего используют виртуальные машины
Виртуальные машины применяют во многих сценариях ИТ-инфраструктуры:
- для размещения серверных приложений;
- консолидации нескольких серверов на одном физическом оборудовании;
- тестирования программ;
- разработки ПО;
- запуска разных операционных систем;
- создания временных и изолированных сред;
- обучения системных администраторов и специалистов по ИБ;
- исследования подозрительного программного обеспечения;
- построения инфраструктуры дата-центров;
- предоставления вычислительных ресурсов в облачных средах.
VM упрощают создание новых серверных сред: вместо подготовки отдельного физического оборудования администратор может развернуть виртуальную машину на существующей инфраструктуре.
Виртуальные машины в информационной безопасности
В информационной безопасности виртуальные машины полезны прежде всего как основа для контролируемых и относительно изолированных сред.
Например, VM используют для анализа вредоносного ПО. Подозрительный файл запускают не на рабочей станции аналитика, а в специально подготовленной виртуальной системе, где можно наблюдать за изменениями файлов, процессов, сетевых соединений и реестра.
Другие сценарии:
- создание песочниц для запуска недоверенного кода;
- тестирование обновлений и настроек средств защиты;
- исследование уязвимостей;
- построение лабораторий для пентеста;
- эмуляция корпоративных сетей;
- практическое обучение специалистов;
- анализ последствий кибератак;
- восстановление среды после эксперимента с помощью snapshot.
Виртуализация также позволяет разделять сервисы по отдельным средам. Компрометация одного виртуального сервера в таком случае не означает автоматическую компрометацию остальных.
Степень изоляции и защиты при этом зависит от архитектуры сети, настроек гипервизора и безопасности самих гостевых систем.
Насколько виртуальная машина безопасна
Изоляция — одно из основных преимуществ виртуализации, однако считать VM абсолютно безопасной средой нельзя.
Основные риски:
- уязвимости гипервизора — ошибки в платформе виртуализации могут создать возможность воздействия на хост или другие VM;
- компрометация гостевой ОС — виртуальная Windows или Linux подвержена многим из тех же угроз, что и система на физическом компьютере;
- ошибки сетевой конфигурации — VM может получить нежелательный доступ к корпоративной сети;
- общие папки — они создают дополнительный канал взаимодействия между гостевой и хостовой системами;
- общий буфер обмена и подключенные устройства;
- устаревшие образы VM, содержащие известные уязвимости;
- слабая защита системы управления виртуализацией;
- атаки класса VM escape.
Поэтому VM для анализа вредоносного ПО дополнительно ограничивают: отключают ненужные интеграции с хостом, изолируют сеть, контролируют передачу файлов и своевременно обновляют платформу виртуализации.
Что такое VM escape
VM escape — атака или эксплуатация уязвимости, при которой код, выполняющийся внутри гостевой виртуальной машины, получает возможность выйти за пределы предусмотренной изоляции.
В зависимости от конкретной уязвимости атакующий может получить возможность воздействовать на гипервизор, хостовую систему или другие виртуальные машины.
VM escape относится к опасным сценариям, поскольку нарушает один из основных принципов виртуализации — изоляцию гостевых сред.
Для реализации такой атаки требуется соответствующая уязвимость или ошибка в механизмах изоляции. Снизить риск помогают своевременное обновление платформы виртуализации и ограничение ненужного взаимодействия между VM и хостом.
Виртуальная машина и контейнер: в чем разница
Виртуальные машины и контейнеры позволяют изолировать среды выполнения, но делают это на разных уровнях.
| Критерий | Виртуальная машина | Контейнер |
|---|---|---|
| Операционная система | Имеет собственную гостевую ОС | Обычно использует ядро хостовой ОС |
| Изоляция | На уровне виртуального оборудования и ОС | На уровне процессов и механизмов ОС |
| Потребление ресурсов | Обычно выше | Обычно ниже |
| Скорость запуска | Обычно ниже | Обычно выше |
| Размер среды | Относительно большой | Обычно меньше |
| Типичные задачи | Серверы, тестовые среды, ИБ-лаборатории | Микросервисы, разработка, CI/CD |
Контейнеры подходят для сценариев, где важны быстрое развертывание и меньшие накладные расходы. VM используют, когда требуется отдельная гостевая операционная система или изоляция на уровне виртуализированной вычислительной среды.
Примеры платформ и технологий виртуализации
К известным платформам и технологиям относятся:
- VMware ESXi и VMware Workstation;
- Microsoft Hyper-V;
- Oracle VirtualBox;
- KVM;
- QEMU;
- Xen;
- Parallels Desktop.
Они различаются архитектурой, назначением и возможностями. Одни ориентированы прежде всего на серверную инфраструктуру и дата-центры, другие — на рабочие станции, разработку и тестирование.
Преимущества виртуальных машин
К основным преимуществам VM относятся:
- изоляция операционных систем и приложений;
- более эффективное использование серверного оборудования;
- возможность запускать несколько ОС на одном физическом устройстве;
- быстрое развертывание новых сред;
- переносимость виртуальных машин;
- удобство тестирования;
- создание снимков состояния;
- упрощение некоторых сценариев резервного копирования и восстановления;
- возможность моделировать сложную ИТ-инфраструктуру без большого количества физических устройств.
Возможность быстро создавать копии и восстанавливать состояние среды удобна как при эксплуатации корпоративных сервисов, так и в тестовых лабораториях.
Недостатки виртуальных машин
У виртуализации есть и ограничения:
- VM требуют вычислительных ресурсов физического хоста;
- виртуальную среду необходимо администрировать и мониторить;
- при неправильном распределении ресурсов производительность может снижаться;
- ошибки конфигурации способны ослабить изоляцию;
- компрометация управляющей платформы создает риск сразу для нескольких VM;
- большое количество забытых или устаревших виртуальных машин увеличивает поверхность атаки.
Поэтому в корпоративной инфраструктуре жизненным циклом VM необходимо управлять так же системно, как физическими серверами.
Пример использования виртуальной машины
Предположим, аналитик информационной безопасности получил подозрительный исполняемый файл.
Запускать его на рабочем компьютере опасно, поэтому специалист создает отдельную VM, ограничивает ее сетевой доступ и делает snapshot — снимок исходного состояния.
После этого файл запускают внутри виртуальной машины и наблюдают за его поведением: созданием процессов, изменением файлов, сетевыми обращениями и другими действиями.
После исследования VM можно вернуть к состоянию до запуска файла.
При анализе опасного вредоносного ПО одной виртуальной машины может быть недостаточно. В профессиональных лабораториях дополнительно применяют сегментацию сети, песочницы, средства мониторинга и другие механизмы изоляции.
Часто задаваемые вопросы
Можно ли заразить компьютер вирусом через виртуальную машину?
Обычно вредоносная программа, запущенная внутри VM, ограничена гостевой системой. Однако риск для хоста нельзя полностью исключить. Он возрастает при наличии уязвимостей гипервизора, использовании общих папок и буфера обмена, подключенных устройств или небезопасной сетевой конфигурации.
Можно ли установить несколько виртуальных машин на один компьютер?
Да. Возможное количество VM зависит прежде всего от доступных вычислительных ресурсов: процессора, оперативной памяти, дискового пространства и производительности хранилища.
Нужен ли антивирус внутри виртуальной машины?
Если VM используется как обычный сервер или рабочее место, ее необходимо защищать по тем же базовым принципам, что и физическую систему. Конкретный набор средств защиты зависит от назначения VM, уровня риска и принятой модели безопасности.
Может ли вирус выйти из виртуальной машины?
Теоретически такой сценарий возможен, например при эксплуатации уязвимости, позволяющей нарушить изоляцию VM. Один из вариантов — атака класса VM escape.
Чем виртуальная машина отличается от удаленного рабочего стола?
При использовании удаленного рабочего стола пользователь подключается по сети к уже работающему компьютеру или серверу. Виртуальная машина — это сама вычислительная среда. К ней также можно подключаться по протоколам удаленного доступа.






















