Значение понятия «виртуализация» в среде информационных технологий достаточно широко, но наибольшее распространение этот термин получил применительно к созданию виртуальной аппаратной платформы, в которой запущена некая операционная система. Такая платформа называется виртуальной машиной, а операционная система, которая запущена в ней, — гостевой операционной системой. Виртуализация аппаратных ресурсов позволяет запускать операционные системы как обычные приложения. И из этого следуют важные выводы:

  1. На физическом сервере может быть много виртуальных машин.
  2. Их количество ограничивается только аппаратными ресурсами сервера.
  3. Виртуальные машины легко как создать, так и удалить.
  4. Развертывание новых служб занимает минимум времени.
  5. Поскольку высокая загрузка виртуальной машины не бывает продолжительной, можно максимально использовать оборудование, ведь значительное расходование ресурсов одной виртуальной машиной компенсируется отсутствием нагрузки от другой.

Отсюда же следует, что внедрение виртуализации позволяет иметь меньше серверов для выполнения одних и тех же задач. Таким образом, вы можете экономить на закупках оборудования, обслуживании и расходах на электроэнергию.

Гипервизоры

Связь между физическим оборудованием и виртуальной машиной осуществляет гипервизор. Любой запрос гостевой операционной системы на доступ к устройству передается гипервизором на уровень аппаратного обеспечения, а ответ возвращается обратно. Весь этот процесс скрыт от гостевой операционной системы, она работает с виртуальными устройствами как с физическими. Гипервизоры делятся на два типа. Гипервизоры типа 2 работают внутри обычной операционной системы. К ним относятся VMware Workstation, VirtualBox и Parallels Desktop.

Гипервизоры типа 1 работают прямо на аппаратном обеспечении, без посредничества полноценной операционной системы. За счет этого они более производительны и широко распространены на предприятиях. К ним относятся VMware ESXi, Microsoft Hyper-V, Citrix XenServer и другие.

Защита виртуальных сред

Как и любая новая технология, виртуализация не сразу стала применяться для критически важных задач. До тех пор пока виртуальные машины использовались в первую очередь для проведения тестов и в учебных целях, защита виртуальных машин не была чем-то необходимым, ведь их легко можно было вернуть в прежнее состояние, удалить или просто пересоздать.

Однако с течением времени, когда виртуальные машины начали использоваться в производственном процессе и стали неотъемлемой частью корпоративной сети, появилась и угроза заражения других компьютеров сети.

Вначале для защиты виртуальных машин использовались привычные решения, предназначенные для физических компьютеров. Такой подход обеспечивал безопасность, но не учитывал особенностей виртуальной инфраструктуры, и возникали проблемы, присущие только виртуальной среде:

  • резкое снижение производительности гипервизора при выполнении задач проверки по расписанию, когда все виртуальные машины начинают одновременно выполнять проверку по требованию или загружать базы сигнатур;
  • неэффективное потребление ресурсов.

Для решения указанных проблем стали выделять особый сервер проверки, который обслуживал гостевые машины на каждом гипервизоре. В таком случае появляется возможность управления загрузкой хоста в целом, а не только отдельной виртуальной машины. Для удобства и безопасности сервер проверки устанавливается на отдельную специально подготовленную виртуальную машину. Именно он принимает запросы по сети от агентов, установленных на гостевых машинах. Кроме того, данная архитектура решает проблему разного состояния баз сигнатур на виртуальных машинах.

В случае обычного, традиционного решения на отключенной машине базы сигнатур не обновляются и при включении система должна потратить некоторое время на их обновление. А если виртуальная машина разворачивается из шаблона, то времени нужно потратить еще больше.

Сегодня практически все крупные производители антивирусов предлагают те или иные решения для защиты виртуальных сред. Они делятся на агентские и безагентские. Безагентские на сегодня существуют только для продуктов VMware и построены на использовании решения vShield Endpoint. Эта технология предоставляет программный интерфейс, с помощью которого можно проверять, лечить и удалять файлы на виртуальных машинах.

