авторефераты диссертаций БЕСПЛАТНАЯ  БИБЛИОТЕКА

АВТОРЕФЕРАТЫ КАНДИДАТСКИХ, ДОКТОРСКИХ ДИССЕРТАЦИЙ

<< ГЛАВНАЯ
АГРОИНЖЕНЕРИЯ
АСТРОНОМИЯ
БЕЗОПАСНОСТЬ
БИОЛОГИЯ
ЗЕМЛЯ
ИНФОРМАТИКА
ИСКУССТВОВЕДЕНИЕ
ИСТОРИЯ
КУЛЬТУРОЛОГИЯ
МАШИНОСТРОЕНИЕ
МЕДИЦИНА
МЕТАЛЛУРГИЯ
МЕХАНИКА
ПЕДАГОГИКА
ПОЛИТИКА
ПРИБОРОСТРОЕНИЕ
ПРОДОВОЛЬСТВИЕ
ПСИХОЛОГИЯ
РАДИОТЕХНИКА
СЕЛЬСКОЕ ХОЗЯЙСТВО
СОЦИОЛОГИЯ
СТРОИТЕЛЬСТВО
ТЕХНИЧЕСКИЕ НАУКИ
ТРАНСПОРТ
ФАРМАЦЕВТИКА
ФИЗИКА
ФИЗИОЛОГИЯ
ФИЛОЛОГИЯ
ФИЛОСОФИЯ
ХИМИЯ
ЭКОНОМИКА
ЭЛЕКТРОТЕХНИКА
ЭНЕРГЕТИКА
ЮРИСПРУДЕНЦИЯ
ЯЗЫКОЗНАНИЕ
РАЗНОЕ
КОНТАКТЫ


Защита сред облачных вычислений путём верификации программного обеспечения на наличие деструктивных свойств

На правах рукописи

Туманов Юрий Михайлович ЗАЩИТА СРЕД ОБЛАЧНЫХ ВЫЧИСЛЕНИЙ ПУТЁМ ВЕРИФИКАЦИИ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ НА НАЛИЧИЕ ДЕСТРУКТИВНЫХ СВОЙСТВ Специальность: 05.13.19 – Методы и системы защиты информации, информационная безопасность

АВТОРЕФЕРАТ

диссертации на соискание ученой степени кандидата технических наук

Автор: _ Москва – 2012

Работа выполнена в Национальном исследовательском ядерном университете «МИФИ» (НИЯУ МИФИ) кандидат физико-математических наук,

Научный консультант:

доцент кафедры №42 «Криптология и дискретная математика», Велигура Александр Николаевич Доктор технических наук,

Официальные оппоненты:

ведущий научный сотрудник ИПИ РАН, Королёв Вадим Иванович Кандидат технических наук, заместитель начальника отдела разработок ООО «КРИПТО-ПРО», Смирнов Павел Владимирович ФГУП «Всероссийский научно

Ведущая организация:

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

Защита состоится «28» мая 2012 г. в 16 часов 00 минут на заседании диссертаци онного совета ДМ 212.130.08 при Национальном исследовательском ядерном универ ситете «МИФИ»: 115409, г. Москва, Каширское ш., д.31. Тел. для справок: +7 (495) 323-95-26, 324-73-34.

С диссертацией можно ознакомиться в библиотеке Национального исследова тельского ядерного университета «МИФИ».

Отзывы в двух экземплярах, заверенные печатью, просьба направлять по адресу:

115409, г. Москва, Каширское ш., д.31, диссертационные советы НИЯУ МИФИ, тел.:

+7 (495) 323-95-26.

Автореферат разослан «25» апреля 2012 г.

Ученый секретарь диссертационного совета, кандидат технических наук, доцент Горбатов В.С.

ОБЩАЯ ХАРАКТЕРИСТИКА РАБОТЫ

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

