Научная статья на тему 'Оценка количества информации в базах знаний'

Оценка количества информации в базах знаний Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
359
61
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
ИСКУССТВЕННЫЙ ИНТЕЛЛЕКТ / ARTIFICIAL INTELLIGENCE / КОЛИЧЕСТВО ИНФОРМАЦИИ / QUANTITY OF INFORMATION / КОНТЕКСТ / CONTEXT

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Бессмертный Игорь Александрович

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

i Надоели баннеры? Вы всегда можете отключить рекламу.

Похожие темы научных работ по компьютерным и информационным наукам , автор научной работы — Бессмертный Игорь Александрович

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

QUANTITATIVE ASSESSMENT OF INFORMATION IN KNOWLEDGE BASES

The paper concerns the problem of artificial intelligence systems creation concerning information measurement containing in formalized knowledge bases. An approach of information assessment applicable for both natural and artificial intelligence is proposed. To avoid uncertainty of concepts space we suggest evaluating information capacity within a context

Текст научной работы на тему «Оценка количества информации в базах знаний»

3. Смирнов М.В. Голографический подход к встраиванию скрытых водяных знаков в фотоизображение // Оптический журнал. - 2005. - Т. 72. - № 6. - С. 51-56.

4. Оппенгеймер А.В., Шафер Р.В. Цифровая обработка сигналов. - М.: Связь, 1979. - 416 с.

Старченко Алексей Петрович - Санкт-Петербургский государственный университет информационных

технологий, механики и оптики, аспирант, lexus_spb84@mail.ru Гатчин Юрий Арменакович - Санкт-Петербургский государственный университет информационных

технологий, механики и оптики, доктор технических наук, профессор, зав. кафедрой, gatchin@mail.ifmo.ru

УДК 004.89

ОЦЕНКА КОЛИЧЕСТВА ИНФОРМАЦИИ В БАЗАХ ЗНАНИЙ

И.А. Бессмертный

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

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

Введение

Задача оценки уровня ИИ возникла одновременно с введением данного понятия, и наиболее важный вклад в понимание этой проблемы внес А. Тьюринг [1]. Тест Тьюринга, однако, является сугубо качественной оценкой ИИ в сравнении с естественным интеллектом (ЕИ) и принципиально не может дать ответа на вопрос, каким объемом базы знаний должен располагать ИИ для решения тех или иных задач и в каких единицах этот объем следует измерять.

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

В качестве единицы знаний (атома знания) иногда выбирают факт, соответствующий триплету субъект-предикат-объект (СПО), используемому в семантических сетях. В работе [2] делается анализ производительности образовательного процесса в терминах усваиваемых фактов, что позволяет связать время обучения с объемом приобретаемых знаний. В [3] приведены результаты оценки информативности слабо формализованных знаний, содержащихся в энциклопедиях и словарях, в тех же единицах СПО.

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

Количество информации в слове как смысловой единице

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

п

н (х ) = "Е р(х р(х).

I=1

Для двоичной пары (0, 1) энтропия равна единице. Таким образом, число двоичных разрядов в точности соответствует числу битов информации при условии, что для всех разрядов вероятности нулей и единиц равны. Количество информации I определяется как двоичный логарифм числа состояний п:

I = ^2 П .

Слова (исключая иероглифическое письмо) состоят из букв. Количество информации в одной букве русского алфавита (в предположении, что вероятности всех букв равны) приблизительно равно пяти битам, что соответствует пяти двоичным разрядам, которыми русский алфавит как раз и может быть закодирован (если отбросить букву «ё»).

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

текст - менее информативным, чем русский, поскольку не только латинский алфавит содержит меньше знаков, но и английские слова в среднем короче. Слово - это код для обозначения понятия, причем код заведомо избыточный. Пусть средняя длина слова равна шести знакам, каждый из которых кодируется пятью битами, т.е. имеет 32 значения. В таком случае максимальное число слов равно 326 ~ 1 млрд. слов, следовательно, избыточность составляет не менее двух порядков. Количество информации в слове можно определять как логарифм объема словаря, однако в таком случае ситуация не лучше, так как объем словаря определить однозначно невозможно.

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

