Решение вопросов безопасности и защиты информации в частном "облаке" образовательного учреждения

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

Рубрика Программирование, компьютеры и кибернетика
Вид дипломная работа
Язык русский
Дата добавления 24.05.2018
Размер файла 1,9 M

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru/

государственный комитет связи, информатизации И ТЕЛЕКОММУНИКАЦИОННЫХ ТЕХНОЛОГИЙ

РЕСПУБЛИКИ УЗБЕКИСТАН

ТАШКЕНТСКИЙ УНИВЕРСИТЕТ ИНФОРМАЦИОННЫХ ТЕХНОЛОГИЙ

Решение вопросов безопасности и защиты информации в частном “облаке” образовательного учреждения

5A330201 - Компьютерные системы и их программное обеспечение

ДИССЕРТАЦИЯ

На соискание академической степени магистра

АСТАШЕВА ЕВГЕНИЯ АЛЕКСАНДРОВИЧА

Ташкент-2014

ГОСУДАРСТВЕННЫЙ КОМИТЕТ СВЯЗИ, ИНФОРМАТИЗАЦИИ И ТЕЛЕКОММУНИКАЦИОННЫХ ТЕХНОЛОГИЙ РЕСПУБЛИКИ УЗБЕКИСТАН

ТАШКЕНТСКИЙ УНИВЕРСИТЕТ ИНФОРМАЦИОННЫХ ТЕХНОЛОГИЙ

Факультет: Программный инжиниринг

Студент: Асташев Е. А.

Кафедра: «Информационные технологии и программное обеспечение»

Научный руководитель: Рахимов Д.К.

Учебный год: 2013-2014

Специальность: 5А330201- «Компьютерные системы и их программное обеспечение»

АННОТАЦИЯ МАГИСТЕРСКОЙ ДИССЕРТАЦИИ

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

Цель и задачи исследования. Целью диссертации является разработка мер и действий по обеспечению безопасности облачного вычислительного центра при Ташкентском Университете Информационных технологий.

Задачами исследования являются:

· выявление требований и задач предъявляемых к частному облаку образовательного учреждения;

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

· проведение работ по администрированию компьютерных систем и реализация алгоритма и программного обеспечения в соответствии с выделенными требованиями к разрабатываемой системе;

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

Методы и средства исследования. Были применены такие методы исследования: моделирование, доказательство, анализ. Использовались: информационные, математические и логические средства исследования.

Гипотеза исследования. Возможность повышения безопасности данных за счет использования результатов диссертации при построении облачных систем.

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

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

Состав диссертационной работы. Магистерская диссертационная работа состоит из введения, трех глав, заключения, списка литературы, общим объемом в 81 лист и двух приложений.

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

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

Научный руководитель:

_________________________

Рахимов Д.К.

Студент магистратуры:

_________________________

Асташев Е.А.

STATE COMMITTEE FOR COMMUNICATIONS, INFORMATIZATION AND TELECOMMUNICATION TECHNOLOGIES

OF THE REPUBLIC OF UZBEKISTAN

TASHKENT UNIVERSITY OF INFORMATION TECHNOLOGIES

Faculty: Software Engineering

Undergraduate: Astashev E.A.

Department: Software of Information Technologies

Research supervisor: Rakhimov D.K.

Academic year: 2013-2014

Specialty: 5А330201«Computer systems and software»

THE SUMMARY TO THE MASTER THESIS

Relevance of the research. Due to the emergence of new computer, technology remains an urgent problem of security in modern computer systems. Thus, the current study is the development of solutions and private cloud security issues of the educational institution.

The purpose and objectives of the study. The main purpose of this master thesis is the development of measures and actions to ensure the security of the cloud-computing center at Tashkent University of Information Technologies.

The objectives of the study are:

* Identify needs and challenges imposed on the private cloud educational institution;

* Analysis of existing cloud technologies, their species, typology, access levels, as well as the selection and creation of the main features of the rules and methods for enhanced security;

* Work on administration of computer systems and the implementation of the algorithm and software in accordance with the requirements allocated to the system developed;

Research object and subject of study. Objects of study are computer networks and systems, and the study subject - service created using a software shell that provide access to the resources of the computer- computer system, as well as scripts for configuring the security of such systems.