Для этого на гостевые машины устанавливается тонкий агент от VMware, который входит в состав комплекта VMware Tools. Так что название «безагентское решение» в данном случае условное и отражает лишь то, что тонкий агент очень прост и потребляет минимум ресурсов. Например, Kaspersky Security для виртуальных сред является безагентским решением для VMware. В дальнейшем мы подробнее рассмотрим именно этот продукт.

Решение vSphere компании VMware

vSphere представляет собой виртуальную инфраструктуру с динамическим управлением ресурсами процессора, оперативной памяти, хранилища или сети. В основе такой инфраструктуры лежит гипервизор ESXi, установленный на сервер и работающий без посредничества какой-либо операционной системы. Фактически он играет роль связующего звена между аппаратным обеспечением и виртуальными машинами и отвечает за распределение физических (реальных) ресурсов сервера под виртуальной средой.

Для упрощения управления типичными задачами безопасности (и не только) компания VMware разработала набор продуктов vShield, который в том числе содержал брандмауэр, защиту от утечек данных, а также технологию для выгрузки антивирусной проверки с гостевых машин на выделенную виртуальную машину — vShield Endpoint.

Начиная с версии vSphere 5.1 набор функций vShield был дополнен, усовершенствован и стал называться vCloud Networking and Security. Единственным исключением стал vShield Endpoint, который поставлялся вместе с vSphere.

Часть функций (антивирусная защита и обнаружение сетевых угроз) обеспечивается благодаря интеграции с продуктами независимых поставщиков. Причем защита осуществляется без наличия агента на гостевых виртуальных машинах. Идея достаточно проста. Доступ к любому ресурсу выполняется при помощи гипервизора, поэтому есть возможность перехватывать любой запрос и передавать его на анализ специальной виртуальной машине.

В случае файлового антивируса на защищаемые виртуальные машины устанавливается драйвер vShield Endpoint (vShield Endpoint Thin Agent), который входит в состав VMware Tools. Он разрешает или запрещает доступ к файлам в зависимости от результата проверки. Виртуальная машина с антивирусом связана с драйвером на уровне гипервизора ESXi при помощи специальной службы.

Применение описываемых технологий имеет несколько преимуществ по сравнению с традиционным подходом. Во-первых, масштабируемость, которая так важна в виртуальной среде. Администратору не надо заботиться о защите только что созданной виртуальной машины, это происходит автоматически. Во-вторых, снижается нагрузка на каждый из узлов, поскольку ресурсоемкие операции проводятся на специально выделенной виртуальной машине. И, в-третьих, упрощается поддержка защиты виртуальной инфраструктуры, ведь антивирус или система IPS установлены в единственном экземпляре на каждом хосте ESXi. Сигнатуры обновляются только на этих машинах, и эти обновления становятся доступны сразу всем, даже новым виртуальным машинам.

Решение Kaspersky Security для виртуальных сред

Основным преимуществом виртуализации будут отказоустойчивость и повышение эффективности использования ресурсов. Эти принципы лежат в основе vShield Endpoint и специализированного решения Kaspersky Security для виртуальных сред. Выделение специальной виртуальной машины для проверки объектов на ESXi-хосте позволяет избавиться от многих трудностей, неизбежно возникающих при работе с традиционными антивирусами.

Самое главное — отказоустойчивость. Выход из строя или простой отдельного физического компьютера принесет вам меньше ущерба, чем отказ хоста ESXi, на котором запущены десятки виртуальных компьютеров.

Установка традиционного антивируса, переход с версии на версию требуют тщательной подготовки, ведь вы должны учитывать возможные проблемы с программным и аппаратным обеспечением. Если вы работаете в виртуальной среде, количество проблем уменьшается. Сам антивирус выглядит проще, чем при установке на физический компьютер и, по сути, представляет собой только ядро. Он устанавливается на специально подготовленную виртуальную машину, что исключает конфликты с другим программным обеспечением. Кроме того, использование внешних по отношению к Kaspersky Security для виртуальных сред интерфейсов VMware API позволяет без труда обновлять версию программы, не заботясь о проблемах совместимости. Если же виртуальная машина защиты вышла из строя, то это не влияет на работоспособность всего хоста ESXi, vShield Endpoint Thin Agent на гостевых виртуальных машинах просто переключится в режим «Пропускать все».

