Вход

Разработка системы защиты Грид от злонамеренных пользователей

Рекомендуемая категория для самостоятельной подготовки:
Дипломная работа*
Код 563022
Дата создания 2015
Страниц 59
Мы сможем обработать ваш заказ (!) 23 декабря в 12:00 [мск]
Файлы будут доступны для скачивания только после обработки заказа.
1 500руб.
КУПИТЬ

Содержание

Введение 6
1 Постановка задачи 8
1.1 Модель злоумышленника 9
1.2 Известные угрозы 10
1.3 Цели системы защиты 14
2 Подходы к защите вычислительных узлов и диспетчера Грид-сети 15
2.1 Механизм синхронизации Грид-диспетчеров 15
2.2 Аутентификация пользователей 17
2.3 Запутывающие механизмы 18
2.4 Методы проверки получаемых заданий 22
2.5 Кодирование и скрытие полученного результата 24
3 Разработка защиты Грид-сети 26
3.1 Архитектура разработанной системы 27
3.2 Библиотека защиты 30
3.3 Реализация прототипа разработанной системы 32
4 Анализ разработанной системы 39
4.1 Производительность разработанной системы 39
4.2 Анализ защиты от модификации исполняемого файла клиента. 41
4.3 Анализ защиты от искажения результата. 42
Заключение 44
Список использованных источников 45
Приложение А Реализация генератора библиотеки защиты 47
Приложение Б Реализация Диспетчера Грид 54

Фрагмент работы для ознакомления

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

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

1.1 Модель злоумышленника
В рамках данной работы была построена модель злоумышленника.
Разработка системы производилась в следующих предположениях о возможностях нарушителя.
• злонамеренный пользователь, на чьей ЭВМ установлено клиентское ПО, являющийся зарегистрированным пользователем Грид-сети;
• злонамеренный пользователь, на чьей ЭВМ установлено клиентское ПО, не являющийся зарегистрированным пользователем Грид-сети;

Варианты расположения злоумышленников в сети представлены на рисунке 1.

Рисунок 1 ­ – Варианты расположения злоумышленников в сети
В таблице 1 приведены присвоенные злоумышленникам идентификаторы и описаны дополнительные возможности, которыми они обладают.
Предполагается, что все виды злоумышленников обладают программными и аппаратными средствами для модификации клиентской части сети.
Таблица 1 – Модель злоумышленника.
...

1.2 Известные угрозы
В процессе разработки системы был получен перечень угроз, исходящих от злоумышленников:
• модификация клиентской части Грид-сети;
• передача искаженного результата, после проведения всех необходимых вычислений зарегистрированным пользователем;
• передача заведомо ложного результата зарегистрированным пользователем;
• выдавать себя за другого пользователя сети;
• рассылка вредоносного кода в теле задания.
Описание перечисленных угроз и идентификаторы злоумышленников, от которых исходят перечисленные угрозы приведены в таблице 2.
Таблица 2 – Угрозы, исходящие от злоумышленников
Наименование угрозы
Описание угрозы
Идентификатор злоумышленника
Модификация клиентской части Грид-сети.
...

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

Кодирование и скрытие полученного результата.
Передача заведомо ложного результата зарегистрированным пользователем.
Кодирование и скрытие полученного результата.
Введение в систему контроля корректного исполнения всех стадий вычисления
Передача данных от имени другого пользователя сети
Аутентификация пользователей.
Рассылка вредоносного кода в задании.
Проверка получаемых заданий.
...

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

Аутентификация пользователей.
Рассылка вредоносного кода в задании.
Проверка получаемых заданий.
2 Подходы к защите вычислительных узлов и диспетчера Грид-сети
Для защиты Грид-сети от перечисленных угроз необходимо снабдить вычислительные узлы следующими механизмами:
• механизм синхронизации Грид-диспетчеров
• запутывающие механизмы;
• аутентификация пользователей;
• кодирование и скрытие полученного результата;
• проверка получаемых заданий.
2.1 Механизм синхронизации Грид-диспетчеров
В Грид-сети, содержащей несколько диспетчеров необходима синхронизация данных о текущих и выполненных заданиях, а также контроль за наличием пула свободных ресурсов. Для этого необходимо снабдить Грид-систему механизмом синхронизации диспетчеров.
После запуска системы управления метакомпьютера между диспетчерами устанавливается защищенное SSL-соединение и в результате опроса подконтрольных ресурсов инициализируется база данных ресурсов Диспетчеров.
...

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

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

