Доклады, выступления, видео и электронные публикации

Контроль целостности виртуальных машин в среде виртуализации KVM

1МФТИ (ГУ), Москва, 117303, Россия

2ЗАО «ОКБ САПР», Москва, 115114, Россия

В статье рассматриваются виртуальная инфраструктура, построенная на базе гипервизора KVM, и механизм её защиты, реализованный в СПО «Аккорд-KVM». Указаны состав продукта, условия его применения и основные функции: контроль целостности виртуальных машин, контроль за их размещением и регистрация событий.

Ключевые слова: виртуальная инфраструктура, KVM, контроль целостности.

The article deals with virtual infrastructure, that is based on KVM hypervisor, and it’s protection mechanism, implemented in the special software «Accord-KVM». There are specified composition of the product, conditions for the application and the core functions, that are integrity monitoring of virtual machines, their localtion control and an event registration.

Keywords: virtual infrastructure, KVM, integrity monitoring.

Введение

Технологию виртуализации нельзя назвать новой: она появилась ещё в 60-е годы прошлого столетия, и пусть долгие годы не была широко востребована и своё второе рождение испытала только в конце XX – начале XXI веков, но уже и с тех пор прошло около 20 лет [1, 2 С. 3-6, 3]. Несмотря на столь долгий путь развития, применение виртуализации зачастую вызывает вопросы и трудности: от того, какую платформу виртуализации выбрать, подготовки и подбора кадров, способных администрировать виртуальные инфраструктуры, до обеспечения безопасности информационных систем. В данной статье сфокусируемся на защите виртуальных инфраструктурах, построенных на базе гипервизора KVM.

Виртуализация на базе KVM

За годы своего развития технология виртуализации коснулась, пожалуй, всех компонентов информационной системы. Так выделяют виртуализацию серверов (server virtualization), хранилищ (storage virtualization), сетей (network virtualization), программного обеспечения и приложений (application virtualization, software virtualization). Вместе с тем, когда говорят о виртуализации, чаще всего подразумевают именно виртуализацию серверов [2 C. 21-26]. Согласно [4-6], это технология, позволяющую представить ресурсы ЭВМ в некотором универсальном виде, запустить на одной физической машине одновременно несколько экземпляров операционных систем (ОС), называемых гостевыми.

В основе виртуализации серверов лежит особое программное обеспечение, гипервизор – специальная программа, позволяющая запускать виртуальные машины, а также осуществляющая управление ими [3, 7].

Выделяют следующие виды виртуализации серверов :

  • полная виртуализация (full virtualization) – технология, позволяющая запускать несколько изолированных экземпляров ОС (виртуальных машин, ВМ) на физическом оборудовании и не требующая модификации ОС. Полная виртуализация может быть как программной, так и аппаратной. В первом случае она основана на бинарной трансляции, то есть обращения программ пользователей к оборудованию сначала перенаправляются на гостевую ОС, затем гипервизору и лишь затем к оборудованию (software assisted virtualization). При аппаратном варианте полной виртуализации обращения программ происходят напрямую к физическому оборудованию (hardware assisted virtualization);
  • паравиртуализация (paravirtualization) – технология, позволяющая также запускать несколько виртуальных машин, но требующая при этом модификации гостевых операционных систем;
  • виртуализация уровня операционной системы (OS-level virtualization), или контейнеризация – технология, позволяющая запускать в рамках одной операционной системы несколько экземпляров «пространств пользователя» (user space). Хотя виртуализация уровня операционной системы и не является в чистом виде виртуализацией серверов (например, не используется гипервизор), но её часто относят именно к виртуализации серверов, так как частным случаем такого пространства может быть другой экземпляр ОС [6, 8].

Несмотря на широкий спектр видов виртуализации, для использования в промышленных информационных системах, требовательных к производительности, удобству и простоте администрирования, для систем, включающих в себя десятки, а порой и сотни физических серверов, предпочтение отдаётся именно аппаратной виртуализации, причём основанной на гипервизорах первого типа [9, 10]. Такие гипервизоры исполняются непосредственно на аппаратном уровне, выполняют функции эмуляции физического оборудования и управления аппаратными средствами и гостевыми ОС [11].

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

Kernel-based virtual machine, KVM –  программное решение, обеспечивающее полную виртуализацию в дистрибутивах Linux на оборудовании с архитектурой x86. Программное обеспечение KVM состоит из загружаемого модуля ядра kvm.ko, который обеспечивает основные функции виртуализации, и загружаемых модулей kvm-amd.ko или kvm-intel.ko, зависящих от используемого процессора. Для эмуляции аппаратного обеспечения гипервизор KVM использует программу QEMU [12].

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

Наиболее распространённым механизмом для управления гипервизором KVM является набор инструментов libvirt [13]. libvirt состоит из библиотеки интерфейса прикладных программ (API), сервиса (libvirtd) и утилиты командной строки по умолчанию (virsh) [14].