Methods and tools for research. Were applied research methods: modeling, evidence analysis. As research, tools used: information, mathematical and logical research.

Hypothesis of the study. Possibility of increasing the security of the data using the results of the dissertation in the construction of cloud systems.

Scientific novelty and practical significance of the research. The results can used in the construction of cloud systems and developed software can used for safe storage in the cloud systems.

Scientific novelty. Of the work, lies in the fact that a new direction investigated distributed computer systems and improving their safety, as well as software development to use new methods and tools for developing software applications and cryptographic standards of Uzbekistan, which is currently little studied.

Structure and scope of work. Master's thesis consists of an introduction, three chapters, conclusion, scientific literature, totaling 81 pages and 2 annexes.

Conclusions and suggestions. The science work is developed system displays the features and requirements and approaches to it allowing you to select the level virtualization system in the construction. Based on the requirements and different levels of specifications developed an algorithm for the organization of security in a private cloud educational institution. Also created a prototype of a private cloud, such as providing service software as a service. Also established a system of deciding their issues.

Proposal for the further application of research results is to use them in the organization of homogeneous computing.

Research supervisor:

_________________________

Rakhimov D.K.

Undergraduate:

_________________________

Astashev E.A.

СОДЕРЖАНИЕ

вычисление облачный учреждение образовательный

Введение

Глава I. Анализ существующих видов виртуализации и систем организации облачных вычислений

1.Разновидность облачных вычислений

2.Организация облачной инфраструктуры

3.Методы организации защиты в облаке

Выводы по первой главе

Глава II. Разработка алгоритма организации частного облака образовательного учреждения

1.Изучение потребностей образовательного учреждения и составление параметров требований к системе

2.Анализ выбора основы построения облака образовательного учреждения

3.Сравнение систем виртуализации и выработка алгоритма построения частного облака образовательного учреждения

4.Алгоритм реализации облака для образовательного учреждения

Выводы по второй главе

Глава III. Реализация программного комплекса для частного облака образовательного учреждения по улучшению безопасности

1.Формирование требований по безопасности частного облака

2.Разработка мер облачной безопасности

3.Разработка программного приложения для организации безопасности частного облака образовательного учреждения

Выводы по третьей главе

Заключение

Список используемой литературы

Приложение 1

Приложение 2

ВВЕДЕНИЕ

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

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

На заседании Кабинета Министров 19 января 2012 года Президент Республики Узбекистана Ислам Абдуганиевич Каримов отметил, что в Узбекистане активно развивается информатизация общества. [1]

В соответствии с «Постановлением Президента РУз от 21.03.2012 г. за № ПП-1730 "О мерах по дальнейшему внедрению и развитию современных информационно-коммуникационных технологий"» более широкое развитие и внедрение получили современные компьютерные системы, в частности развиваются облачные системы вычисления и хранения данных. Актуальным является в данном случае вопрос о безопасном хранении и передаче и использовании существующей информации. Традиционные системы требуют знания пароля, наличия ключа, идентификационной карточки, либо иного идентифицирующего предмета, который можно забыть или потерять. Но при правильном подходе защиты информации можно увеличить и поддерживать уровень безопасности на высоком уровне. И именно обеспечить данный уровень и стараются обеспечить облачные сервисы. Также «облака» помогают осуществлять доступность к информации, что является одним из основных признаков развития информационного поля.

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

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

Цель и задачи исследования. Целью диссертации является разработка мер и действий по обеспечению безопасности облачного вычислительного центра при Ташкентском Университете Информационных технологий.

Задачами исследования являются:

· выявление требований и задач предъявляемых к частному облаку образовательного учреждения;

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

· проведение работ по администрированию компьютерных систем и реализация алгоритма и программного обеспечения в соответствии с выделенными требованиями к разрабатываемой системе;

Гипотеза исследования. Возможность повышения безопасности данных за счет использования результатов диссертации при построении облачных систем.

Обзор использованной литературы. В работе были использованы научные работы следующих ученых: М. Талллоч (специализируется в области организации работы серверных операционных систем), В.Станек (специализируется в области автоматизации процессов), Дж. Гудакре (специализируется в области работы гипервизоров и систем виртуализации); В работе были использованы и работы других ученых, подробный список которых указан в списке использованной литературы.