Сказанное не означает, что число слов в тексте не может служить приблизительной оценкой его информативности. В качестве примера рассмотрим два выражения: «британец» и «подданный ее Величества Королевы Елизаветы II». С одной стороны, эти понятия эквивалентны, с другой - различаются по количеству слов, а значит, содержащейся в них информации, в шесть раз. Однако при внимательном рассмотрении тождественность этих выражений оказывается относительной. На самом деле второе выражение более информативно, поскольку британец может быть подданным короля Ричарда Львиное Сердце или любого другого британского монарха. Выражение «современный британец» уже более приближено ко второму выражению, но опять-таки не идентично, поскольку привязано к настоящему времени. Любые попытки привести первое выражение по смыслу ко второму неизбежно увеличат число содержащихся в нем слов.

Информативность понятий в базах данных и знаний

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

- Любые понятия и термины существуют в контекстном окружении. Выражение «характеристики поля» имеет совершенно разные значения в журналах по физике, агрономии или футбольном обозрении.

- Информативность разных понятий разная. Слово «монголоид» означает принадлежность к одной из четырех рас, «китаец» - представитель одной из примерно двухсот наций, «Конфуций» - с одной стороны, один из миллиардов людей, живших на Земле, а с другой стороны - один из немногих величайших мыслителей всех времен и народов.

- В каждом контексте все понятия определяются на некотором уровне абстракции. Если речь идет о студенческой группе, то понятие «студент» нас интересует как объект преподавания или член студенческого сообщества, но не как биологический индивид. Мы абстрагируемся от его анатомии или метаболизма.

Пусть понятие в, определено на множестве Е, = {в,}, имеющем мощность п, . Тогда количество информации I(в,), содержащегося в в,, будет равно

I {в1 )= ^ П .

В свою очередь, само множество Е, является понятием более высокого уровня, определенного на

множестве Е1 1. Аналогично, понятие в, является понятием более высокого уровня для множества Е{ ^.

Таким образом, получаем иерархию понятий, информативность которых на каждом уровне можно вычислить. Обобщающее множество Е, будем называть контекстом (рисунок).

Е={Е-1}

Рисунок. Вложенность контекста

При объединении нескольких уровней контекста информативность понятия нижнего уровня определяется как

]

1 {вг ) = Х 10ё2 пк , (1)

к=1

где ] - верхний уровень контекста.

Рассмотрим этот подход на примере университета. В контексте студенческой группы, состоящей из 25 человек, информативность выбора конкретного студента равна ^225=4,644. Пусть 4 группы образуют поток, 6 потоков (по годам поступления) - кафедру, факультет объединяет пять кафедр, а университет насчитывает 12 факультетов. Тогда информативность выбора студента из всего потока будет равна 6,644, из всех студентов кафедры - 9,234 и т.д. (табл. 1).

Уровень контекста Мощность множества состояний п Количество информации 1(п)

Для контекста Для студента

Группа 25 студентов 4,644 4,644

Поток 4 групп 2,0 6,644

Кафедра 6 потоков 2,59 9,234

Факультет 5 кафедр 2,32 11,554

Университет 12 факультетов 3,58 15,134

Страна 600 университетов 9,23

Земля

Таблица 1. Информативность выбора студента на разных уровнях контекста

Таким образом, устанавливая уровень контекста, можно определить количество информации, которое несет тот или иной выбор, а при необходимости - расширить контекст, например, как в табл. 1, до уровня страны или в мировом масштабе.

Следует отметить, что мощность множеств в разных контекстах на одном уровне может быть разной. В таком случае информативность однотипных событий также будет отличаться, что вполне логично. Однако при объединении общим контекстом информативность, вычисляемая по формуле (1), также будет разной.

Группа 1 Группа 2 Группа 3 Группа 4 Группа 5 Группа 6

п 1(п) п 1(п) п 1(п) п 1(п) п 1(п) п 1(п)

16 4 10 3,32 18 4,17 22 4,46 19 4,25 20 4,32

Поток 1 (4 группы: п=4; 1(п)=2) Поток 2 (п=2; 1(п)=1)

6 5,32 6,17 6,46 5,25 5,32

Кафедра А (2 потока: п=2; 1(п)=1)

7 6,32 7,17 7,46 6,25 6,32

Таблица 2. Информативность выбора студента при различных мощностях множеств

