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

кандидата технических наук
Румянцев, Павел Васильевич
город
Москва
год
2011
специальность ВАК РФ
05.13.19
Автореферат по информатике, вычислительной технике и управлению на тему «Разработка методов распознавания программных средств скрытого информационного воздействия на основе системного анализа»

Автореферат диссертации по теме "Разработка методов распознавания программных средств скрытого информационного воздействия на основе системного анализа"

РУМЯНЦЕВ Павел Васильевич

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

Специальность 05.13.19 - методы и системы защиты информации, информационная безопасность

-1 ДЕК 2011

Автореферат

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

Москва 2011

005004209

Диссертационная работа выполнена в отделе разработки и внедрения средств защиты информации в корпоративных информационных системах и технологиях ФГУП «Всероссийский научно-исследовательский институт проблем вычислительной техники и информатизации»

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

доктор технических наук Конявский Валерий Аркадьевич

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

доктор военных наук, профессор Клевцов Валерий Васильевич кандидат технических наук Зырянов Александр Владимирович

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

Национальный исследовательский ядерный университет «МИФИ»

Защита диссертации состоится «21» декабря 2011 года в «10.00» час. на заседании диссертационного совета Д 219.007.02 во ВНИИПВТИ по адресу: , 115114, Москва, 2-й Кожевнический пер., д.8, конференц-зал (ауд. 213).

С диссертацией можно ознакомиться в библиотеке ВНИИПВТИ по адресу: 115114, Москва, 2-й Кожевнический пер., д. 8.

Автореферат разослан ноября 2011 г.

Ученый секретарь диссертационного совета,