Среды облачных вычислений (ОВ) являются очередным звеном в эволюционной цепочке подходов к предоставлению удалённого доступа к данным после выделенных серверов. Впервые идея среды ОВ была выдвинута в 1961 году Дж. Маккарти. Среда облачных вычислений - это модель программно-аппаратных средств вычислительной техники, позволяющая получать удалённый доступ к вычислительным ресурсам в лю бой момент времени. Среда ОВ позволяет динамически выделять требуемое про граммному обеспечению (ПО) процессорное время и память в зависимости от текущей нагрузки на это ПО. Впервые услуга предоставления доступа к данным на основе сре ды ОВ была предложена компанией Salesforce в 1999 году. Впоследствии, услуги пре доставления доступа к данным с использованием сред ОВ стали предлагать на рынке Amazon (2002), Google (2005), Microsoft(2008) и множество других компаний.

Однако применение сред облачных вычислений ведет к появлению новых про блем информационной безопасности, таких как:

проблема распространения вредоносного программного обеспечения (ВПО) посредством сред ОВ;

проблема доверия поставщику услуг среды ОВ;

проблема выявления ВПО, ориентированного на среды ОВ;

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

Для решения задачи противодействия распространению вредоносного про граммного обеспечения посредством сред ОВ обычно используются существующие решения – антивирусное ПО, системы обнаружения вторжений, системы предотвра щения вторжений.

Задача обеспечения доверия поставщику услуг среды ОВ решается посредством административно-правовых и технических мер.

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

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

задача выявления ВПО, ориентированного на среды облачных вычислений;

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

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

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

Danish Jamil – провёл типизацию угроз для сред облачных вычислений и предложил ряд решений, позволяющих противодействовать рассмотренным угрозам;

Michael Miller – провёл анализ механизмов безопасности сред облачных вы числений и выделил общие неустранимые недостатки;

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

Subashini S. – рассмотрел проблемы применения верификации в средах об лачных вычислений и сделал вывод о сложности применения существующих методик верификации для ПО, передаваемого в среды ОВ, для выполнения.

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

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

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

Объект исследования. Среды облачных вычислений.

Предмет исследования. Деструктивные свойства программного обеспечения сред облачных вычислений.

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

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

Для решения поставленной задачи необходимо:

провести анализ: требований, предъявляемым к методикам обеспечения за щиты сред ОВ;

методик верификации кода;

методик выявления ПО, обладающего де структивными свойствами;

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

сформулировать требования к разрабатываемой методике, удовлетворяющие специфике применения сред ОВ;

синтезировать модель представления ПО, которая позволит анализировать все возможные пути выполнения ПО, а также программные инструкции, и на её основе создать формальное описание классифицирующего признака ПО;

создать алгоритм классификации программного обеспечения;

синтезировать методику верификации ПО для сред ОВ;

разработать архитектуру программного комплекса и реализовать его.

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

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

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

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

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

предложен подход к оценке подобия различных экземпляров программного обеспечения, основанный на мере Дамерау – Левенштейна;

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

Практическая значимость результатов заключается в следующем:

реализован алгоритм, использующий меру Дамерау – Левенштейна, позво ляющий в зависимости от заданного количества редакционных преобразований выяв лять подобные экземпляры ПО;

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

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

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

Внедрение результатов исследований.

Предложенная методика верификации программного обеспечения на наличие деструктивных свойств для сред облачных вычислений реализована в Центре вирус ных исследований и аналитики «Eset» для осуществления формального вывода при анализе ПО о наличии в нём деструктивных свойств ПО.

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

Предложенные в работе модели представления ПО и описаний деструктивных свойств ПО реализованы в компании ООО «ТСС» для проведения оценки рисков ин формационной безопасности и создания моделей информационных систем.

Теоретические и прикладные результаты, полученные в ходе выполнения дис сертационной работы, использованы в учебном курсе «Языки программирования» ка федры «Криптология и дискретная математика» НИЯУ МИФИ при создании лабора торных работ по курсу «Языки программирования 2».

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