Методы и средства исследования. Были применены такие методы исследования: моделирование, доказательство, анализ. Использовались: информационные, математические и логические средства исследования.

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

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

Состав диссертационной работы. Магистерская диссертационная работа состоит из введения, трех глав, заключения, списка литературы, общим объемом в 81 листа и двух приложений. Работа также включает в себя наличие, рисунков в количестве 24 (двадцати четырёх) штук и таблиц в количестве 2 (двух) штук.

1. ГЛАВА I. АНАЛИЗ СУЩЕСТВУЮЩИХ ВИДОВ ВИРТУАЛИЗАЦИИ И СИСТЕМ ОРГАНИЗАЦИИ ОБЛАЧНЫХ ВЫЧИСЛЕНИЙ

2. Разновидность облачных вычислений

На сегодняшний день стал актуальным вопрос облачных вычислений, хранения данных в облаке, построение систем облачного вычисления с использованием гипервизоров и т.п. Термин облако появилось в 2008 году, где впервые было использовано Эриком Шмидтом (одним из основателей Google), представляет собой метафору, скрывающую сложную архитектуру инфраструктуру и технические детали по созданию и поддержки таких систем. На современном IT рынке в мире и Узбекистане данная технология является быстро развивающейся и важной для общества. Согласно исследованию компании Gartner, к 2016 году мировой объем рынка сервисов облачных технологий достигнет 206,6 млрд. долларов.

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

Существуют четыре типа модели развертывания облака:

· частное облако - представляет собой инфраструктуру, которая используется зачастую одной организацией и сотрудниками данной организации.

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

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

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

На основе модели развертывания применяют три основных вида модели обслуживания:

SaaS (от англ. Software as a Service), (пер. Программное обеспечение как услуга) - данная модель, предоставляет возможность конечному потребителю использовать прикладное программное обеспечение провайдера, работающего в облачной среде и предоставляющий доступ с различных клиентских устройств интерфейса программы. Управление и контроль инфраструктуры облака осуществляется провайдером предоставляющим, в том числе сети, сервера, операционные системы, системы хранения, и даже индивидуальные возможности приложения.

PaaS (от англ. Platform as a Service), (пер. Платформа как услуга) - такая модель предоставляет потребителю использование облачной инфраструктуры как пространство для размещения программного обеспечения, в дальнейшем предусматривая размещение новых приложений которые могут быть как собственного производства, так и приобретённых приложений. Такие платформы содержат инструменты разработки, отладки, тестирования, выполнения программного обеспечения, промежуточное программное обеспечение, среды для компиляции и запуска кода, а также системы управления базами данных, которые предоставляются поставщиком услуг.

IaaS (от англ. Infrastructure as a Service), (пер. Инфраструктура как услуга) - такая модель даёт большое поле деятельности для потребителя услуг, предоставляя последнему использовать облачную инфраструктуру для самостоятельного управления ресурсами системы, обработки и хранения данных, управление сетями и т.п. к примеру, потребитель услуги может запускать и устанавливать любое программное обеспечение кроме того он может использовать в облаке такого типа операционные системы, а также требуемое для его работы программное обеспечение. Потребитель может настроить систему безопасности по требуемому уровню для организации осуществлять контроль физических и виртуальных систем, систем хранения данных и установленных приложения, а также вводить определенные ограничения для конкретного пользователя или группа сервиса или набора доступных сервисов (например, межсетевой экран, DNS). Контроль, обслуживание и управление инфраструктурой облака, в том числе сети, серверов, операционных систем, хранения осуществляется облачным провайдером, за исключением тех приложений (разработанных или установленных потребителем), а также, по возможности, параметров конфигурации среды (платформы).

3. Организация облачной инфраструктуры

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

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

Надо учитывать, что виртуализация бывает двух типов:

· аппаратная виртуализация;

· программная виртуализация;

Критерии для виртуальных машин были сформулированы в работе 1974 г. Жеральда Попека и Роберта Голдберга «Formal requirements for virtualizable third generation architectures» [12]. Для рассмотрения будем использовать упрощённое представление компьютера, состоящего из одного центрального процессора и оперативной памяти.

Выдвигаемые критерии к виртуальным машинам (ВМ):

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

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

3. эффективность - большинство инструкций должны симулироваться в режиме прямого исполнения.

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