Kaspersky Security для виртуальных сред, с одной стороны, управляется Kaspersky Security Center, а с другой — интегрируется с подсистемой vShield и vCenter Server. Kaspersky Security для виртуальных сред взаимодействует с подсистемой vShield посредством сетевого соединения со службой vShield-Endpoint-Mux, поэтому процедура интеграции фактически сводится к передаче этой службе IP-адреса и порта для соединения. В роли посредника здесь выступает vShield Manager, он передает настройки и он же следит за статусами всех компонентов защиты.

Управление Kaspersky Security для виртуальных сред полностью осуществляется через Kaspersky Security Center, более того — это единственный способ управления продуктом.

Принципы работы постоянной защиты

Перехват обращения к файлу осуществляется с помощью VMware vShield Endpoint Thin Agent (Endpoint Driver) на стороне гостевой операционной системы. При этом драйвер временно блокирует файл и передает информацию на виртуальную машину защиты Security Virtual Machine (SVM) через модуль vShield-Endpoint-Mux. После проверки Kaspersky Security для виртуальных сред возвращает вердикт, на основании которого драйвер VMware на гостевой машине выполняет действие — разрешить доступ, заблокировать файл или удалить (см. рисунок).

 

Алгоритм проверки
Рисунок. Алгоритм проверки

Повышения производительности можно добиться с помощью внутренней оптимизации, например с использованием кэша. На стороне гостевой виртуальной машины драйвер vShield Endpoint Thin Agent может принимать решение о передаче файла на проверку на основании настроенных в политике исключений и внутреннего кэша чистых файлов. Кэш наполняется по результатам проверки Kaspersky Security для виртуальных сред. Однажды проверенный объект больше не будет проверяться, пока он не изменится или кэш не будет сброшен.

А исходя из требований безопасности кэш периодически сбрасывается. Это делается, когда происходят следующие события:

  • обновление баз сигнатур;
  • изменение настроек;
  • запуск задачи проверки по требованию;
  • выключение виртуальной машины;
  • перемещение виртуальной машины между хостами (с помощью механизма vMotion).

Из перечисленного выше понятно, что на гостевой машине время хранения информации в кэше непродолжительно. Кроме того, на каждой виртуальной машине он ведется независимо. В среде, где многие машины имеют общую базу сигнатур, добиться значительного роста производительности можно с помощью использования общего кэша. В этом случае файл, проверенный на одном из узлов, на других узлах проверяться не будет.

Основные принципы формирования общего кэша:

  • Используется хеш от полного пути файла. Хеш от пути быстро подсчитывается, в отличие от MD5-суммы объекта.
  • Учитываются свойства файла (даты создания и изменения, размер), что позволяет быть уверенным, что запись в кэше действительно относится к одному и тому же файлу. Учет всех параметров позволяет обнаруживать изменения в кэшированных файлах даже при временной потере соединения с сервером защиты.
  • Записывается дата антивирусных баз при первой и последней проверке. Используется в алгоритме перепроверки.
  • Учитываются настройки легкого агента, с которыми был проверен файл. В кэше хранится информация о профиле защиты, с которым был проверен объект, и, если настройки изменились и стали более жесткими, файл проверяется, даже если не был изменен.

Общий кэш предоставляет следующие преимущества:

  • он особенно эффективен в случае использования инфраструктуры виртуальных рабочих столов VDI;
  • ведется на стороне SVM;
  • сбрасывается только при перезагрузке SVM;
  • запись в кэш собирается из свойств файла (путь, размер, дата создания/изменения) и данных проверки (время первой/последней проверки, настройки проверки, результат). Исключения выполняются, если файл находится на сетевом ресурсе, на сменном носителе или если запущена задача проверки по требованию.

Сравнение с традиционным подходом