7-я Курчатовская молодёжная научная школа – 10-12.11.2009г, г. Москва;

«Умник сколковец» – 15.03.2011г., г. Москва, МТЦ. «Победитель конкурса «Кадровый резерв молодых ученых и специалистов «Сколково» 15.03.2011г.;

«Microsoft Research Summer School 2011» – 27.06-01.07.2011г, Великобрита ния, Кембридж;

11-й Национальный форум информационной безопасности «Информацион ная безопасность России в условиях глобального информационного общества» 29- января 2009 г.;

Конкурс молодёжных предпринимательских проектов «Своё дело» 18 мая 2011г, г. Москва;

Х конкурс молодёжных инновационных проектов технопарка МИФИ. 2011г.

г. Москва;

XIV международная телекоммуникационная конференция молодых учёных и студентов «Молодежь и наука». 2011г. г. Москва.

Основные положения выносимые на защиту:

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

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

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

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

программный комплекс, повышающий защищённость сред ОВ, с использова нием предложенной в работе методики.

Структура работы. Работа состоит из введения, четырех глав, заключения, спи ска литературы, включающего 106 наименований. Текст диссертации изложен на страницах, включая 15 рисунков и 3 таблицы.

СОДЕРЖАНИЕ РАБОТЫ

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

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

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

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

административные;

нормативно-правовые;

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

Принимаемые поставщиками меры, направленные на противодействие передаче ПО, деструктивно воздействующего на среды облачных вычислений, обладают сле дующими недостатками:

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

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

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

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

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

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

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

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

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

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

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

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

Таблица 1 – Сравнительная характеристика методик.

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

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

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

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

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

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

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

нарушитель обладает полными знаниями о программно-аппаратной среде ОВ;

нарушитель обладает всеми необходимыми ресурсами для создания ПО для рассматриваемой среды ОВ;

нарушитель имеет возможность передачи ПО в среду ОВ только штатным путем.

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

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

Пусть существует алфавит L, описывающий реализованный в среде ОВ язык программирования, и граф потока управления ПО G, представляющий все возможные пути исполнения ПО.

Пусть алфавит L является конечным множеством мощности |L| и состоит из всех программных инструкций языка программирования, на котором разработан экземпляр верифицируемого ПО, тогда словом w, принадлежащем множеству слов W, называется li, где символ l L, i = 1, k, k 0.

конечная последовательность элементов w = i Пусть граф потока управления ПО G ={U,V} задается набором множеств: U – множество вершин рассматриваемого графа, V – множество дуг рассматриваемого графа. В графе потока управления каждая вершина u U соответствует линейному блоку ПО – участку кода, не содержащему в себе ветвлений и циклов. Линейные блоки ПО (в дальнейшем базовые блоки ПО) – участки программного кода приложения, не содержащие ветвлений, переходов и инструкций передачи управления. Множество дуг V включает в себя пары элементов из множества U, то есть V {UxU}, таким образом, что дуга между двумя вершинами существует тогда и только тогда, когда переход из одной вершины в другую осуществим. Таким образом, если набор инструкций ПО, представленных вершиной графа uk, будет вызван сразу после обращения к инструк циям, представленных вершиной графа ui, то вершины uk и ui будут связаны между собой дугой {uk,ui}. Существенно, что рассматриваемый граф потока управления ПО является ориентированным в связи с тем, что при исполнении кода приложения важен порядок вызова базовых блоков ПО.

В данной работе предлагается представлять программное обеспечение в виде следующей математической модели, описанной в терминах теории множеств и теории графов:

R = {U,W,h,Uc,V,f,Vc}, где U – множество вершин графа потока управления ПО, W – множество слов на рассматриваемом языке программирования, h – отображение разметки вершин графа потока управления U, h: WU Uc, где Uc – множество разме ченных вершин графа потока управления (далее вершин), V – множество дуг графа по тока управления ПО, f – отображение f:V Vc, где множество дуг Vc {UcxUc} вклю чает в себя пары элементов из множества Uc, таким образом, что дуга между двумя вершинами существует тогда и только тогда, если она существовала во множестве дуг V. Тогда под Gc ={Uc,Vc} понимается размеченный граф потока управления G ={U,V}.

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

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