Аппаратная виртуализация

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

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

Классы инструкций

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

Состояние процессора содержит минимум три регистра [11]: M, определяющий, находится ли он в режиме супервизора S или пользователя U, P - указатель текущей инструкции и R - состояние, определяющее границы используемого сегмента памяти (в простейшем случае R задаёт отрезок, т.е. , где l - адрес начала диапазона, b - его длина).

Машинные инструкции рассматриваемого процессора можно классифицировать по трём категориям:

· Привилегированные (англ. privileged). Инструкции, исполнение которых с M = U всегда вызывает ловушку потока управления. Другими словами, такая инструкция может исполняться только в режиме супервизора, иначе она обязательно вызывает исключение.

· Служебные. Класс состоит из двух подклассов.

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

2. инструкции, поведение которых в случаях, когда они не вызывают ловушку защиты памяти, зависят или от режима M, или от значения R.

· Безвредные (англ. innocuous). Не являющиеся служебными. Самый широкий класс инструкций, не манипулирующие ничем, кроме указателя инструкций P и памяти E, поведение которых не зависит от того, в каком режиме или с каким адресом в памяти они расположены.

При исполнении каждая инструкция i в общем случае может изменить как (M, P, R), так и память E, т.е. она является функцией преобразования:

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

Далее, ловушки могут иметь два признака.

1. вызванные попыткой изменить состояние процессора (ловушка потока управления).

2. обращения к содержимому памяти, выходящему за пределы диапазона, определённого в (ловушка защиты памяти).

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

Достаточное условие построения гипервизора ВМ

Соблюдение трёх сформулированных выше условий возможности построения гипервизора виртуальных машин: множество служебных инструкций является подмножеством привилегированных инструкций (Рис. 1.1)[10,12]. Соблюсти оптимальный баланс между тремя свойствами: изоляцией, эквивалентностью и эффективностью, - является невозможным, из-за необходимости программного контроля за исполнением ими служебных, но не привилегированных инструкций, так как сама аппаратура не обеспечивает этого (Рис. 1.2).

Рис. 1.1 Выполнение условия виртуализации. Множество служебных инструкций является подмножеством привилегированных

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

Рис. 1.2 Невыполнение условия виртуализации. Служебные, но не привилегированные инструкции требуют реализации сложной логики

Структура гостевых программ

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

Периферия

Поскольку периферийные устройства являются служебным ресурсом, очевидно, что для обеспечения условий изоляции и эквивалентности необходимо, чтобы все попытки доступа к ним были контролируемы гипервизором ВМ так же, как они контролируются в многозадачной операционной системе её ядром. В настоящее время доступ к устройствам производится через механизм отражения их в физической памяти системы (англ. memory mapped I/O)[14].

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

· выделенное устройство - устройство, доступное исключительно внутри одной гостевой системы. примеры: клавиатура, гипервизор.

· разделяемое - общее для нескольких гостей. такое устройство или имеет несколько частей, каждая из которых выделена для нужд одного из них (англ. partitioned mode), например, жёсткий диск с несколькими разделами, или подключается к каждому из них поочерёдно (англ. shared mode). пример: сетевая карта.

· полностью виртуальное - устройство, отсутствующее в реальной системе (или присутствующее, но в ограниченном количестве) и моделируемое программно внутри гипервизора. Примеры: таймеры прерываний - каждый гость имеет собственный таймер, несмотря на то, что в хозяйской системе есть только один, и он используется для собственных нужд гипервизора.

Многопроцессорные системы

На сегодняшний день практически все современные компьютеры содержат в себе более одного ядра или процессора. Кроме того, внутри одного гипервизора могут исполняться несколько ВМ, каждая из которых может иметь в своём распоряжении несколько виртуальных процессоров. Рассмотрим, как это влияет на условия виртуализации. Здесь зачастую используется гипервизор. Гипервизор это программа находящаяся на реальной физической машине и осуществляющая ретрансляцию и выполнение команд виртуальных машин [15].

Аппаратная синхронизация в условиях виртуализации

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

