СИСТЕМА БЕЗОПАСНОСТИ ВИРТУАЛИЗОВАННОЙ КОМПЬЮТЕРНОЙ СИСТЕМЫ
SECURITY SYSTEM FOR VIRTUAL COMPUTER SYTEM

Изобретение относится к области безопасности компьютерных систем, а именно к системам безопасности виртуализованных компьютерных систем, и может применяться в компьютерных устройствах различного типа с разными архитектурными и операционными системами, которые поддерживают возможности виртуализации.
Подход к возможностям виртуализации, связанный с монитором виртуальной машины (VMM - virtual machine monitor), фактически является типичным путем для создания нескольких виртуальных машин на единой реальной аппаратной платформе. Монитор виртуальной машины - это компьютерная программа, которая осуществляет полный или частичный контроль ресурсов реальной компьютерной системы. Она предоставляет изолированное окружение путем виртуализации данных аппаратных ресурсов. Виртуализованное окружение называется виртуальной машиной (VM - virtual machine). Виртуальная машина может обращаться к виртуальным ресурсам. Попытки обращения виртуальных машин к виртуальным ресурсам контролируются подсистемой безопасности. При этом, с точки зрения подсистемы безопасности, виртуальная машина является субъектом операции обращения, а ресурс, к которому она обращается, объектом. Подсистема безопасности содержит несколько (один или более) различных элементов, называемых модулями безопасности. Когда монитор виртуальной машины организовывает доступ к ресурсам системы, модули безопасности принимают решение о доступе субъектов к объектам на основе загруженной политики безопасности. Подсистема безопасности получает эти решения в определенной последовательности и принимает на их основе окончательное решение. В существующих системах виртуализации последовательность опроса модулей безопасности жестко закодирована. Аспект производительности не учитывается или она определяется эмпирически при определении данной последовательности. Поскольку решения могут приниматься очень часто и последовательность опроса модулей безопасности может быть неоптимальной, то это может привести к значительному ухудшению характеристик системы: уменьшению общей производительности и времени отклика.
Известна система виртуализации Xen c sHype подсистемой безопасности, разработанной фирмой IBM (см. Research Report RC23629: R.Sailer, Т.Jaeger, Е.Valdez, R.Perez, S.Berger, J.L Griffin, L. van Doorn: Building a MAC-based Security Architecture for the Xen Opensource Hypervisor [1] и Research Report RC23511: R.Sailer, E.Valdez, T.Jaeger, R.Perez, L. van Doorn, J.L.Griffin, S.Berger: sHype: Secure Hypervisor Approach to Trusted Virtualized Systems [2]). Архитектура sHype (фирмы IBM) поддерживает реализацию различных модулей безопасности (Chinese Wall, Biba, Bell-LaPadula и т.д.).
Наиболее близкой к заявленному изобретению является система безопасности виртуализованной компьютерной системы, описанная в патенте ЕР 2037657 [3], содержащая аппаратную часть, связанную, по меньшей, с одной виртуальной машиной через монитор виртуальной машины, при этом виртуальная машина выполнена с возможностью направления запроса доступа в монитор виртуальной машины, выполненный с возможностью обработки запроса доступа. Данная система выбрана в качестве прототипа заявленного изобретения.
Описанная выше архитектура систем аналога и прототипа предполагает, что последовательность получения решений от модулей безопасности основана на требуемой безопасности и жестко закодирована. Аспект производительности не учитывается или она определяется эмпирически, что может не соответствовать реальному состоянию. В системах с такой архитектурой может произойти ухудшение общей производительности системы и времени отклика системы, особенно если используется несколько сложных модулей безопасности. Кроме того, данная архитектура не обеспечивает функциональности для регистрации событий, происходящих в системе безопасности.
Задачей заявленного изобретения является создание системы безопасности виртуализованной компьютерной системы с увеличенной производительностью и уменьшенным временем отклика.
Поставленная задача решена за счет формирования оптимизированной последовательности опроса модулей безопасности и опроса модулей в данной последовательности, при этом опрос всех модулей не требуется, если после опроса некоторых модулей полученной информации достаточно для принятия решения. Кроме того, в подсистему безопасности добавлена возможность регистрации происходящих в ней событий. Функции регистрации событий облегчают администрирование подсистемы безопасности.
Технический результат достигается благодаря созданию системы безопасности виртуализованной компьютерной системы, содержащей аппаратную часть, связанную с, по меньшей мере, одной виртуальной машиной через монитор виртуальной машины, который содержит модуль управления политиками безопасности, соединенный с подсистемой безопасности, содержащей соединенные между собой настроечный модуль и, по меньшей мере, один модуль безопасности, соединенный с виртуальной машиной, причем виртуальная машина выполнена с возможностью направления запроса доступа в монитор виртуальной машины, выполненный с возможностью обработки запроса доступа, при этом подсистема безопасности выполнена с возможностью опроса модулей безопасности, получения от них решений о допуске и с возможностью принятия на основе полученных решений о допуске окончательного решения о допуске, а настроечный модуль выполнен с возможностью реализации функции настройки сбора информации о количестве опросов каждого модуля безопасности и времени, израсходованном на каждый из опросов, и с возможностью определения на основе собранной информации оптимальной последовательности опроса модулей безопасности, при которой часто вызываемые модули и модули, на которые тратится мало времени, вызывают в числе первых.
Для лучшего понимания заявленного изобретения далее приводится его подробное описание с соответствующими чертежами.
Фиг.1. Общая схема системы безопасности виртуализованной компьютерной системы согласно изобретению.
Фиг.2. Подробная схема системы безопасности виртуализованной компьютерной системы согласно изобретению.
Фиг.3. Алгоритм работы системы безопасности виртуализованной компьютерной системы согласно изобретению.
Рассмотрим принцип функционирования заявленного изобретения. Заявленная система безопасности виртуализованной компьютерной системы (Фиг.1-3) содержит аппаратную часть 1, связанную с, по меньшей мере, одной виртуальной машиной 2 через монитор 3 виртуальной машины, который содержит модуль 4 управления политиками безопасности, соединенный с подсистемой 5 безопасности, содержащей соединенные между собой настроечный модуль 6 и, по меньшей мере, один модуль 7 безопасности, соединенный с виртуальной машиной 2. Настроечный модуль 6 обеспечивает функции настройки и регистрации событий. Функции обоих типов могут быть независимо активированы или деактивированы модулем 4 управления политиками безопасности. Функции настройки имеют несколько режимов.
Выключен - подсистема 5 безопасности работает в обычном режиме (как если бы в системе не существовало функций настройки).
Включен - подсистема 5 безопасности постоянно выполняет самонастройку (описанную ниже в этом разделе).
Автоматический режим - изначально включена самонастройка подсистемы 5. Настроечный модуль 6 проверяет накладные расходы на выполнение самонастройки. Если накладные расходы самонастройки превышают ее выгоду ( то есть определяют целесообразность использования самонастройки), то самонастройку выключают совсем или на определенный период времени.
На каждый запрос доступа модули 7 безопасности возвращают решение о доступе. Когда функция застройки включена, настроечный модуль 6 собирает информацию о запросах решения о доступе. Для каждого возвращенного решения о доступе данная информация содержит количество опросов модулей безопасности и время, израсходованное каждым модулем на выработку его решения. Затем по запросу или через определенный временной интервал (то есть периодически) настроечный модуль определяет оптимальную последовательность опроса модулей 7 безопасности, которая имеет минимальное ожидаемое время выполнения. Таким образом, часто вызываемые модули 7 безопасности и модули, на выполнение которых тратится мало времени, будут вызваны в числе первых в последовательности опроса модулей безопасности. При этом на перестановку модулей 7 безопасности в последовательности опроса могут накладываться определенные ограничения.
Функции регистрации событий подсистемы 5 безопасности могут быть включены или выключены в зависимости от потребностей. Это дает возможность собирать некоторую информацию: субъекты, объекты, решения модулей и окончательные решения. Данная информация может быть использована для профилирования и трассировки подсистемы безопасности, а также для определения правильной конфигурации подсистемы безопасности и ее проверки.
Рассмотрим предпочтительный вариант выполнения заявленного изобретения. Система виртуализации (Фиг.1) представляет собой набор виртуальных машин 2, работающих на любом оборудовании с любой архитектурой 1 и в любых операционных системах. Каждая виртуальная машина 2 независима и защищена от остальных. Монитор 3 виртуальной машины обеспечивает правильную работу данного набора виртуальных машин 2. Вся информация по безопасности, предназначенная для виртуальных машин 2 и других ресурсов, находится внутри монитора 3 виртуальной машины и защищена от виртуальных машин 2.
Каждая виртуальная машина 2 может получить доступ к различным объектам (виртуальным ресурсам), которые соответствуют реальным ресурсам аппаратной части 1 системы. Когда виртуальная машина 2 пытается получить доступ к объекту, запрос доступа посылают в подсистему 5 безопасности монитора 3 виртуальной машины (Фиг.2). Подсистема 5 безопасности опрашивает модули 7 безопасности и принимает окончательное решение. Опрос всех модулей 7 безопасности в определенной последовательности может не требоваться - окончательное решение доступно с того момента, когда информации, полученной от опрошенных модулей 7 безопасности, становится достаточно для принятия окончательного решения.
Подсистема 5 безопасности содержит настроечный модуль 6, который выполняет настроечные функции (для самонастройки подсистемы безопасности) и функции регистрации событий (для профилирования/трассировки подсистемы безопасности). Функции обоих типов могут быть независимо активированы или деактивированы модулем управления политиками безопасности.
На каждый запрос доступа модули 7 безопасности возвращают решение о доступе. Когда настроечные функции включены, настроечный модуль 6 собирает информацию о запросах решения о доступе. Для каждого возвращенного решения о доступе эта информация содержит количество опросов модулей 7 безопасности и время, затраченное каждым модулем на выработку решения. Затем по запросу или через временной интервал (то есть периодически) настроечный модуль определяет оптимальную последовательность опроса модулей 7 безопасности, которая имеет минимальное ожидаемое время выполнения. Таким образом, часто вызываемые модули 7 и модули 7, на выполнение которых тратится мало времени, будут опрашиваться в числе первых в последовательности опроса модулей безопасности. При этом на перестановку модулей 7 безопасности в последовательности опроса могут накладываться определенные ограничения.
Таким образом, настроечные функции повышают производительность подсистемы безопасности.
Если регистрация событий активирована, то она дает возможность собирать информацию: субъекты, объекты, решения модулей и окончательные решения. Данная информация может быть использована для профилирования и трассировки подсистемы безопасности, а также может помочь при создании правильной конфигурации подсистемы безопасности.
Предложенная система обеспечивает высокую производительность подсистемы безопасности. Кроме того, она предлагает дополнительную функциональность - возможность регистрации событий подсистемы безопасности. Данная информация может быть очень полезна для правильного конфигурирования подсистемы безопасности в системе виртуализации.
Хотя указанный выше вариант выполнения изобретения был изложен с целью иллюстрации настоящего изобретения, специалистам ясно, что возможны разные модификации, добавления и замены, не выходящие из объема и смысла настоящего изобретения, раскрытого в прилагаемой формуле изобретения.