Из табл. 2 видно, что информативность выбора студента зависит от численности его группы, числа групп в потоке, числа потоков, образующих кафедру. В результате информативность понятия «студент кафедры А» не является одинаковой для всех студентов, обучающихся на данной кафедре.

Решение может заключаться в том, чтобы на каждом уровне контекста вычислялась суммарная мощность множества всех сущностей:

1 {в,, Е] )= 1о§2 X П .

Если применить эту формулу к рассматриваемому примеру, информативность выбора студента из потока будет вычисляться, исходя из численности всех студентов потока, из кафедры - исходя из числа всех студентов, обучающихся на кафедре, и т.д. (табл. 2, 3).

Группа 1 Группа 2 Группа 3 Группа 4 Группа 5 Группа 6

п 1(п) п 1(п) п 1(п) п 1(п) п 1(п) п 1(п)

16 4 10 3,32 18 4,17 22 4,46 19 4,25 20 4,32

Поток 1 (66 студентов: п=66; 1(п)=6,044) Поток 2 (п=39; 1(п)=5,28)

Кафедра А (105 студентов: п=105; 1(п)= 6,71)

Таблица 3. Информативность выбора студента

Таким образом, информативность выбора некоторой сущности может быть вычислена на разных уровнях контекста.

Контекст и идентификация понятий

С информативностью понятий связана также проблема их идентификации в базах данных и знаний. В работе [4] показано, что визуализация знаний возможна только в определенном контексте. Точно так же любой текст или человеческий диалог всегда строится с учетом контекста, благодаря чему достигается компактность при сохранении точности передаваемого смысла высказываний. В естественном языке говорящий (или пишущий) должен всегда быть уверен в том, что слушатель или читатель правильно понимает контекст, для чего делаются соответствующие вводные предложения в начале текста или диалога. Если же требуется использовать один и тот же объект в разных контекстах, то к идентификатору объекта добавляется идентификатор контекста. В рассмотренном выше примере студенческого сообщества, если высказывание делается в контексте группы, то для идентификации экземпляра достаточно фамилии; в контекстах более высокого уровня к фамилии добавляется номер курса, факультета, университета и т.д.