кандидат экономических наук (с 7/ П.П. Гвритишвили

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

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

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

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

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

Все публикации по этой проблеме могут быть разделены на две большие группы:

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

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

На появление этих направлений оказал влияние факт доказательства в начале 50-х годов 20-го века американским учёным Райсом (Н.О.Шсе) и советским ученым В. А. Успенским теоремы (названной впоследствии теоремой Райса-Успенского) о том, что в общем случае распознавание любого нетривиального свойства алгоритма является неразрешимой проблемой.

Автор термина «компьютерный вирус» Фред Коэн (Fred Kohen) в работе «Компьютерные вирусы - теория и эксперименты»1 показал, что невозможно создать алгоритм, распознающий все возможные вирусы. Этот вывод подтвердили Дэвид Чесс и Стив Уайт (David M. Chess, Steve R. White) сотрудники Исследовательского центра фирмы IBM2. Решению этой проблемы

«Г Par°™ УИЛЬЯМЭ ЛЗНДИ (William Landi>' Боаза Барака (Boaz Barak), Одеда Голдрейха (Oded Goldreich), Рассела Импальяццо (Russell Im-

paghazzo), Стивена Рудича (Steven Rudich), АмитаСахая (Amit Sahai), Салила Вадана (Salil Vadhan), Ке Янга (Ке Yang).,

Методам, применимым для анализа программного обеспечения на предмет наличия в них ПССИВ, посвящены работы российских ученых В П Иванникова, А. И. Аветисяна, С. С. Гайсаряна, В. В. Кулямина, П. Д. Зевд А. м. Ивашко. Большой вклад в методологию анализа программ внесли M ьендре, Дж. Бержерон, П. Боллинени, М. Кристодореску, Д. Дин, М. Дебба-би, Дж. Дешарне, Д. Дхурджата, М.-М. Эрхью, С. Генк, С. Ханов, С. Джа, И

SS?. £££Сагав'р-Секар'м-Сиадукью'н-Тауби'д- Ва™р'м-

Разработкой инструментов для анализа исполняемых кодов занимались Г. Балакришнан, А. Ланци, Дж. Лим, Л. Мартаньони, М. Монья, Р. Палеари Т. Репс, Т. Теительбаум, Дж.-Э. Тевис, Дж. Уайтаед, Т. Циммерман.

Разработке методов визуализации исполняемых файлов с целью выявления их скрытых свойств посвящены работы Л. Фенга, М.-Дж. Харольд, Дж. Джонса, Дж. Малетича, А. Маркуса, М. Петре, Э. Куинси, Дж. Стаско.

_ Инструментальные средства для визуального выявления скрытых свойств исполняемых файлов разрабатывали А. Корхонен, Дж. Никандер, П Силвасти, К. Сталначке, А. Хирскикари.

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

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

Объектом исследования в данной работе являются как системное программное обеспечение, так и прикладное программное обеспечение

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

1ittp://all.net/books/virus/index.html jhttp://www.research.ibm.com/antivirus/SciPapere/VB2000DC.pdf http://www.iacr.org/conferences/c2001/

4

Для достижения указанной цели поставлены и решены следующие задачи:

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

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

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

4. Разработка методики выявления признаков ПССИВ в системном и прикладном программном обеспечении;

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

6. Выработка критериев сходства файлов, содержащих в себе ПССИВ, со сформированным полем информативных признаков.

Теоретическая и методическая база исследования.

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

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

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

Диссертационная работа по своему содержанию соответствует пунктам 3 и 7 Паспорта специальности 05.13.19 Методы и системы защиты информации, информационная безопасность.

Эмпирическую базу исследования составило программное обеспечение производства фирмы «Мкговой».

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

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

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

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

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

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

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

- предложена древовидная модель исполняемого файла, объединяющая в себе структурную и контентную модели, которая позволяет осуществить структурный анализ исполняемого файла на предмет выявления в нём ПССИВ;

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

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

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

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

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

Апробация и внедрение результатов.

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

Материалы диссертационного исследования использовались в НИР, проводимых ФГУП «НТЦ «Атлас» по исследованию семейства ОС Windows, проводимых предприятием по заказу уполномоченных государственных органов. Применение методики позволило повысить эффективность исследований.

О полученных результатах было доложено на XVII и XVIII Международных научно-практических конференциях "Информатизация и информационная безопасность правоохранительных органов", а также на научном семинарах кафедры информационных технологий управления Академии управления МВД России и научном семинаре в/ч 43753-Ц.

Предлагаемые подходы и программные инструменты успешно применялись в ходе работ по сертификации операционной системы Windows ХР по защите от НСД в соответствии с требованиями ФСБ, а также при исследовании программного продукта Silverlight на предмет безопасности его использования в информационном пространстве [12] Кроме того, программные продукты, разработанные с применением предлагаемых в данном исследовании моделей программного обеспечения, используются в государственных структурах, имеющих федеральные полномочия в указанной сфере.

По результатам научных исследований подготовлены и выпущены монографии «Исследование программ Win32: до дизассемблера и отладчика», «MFC: внутренний мир» и др., а также многочисленные статьи.

Основные результаты диссертации реализованы в Управлении информационно-телекоммуникационного обеспечения Спецсвязи ФСО России; в в/ч 43753-Ц и во ФГУП «НТЦ «Атлас». Соответствующие акты о внедрении прилагаются.

Публикации. Основные положения диссертационного исследования нашли отражение в 12 публикациях общим авторским объемом 71,6 п.л., (в том числе 4 монографии общим авторским объемом 66,4 пл.), 3 из них (одна в соавторстве, соавторство не разделено) общим объемом 1,55 п.л. размещены в журналах, рекомендованным ВАК.

Структура работы. Диссертация состоит из введения, трех глав и заключения. Она содержит 140 страниц основного текста, 57 рисунков и 19 таблиц. Список литературы включает 108 наименований.

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

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

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

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

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

Проведенное научное исследование определило, что задача выявления ПССИВ сводится к реализации следующих обязательных этапов:

- создание формализованного описания признаков наличия ПССИВ в исполняемом файле;

- установка граничного значения коэффициента сходства;

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

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

Кроме того, для выявления ПССИВ могут быть реализованы и необязательные этапы:

- исследование файлов, привлекших внимание исследователя благодаря наличию в них каких-либо аномалий, при необходимости - формализация вновь выявленных признаков наличия ПССИВ в файле и добавление их в формализованное описание (список) признаков наличия ПССИВ в исполняемом файле;

- повторное распознавание ПССИВ с применением обновленного описания признаков наличия ПССИВ в файле.

Предлагается следующее формальное описание задачи распознавания образов ПССИВ в исполняемом файле.

Пусть существует множество исполняемых файлов

Фк={фи},К={1,2.....Р},кбК

где фк - к-ый по порядку файл.

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

Хп={х^,1={1,2,...,п>,1е1

где:

X* - ¡-ая характеристика исполняемого файла.

Пусть существует вектор образов (признаков) нахождения ПССИВ в исполняемом файле

П„={п;},1 = {1,2,...,п}Лб1, где:

п, — ¡-ый признак нахождения ПССИВ в исполняемом файле. Кроме того, пусть существует вектор В„ весовых коэффициентов признаков, параллельный вектору признаков Ц, В0={в1},1= {1,2.....п},1 6 I,

где Bi - весовой коэффициент ¡-ого признака нахождения ПССИВ в исполняемом файле.

В этом случае информативным признаком ИПц (признаком нахождения ПССИВ в исполняемом файле ф*) является значение функции ИПк, = Р(хк,бП) * в, где:

хи - 1-ая характеристика файла фк.

Таким образом, для каждого исследуемого файла создаётся вектор оценок файла, при этом О* = {о,}, об В .

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

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

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

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

- при проведении анализа файлов значимость (весовой коэффициент) каждого из признаков может изменяться.

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

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

- внутри исполняемого файла могут находиться несколько образов ПССИВ X -> {хь х2,..., х^,

- каждый образ может описываться вектором признаков П->{п1, п2,...,

очевидно, что распознавание образов ПССИВ в отдельном файле и программном обеспечении в целом является сложной задачей.

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

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

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

- о присутствии ПССИВ в анализируемом программном обеспечении;

- о степени «опасности» или «уязвимости» обнаруженных ПССИВ;

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

В главе 2, «Разработка методов и моделей распознавания образов программных средств скрытого информационного воздействия» показано, что исполняемый файл состоит из нескольких частей:

- заголовки (MZ- и РЕ-заголовки);

- таблица заголовков секций;

- секции и директории, при этом директории могут находиться внутри секций.

Каждый исполняемый файл представля-етсякак множество множеств. Множество MZ представлено как множество полей MZ-заголовка:

MZ = {e_magic, e_cblp, ...,e_lfanew}; Множество РЕ представлено как множество полей РЕ-заголовка:

РЕ = {Signature, FileHeader, OptionalFileHeader};

РЕ = {Signature, FileHeader, OptionalFileHeader};

В свою очередь поля FileHeader и OptionalFileHeader тоже состоят их множества полей, то есть можно определить множества FH и OFH следующим образом:

FH = {Machine, NumberOfSections, ... ,SizeOfOptionalHeader, Characteristics} ;

OFH = {Magic.....DataDirectory}

Обозначив значение поля NumberOfSec-tion как nos, автор представляет таблицу сек-

(^WrectotyT^)

»eccions

Keclloii 1

^rarcctorjî^)

^Игеегогуш^)

Рис. 1. Структур« исполняемого файла

ций как множество заголовков секций: . я

БТ= {ВН,, ...ЛБН«,}

Оставшаяся часть файла представлена как множество, состоящее из множества секций и множества директорий: Б — {Б), Бг, • ••>8По$}»

0=р„02.....От};

1М = { Бь ..., Бпо,, dI.....4, 4+ь..., <1т};

При этом каждая из секций, в свою очередь, может также включать в себя множество директорий: 8 = {<!„

где к - число директорий, находящихся вне секций, ш-число директорий, имеющихся в файле,

< т — порядковый номер первой директории находящейся в

секции,

1 < 3 < т - порядковый номер последней директории находящейся в секции

Исходя из сказанного выше, исполняемый файл в целом представляется как множество Р = {Мг, РЕ, БТ, 1М) или же, что более точно, как Р = {Ш, РЕ, БТ, Б, О}

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

Описанная выше структура исполняемого файла может быть представлена в виде схемы (см. Рис. 1).

Каждое поле или структуру, находящуюся в файле, автор представляет как пару А = {оА7,1еп}, где:

ой'-смещение поля относительно начала файла, 1еп - длина поля.

Ниже приведены характерные особенности исполняемого файла:

- последовательные элементы в файле не «пересекаются», то есть для любого элемента е„ справедливо соотношение ой^ + 1еПе„<= о£?ет+,;

- все элементы файла находятся в пределах файла, то есть для любого элемента е„справедливо соотношение ойёп^епрас

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

Признаки наличия ПССИВ в исполняемых файлах разделяются на категории:

- признаки, находящиеся в метаданных:

- признаки, находящиеся в данных:

- признаки, содержащиеся в собственном (не импортируемом и не экспортируемом) программном коде;

- «аномалии».

Все ПССИВ разделены на маскировочные и непосредственные. Маскировочные ПССИВ (например, упаковщики) опасности не представляют, но могут скрывать реальные ПССИВ.

Во время маскировки маскируемый модуль преобразовывается с целью затруднения его исследования либо с целью сокрытия данных от исследования. Т. о. при маскировке исполняемого файла изменяется как множество F, так и значения элементов е, составляющих множество F, то есть F' = C(F);

где F' -замаскированный исполняемый файл,

С - функция (coder), осуществляющая маскировку файла.

Другими словами,

F* = C(MZ, РЕ, ST, S, D},

и, соответственно,

F' = {MZ', РЕ', ST', S', D'}

При демаскировке файла производятся обратные преобразования: F = C'(F');