CR = {W,D,PD,DPD,P,}, где W – множество слов на рассматриваемом языке программирования, D – множество размеченных доминаторов (далее доминаторов), PD – множество размеченных постдоминаторов (далее постдоминаторов), DPD – множество размеченных вершин, являющихся доминаторами и постдоминаторами (далее доминаторов-постдоминаторов), P – множество всех путей из множества доми наторов в множество постдоминаторов, проходящих через множество вершин, являю щихся доминаторами и постдоминаторами, – отображение, :DDPDPDP. В дальнейшем под вершиной pP будет пониматься доминатор, постдоминатор или вершина, являющаяся доминатором и постдоминатором. Под путём tP будет пони маться заданное подмножество вершин pP, которые связаны отношениями домини рования и постдоминирования, описывающих определенное деструктивное свойство ПО. Иными словами, в соответствии с предложенным формальным описанием клас сифицирующего признака ПО для каждого нового образца ПО, обладающего деструк тивными свойствами, в базу данных добавляются информация о: размеченных верши нах графа потока управления и в какой последовательности они должны вызываться в ходе выполнения ПО.

Формальное описание классифицирующего признака, характеризующее дест руктивное свойство ПО, используемое непосредственно в реализации методики, схе матично представлено на рисунке 3.

Рисунок 3 – Схематичное изображение формального описания классифицирую щего признака ПО Вершины pP и ucGc рассматриваются как подобные, если DL(p,uc), где DL(p,uc) – преобразование Дамерау – Левенштейна, позволяющее получить мини мальное количество операций вставки, удаления, замены и перестановки одного сим вола алфавита lL, необходимых для преобразования инструкций вершины pP в вершину ucGc, – заданное количество редакционных преобразований над помечен ной вершиной, в случае превышения которого вершины pP и ucUc не рассматрива ются как подобные. Если DL(p,uc)=0, то вершины pP и ucGc рассматриваются как эквивалентные.

Пути gcGc и tP рассматриваются как подобные, если для каждой вершины p, входящей в путь t, существует вершина uс, входящая в путь gc, такая, что DL(p,uc).

Пути gcGc и tP рассматриваются как эквивалентные, если для каждой вершины p, входящей в путь t, существует вершина uс, входящая в путь gc, такая, что DL(p,uc)= p,uc, и в пути gc отсутствуют вершины, кроме эквивалентных вершинам, входящим в t.

Постановка задачи. Необходимо провести классификацию множества элемен тов, каждый элемент которого описывается кортежем R, для выделения двух классов эквивалентности: ПО, обладающее классифицирующим признаком – C(M) и ПО, не обладающее классифицирующим признаком – C( M ).

Критерием классификации является наличие подобных или эквивалентных путей tP и gcGc. Таким образом, R C( M ), если существует хотя бы один путь gcGc, та кой, что для него существует подобный путь tP, для всех описаний классифицирую щих признаков, представленных кортежами CR. R C(M), если для любого пути gcGc, не существует подобного пути tP, для всех классифицирующих признаков, представ ленных кортежами CR.

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

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

получение исходного кода программного обеспечения;

построение графа потока управления ПО;

создание размеченного графа потока управления ПО;

поиск подобных вершин в размеченном графе управления ПО и описаниях деструктивных свойств ПО;

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

классификация ПО, как обладающего деструктивными свойствами или не обладающего деструктивными свойствами;

передача ПО в среду облачных вычислений для выполнения или блокирова ние передачи.

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

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

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

модуль построения графа потока управления верифицируемого ПО;

модуль разметки вершин графа потока управления верифицируемого ПО;

модуль хранения внутреннего представления верифицируемого ПО;

модуль хранения описаний деструктивных свойств ПО;

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