В последнее время идет активный процесс формализации знаний в стандарте Глобальной семантической сети (Semantic Web, SW). Для каждой предметной области в SW формируются онтологии, т.е. документы, подготовленные на OWL или других языках и содержащие описание классов объектов, отношений между ними и свойств. С использованием онтологий создаются документы, содержащие факты, относящиеся к заданной предметной области. Информативность таких документов можно оценивать с применением данного подхода. В частности, может быть разработан модуль в среде популярного редактора онтологий Protégé (http://protege.stanford.edu), вычисляющий информативность понятий с целью контроля создаваемых онтологий и выявления ошибок. Еще одно применение данного подхода возможно при создании и поддержке крупных баз данных, в которых иногда происходят нарушения целостности данных вследствие переполнения индексов. Разрядность индекса не должна быть меньше информативно -сти соответствующей ему сущности.

Заключение

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

Литература

1. Рассел С., Норвиг П. Искусственный интеллект: Современный подход. - 2-е изд. Пер. с англ. - М.: Вильямс, 200б. - 1408 с.

2. Богданов И. В. Учебная информация и единицы ее измерения // Труды СГУ. - Вып. 44. -Гуманитарные науки. Психология и социология образования. - М.: Изд-во СГУ, 2002.

3. Бессмертный И.А. Семантическая паутина и искусственный интеллект // Научно-технический вестник СПбГУ ИТМО. - 2009. - № б(б4). - С. 77-82.

4. Bessmertny I.A. Knowledge Visualization Based on Semantic Network // Programming and Computer Software. - 2010. - V. Зб. - № 4. - Р. 197-204.

Бессмертный Игорь Александрович - Санкт-Петербургский государственный университет информационных

технологий, механики и оптики, кандидат технических наук, доцент, igor_bessmertny@hotmail.com

УДК 004.056

УЯЗВИМОСТИ МОНИТОРОВ ВИРТУАЛЬНЫХ МАШИН Ю.Е. Евелев, Г.М. Чернокнижный

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

Введение

Несмотря на то, что виртуальные серверы нематериальны, они точно так же уязвимы, как и обычные физические серверы. Деление физического сервера на отдельные ВМ никоим образом не делает эти машины безопаснее - виртуализация естественным образом передает им хорошо известные врожденные

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

Основные угрозы при использовании виртуализации

Угрозы при использовании виртуальных машин можно разделить на «старые» и «новые». Под старыми угрозами понимаются традиционные угрозы, присущие любой IT-инфраструктуре. Это уязвимости операционных систем, уязвимости исполняемых программ и др. Под новыми угрозами понимаются уязвимости гипервизора (программного или аппаратного) и уязвимости менеджмента (управления) сложной виртуальной инфраструктурой:

- захват гостевой машины;

- вывод из строя виртуальной машины;

- компрометация управления ВМ;

- запуск неавторизованных ВМ;

- изменение разделения ресурсов - процессор, память, приоритеты;

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

- выключение машин;

- компрометация VMM/Hypervisor;

- организационные проблемы - разделение полномочий, политики информационной безопасности (ИБ), разграничение доступа.

Таким образом, при использовании виртуализации количество возможных уязвимостей возрастает, а традиционные угрозы (вирусы, DoS / DDoS атаки, переполнение буферов, SQL-injection, XSS, утечки информации) остаются. Основные недостатки виртуальных машин с точки зрения ИБ сводятся к следующему:

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

- Snapshots / Suspend затрудняют процесс управления обновлениями. Snapshot (снапшот) - моментальный снимок, копия файлов и директорий файловой системы на определенный момент времени. Это довольно полезная функция виртуальных машин, так как, например, в случае падения сервера восстановить его из снапшота - дело нескольких десятков минут. С другой стороны, снапшоты занимают довольно большие объемы винчестеров, само создание снапшота - довольно длительный процесс. Чаще всего в момент создания снапшота ВМ недоступна для конечных пользователей. Suspend - это пауза системы. Она может требоваться, например, для снятия нагрузки с энергосети на ночь. В случае, если той же ночью необходимо сделать резервную копию, это будет невозможно;

- Возможность разрастания неизвестных ВМ. В ходе работы с виртуальной инфраструктурой постоянно создаются новые ВМ, удаляются старые, некоторые ВМ теряются по тем или иным причинам (например, Live Migration). В этом случае происходит разрастание ВМ. Дабы оградиться от этого недостатка, необходим грамотный менеджмент виртуальной сети;

- Сложно контролировать ВМ, возможно появление неуправляемых, неизвестных ВМ;

- Динамическое перемещение (Live Migration);

- Перемещение ВМ в менее защищенные машины, сети;

- Атаки методом повтора операций и повторного использования данных;

- Проведение повторяющихся операций внутри ВМ может привести к повторяющимся криптографическим атакам;

- Воровство: ВМ - это файлы, очень просто украсть всю систему или несколько систем;

- Атаки на гипервизор. Гипервизор - это программа. Уязвимости программ были и будут всегда. В случае ограниченного финансирования необходимо четко расставить приоритеты между дополнительными функциями гипервизора и его безопасностью. Дополнительные функции увеличивают функционал гипервизора, но это и новые строки кода, а значит, и новые уязвимости [1].

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

1. безопасность виртуальных машин;

2. безопасность платформы виртуализации.

В первом случае, так же, как и на физической платформе, необходима установка средств защиты в гостевой операционной системе (антивирусы, сетевые экраны и прочее), а также правильная настройка виртуальных машин и виртуальных сетей. Например, в некоторых продуктах VMware (Workstation, Server) виртуальные коммутаторы являются по своей природе «хабами», что может открыть возможно-

сти по прослушиванию незащищенного трафика другими ВМ, контролируемыми злоумышленниками, и ввести в заблуждение системных администраторов [2].

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

Аппаратная виртуализация значительно упрощает написание программного обеспечения (ПО) с использованием технологий виртуализации, что значительно увеличит в ближайшее время объем подобного вредоносного ПО. О реальной опасности говорить еще рано, поскольку трудозатраты на его написание все еще достаточно велики. Компания Microsoft, разработавшая SubVirt, неоднократно заявляла, что затраты на его реализацию сравнимы с затратами на создание операционной системы. Тем не менее, эту опасность стоит иметь в виду, а производители антивирусного ПО в ближайшее время должны включить в свои системы возможности обнаружения руткитов, использующих виртуализацию.

Уязвимости программных средств виртуализации

Уязвимости продуктов VMWare перечислены ниже.

1. Уязвимость из-за ошибки в проверке входных данных в драйвере «HGFS.sys» из пакета VMware Tools. Атакующий может передать специально сформированные данные, что приведет к выполнению произвольного кода с повышенными привилегиями на гостевой Windows-системе.

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

3. Уязвимость из-за ошибки в проверке входных данных в сервисе управления Openwsman при обработке «Content-Length» заголовков. Атакующий может получить привилегии «root» на целевой системе.

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

Уязвимости продуктов SUN\ORACLE Virtual Box. В Virtual Box, как и в любом другом программном продукте, есть множество уязвимостей. Выделенная в данной работе уязвимость связана с уровнем привилегий в системе и позволяет локальному злоумышленнику выполнить вредоносные действия с повышенными привилегиями на целевой системе. Уязвимость существует из-за ошибки в проверке входных данных в драйвере VBoxDrv.sys при обработке определенных IOCTL. Атакующий может передать специально сформированные данные, что приведет к выполнению произвольного кода с привилегиями ядра.

Пример эксплойта: #include <windows.h/> #include <stdio.h/>

int main(int argc, char **argv) {

HANDLE hDevice; DWORD cb;

char szDevice[] = "\\\\.\\VBoxDrv"; if ( (hDevice = CreateFileA(szDevice, GENERIC_READ| GENERIC_WRITE, 0, 0,

OPEN_EXISTING, 0,

NULL) ) != INVALID_HANDLE_VALUE ) {

printf("Device %s succesfully opened!\n", szDevice); }

else {

printf("Error: Error opening device %s\n",szDevice); }

cb = 0;

if (!DeviceIoControl(hDevice, 0x228103,

(LPVOID)0x80808080,0,

(LPVOID)0x80808080,0x0,

&cb,

NULL)) {

printf("Error in Devicelo ... bytes returned %#x\n",cb); }

}

Уязвимости MS Virtual PC. Основной уязвимостью остается ошибка в управлении памятью на уровне монитора виртуальных машин (Virtual Machine Monitor). Она позволяет обходить такие защитные механизмы, как предотвращение выполнения данных (DEP), безопасная обработка исключений и рандомизация адресного пространства (ASLR) и может быть использована для повышения уровня привилегий или удаленно для выполнения кода. В своем блоге Microsoft отказывается признавать данную брешь уязвимостью, называя ее лишь способом более легкой эксплуатации уже имеющихся уязвимостей.

Уязвимости XEN. Одна из основных уязвимостей данного продукта позволяет локальному злоумышленнику обойти ограничения безопасности на целевой системе. Уязвимость существует из-за ошибки в проверке входных данных в Xen pygrub. Эксплуатирование уязвимости приведет к обходу механизма аутентификации на целевой системе. Пример эксплойта: xm create -c guest

press space bar to stop the grub count down press e to edit

select the kernel line and press e

Append a "1" to the end of the kernel line and press retur

press "b" to boot

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

1. Из-за ошибки в проверке входных данных при обработке DR7 регистра отладки. Атакующий из вне гостевой системы может установить определенные точки останова, что приведет к краху гипервизора. Успешное эксплуатирование уязвимости, возможно, потребует использование гипервизорa HVM;

2. Из-за того, что доступ к регистру CR4 неправильно проверяется. Атакующий из вне гостевой системы может выполнить действия, приводящие к краху DomU или Dom0 доменов [3].

Вендоры безопасности и SECURITY API на примере VMSafe

В 2008 году компания VMware анонсировала технологию VMsafe. Реализацию VMsafe на данный момент можно увидеть только в программном пакете VMware vSphere, выпущенном в мае 2010 года. По своей сути, VMsafe - это технология, позволяющая сторонним разработчикам получить доступ к гипер-визору VMware и фактически представляющая собой набор API интерфейсов. Эти интерфейсы доступны по умолчанию в VMware vSphere, использовать этот набор API могут только ВМ управляемые решением по ИБ. Появление этой технологии позволило VMware, не проходя самостоятельного пути по созданию комплекса средств защиты, привлечь к обеспечению ИБ инфраструктур виртуализации, построенных на VMware vSphere, лидеров рынка ИБ.

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

Согласно официальной информации компании VMware, преимущества решений c использованием технологии VMSafe включают:

- Better Security - улучшение возможностей по обеспечению безопасности, появление новых возможностей мониторинга инфраструктуры не имеющих аналогов в физической инфраструктуре;

- Better isolation - улучшение изоляции гостевых операционных систем;

- Better correlation - улучшение возможностей по корреляции событий;

- Better enforcement across the infrastructure - решения, которые поддерживают технологию VMsafe, могут быть легко введены в эксплуатацию, так как такие решения обычно поставляются в виде виртуальных устройств (virtual appliance) и позволяют потратить меньше времени на их внедрение;

- Better scalability - улучшение возможностей масштабируемости инфраструктуры, сохраняя все правила и политики.

Работа с VMsafe может осуществляться в 2 режимах:

1. Kernel-mode - обработка в гипервизоре.

2. VM-mode - обработка внутри ВМ.

Для соблюдения политики безопасности необходимо настраивать политики виртуальных коммутаторов (vSwitch) на хостах таким образом, чтобы они были одинаковы - VLAN ID, имена Port Groups и т.п. Все это нужно поддерживать в актуальном состоянии. Технология Distributed vSwitch позволяет объединить несколько хостов VMware ESX Server одним виртуальным коммутатором, что дает множество новых возможностей.

- Появляется возможность централизованного назначения политик для такого коммутатора, что устранит ошибки в конфигурации и обеспечит задание параметров VLAN, групп портов и Security из единой точки интерфейса;

- Distributed vSwitch позволяет корректно работать механизму VMware Fault Tolerance, чтобы «теневая» копия ВМ имела идентичные сетевые политики на другом сервере, и в случае отказа основной ВМ мгновенно заменяла ее в действующем сетевом окружении. Таким образом, получаем не просто отказоустойчивый кластер, а безопасный отказоустойчивый кластер;

- Появляется возможность перезагружать коммутатор, не перезагружая хост ESX. Это необходимо для того, чтобы при изменении числа портов у коммутатора, не перезагружать хост ESX.

В контексте безопасности VMware продукт VMsafe Distributed vSwitch занимает отдельное место. На каждом сервере VMware ESX появляется еще одна ВМ «Security VM», подключенная к распределенному виртуальному коммутатору и выполняющая функции обеспечения сетевой безопасности для виртуальных машин сервера. Это может быть IDS/IPS-система, Firewall и т.п. - а может и все вместе. При этом защищающая ВМ назначает политики защищаемой ВМ. При миграции работающей ВМ за счет технологии VMware VMotion эти политики «переезжают» на другой хост-сервер ESX.

Данная модель говорит о том, что в виртуальной инфраструктуре VMware отпадает необходимость в установке агентов ПО для безопасности внутри ВМ, а управление политиками безопасности данных систем становится гораздо проще [4].

Заключение

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

Литература

1. Грам В. Технологии виртуализации и повышение эффективности функционирования корпоративных предложений // Копьютерра [Электронный ресурс]. - Режим доступа: http ://offline.computerra.ru/2009/06.html, своб.

2. Черняк Л. Виртуализация серверов стандартной архитектуры // Открытые системы [Электронный ресурс]. - Режим доступа: http://www.osp.ru/os/list/2009/04.html, своб.

3. Keir T. Virtualization: The Executive Summary // [Электронный ресурс]. - Режим досту-па:http://www.pcworld.com/businesscenter/article/215199/virtualization_the_executive_summary.html, своб.

4. Причины выбрать Vmware // [Электронный ресурс]. - Режим доступа: http://www.vmware.com/ru/virtualization/why-choose-vmware.html, своб.

Евелев Юрий Евгеньевич - Санкт-Петербургский государственный инженерно-

экономический университет (ИНЖЭКОН), студент, evelev@xakep.ru

Чернокнижный Геннадий Михайлович - Санкт-Петербургский государственный инженерно-

экономический университет (ИНЖЭКОН), кандидат технических наук, доцент, gmcher@pochta.ru

i Надоели баннеры? Вы всегда можете отключить рекламу.