где С' -функция, обратная С (decoder), возвращающая в памяти (не на диске) замаскированный файл в состояние, соответствующее незамаскированному файлу. Более точно

F = C'(MZ\PE\ST\ S\D)

В графическом виде преобразования файла могут быть представлены следующим образом (см. Рис.2):

Masking С' creation С' insertion File Changing

Рис2. Зддячи маскировщика

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

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

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

- для апперцептивного выявления ПССИВ, то есть для выявления уже известных признаков нахождения ПССИВ в файле;

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

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

- структурная модель исполняемого файла;

- контентная модель исполняемого файла;

- модель описания признаков нахождения ПССИВ в исполняемом файле;

- формуляр исполняемого файла, получаемый после проведения анализа файла;

- визуальные модели исполняемого файла.

Предлагаемые модели построены на основе вербальной модели исполняемого файла «MicrosoftPortableExecutableandCommonObjectFileFormatSpe-cification»», выпущенной фирмой Microsoft.

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

Предлагается следующее формальное описание процесса построения структурной модели.

Пусть существует множество Пп = {ni}, 1= {0, 1, 2, ..., n}, i G I примитивных типов данных, таких как int, char, string, то есть типов, не содержащих в себе данные других типов.

Пусть существует множество 0„ = {о,}, 1= {1,2.....n), i 6 I составных

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