Защита виртуальных инфраструктур на базе KVM

Развитие средств защиты информации напрямую связано с развитием тех технологий, элементов информационных систем, для обеспечения безопасности которых они предназначены. Так, если для виртуальных инфраструктур построенных на базе таких популярных платформ виртуализации как VMware vSphere, Microsoft Hyper-V, создано большое число средств защиты [15-16], то для гипервизора KVM такие решения только появляются.

В защите виртуальных инфраструктур на базе KVM можно выделить два направления:

  • создание защищённых сред виртуализации, основанных на KVM [17-18];
  • наложенные средства защиты [19-20].

У обоих направлений есть свои преимущества и недостатки [21].

Так, защищенная среда виртуализации строится на базе модифицированного гипервизора KVM и изначально спроектирована таким образом, что обеспечивает безопасность информации, в ней обрабатываемой. Такие системы зачастую сертифицированы и могут использоваться в государственных информационных системах и системах обработки персональных данных высоких классов. С другой стороны, использование таких сред вносит существенные ограничения: на используемое оборудование, на гостевые ОС, на варианты систем управления. Также обновления таких систем происходят намного реже, чем обычных виртуальных инфраструктур, построенных на базе не модифицированного KVM, так как связаны с особыми процедурами контроля и сертификации, и как следствие пользователи реже получают новые функции.

Использование же оригинального гипервизора позволяет гибко строить системы виртуализации: устанавливать в качестве гостевых любые ОС семейства Linux и Windows, создавать ВМ с любым набором оборудования, запускать гипервизоры на различных серверах, а также использовать различные системы управления. И в случае защиты виртуальной инфраструктуры при помощи наложенного средства хотелось бы по-прежнему использовать все преимущества KVM.

Рассмотрим разработанное «ОКБ САПР» специальное программное обеспечение «Аккорд-KVM» [20, 22], предназначенное для применения в виртуальных инфраструктурах, построенных на базе KVM, и использующих библиотеку libvirt в качестве инструмента управления гипервизором.

СПО «Аккорд-KVM »

Условия применения

В первую очередь остановимся на ограничениях на среду виртуализации KVM, в которой может быть применено СПО «Аккорд-KVM». Основных ограничений два: это использование для управления гипервизором библиотеки libvirt версии не ниже 0.9.13 и установка библиотеки libguestfs версии не ниже 1.36.3 на ЭВМ с гипервизором (хост).

Эти условия использования существенно не препятствуют применению СПО «Аккорд-KVM» в различных виртуальных инфраструктурах: во-первых, подавляющее большинство систем управления используют в своей основе библиотеку libvirt [13], во-вторых, библиотеки libguestfs и libvirt могут работать на самых разных ОС семейства Linux. Ограничение же по версиям хоть требует установки свежих ОС на ЭВМ с гипервизором, но всё же не является жёстким – практически все вышедшие за последние 2 года операционные позволяют работать с такими версиями библиотек. Заметим также, что на всех ОС при этом будут работать одна и та же версия СПО «Аккорд-KVM»: исходные коды и скомпилированные на их основе бинарные файлы, входящие в состав средства защиты, подходят для применения и в Ubuntu, и в CentOS, и в RedHat.

Другими условиями применения СПО «Аккорд-KVM» являются использование дисков ВМ только типа raw или qcow2, сетевых соединений direct, network или bridge и соответствие каждой ВМ только одной гостевой ОС. Именно эти варианты конфигурации виртуальной машины являются наиболее популярными и часто используемыми [23].

Таким образом, «Аккорд-KVM» может использоваться для защиты широкого спектра виртуальных инфраструктурах.

Отдельно стоит рассмотреть условия применения сертифицированной версии СПО «Аккорд-KVM»: помимо перечисленного выше требуется установка на хост ОС CentOS 7.4.1708 (Core) или CentOS 7.5.1804 (Core), а также использование на нём СПО СЗИ НСД «Аккорд-X К». Конечно, ограничение на операционную систему ЭВМ с гипервизором сокращает множество вариантов виртуальной инфраструктуры, для которых может использоваться СПО «Аккорд-KVM», но стоит понимать, что это ограничение не технического характера. Как упоминалось выше, «Аккорд-KVM» работает и под другими ОС, следовательно для расширения списка операционных систем, на которых может работать СПО, достаточно провести лишь, собственно, процедуру сертификации – объект сертификации уже существует.

Основные функции

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

Каждая виртуальная машина характеризуется своим виртуальным аппаратным обеспечением – набором оборудования – и работающей на нём гостевой операционной системой со всеми её файлами. А потому в «Аккорд-KVM» контроль целостности виртуальный машины включает в себя контроль 2 компонентов – конфигурации, оборудования и его настроек, и файлов внутри виртуальной машины, как системных, так и пользовательских. Поддерживаемые «Аккорд-KVM» файловые системы позволяют контролировать целостность виртуальных машин с гостевыми операционными системами семейств и Windows, и Linux.