модуль поиска пути в размеченном графе потока управления верифицируе мого ПО;

модуль классификации верифицируемого ПО;

модуль передачи ПО в среду ОВ.

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

Модуль разметки вершин графа потока управления верифицируемого ПО.

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

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

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

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

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

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

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

Архитектура программного комплекса представлена на рисунке 4.

Рисунок 4 – Архитектура программного комплекса На рисунке 5 представлена построенная автором модель работы программного комплекса, реализующего предложенную методику.

.

Возврат к ожиданию экземпляра ПО Получение экземпляра ПО Ожидание Оповещение экземпляра ПО администратора Верификация Обнаружено Возврат к ожиданию ПО некорректное ПО экземпляра ПО ПО корректно ПО не корректно Отказ передачи Передача ПО ПО Рисунок 5 – Модель работы программного комплекса, реализующего предло женную в работе методику Программный комплекс может находиться в следующих состояниях: Ожидание экземпляра ПО – начальное состояние системы;

Верификация ПО – состояние, в ко торое переходит система при получении нового экземпляра ПО;

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

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

Оповещение администратора – состояние, в которое пере ходит программный комплекс, если образцу ПО отказано в передаче в среду ОВ. Пе реходы в модели помечены как: ПО корректно – переход, в случае если деструктив ные свойства не выявлены;

ПО не корректно – переход, приводящий к предотвраще нию передачи ПО в среду ОВ;

Обнаружено некорректное ПО – переход, в случае ес ли образцу ПО отказано в передаче в среду ОВ;

Возврат к ожиданию экземпляра ПО – переход, возвращающий программный комплекс в начальное состояние.

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

Разработка программного комплекса, реализующего методику, осуществлялась на языке программирования C# платформы.NET в связи с тем, что для работы с внут ренним представлением.NET приложений наиболее полно подходят существующие в данном языке классы и пространства имен. Также для разработки использована СУБД Oracle 11g, используемая для проведения поиска по табличным описаниям деструк тивных свойств ПО.

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

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

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

Таблица 2– Доля ложных срабатываний в зависимости от количества редакционных преобразований над словом.

Количество ре- 0 1 2 3 4 дакционных преобразований над словом, Доля ложных 0,05 0,14 0,23 0,36 0,49 0, срабатываний Алгоритм работы программного комплекса, реализующего методику верифика ции, созданную в ходе выполнения работы, представлен на рисунке 6.

Рисунок 6 – Алгоритм программного комплекса Предложенная методика верификации программного обеспечения на наличие деструктивных свойств для сред облачных вычислений реализована в Центре вирус ных исследований и аналитики «Eset». Реализованный программный комплекс исполь зуется для получения формального вывода о наличии или отсутствии деструктивных свойств ПО в анализируемых образцах ПО.

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

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

Результаты диссертационной работы использованы на кафедре «Криптология и дискретная математика» НИЯУ МИФИ в учебном курсе «Языки программирования 2». В результате внедрения созданы две лабораторные работы, позволяющие слушате лям получить знания о требованиях к ПО, создаваемому для выполнения в средах ОВ и о существующих методиках верификации ПО.

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

ОСНОВНЫЕ ВЫВОДЫ И РЕЗУЛЬТАТЫ РАБОТЫ 1. Синтезирована математическая модель представления программного обеспе чения, позволяющая получать формальный вывод о наличии или отсутствии деструк тивных свойств ПО, а также позволяющая анализировать процесс выполнения ПО и его инструкции, представленная в терминах теории графов и теории множеств.

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

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

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

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

6. Предложенная методика верификации программного обеспечения на наличие деструктивных свойств для сред облачных вычислений реализована в Центре вирус ных исследований и аналитики «Eset» для осуществления формального вывода при анализе ПО о наличии в нём деструктивных свойств ПО.

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