Примером такого неэффективного поведения гостевых систем является синхронизация с задействованием циклических блокировок (англ. spin lock) внутри ВМ[9]. Будучи неэффективной и поэтому неиспользуемой для однопроцессорных систем, в случае нескольких процессоров она является легковесной альтернативой другим, более тяжеловесным замкам (англ. lock), используемым для входа в критические секции параллельных алгоритмов. Чаще всего они используются внутри операционной системы, но не пользовательских программ, так как только ОС может точно определить, какие из системных ресурсов могут быть эффективно защищены с помощью циклических блокировок. Однако в случае виртуальной машины планированием ресурсов на самом деле занимается не ОС, а гипервизор ВМ, который в общем случае не осведомлён о них и может вытеснить поток, способный освободить ресурс, тогда как второй поток будет выполнять циклическую блокировку, бесполезно тратя процессорное время.

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

Существующие решения для данной проблемы описаны ниже.

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

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

Прерывания

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

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

Преобразование адресов

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

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

Для решения этой проблемы используется двухуровневая аппаратная трансляция адресов (Рис. 1.3). Гостевые ОС видят только первый уровень, тогда как генерируемый для них физический адрес в дальнейшем транслируется вторым уровнем в настоящий адрес.

Преобразование адресов для периферийных устройств

Кроме процессоров к оперативной памяти напрямую могут обращаться и периферийные устройства - с помощью технологии DMA (англ. Direct Memory Access). При этом обращения в классических системах без виртуализации идёт по физическим адресам. Очевидно, внутри виртуальной машины необходимо транслировать такие адреса, и это превращается в накладные расходы и понижение эффективности гипервизора. Решение состоит в использовании устройства IOMMU (англ. Input output memory management unit), позволяющего контролировать обращения пользовательских устройств к физической памяти.

Ячейки памяти адресов команд хостовой машины

Ячейки для адресов команд ВМ № 1

Ячейки для адресов команд ВМ № 2

Незаполненные ячейки для адресов команды

Рис. 1.3. Двухуровневая трансляция адресов. Первый уровень контролируется гостевыми ОС, второй - гипервизором виртуальных машин

Расширение принципа

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

При этом условие повышения эффективности виртуализации будет звучать следующим образом: в архитектуре системы должно присутствовать минимальное число служебных операций. Достигать его можно двумя способами: переводя служебные инструкции в разряд безвредных или уменьшая число привилегированных. Для этого большинство архитектур пошло по пути добавления в регистр состояния M нового режима r - режима гипервизора ВМ (англ. root mode). Он соотносится с режимом S так, как S - с U; другими словами, обновлённый класс привилегированных инструкций теперь вызывает ловушку потока управления, переводящую процессор из S в r. Для обеспечение эффективной виртуализации требуется:

Уменьшение частоты и выходов в режим гипервизора с помощью пред просмотра инструкций

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

Рекурсивная виртуализация

Когда гипервизор виртуальных машин запускается под управлением другого гипервизора, непосредственно исполняющегося на аппаратуре, называется рекурсивной виртуализацией (Рис.1.4.). Теоретически она может быть не ограничена только двумя уровнями - внутри каждого гипервизора ВМ может исполняться следующий, тем самым образуя иерархию гипервизоров.

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

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

На Рис. 1.4 показана обработка двух типов сообщений - прерывания, возникшего во внешней аппаратуре, и ловушки потока управления, случившейся внутри приложения.

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

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

Программная виртуализация

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

Плюсы программной виртуализации:

· скорость работы виртуальных машин - создание VPS, переустановка ОС, загрузка сервера и тому подобные операции занимают секунды.

· экономия ресурсов нода - ядро загружается один раз и используется всеми VPS,

· стоимость VPS основанной на программной виртуализации ниже, чем стоимость VPS на базе технологий основанной на аппаратной виртуализации.

Минусы программной виртуализации:

· недостаточно жесткое разделение ресурсов

· возможность оверселлинга.

Рис. 1.5 Пример реализации программной виртуализации

Существуют следующие технологии программной виртуализации:

· полная виртуализация

· паравиртуализация

· виртуализация на уровне ядра ОС

· Виртуализация приложений

Полная виртуализация

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

Рис. 1.6 Полная виртуализация

К достоинствам данного подхода можно причислить:

· относительную простоту реализации, универсальность и надежность решения;

· все функции управления берет на себя хост-ОС.

К недостаткам данного подхода можно причислить:

· высокие дополнительные накладные расходы на используемые аппаратные ресурсы,