Также «Аккорд-KVM» обеспечивает контроль за размещением исполняемых виртуальных машин на серверах виртуализации, что позволяет исключить смешение информации различного уровня доступа, другими словами, не допустить размещение виртуальных машин, обрабатывающих информацию ограниченного доступа, на серверах виртуализации, предназначенных для работы с общедоступной информацией [22].

СПО «Аккорд-KVM» имеет собственную подсистему регистрации событий – все действия по настройке средства защиты, выполняемые администраторов, вся информация о проведении контрольных процедур, а также сведения о включении и выключении виртуальных машин заносятся в журнал.

Говоря о возможностях средства защиты информации нельзя не отметить требования регуляторов к обеспечению безопасности тех систем, для которых это средство предназначено. Для виртуальных инфраструктур основными документами, в которых указаны требования к защите, являются приказы ФСТЭК России [24-26]. Выполняя приведенные выше функции, СПО «Аккорд-KVM» реализует следующие механизмы защиты: регистрация событий безопасности в виртуальной инфраструктуре (ЗСВ.3), управление перемещением виртуальных машин (контейнеров) и обрабатываемых на них данных (ЗСВ.6) и контроль целостности виртуальной инфраструктуры и ее конфигураций (ЗСВ.7) [27].

Конечно, использования только «Аккорд-KVM» недостаточно для полной защиты виртуальной инфраструктуры – во-первых, это невозможно обеспечить лишь программными средствами [28 С. 233], во-вторых, выполнение требований по защите систем виртуализации требует комплексного подхода [29]. Необходимо применение дополнительных средств защиты информации: аппаратных модулей для доверенной загрузки физических серверов виртуализации, СЗИ от НСД, применяемых как на гипервизорах, так и внутри виртуальных машин для защиты ресурсов. «Аккорд-KVM» успешно работает в связке с соответствующими средствами защиты «ОКБ САПР» и может использоваться в составе комплексного решения по защите виртуальной инфраструктуры [22].

Состав

СПО «Аккорд-KVM» включает в себя:

  • программный модуль accordkvm, отвечающий за контроль целостности виртуальных машин и их компонентов;
  • программный модуль qemu, отвечающий за перехват старта виртуальный машин.

Также в процессе своей работы «Аккорд-KVM» использует собственную базу данных (SQLite), в которой хранит информацию об эталонных значениях оборудования виртуальных машин, из файлов, а также сведения о разрешении или запрете включения ВМ.

Заключение

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

Виртуальные инфраструктуры, построенные на базе KVM, могут значительно отличаться друг от друга: операционной системой хоста [30], гостевыми ОС, системами управления. Вне зависимости от этих условий необходимо обеспечивать контроль целостности виртуальных машин. СПО «Аккорд-KVM» позволяет решить эту задачу и при этом не накладывает существенных ограничений на виртуальную инфраструктуру, в которой может быть применено.

«Аккорд-KVM» имеет потенциал для дальнейшего развития, например, добавления функции контроля доступа к объектам виртуальной инфраструктуры [30].

