| Слушать на Google Podcasts | Слушать на Mave | Слушать на Яндекс Музыке |
Руслан Рахметов, Security Vision
Технологии виртуализации нашли широкое применение в последние 15 лет, однако сам принцип виртуализации был разработан 50 лет назад компанией IBM, а принципы, заложенные еще тогда, до сих пор лежат в основе современных систем виртуализации. На сегодняшний день практически все ИТ/ИБ-специалисты активно работают с теми или иными средствами виртуализации, и причина этого понятна: виртуализация позволяет использовать аппаратные вычислительные ресурсы более рационально, размещая на одном физическом сервере сразу несколько виртуальных машин, работающих зачастую с разными типами операционных систем, а добавление нового уровня абстракции при виртуализации позволяет «развязать» аппаратную и программную платформы, что привносит дополнительную стабильность работы и упрощение администрирования. Однако, применение дополнительных технологий зачастую сопряжено с определенными угрозами информационной безопасности, что требует актуализации организационных и технических мер защиты для минимизации соответствующих киберрисков. Документ NIST SP 800-125 "Guide to Security for Full Virtualization Technologies" («Руководство по безопасности технологий виртуализации») содержит рекомендации по повышению кибербезопасности виртуальных инфраструктур, включая обеспечение защиты всех компонентов платформы виртуализации, управление административным доступом, защиту гипервизора, планирование обеспечения безопасности всех виртуальных компонент перед развертыванием. В дополнение к данной публикации, в NIST был разработан документ NIST SP 800-125A "Security Recommendations for Server-based Hypervisor Platforms" («Рекомендации по безопасности для серверных гипервизорных платформ»), в котором описаны базовые функции безопасности гипервизоров без привязки к конкретным архитектурам и платформам, и документ NIST SP 800-125B "Secure Virtual Network Configuration for Virtual Machine (VM) Protection" («Безопасная сетевая конфигурация для защиты виртуальных машин»), в котором описаны техники сетевой сегментации, обеспечения сетевой избыточности, контроль трафика с применением межсетевых экранов, мониторинг виртуальной сети для обеспечения кибербезопасности виртуальной инфраструктуры. О них мы поговорим в текущей публикации.
Итак, в публикации NIST SP 800-125 акцент делается на защите технологии полной виртуализации, full virtualization, что отличается от виртуализации приложений, application virtualization (например, виртуализация с помощью виртуальной машины Java Virtual Machine или запуск определенных приложений в «песочнице») или виртуализации операционной системы, operating system virtualization (например, при использовании технологий контейнеризации). При полной виртуализации применяется гипервизор (или монитор виртуальных машин, virtual machine monitor), который осуществляет управление гостевыми ОС (guest OS). При этом гипервизор может быть установлен непосредственно на аппаратной платформе (так называемая bare metal virtualization, например, виртуализация через VMware ESXi) или на хостовой ОС, host OS (например, виртуализация с помощью Microsoft Hyper-V). Вариант виртуализации bare metal можно считать более предпочтительным с точки зрения ИБ, т.к. применение варианта с хостовой ОС добавляет новый промежуточный уровень и новый объект для нападения - при кибератаке на хостовую ОС злоумышленники могут воспользоваться уязвимостями более широкого спектра, т.к. хостовая ОС во многих случаях представляет собой типовую ОС с дополнительными функциями и характерными уязвимостями, а специализированные ОС для bare metal-виртуализации дают атакующим меньшую поверхность атак в силу отсутствия избыточного функционала.
Основными вызовами для кибербезопасности виртуализированных систем являются задача защиты образов гостевых ОС и данных ОЗУ гостевых ОС, изоляция гостевых систем друг от друга, безопасность сетевого трафика между виртуальными системами, а также задача защиты от атак со стороны скомпрометированного гипервизора, который дает атакующим доступ ко всем управляемым им гостевым ОС и соответствующим данным на них. Следует также отметить, что удобство при создании снимков гостевых ОС (так называемых снэпшотов, snapshot) и при распространении готовых образов виртуальных машин может быть омрачено опасностью того, что в копируемом образе или снимке гостевой ОС содержится ранее поразивший реплицируемую систему вредоносный код, который таким образом будет распространен и на другие системы.
В документе NIST SP 800-125 содержатся рекомендации по повышению кибербезопасности виртуальных сред, включая следующие рекомендации по обеспечению безопасности гипервизоров:
-
Своевременная установка вендорских обновлений для гипервизоров;
-
Ограничение административного доступа к управляющим интерфейсам гипервизора с защитой каналов передачи данных в выделенном сетевом сегменте с применением криптографических средств;
-
Синхронизация времени в виртуальной инфраструктуре с доверенным источником;
-
Отключение неиспользуемого физического оборудования от хостовых систем, включая накопители и сетевые адаптеры;
-
Отключение сервисов буфера обмена и функции копирования файлов между гостевыми системами и хостовой ОС;
-
Использование средств мониторинга состояния безопасности гостевых ОС на уровне гипервизора для повышения надежности получаемых данных;
-
Использование систем мониторинга активности обмена данными между гостевыми ОС по аналогии с контролем сетевых потоков между подсетями в физической инфраструктуре;
-
Мониторинг безопасности самого гипервизора с применением средств контроля целостности и анализа логов.
Для обеспечения безопасности гостевых ОС в документе NIST SP 800-125 предлагается выполнение следующих мер:
-
Применение мер защиты, рекомендованных для обычных физических систем (управление доступом, аудит, контроль подключений и т.д.);
-
Своевременная установка обновлений для гостевых ОС;
-
Обеспечение резервного копирования виртуальных дисков в соответствии с регламентом бэкапов для физических систем;
-
Отключение неиспользуемых виртуальных устройств от хостовых систем, включая накопители и сетевые адаптеры;
-
Использование отдельных учетных записей для каждой гостевой ОС;
-
Контроль соответствия виртуальных устройств гостевых ОС физическим устройствам на уровне хостовой системы.
При настройке и обеспечении кибербезопасности виртуальной инфраструктуры авторы NIST SP 800-125 рекомендуют придерживаться следующих этапов:
-
Инициализация: определение потребности в виртуализации имеющейся инфраструктуры, описание модели будущей виртуальной среды, создание высокоуровневой стратегии для внедрения систем виртуализации, разработка политики по применению средств виртуализации, определение целевых платформ и приложений для перехода на виртуализацию, описание функциональных и бизнес-требований к решению для виртуализации.
-
Планирование и разработка: определение технических требований и характеристик решения для виртуализации и сопутствующих компонент, включая методы аутентификации и криптографической защиты информации, а также последующая закупка решения.
-
Внедрение: конфигурирование оборудования для соответствия операционным и ИБ-требованиям, установка и тестирование прототипа, перевод в продуктивное использование. Также на данном этапе выполняется перенастройка средств защиты информации и подключение новых ИБ-систем для контроля создаваемой виртуальной инфраструктуры.
-
Эксплуатация и поддержка: выполнение задач кибербезопасности в виртуальной инфраструктуре, включая аудит логов, выявление кибератак, реагирование на киберинциденты.
-
Вывод из эксплуатации: при отказе от системы виртуализации и выводе ее из эксплуатации следует озаботиться сохранением информации из системы, очисткой накопителей, корректной утилизацией оборудования и систем.
В дополнение к публикации NIST SP 800-125 был выпущен документ NIST SP 800-125A "Security Recommendations for Server-based Hypervisor Platforms" («Рекомендации по безопасности для серверных гипервизорных платформ»), в котором описаны базовые функции безопасности гипервизоров:
-
Изоляция процессов виртуальных машин с использованием аппаратных функций гипервизоров, ограничением и контролем прямого доступа виртуальных машин к аппаратным компонентам;
-
Управление доступом к аппаратным устройствам с применением эмуляции, паравиртуализации, проброса устройств или с помощью виртуализируемых аппаратных компонентов;
-
Выполнение некоторых команд (называемых гипервызовами, hypercalls) от гостевых ОС непосредственно самим гипервизором (применимо только для гипервизоров с паравиртуализацией);
-
Управление жизненным циклом виртуальных машин, включая создание и управление образами виртуальных машин, контроль состояния виртуальных машин (запуск, пауза, остановка), миграция и мониторинг виртуальных машин, управление доступом администраторов, применение политик ИБ;
-
Управление платформой гипервизора: конфигурирование самого гипервизора и программного обеспечения виртуализации, включая установку виртуальных машин на гипервизоре, создание и поддержку кластеров гипервизоров, управление виртуальной сетью на гипервизоре.
В дополнение к публикации NIST SP 800-125, был также выпущен документ NIST SP 800-125B "Secure Virtual Network Configuration for Virtual Machine (VM) Protection" («Безопасная сетевая конфигурация для защиты виртуальных машин»), в котором описаны следующие способы обеспечения сетевой безопасности применительно к виртуальным инфраструктурам:
-
Сетевая сегментация: изоляция виртуальных хостов, применение виртуальных коммутаторов и межсетевых экранов, использование VLAN (виртуальных сетей), применение оверлейных виртуальных сетей для повышения масштабируемости и гибкости;
-
Обеспечение сетевой избыточности путем создания группы сетевых адаптеров на виртуализированном хосте;
-
Контроль трафика с применением межсетевых экранов: применение физических межсетевых экранов, виртуальных файрволлов на уровне подсетей, виртуальных файрволлов на уровне ядра гипервизора;
-
Мониторинг виртуальной сети для обеспечения кибербезопасности виртуальной инфраструктуры, с применением виртуальных сетевых адаптеров с зеркалированием траффика или виртуальных коммутаторов для отправки трафика на выделенный порт для мониторинга.