о1={э1},Т={1,...,х},теТ

Пусть существует множество Pn = {pi}, 1= {1, 2, ..., n}, i 6 1, каждый элемент которого является ссылкой на другой тип. В этом случае

р,->П; I Ov,J = {1,2, ...,n},jej,K= {1,2,..., n},ke K,api' = nj|Ok.

Пусть существует множество Tn = n„U OnU Рп= {ъ}, I = {1, 2, ..., n}, i 6 I

где т, - некий тип данных, простой, составной или ссылочный.

В этом случае р¡' = тш,М = {1,2,..., n}, me М

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

Вводится новый тип тс, каждым элементов которого является кортеж (ть ск), где iv-k-ый тип данных, ас* - смещение данных типа tv в исследуемом исполняемом файле. Задачей построения структурной модели файла является построение упорядоченного множества

ТС = {T¡,Cj}, 1= {1,2.....n}, i € 1, j - {1,2.....m},j 6 J

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

Пусть на множестве ТС определена операция t¡ = TC(j), возвращающая тип j-oro элемента множества.

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

- присвоить индексам i и j значения, равные 0, то есть i = 0; j = 0

- создать элемент T¡Cj множества ТС, соответствующий элементу файла, при этом i = 0 и j = 0 элемент всегда будет соответствовать MZ-заголовку файла. Другими словами, необходимо создать элемент, в котором тип данных т соответствует IMAGE_DOS_HEADER, а смещение равно нулю:

Toco = (IMAGEJDOS_HEADER, 0)

и добавить его во множество ТС. Нулевое значение смещения в данном случае означает, что тип IMAGEDOSHEADER всегда находится в начале исполняемого файла.

- сделать элемент t,Cj текущим элементом;

- если Т;сП или t¡ является директорией, завершить работу с элементом;

- если TjtíP, то определить тт - t¡', на который ссылается t¡, а также смещение Cj+j тт., присвоить i = m, j = j+1, перейти к шагу 2;

- если т,сО, то есть t¡ = ok, то сохранить j, для Уэ,с: о^ рекурсивно выполнить шаги 3,4,5, восстановить j;

- если число элементов множества ТС не равно j, то присвоить j = j+1, определить t¡ = TC(j)n перейти к шагу 3;

- упорядочить множество ТС сначала по возрастанию смещений, затем по типам элементов в соответствии с определением каждого типа в файле WinNt.h.

На этом построение структурной модели файла завершается.

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

Каждая вершина дерева представляет собой кортеж типа (T„Cj), что позволяет:

- определить, какой тип данных по t¡ какому смещению Cj находится в анализируемом исполняемом файле;

- перебрать все имеющиеся в файле элементы данных по принципу «слева направо сверху вниз»;

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

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

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

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

Построение контентной модели завершается преобразованием списка структур в древовидную структуру в соответствии с «иерархией» включённых в список объектов.

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

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

Уь =

VI

хт.1

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

1711 и21 ... шп1 У12 1>22 ... 1лп2

.VI п г?2л

утп.

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

ПССИВ представляют собой предикаты, проверяющие значение характеристик файла. Таким образом, набор признаков ПССИВ представляется как вектор

ГЛОО!

F =

/2(1;) Ifn'ivJ

Весовые коэффициенты каждого из признаков также представляются в

виде вектора

РЦ

р =

р2

рп

Вектор Р автор называет вероятностной моделью признаков ПССИВ.

Для определения наличия в исследуемом программном обеспечении того или иного признака, создается матрица Впо размером шхп, в которой элемент v'^ вычисляется как значение функции f„(vmn): ■/1(1*11) /l(w21) ... /l(ml) _ /2(vl2) /2(t»22) ... /2(m2)

■t»BO ~

./n(vln) /n(v2n) ... fn(vmn).

Элемент v'na, матрицы Bno представляет собой 1 или 0 в зависимости от того, присутствует ли в m-ом файле n-ый признак ПССИВ.

Для определения весомости каждого из признаков производится скалярное умножение каждого столбца матрицы Вт, на вектор Р. Результатом выполнение этой операции является матрица Рпо: pli р21 ... pml]

Рпо

р12 р22

рт2

pin р2п ... pmnj В матрице Рпо элемент рощ представляет собой весовой коэффициент п-ого признака ПССИВ в m-ом файле.

Для определения кумулятивного коэффициента признаков ПССИВ в файле создается матрица кумулятивных коэффициентов КК, состоящая из одной строки и m столбцов, каждый элемент которой представляет собой результат выполнения решающей функции Gc с аргументами, находящимися в каждом столбце матрицы Р„0:

кк

[G(pll,pl2,...,pln) G(p21,p22,...,p2n) ... G(pln,p2n.....pmn)]

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

КРк

[S(pll,pl2, ...,pln) S(p21,р22,...,р2п) ... S(pln,p2n, ...,ртп)]

Общее число матриц к соответствует числу вычисляемых коэффициентов сходства.

Таким образом, после выполнения всех преобразований получаются матрицы Впо, КК и КР.

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

- присутствует ли в m-ом файле n-ый признак ПССИВ;

- какие признаки ПССИВ присутствуют в файле;

- сколько признаков ПССИВ содержится в m-ом файле.

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

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

Таким образом, при использовании предлагаемой модели исследователь получает:

- объективные количественные характеристики файла;

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

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

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

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

- информация об аномалиях, выявленных в файле (аналог матрицы Впо в предложенной математической модели выявления ПССИВ);

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

Формуляры всех файлов хранятся в единой базе данных БрЬ-сервера. Это позволяет производить следующие виды анализа:

- анализ одной составляющей одного файла;

- анализ нескольких составляющих одного файла;

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

- анализ нескольких функционально подобных составляющих файлов, включённых в базу данных.

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

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

В ходе исследования использовались следующие визуальные модели исполняемых файлов:

- представление программного обеспечения в виде ТгееМар'а;

- представление исполняемого файла в виде ТгееМар'а;

- представление исполняемого файла в виде битовой карты;

- представление исполняемого файла в виде «спирали»;

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

Учитывая сказанное выше, определена последовательность действий исследователя при анализе программного обеспечения, то есть методика анализа программного обеспечения:

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

- определение списка анализируемых файлов (аналог матрицы Vn0 предлагаемой математической модели выявления ПССИВ);

- формирование структурных моделей исследуемых файлов;

- формирование контентных моделей исследуемых файлов;

- автоматический анализ программного обеспечения в соответствии с математической моделью на предмет соответствия известным признакам наличия ПССИВ, результат которого явится аналогом матриц ВП0 и КК предлагаемой математической модели;

- на основе полученных результатов (аналогов матриц Впо и КК) выбрать файлы, подлежащие дальнейшему исследованию, то есть:

- файлы с наибольшим кумулятивным коэффициентом;

- файлы с наибольшим числом аномалий;

- файлы с наиболее привлекающими внимание аномалиями;