Список литературы

  1. Reuben J. S. A survey on virtual machine security // Seminar on Network Security Autumn 2007. Helsinki University of Technology, Telecommunications Software and Multimedia Laboratory, 2007.
  2. Dittner R., Rule D at al. The Best Damn Server Virtualization Book Period. Syngress, 2007. – 960 p.
  3. Что такое гипервизор? [Электронный ресурс]. URL: https://www.networkworld.com/article/3243262/what-is-a-hypervisor.html (дата обращения: 22.04.2019).
  4. Что такое виртуализация серверов? [Электронный ресурс]. URL: https://www.hpe.com/ru/ru/what-is/server-virtualization.html (дата обращения: 22.04.2019).
  5. Как работает виртуализация серверов? [Электронный ресурс]. URL: https://computer.howstuffworks.com/server-virtualization.htm (дата обращения: 22.04.2019).
  6. Виртуализация серверов [Электронный ресурс]. URL: https://www.vmware.com/topics/glossary/content/server-virtualization (дата обращения: 22.04.2019).
  7. Что такое гипервизор? [Электронный ресурс]. URL: https://www.vmware.com/topics/glossary/content/hypervisor (дата обращения: 22.04.2019).
  8. Паравиртуализация, полная и аппаратная виртуализации [Электронный ресурс]. URL: https://www.unixarena.com/2017/12/para-virtualization-full-virtualization-hardware-assisted-virtualization.html/ (дата обращения: 22.04.2019).
  9. Лучшее программное обеспечение для виртуализации серверов. [Электронный ресурс]. URL: https://www.trustradius.com/server-virtualization (дата обращения: 22.04.2019).
  10. Лучшее программное обеспечение для виртуализации серверов. [Электронный ресурс]. URL: https://www.gcom/categories/server-virtualization(дата обращения: 22.04.2019).
  11. Гипервизор виртуализации [Электронный ресурс]. URL: https://ru.bmstu.wiki/%D0%93%D0%B8%D0%BF%D0%B5%D1%80%D0%B2%D0%B8%D0%B7%D0%BE%D1%80 (дата обращения: 22.04.2019).
  12. Сайт проекта KVM. Главная страница [Электронный ресурс]. URL: https://www.linux-kvm.org/page/Main_Page (дата обращения: 22.04.2019).
  13. Сайт проекта KVM. Средства управления [Электронный ресурс]. URL: https://www.linux-kvm.org/page/Management_Tools (дата обращения: 22.04.2019).
  14. Сайт проекта Libvirt. Часто задаваемые вопросы [Электронный ресурс]. URL: https://wiki.libvirt.org/page/FAQ#What_is_libvirt.3F (дата обращения: 22.04.2019).
  15. Шамардина (Чепанова) Е.Г. Формирование критериев сравнения модулей доверенной загрузки // Вопросы защиты информации: Научно-практический журнал/ФГУП «ВИМИ», 2014. Вып. 4 (107). С. 60-63
  16. Ледовский В. Обзор средств защиты виртуальных сред VMware vSphere [Электронный ресурс]. URL: https://www.anti-malware.ru/analytics/Virtualization_Security (дата обращения 04.2019).
  17. ПК «ВИУ», ПК «БРЕСТ» РусБИТех [Электронный ресурс]. URL: http://www.astralinux.com/products/virt.html (дата обращения 04.2019).
  18. ПАК «Горизонт-ВС» [Электронный ресурс]. URL: http://gorizont-vs.ru/ (дата обращения 04.2019).
  19. Сайт проекта SELinux. sVirt [Электронный ресурс]. URL: https://selinuxproject.org/page/SVirt (дата обращения: 22.04.2019).
  20. СПО «Аккорд-KVM» [Электронный ресурс]. URL: http://accord-v.ru/accord-kvm/kvm-osnovnye-svedenija/ (дата обращения: 22.04.2019).
  21. Лыдин С.С. О проблеме выбора средств защиты информации для инфраструктуры виртуализации. // Вопросы защиты информации, 2017. № 3. С. 42-45.
  22. Мозолина Н.В. Необходимо и достаточно, или контроль целостности виртуальных машин с помощью Аккорд-KVM // Information Security|Информационная безопасность. 2018. № 5. С. 33.
  23. Сайт проекта KVM. Часто задаваемые вопросы. [Электронный ресурс]. URL: https://www.linux-kvm.org/page/FAQ (дата обращения: 22.04.2019).
  24. Приказ № 17 ФСТЭК России от 11 февраля 2013 г. «Об утверждении требований о защите информации, не составляющей государственную тайну, содержащейся в государственных информационных системах».
  25. Приказ № 21 ФСТЭК России от 18 февраля 2013 г. «Об утверждении состава и содержания организационных и технических мер по обеспечению безопасности персональных данных при их обработке в информационных системах персональных данных»
  26. Приказ № 31 ФСТЭК России от 14 марта 2014 г. «Об утверждении Требований к обеспечению защиты информации в автоматизированных системах управления производственными и технологическими процессами на критически важных объектах, потенциально опасных объектах, а также объектах, представляющих повышенную опасность для жизни и здоровья людей и для окружающей природной среды».
  27. ТУ 501410-073-37222406-2018 Специальное программное обеспечение «Аккорд-KVM». Технические условия.
  28. Конявский В.А., Гадасин В.А. Основы понимания электронного обмена информацией. Мн:»Беллитфонд», 2004. – 282 с.
  29. Рябов А. С., Угаров Д. В., Постоев Д. А. Безопасность виртуальных инфраструктур. Сложности и нюансы выполнения требований регулятора // Комплексная защита информации: материалы XXI научно-практической конференции, Смоленск, 17–19 мая 2016 г. М., 2016. С. 217-220.
  30. Ружанская А.А. Особенности разграничения доступа при управлении виртуальной инфраструктурой на базе гипервизора KVM // Вопросы защиты информации. М., 2018. № 2 (121). С. 25-29.

Авторы: Мозолина Н. В.; Ваганов Т. Е.; Чадов А. Ю.

Дата публикации: 18.01.2019

Издательство: Комплексная защита информации: материалы ХХIV научно-практической конференции. Витебск. 21–23 мая 2019 г.: УО ВГТУ. Витебск, 2019. С. 242–248.


Scientia potestas est
Кнопка связи