· отсутствие учета особенностей гостевых ОС,

· меньшая гибкость в использовании аппаратных средств.

Паравиртуализация

При паравиртуализации (Рис.1.7.) модификация ядра гостевой ОС выполняется таким образом, что в нее включается новый набор API, через который она может напрямую работать с аппаратурой, не конфликтуя с другими виртуальными машинами. При этом нет необходимости задействовать полноценную ОС в качестве хостового ПО, функции которого в данном случае исполняет специальная система, получившая название гипервизора.

Достоинства данной технологии заключаются:

· в отсутствии потребности в хостовой ОС - ВМ

· эффективное использование аппаратных ресурсов.

Недостатки данной технологии заключаются:

· в сложности реализации подхода

· необходимости создания специализированной ОС-гипервизора.

Именно этот вариант является сегодня наиболее актуальным направлением развития серверных технологий виртуализации и применяется в VMware ESX Server, Xen, Microsoft Hyper-V.

Рис. 1.7 Паравиртуализация

Виртуализация на уровне ядра ОС

Виртуализация на уровне ядра ОС (Рис. 1.8.) - этот вариант подразумевает использование одного ядра хостовой ОС для создания независимых параллельно работающих операционных сред. Для гостевого ПО создается только собственное сетевое и аппаратное окружение.

Рис. 1.8 Виртуализация на уровне ОС

Достоинства данной технологии заключаются:

· высокой эффективности использования аппаратных ресурсов,

· низких накладных технических расходах

· отличной управляемости

· минимизации расходов на приобретение лицензий.

недостатки данной технологии заключаются:

· способности реализовать только однородные вычислительные среды.

Виртуализация приложений

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

Рис. 1.9 Виртуализация приложений

С ростом масштабов организаций, использование в ИТ-инфраструктуре пользовательских ПК вызывает ряд сложностей:

· большие операционные издержки на поддержку компьютерного парка;

· сложность, связанная с управлением настольными ПК;

· обеспечение пользователям безопасного и надежного доступа к ПО и приложениям, необходимым для работы;

· техническое сопровождение пользователей;

· установка и обновление лицензий на ПО и техническое обслуживание;

· резервное копирование и т.д.

Уйти от этих сложностей и сократить издержки, связанные с их решением, возможно благодаря применению технологии виртуализации приложений (Рис.1.9.) подразумевает применение модели изоляции прикладных программ с управляемым взаимодействием с ОС, при котором производится виртуализация каждого экземпляра приложений, все его основные компоненты: файлы (включая системные), реестр, шрифты, INI-файлы, COM-объекты, службы.

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

Рис. 1.10 Виртуализация представлений

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

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

3. Методы организации защиты в облаке

Виртуализация предоставляет такие выгоды как энергоэффективность и производительность, и основными вопросами которые возникают при организации виртуализации являются угрозы безопасности. Организация безопасности на крупных предприятиях строится на основе стандартов, установленных разными нормативными требованиями (Рис.1.11).

Так как облачные технологии являются новыми технологиями, то проблема безопасности только обостряется, так как:

· существует достаточно большое количество разнообразных типов облаков как по уровням доступа так и по уровням предоставления услуг.

· не разработано достаточное количество стандартов для обеспечения защиты в облаке.

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

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

Рис. 1.11Логическая схема организации информационной безопасности

Принципы организации безопасности

Надо сказать, что при организации безопасности виртуализации и облака мы имеем дело с данными, данные должны соответствовать трем каноническим правилам информационной безопасности:

· целостность

· доступность

· конфиденциальность

Поэтому при построении уровней безопасности целевой системы требуется создать:

· безопасность на уровне аппаратуры

· безопасность на программном уровне

Как уже было отмечено, построение уровней безопасности в организациях осуществляется в соответствии со стандартами и нормативами. Существует определенный набор возможных типов угроз при организации виртуализации (Рис.1.12):

· угрозы виртуальной инфраструктуре

· угрозы гипервизору

· угрозы аппаратной платформе

· угрозы сети хранения

· угрозы системы управления

Сноска № 1 - Сервер управления виртуальной средой;

Сноска № 2 - автоматизированное рабочее место администратора;

Рис. 1.12. Возможные угрозы при организации виртуализации

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