Кодирование и скрытие полученного результата.
Передача заведомо ложного результата зарегистрированным пользователем.
Кодирование и скрытие полученного результата.
Введение в систему контроля корректного исполнения всех стадий вычисления
Передача данных от имени другого пользователя сети
Аутентификация пользователей.
Рассылка вредоносного кода в задании.
Проверка получаемых заданий.
2 Подходы к защите вычислительных узлов и диспетчера Грид-сети
Для защиты Грид-сети от перечисленных угроз необходимо снабдить вычислительные узлы следующими механизмами:
• механизм синхронизации Грид-диспетчеров
• запутывающие механизмы;
• аутентификация пользователей;
• кодирование и скрытие полученного результата;
• проверка получаемых заданий.
2.1 Механизм синхронизации Грид-диспетчеров
В Грид-сети, содержащей несколько диспетчеров необходима синхронизация данных о текущих и выполненных заданиях, а также контроль за наличием пула свободных ресурсов.
...

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

3.2 Библиотека защиты
На диспетчере создается и компилирует динамическую библиотеку защиты. Она содержит в себе правила, по которым будут закодированы результаты, а также само задание. Правила кодирования настраиваются на диспетчере с помощью ПО диспетчера. Задания пишутся программистами, занимающимися сопровождением Грид-сети.
Библиотека защиты так же содержит функции проверки контрольных сумм клиентской части. Если она не совпадает с эталонной, то это значит, что ПО некоторым образом модифицировано. Функция Encode в библиотеке содержит основание системы счисления, в которую будет переводиться результат. А также алгоритм, по которому результат будет кодироваться. Далее диспетчер передает клиентам эту библиотеку и само задание. На рисунке 13 показан процесс распространения динамической библиотеки.
...

3.3 Реализация прототипа разработанной системы
Для реализации прототипа защищенной Грид-сети был выбран язык C#(Си Шарп). Это объектно-ориентированный язык программирования для платформы .NET. Разработан в 2000 году корпорацией Microsoft. C# создан на основе таких языков как C, C++ и Java. Этот язык разработан специально для того, чтобы увеличивалась производительность программиста, и уменьшалось количество ошибок. Язык поддерживает четкий контроль типов и содержит безопасность типов. Каждой переменной во время объявления задается строго определенный тип данных. При написании программ на языке C# нет необходимости следить за используемой памятью. Сборщик мусора автоматически освобождает неиспользуемую память. Для запуска приложения, написанного на C# необходимо наличие .NET Framework. Поскольку Framework разрабатывался компанией Microsoft, то разработка приложений была возможна только для операционных систем Windows. Однако при поддержки компании Novell был разработан проект Mono[26].
...

4.1 Производительность разработанной системы
Для тестирования производительности была взята задача о нахождении простых чисел в заданном диапазоне. Производилось вычисление всех простых чисел в диапазоне между 1 и 1*106, 1 и 5*106, 1 и 1*107. Чтобы определить простоту числа это число делилось последовательно на все числа от двух до корня из этого числа. Соответственно, список всех простых чисел в заданных диапазонах строился путем проверки на простоту всех чисел в этих диапазонах. При тестировании средой передачи данных являлась локальная сеть, т.е. и вычислительные узлы и диспетчер находились в пределах одной локальной сети.
Длина цикла вычисления определяющего является ли число простым, прямо пропорционально от самого числа. Поэтому изначальный интервал распределялся между вычислительными узлами не равномерно. Распределение интервала указано в таблице 4.
Диспетчер Грид, после установки соединения с вычислительным узлом проверяет его на наличие свободных ресурсов.
...

4.2 Анализ защиты от модификации исполняемого файла клиента.
В динамическую библиотеку, передаваемой от диспетчера клиентам разрабатываемого прототипа Грид сети была встроена защита от модификации исполняемого файла. Суть защиты состоит в постоянной проверке контрольной суммы. В теле получаемого задания содержаться функции, которые используют эталонное значение контрольной суммы. В данном случае тело задания содержит функцию сравнения результата вычисления контрольной суммы и эталонного значения контрольной суммы. Сравнение вызывается неоднократно и не всегда непосредственно.
Допустимо сравнивать результат деления возвращаемого значения функции подсчета контрольной суммы и эталонного значения с единицей. Если равенство соблюдается, то контрольная сумма совпадает с эталонной.
В исполнимый файл клиентской части при помощи шестнадцатеричного редактора были внесены модификации. На рисунке 20 представлено окно клиентского программного обеспечения после его модификации.
...

