По мере распространения виртуализации увеличиваются и требования к безопасности платформы. Безусловно, одна из основных угроз — уязвимость виртуального хост-сервера. Это может привести к гиперподмене, или атаке с целью поражения гипервизора хост-компьютера. Для овладения гипервизором взломщики могут применить следующие методы:
-
вставка фальшивого гипервизора под истинный гипервизор;
-
прямой контроль истинного гипервизора;
-
запуск фальшивого гипервизора поверх истинного.
Если заражено несколько хост-компьютеров, может быть предпринята атака с гостевым переходом, в ходе которой фальшивый сервер перемещается с одного хост-сервера виртуализации на другой. Противодействие такой атаке похоже на погоню за призраком. Поражение хост-компьютера гипервизора позволит хакеру преобразовать виртуальный сервер, выполняемый на компьютере, в зараженную машину. Затем гостевой виртуальный сервер превращается в агента Mr. Smith, из которого можно запускать различные атаки.
Одна из наиболее известных среди таких атак — Subvirt Virtual Machine Based Root kit (VMBR). Концепция Subvirt VMBR была представлена в 2006 г. и вызвала резонанс среди специалистов по безопасности. Тело Subvirt вставляется между аппаратными средствами и изначальной операционной системой. Затем Subvirt запускает изначальную операционную систему как гостевую. Естественно, Subvirt может запускать другие гостевые машины и предпринимать иные атаки, потенциально способные нанести огромный урон. Подробное описание Subvirt приведено в материале, опубликованном по адресу http://www.eecs.umich.edu/virtual/papers/king06.pdf. В то время полагали, что обнаружить VMBR будет очень трудно или даже невозможно. Однако между физическими и виртуальными аппаратными средствами есть существенные различия, которые можно обнаружить, если знать, где искать. Дополнительные сведения можно найти в документе http://www.cs.cmu.edu/~jfrankli/hotos07/vmm_detection_hotos07.pdf.
Насколько мне известно, пока никто не воспользовался VMBR для нападения. Даже для запуска Subvirt требуются административные права на компьютере. Тем не менее легкомысленное отношение к безопасности сервера недопустимо. Вероятно, пройдет время, и кто-нибудь разработает VMBR или проведет атаку против хост-компьютера виртуального сервера. Но уже сейчас можно принять меры для защиты виртуальных серверов. Ниже приведен список мер по повышению безопасности виртуального сервера.
Сокращение поверхности атаки хост-компьютера, используемого для виртуализации. ESX устанавливает только компоненты, необходимые для среды виртуализации. Считается, что автономная версия ESX или Hyper-V менее уязвима, чем входящая в состав более старшего продукта, поскольку в ней нет встроенного Web-сервера. В результате уменьшается поверхность атаки. Microsoft Hyper-V можно также установить в режиме Server Core или полной версии Windows Server 2008. Чтобы сократить поверхность атаки, установите Hyper-V только в варианте Server Core, а не полной версии Server 2008. Поверхность атаки правильно установленного гипервизора существенно уменьшается.
Хост-брандмауэры. Включите брандмауэр на хост-системах виртуального сервера. Проверьте ограничения на доступ, разрешив его с определенных компьютеров управления и заблокировав дистанционный доступ со всех остальных компьютеров. Откройте только необходимые порты для дистанционного управления на брандмауэре хост-системы виртуального сервера.
Используйте выделенный сетевой адаптер для управления хост-компьютером виртуального сервера. Подумайте об установке дополнительного сетевого адаптера специально для управления. Убедитесь, что данная сеть физически отделена от любых сетей, используемых гостевыми виртуальными серверами. В целях безопасности используйте не беспроводную локальную сеть, а физически разделенный коммутатор для доступа с целью управления. Беспроводные локальные сети могут быть поражены путем перегрузки коммутатора сетевым трафиком, в результате чего коммутатор превращается в концентратор. Обязательно следует ограничить доступ к сети управления, предоставив его только избранным компьютерам. Если для управления серверами VMware Cluster или ESX используется Virtual Center for VMware Server, убедитесь, что доступ к этому серверу управления ограничен.
Дистанционный доступ к хост-компьютерам. Не предоставляйте дистанционный доступ к хост-системам виртуального сервера без VPN-туннеля. Поразительно, но многие компании по-прежнему пренебрегают этим очевидным правилом, разрешая дистанционный доступ без VPN. Проверьте, надежно ли защищены конечные точки, из которых будет осуществляться доступ к хост-системам виртуального сервера. Типичный метод, используемый взломщиками, — овладеть слабо защищенными конечными точками, чтобы получить доступ к корпоративным ресурсам.
Базовые образы или шаблоны сервера. Часто базовые образы или шаблоны виртуального гостя используются в качестве отправной точки для создания новых гостевых виртуальных серверов. Эти шаблоны следует хранить автономно и использовать только при создании новых серверов. Если взломщик получит доступ к хост-компьютеру виртуального сервера, то ему удастся поразить образ или шаблон виртуального сервера. Все новые серверы, построенные на основе пораженного базового образа, будут также заражены.
Программы на хост-сервере. Следует свести к минимуму программы, запускаемые на хост-системе виртуального сервера. На нем нужно разместить агент резервного копирования и, может быть, антивирусную программу. Все остальные приложения должны выполняться на гостевых виртуальных серверах.
Сегментация виртуализации. Серверы, на которых размещены конфиденциальные данные, следует запускать на отдельном узле виртуализации, в отдельном кластере или разместить на специально выделенном оборудовании.
Управление программными обновлениями. Как и в случае с физическими серверами, важно своевременно применять программные обновления для хостов.
Выделение ресурсов гостевым виртуальным серверам. Для защиты от атак с отказом в обслуживании (DOS) настройте гостевые виртуальные серверы так, чтобы они не могли занимать 100% ресурсов хост-компьютера.
Резервные копии образа гостевых виртуальных серверов. Необходимо регулярно выполнять резервное копирование образа гостевых виртуальных серверов на узле. Как ESX, так и Hyper-V обеспечивают копирование файлов диска гостевого виртуального сервера, не отключая гостевого сервера. Если хост-система поражена, можно быстро восстановить гостевые виртуальные серверы с помощью резервных файлов образа. Сейчас емкость USB-устройств стала достаточно большой для размещения одной или нескольких виртуальных машин. Сотрудник, получивший физический доступ к хост-компьютеру, может скопировать образ виртуального сервера на USB-накопитель и запустить его на хост-сервере. При работе с Windows Server 2008, если сервер располагает микросхемой Trusted Platform Module (TPM), полезно включить шифрование BitLocker, чтобы предотвратить запуск несанкционированной операционной системы на сервере.
Продукты безопасности для виртуализации только начинают появляться на рынке. Ранее в этом году уже было объявлено, что компания VMware работает над интерфейсом прикладного программирования API VMsafe, через который поставщики продуктов безопасности получат доступ к среде виртуализации ESX. За 2008 г. в продаже появилось много продуктов безопасности для ESX. Поражение хоста виртуального сервера может обернуться катастрофой для любой среды виртуализации. Поэтому рекомендую отнестись к защите серьезно.
Алан Сугано (asugano@adscon.com) — президент компании ADS Consulting Group, специализирующейся на разработках в области Microsoft.NET и SQL Server и сетевых технологиях