Виды угроз осуществляемые на аппаратном уровне

Рассмотрим основные угрозы имеющие место при организации аппаратной безопасности.

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

· нарушается доступность к персональным данным пользователей;

· происходит остановка виртуальных машин, запущенных на аппаратной платформе;

· нарушение работы зависящих от их работоспособности смежных ИТ-систем;

· потеря данных пользователей, нарушение целостности, в процессе остановки работы виртуальной машины;

· уничтожение данных пользователей, размещенных на поврежденных носителях данных;

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

· отказы и сбои в работе смежных обеспечивающих систем как несанкционированные так и случайные (электропитание, кондиционирование и пр.);

· умышленное или случайное нанесение физических повреждений аппаратным компонентам виртуальной среды;

· несанкционированное извлечение, замена или кража компонентов оборудования;

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

· неавторизированный пользователь получает возможность проведения сетевых атак из не доверенных сетевых сегментов на виртуальные машины, развернутые на аппаратной платформе;

· нарушение работы информационной системы персональных данных, развернутых в виртуальной среде;

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

· подключение сетевых интерфейсов аппаратной платформы к не доверенным сетевым сегментам;

· изменение сетевых настроек;

Рассмотрим также виды угроз для сети хранения данных. При таком виде угроз происходят следующие типы нарушений в безопасности:

· нарушается доступность к персональным данным пользователей;

· персональные данные пользователей могут быть искажены;

· злоумышленник может получить доступ к персональным данным пользователя;

· имея физический доступ к носителям информации находящимися в составе СХД осуществить кражу носителе(ей) информации для дальнейшей кражи личной информации пользователя;

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

· нарушитель получил физический доступ к дискам СХД что позволяет ему осуществить кражу или порчу оборудования;

· нарушитель получил доступ к автоматизированному рабочему месту администратора и смог подобрать пароль;

· нарушитель получил несанкционированный (удаленный) доступ к управляющим интерфейсам компонентов сети хранения данных;

Виды угроз осуществляемые на программном уровне

Рассмотрим основные угрозы имеющие место при организации уровня программной безопасности.

Нарушение состояния работы системного ПО виртуализации (гипервизора). При таком виде угроз происходят следующие типы нарушений в безопасности:

· нарушение работы информационной системы персональных данных, развернутых в виртуальной среде посредством воздействия на гипервизор;

· уничтожение/кража/искажение персональных данных, обрабатываемых в рамках виртуальной машины, к которой произошло несанкционированное подключение при условии неправильной настройки безопасности на гипервизоре;

· несанкционированный доступ к ресурсам виртуальных машин вследствие некорректных настроек гипервизора;

· подмена исполняемых модулей по гипервизора;

· вследствие сетевых атак типа «переполнение буфера» на открытые сетевые порты сервера с гипервизором в случае возникновения в его по уязвимостей, злоумышленник может получить несанкционированный удаленный доступ к ресурсам гипервизора;

· вследствие атак типа «отказ в обслуживании» в отношении виртуальных машин может произойти истощение вычислительных ресурсов сервера с гипервизором;

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

· сотрудники имеющие легитимные права доступа могут умышленно или случайно могут изменить настройки безопасности гипервизора и испортить данные пользователей ВМ;

· злоумышленник находясь в сегменте сети может получить доступ к данным пользователя через бреши в безопасности неправильно настроенного гипервизора;

· злоумышленник может осуществить DDOS атаку на гипервизор и тем самым вызвать истощение вычислительных ресурсов;

· злоумышленник получивший доступ к ВМ пользователя и сумевший обойти защиту гипервизора;

Следующим типом является угрозы для системы управления виртуальной средой. При таком виде угроз происходят следующие типы нарушений в безопасности:

· получение несанкционированного доступа к консоли управления виртуальной инфраструктурой (АРМ администратора виртуальной среды);

· получение несанкционированного доступа к настройкам виртуальных машин;

· получение несанкционированного удаленного доступа к интерфейсу системы управления;

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

· MITM (man in the middle) атаки, обход уровня безопасности, перехват сессии с подключением к сегменту управления;

· получение доступа к консоли управления и подбор пароля, возникает из-за неправильной настройки политики безопасности;

· получение доступа к смежному сегменту сети и осуществление выше описанных атак;

...

Подобные документы

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.