8. Практические и теоретические результаты реализованы в компании ООО «ТСС». Так, модель описания верифицируемого программного обеспечения и модель описания деструктивного свойства ПО получили применение при создании моделей информационных систем, что позволило автоматизировать и формализовать процесс оценки рисков систем информационной безопасности 9. Теоретические и прикладные результаты, полученные в ходе выполнения диссертационной работы, использованы в учебном курсе «Языки программирования» кафедры «Криптология и дискретная математика» НИЯУ МИФИ при создании лабо раторных работ по курсу «Языки программирования 2» на базе алгоритмов и методов, использованных в методике верификации программного обеспечения на наличие дест руктивных свойств для сред облачных вычислений. Разработанные лабораторные ра боты позволяют слушателям курса получить знания об особенностях программного обеспечения, создаваемого для выполнения в средах ОВ, и о существующих методи ках верификации ПО.

ПУБЛИКАЦИИ ПО ТЕМЕ ДИССЕРТАЦИИ 1. Туманов Ю.М. Обнаружение вредоносных сценариев JavaScript на осно ве поведенческих сигнатур. //Безопасность информационных технологий 2009. №4. С.63- 2. Филоненко А. В., Исаев И. К., Сидоров Д. В., Туманов Ю. М.. Поиск уяз вимостей по бинарному коду с помощью проверки выполнимости огра ничений. //Безопасность информационных технологий 2010. №2. С.83- 3. Гаврилюк С. В., Туманов Ю. М. Разработка метода защиты вычисли тельных Грид-сетей от намеренного искажения результата вычислений //Безопасность информационных технологий 2010. №1. С.53- 4. Варфоломеев А. А., Коренева А. М., Краснопевцев А. А., Туманов Ю. М., Фомичев В. М. «О реализации метода полного опробования ключей криптосистем в условиях различных математических распределенных вычислений» //Безопасность информационных технологий 2011. №1.

С.82- 5. Станкевичус А. А., Туманов Ю. М. –Разработка системы обнаружения вредоносных сценариев JavaScript на основе поведенческих сигнатур //Бизнес и Безопасность в России 2009 июнь С.130- 6. Гаврилюк С. В., Туманов Ю. М. Использование поведенческого анализа с применением поведенческих сигнатур для выявления вредоносного кода на примере JavaScript сценариев //Безопасность информационных технологий 2010. №1. С.115- 7. Моисеев А.В. Станкевичус А. А., Туманов Ю.М. «Защита среды распре делённых вычислений при помощи искусственных иммунных систем» //Безопасность информационных технологий 2011. №4. С.103- 8. Туманов Ю. М. Выявление интерпретируемого вредоносного кода на основе поведенческих сигнатур. – Научная сессия НИЯУ МИФИ-2011. Аннотации докладов в 3 томах. Т. 3. М.:НИЯУ МИФИ, 2010. – с. 165.

9. Yury Tumanov «Behavioral detection of malicious interpreted code» [Электронный ресурс]: Microsoft Research Summer School 2011. Режим дос тупа к ресурсу: http://blogs.msdn.com/b/msr_er/archive/2011/07/12/top-students descend-on-microsoft-research-cambridge.aspx 10. Туманов Ю.М. «Использование поведенческого анализа для выявления вре доносного кода, на примере JavaScript сценариев» – сборник аннотаций ра бот «7-я курчатовская молодежная школа» 2009г. С. 11. Туманов Ю.М., «Разработка программы обнаружения вредоносных сценари ев JavaScript на основе поведенческих сигнатур» [Электронный ресурс] «Ру сКрипто’2009». Режим доступа к ресурсу:

http://www.ruscrypto.org/sources/conference/rc2009/

 




 
2013 www.netess.ru - «Бесплатная библиотека авторефератов кандидатских и докторских диссертаций»

Материалы этого сайта размещены для ознакомления, все права принадлежат их авторам.
Если Вы не согласны с тем, что Ваш материал размещён на этом сайте, пожалуйста, напишите нам, мы в течении 1-2 рабочих дней удалим его.