- исследование выбранных файлов при помощи средств анализа исполняемого файла (например, Researcher .NET), средств визуализации и т. д., выявление имеющихся в файлах аномалий;

- выявление причин возникновения аномалий, т. е. определение, являются ли обнаруженные аномалии признаками ПССИВ;

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

- при необходимости уточнение вероятностной модели (аналог матрицы Р);

- повторный анализ программного обеспечения с новыми базой знаний и вероятностной моделью.

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

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

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

рЦ

р =

р2

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

Наблюдаемой величиной является оценка КК исполняемого файла с точки зрения нахождения в нём средств ПССИВ.

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

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

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

Р(А) = 2?=0Р(Ш)Р1

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

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

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

Для демонстрации работы комплекса в анализируемую операционную систему были привнесены четыре файла, имеющие в себе признаки ПССИВ (PE153.exe, bass.dll, write.exe и PEC2.exe).

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

В качестве решающей функции использовалась теорема умножения вероятности. В данном случае если в файле присутствует признак с весовым коэффициентом р(, а также признак с весовым коэффициентом р2, то кумулятивный коэффициент файла высчитывался по формуле

КК= 1000 * ( 1 -(1 * (1 ) 4 1000 4 1000'

20

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

(см.Рис.З):_____________________ _____

1200 --

ЮОО 4--

800

600

400

200

о

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

Оценку свыше 800 получили 16 файлов, среди которых первые три и пятое места занимают файлы, привнесённые с систему сознательно для проведения эксперимента.

При оценке функции сходства анализируемых файлов с набором информативных признаков распознавания по критериям Жокар и Нидмена, Дайса, Сокаль и Снифа, Кульжинского, Юла, Сокаль и Мишнера получены адекватные результаты критериальной оценки, предложенной в исследовании.

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

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

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

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

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

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

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

Выводы диссертационной работы формулируются следующим образом:

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

2. Разработаны визуальные модели исполняемых файлов для проведения экспресс-анализа.

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

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

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

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

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

Монографии

1. Румянцев П. В. Азбука программирования в Win 32 API. 4-е изд., -Москва, «Горячая линия - Телеком», 2004, ISBN 5-93517-048-5, 17,3 п. л.

2. Румянцев П. Й.Работа с файлами в Win32 API. 2-е изд., - Москва, «Горячая линия-Телеком», 2002, ISBN 5-93517-097-3,12 п. л.

3. Румянцев П. В. Исследование программ Win32: до дизассемблера и отладчика. Москва, «Горячая линия - Телеком», 2004, ISBN 5-93517-178-3, 20,4 п. л.

4. Румянцев П.В. MFC - внутренний мир. Горячая линия - Телеком, 2003, ISBN 5-93517-113-9, 16,7 п. л.

Научные статьи, опубликованные в журналах, : рекомендованных перечнем ВАК:

5.Румянцев П. В. - Исследование механизма рандомизации распределения адресного пространств операционной системе Windows Vista - "Информационные системы и технологии" (Известия ОрелГТУ) № 4/54(567), июль-август 2009 г. - 0,45 п.л.

6.Макаров В. Ф., Румянцев П. В. - Основные методы исследования программных средств скрытого информационного воздействия - «БИТ», № 4, 2009 г.-0,6 п. л.

7. Румянцев П. В. - Анализ методов работы полиморфных упаковщиков и криптеров, а также применяемых ими методов противодействия дизассемблерам и отладчикам - «Информатизация и связь», № 7,2011 г. - 0,5 п. л.

Публикации в других изданиях

8. Москвин П. (псевдоним П. Румянцева). Демонтаж .NET. Chip - Russian Edition, № 10,2003 г. - 0,5 п.л.

9. Москвин П. (псевдоним П. Румянцева). Общая структура РЕ-файла. Программист, № 10-12,2002 г. - 2 п.л.

10. Румянцев П. Физическая организация метаданных в исполняемых файлах .NET. RSDN Magazine, № 2,2003 г. - 0,5 п.л.

11. Румянцев П. В. Управляемые (managed) ресурсы в исполняемых файлах .NET. RSDN Magazine, № 3,2003 г. - 0,7 п.л

Отчеты по научно-исследовательским работам

12. Румянцев П. В. О возможности использования программного продукта Silverlight в компьютерных системах информационного общества с точки зрения его безопасности. Внутренний отчет, ДСП, ВНИИПВТИ, 2011, 0,5 п.л.