4.3 Анализ защиты от искажения результата.
После установления соединения с диспетчером Грид клиент запрашивает динамическую библиотеку, содержащую задание и правила кодирования и скрытия результата. Затем происходит обработка и анализ полученных данных всеми клиентами. Результат вычисляется, кодируется и передается на диспетчер. Задание получили пять вычислительных узлов. На последнем, пятом узле – полученный результат был намерено искажен и передан на диспетчер. На рисунке 21 представлено главное окно диспетчера в момент сбора и обработки результатов со всех вычислительных узлов.
При получении данных диспетчером, они декодируются на основе информации, содержащейся в библиотеке защиты. Диспетчер получил информацию с четырех из пяти вычислительных узлов. На пятом узле произошла подмена результата вычислений, и искаженный результат не будет учитываться при анализе всех вычислений.
...

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

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

1 The Globus Alliance – http://globus.org/
2 BOINC – http://boinc.berkeley.edu/
3 World Community Grid – http://www.worldcommunitygrid.org/about_us/viewAboutUs.do
4 Я. Фостер. Что такое Грид – http://www.gridclub.ru/library/publication.2004-11-29.5830756248
5 Я. Фостер, К. Кессельман, С. Тьюке .Анатомия Грид – http://www.gridclub.ru/library/publication.2004-11-29.7104738919
6 Чернов А. В. Об одном методе маскировки программ – http://www.citforum.ru/security/articles/mask/index.shtml
7 Я. Фостер, К. Кессельман, Д.М. Ник, С. Тьюке . Физиология Грид – http://www.gridclub.ru/library/publication.2004-11-29.8307957187
8 Андрей Киселев,Дмитрий Семенов,Илья Сахаров,Виктор Корнеев. Управление метакомпьютерными системами – http://www.osp.ru/os/2005/02/185294/
9 Хухлаев Е.В. Безопасность Грид-диспетчера реализованная средствами Грид служб – http://www.keldysh.ru/papers/2004/art01/gd-security.htm
10 Метакомпьютинг: прошлое, настоящее и будущее – http://www.gridclub.ru/library/publication.2006-04-08.3438181725/publ_file/
11 Анализ и трансформация программ –http://window.edu.ru/window_catalog/pdf2txt?p_id=27128&p_page=2
12 Чернов А.В. Интегрированная среда для исследования "обфускации" программ – http://www.ict.nsc.ru/ws/Lyap2001/2350/
13 Защита .NET приложений от просмотра – http://www.gotdotnet.ru/LearnDotNet/NETFramework/125201.aspx
14 Grid Computing – http://en.wikipedia.org/wiki/Grid_computing
15 Концепция грид – http://gridclub.ru/about
16 Компонент Security в GRID – http://kulanov.org.ua/archives/32
17 Евгений Рябинкин – http://www.egee-rdig.ru/documents/open/45/PKI_and_security.pdf
18 Grid Ecosystem: MyProxy – http://www.globus.org/grid_software/security/myproxy.php
19 S. Chow, Y. Gu, H. Johnson, V. Zakharov. An approach to the obfuscation of control-flow of sequential computer programs. LNCS, 2001, 2200, pp. 144-155.
20 Грид – http://ru.wikipedia.org/wiki/Грид
21 Chenxi Wang. A Security Architecture for Survivability Mechanism –http://www.cs.virginia.edu/dissertations/2001-01.pdf
22 Heinz Stockinger. Defining the Grid: A Snapshot on the Current View. Swiss Institute of Bioinformatics (Vital-IT) 2006
23 Майк Даунен. Усовершенствования модели защиты CAS в .NET Framework 2.0 MSDN Magazine// Русская Редакция Декабрь 2005
24 Кей С. Хорстманн, Гари Корнелл. Java2. Библиотека профессионала. Издательский дом Вильямс, 2007
25 Gary McGraw. Securing Java. John Willey & Sons, 1999
26 Mono – http://www.mono-project.com/Main_Page
Очень похожие работы
Найти ещё больше
Пожалуйста, внимательно изучайте содержание и фрагменты работы. Деньги за приобретённые готовые работы по причине несоответствия данной работы вашим требованиям или её уникальности не возвращаются.
* Категория работы носит оценочный характер в соответствии с качественными и количественными параметрами предоставляемого материала. Данный материал ни целиком, ни любая из его частей не является готовым научным трудом, выпускной квалификационной работой, научным докладом или иной работой, предусмотренной государственной системой научной аттестации или необходимой для прохождения промежуточной или итоговой аттестации. Данный материал представляет собой субъективный результат обработки, структурирования и форматирования собранной его автором информации и предназначен, прежде всего, для использования в качестве источника для самостоятельной подготовки работы указанной тематики.
bmt: 0.00358
© Рефератбанк, 2002 - 2024