Как уже говорилось, основными преимуществами виртуализации являются прежде всего отказоустойчивость и повышение эффективности при использовании ресурсов. Эти принципы положены в основу vShield Endpoint и Kaspersky Security для виртуальных сред. Само по себе выделение специальной виртуальной машины для проверки объектов на хосте ESXi позволяет избавиться от многих трудностей, которые неизбежно возникают при работе с традиционными антивирусными продуктами. Выход из строя отдельного компьютера или его простой принесет меньше неприятностей, чем неполадки хоста ESXi. Ведь, как правило, на одном хосте запущены десятки виртуальных машин, многие из которых критичны для организации.

Именно поэтому установка Kaspersky Endpoint Security для бизнеса, обновление данного продукта с одной версии на другую требует тщательной подготовки, ведь администратор должен учесть возможные проблемы с аппаратным и программным обеспечением. Причем аппаратное, да и программное обеспечение на разных компьютерах будет различным.

Если вы применяете Kaspersky Security для виртуальных сред, то многое упрощается. Ведь сам антивирус, по сути, представляет собой только ядро и устанавливается на специально подготовленную защищенную систему, что исключает конфликты с другими программами. Используемые устройства виртуальные, а следовательно, стандартные, что позволяет избежать целого ряда проблем. При этом весь цикл поддержки антивирусной защиты (наблюдение за состоянием, обновление, установка лицензионных ключей) осуществляется только на виртуальной машине защиты.

Кроме того, без труда обновлять версию программы, не заботясь о проблемах совместимости, позволяет использование внешних VMware API. Причем, даже если виртуальная машина защиты вышла из строя, это никак не повлияет на работоспособность всего хоста ESXi, ведь агент на гостевых виртуальных машинах просто переключится в режим «Пропускать все». Да, режим безопасности ухудшится, но виртуальные машины продолжат работу.

Потребление ресурсов

Оценим потребление ресурсов с точки зрения виртуальной инфраструктуры. Узкими местами могут стать диск, оперативная память или, что менее вероятно, процессор. Рассмотрим влияние данных факторов.

Диск. Очевидно, что, так как мы отказываемся от полноценного антивирусного программного обеспечения, дисковое пространство используется гораздо эффективнее, ведь Kaspersky Endpoint Security для бизнеса версии 10 занимает около 800 Мбайт, в то время как виртуальная машина защиты — 2 Гбайт в случае использования режима Thin Provisioning (файл диска выделяется динамически) и 30 Гбайт в режиме Thick Provisioning (сразу выделяется все необходимое место под диск).

А ведь на одном хосте может быть несколько сотен виртуальных машин. Выигрыш налицо! В то же время с точки зрения производительности при использовании диска все не так однозначно. Ведь проверяется в обоих случаях примерно одно и то же количество объектов, а значит, число операций чтения и записи будет примерно одинаковым. Однако стоит учесть, что перехват файловых операций и доступ к файлам будут организованы по-разному. Внутренние тесты подтверждают, что Kaspersky Security для виртуальных сред гораздо менее требователен к диску, чем KESB 10.

Оперативная память. Если говорить об оперативной памяти, то ее использование имеет смысл рассматривать с точки зрения потребления памяти всем хостом ESXi в целом. В случае Kaspersky Security для виртуальных сред базы хранятся на виртуальной машине защиты и загружены в память только на ней. Помимо этого, в программе реализованы и другие способы сгладить пиковые нагрузки во время проверок по требованию.

Сеть. Если минимизировать количество клиентов, то удастся значительно разгрузить сеть. Это как раз случай Kaspersky Security для виртуальных сред, ведь виртуальная машина защиты всего одна на ESXi-хост, так что получается экономия на обновлениях, данных синхронизации и большинстве событий.

Постоянная защита

Постоянная защита предполагает перехват обращений к объектам файловой системы, их блокировку на время проверки антивирусным движком, проверку и действия с объектом в зависимости от вердикта. В случае vShield Endpoint продукт «Лаборатории Касперского» отвечает только за проверку объекта и определение действия, которое должно быть к нему применено. Сначала рассмотрим упрощенную схему обработки файлового события без оптимизации.

Перехват обращения к файлу осуществляется с помощью VMware vShield Endpoint Thin Agent (Endpoint Driver) на стороне гостевой операционной системы. Этот драйвер временно блокирует файл и передает информацию о доступе на виртуальную машину защиты через модуль vShield-Endpoint-Mux. Запрос на проверку передается Kaspersky Security для виртуальных сред через библиотеку libEPSec.so, предоставляемую компанией VMware. Если файл нужно проверить, антивирус уже сам направляет запрос к библиотеке на чтение объекта. После проверки Kaspersky Security для виртуальных сред возвращает вердикт, на основании которого драйвер VMware на гостевой машине выполняет действие — разрешить доступ, заблокировать файл или удалить.

При работе в виртуальной среде основным критерием является производительность, добиться которой можно как с помощью настроек, так и посредством внутренней оптимизации, например в виде кэша. На стороне гостевой виртуальной машины драйвер vShield Endpoint Thin Agent может принимать решение о передаче файла на проверку на основании настроенных в политике исключений и внутреннего кэша чистых файлов. Кэш наполняется по результатам проверки Kaspersky Security для виртуальных сред. Однажды проверенный объект больше не будет проверяться, пока не изменится или кэш не будет сброшен. Однако из соображений безопасности кэш нужно периодически сбрасывать.

Кэш на гостевой машине существует достаточно недолго. У него есть еще один недостаток: для каждой виртуальной машины он ведется независимо. В среде, где многие машины имеют общую базу (например, VDI) можно добиться значительного повышения производительности с помощью общего для них кэша. В таком случае один и тот же файл, проверенный на одном из узлов, не будет проверяться на всех остальных.

Для проверки файла Kaspersky Security для виртуальных сред использует стандартный набор средств, применяемый и в файловом антивирусе Kaspersky Endpoint Security для Windows. Основу всякой проверки составляет сигнатурный анализ, он выполняется первым. Если он ничего не дал, производится эвристический анализ. Чем глубже уровень эвристики, тем больше выполняется инструкций и тем более точным может быть вердикт, однако это приводит к потере производительности.

Недостатки данного вида защиты

Ограниченность защиты. Драйвер vShield Endpoint (тонкий агент) очень прост и потому почти не оказывает влияния на производительность защищаемой виртуальной машины. Однако он может использоваться только для проверки файлов на диске. Ни о какой защите от атак через браузер, проверке памяти, проактивной защите и т. д. речи не идет. В случае серверов такой подход может быть оправдан, но при защите обычной рабочей станции этого недостаточно.

Жесткие рамки. Значительная доля функций защиты не может быть реализована в силу специфики решения. Задача антивирусных продуктов сводится лишь к проверке данных. Перехват и доступ к объектам осуществляются средствами VMware. Возможность использования новых функций также зависит от VMware. На данный момент к защите файловой системы добавилась только защита от сетевых атак, которая осуществляется посредством набора API под названием Network Extensibility.

Неэффективное потребление ресурсов в случае небольших развертываний. Для клиентов с небольшой виртуальной инфраструктурой vShield Endpoint может показаться не столь привлекательным. Надо учитывать, что потребуется установить несколько дополнительных виртуальных машин: vShield Manager для установки и управления vShield Endpoint (один на vCenter Server) и виртуальную машину защиты (на каждый хост ESXi). Они занимают место в хранилище и потребляют память. Если требуется защитить пару ESXi-хостов с несколькими виртуальными серверами, выигрыш в ресурсах не так очевиден. Если же требуется защита от сетевых атак, дополнительно понадобится еще одна виртуальная машина защиты на каждый ESXi-хост.

Стоимость. На данный момент vShield Endpoint включен в стоимость лицензий VMware vSphere Standard и выше, но для использования защиты от сетевых атак потребуется приобрести лицензию vCloud Networking and Security. Кроме того, защита от сетевых атак требует наличия распределенного виртуального коммутатора, доступного лишь в самых дорогих редакциях VMware vSphere.

Все описанные недостатки в той или иной степени учтены в Kaspersky Security для виртуальных сред, реализующей подход к защите с использованием агента. В данной статье мы рассмотрели защиту без агента. В следующий раз речь пойдет о Kaspersky Security для виртуальных сред, использующей агентский подход к защите.