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

кандидата технических наук
Эдель, Дмитрий Александрович
город
Ростов-на-Дону
год
2013
специальность ВАК РФ
05.13.19
цена
450 рублей
Диссертация по информатике, вычислительной технике и управлению на тему «Способ повышения эффективности средств выявления зараженных файлов на основе использования скрытых марковских моделей»

Автореферат диссертации по теме "Способ повышения эффективности средств выявления зараженных файлов на основе использования скрытых марковских моделей"

аттраї

На!гранах рукописи

Эдель Дмитрий Александрович

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

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

АВТОРЕФЕРАТ

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

1 п МАГ! 2013

005059'эо

Ростов-на-Дону - 2013

005059756

Работа выполнена в Федеральном государственном автономном научном учреждении "Научно-исследовательский институт "Специализированные вычислительные устройства защиты и автоматика" (ФГАНУ "НИИ "Спецвузавтоматика"), г. Ростов-на-Дону.

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

кандидат технических наук, доцент Хади Роман Ахмедович.

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

доктор технических наук, профессор Кравченко Павел Павлович, г. Таганрог,

доктор технических наук, профессор Ромм Яков Евсеевич, г. Таганрог.

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

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

Защита диссертации состоится "31" мая 2013 г. в 14:20 на заседании диссертационного совета Д 212.208.25 Южного федерального университета по адресу: 347928, Ростовская область, г. Таганрог, ул. Чехова, 2, ауд. И-409.

Отзывы на автореферат в двух экземплярах, заверенные гербовой печатью, просим направлять по адресу: 347928, Ростовская область, г. Таганрог, пер. Некрасовский, 44, Технологический институт Южного федерального университета в г.Таганроге, Ученому секретарю диссертационного совета Д 212.208.25 Брюхомицкому Юрию Анатольевичу.

С диссертацией можно ознакомиться в Зональной научной библиотеке ЮФУ по адресу: 344007, Ростовская обл., г. Ростов-на-Дону, ул. Пушкинская, 148.

Автореферат разослан "25" апреля 2013 г.

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

Ю.А. Брюхомицкий

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

Актуальность

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

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

На текущий момент существует значительное количество различных организаций, занимающихся разработкой средств защиты от НСД и обнаружения вредоносных программ. В частности, среди российских компаний наиболее известными являются ЗАО "Лаборатория Касперского" и ООО "Доктор Веб".

Интерес к проблемам обеспечения ИБ высок и к их решению привлечены значительные ресурсы. Несмотря на это, по информации центра безопасности компании Microsoft, в 2012 году было проведено 1 595 587 670 атак через сеть Интернет с использованием 6 537 320 уникальных хостов, что почти на 40% больше, чем в 2011 году, а согласно данным "Лаборатории Касперского", за 2012 год было зарегистрировано 7 500 694 попытки проникновения в информационные системы посредством вредоносных вложений. Причем существенная доля зарегистрированных атак была проведена успешно и обнаружена не в процессе их предотвращения, а по факту наступивших последствий.

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

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

Цель работы. Повышение эффективности защиты информационных систем от вредоносных программ и компьютерных закладок.

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

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

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

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

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

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

6. Проведение экспериментального исследования.

Границы исследования

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

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

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

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

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

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

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

Практическая значимость и внедрение результатов работы

Следующие разработки, полученные в ходе диссертационного исследования, были на практике использованы в Федеральном государственном бюджетном учреждении науки «Институт космических исследований Российской академии наук»:

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

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

Использование этих разработок подтверждено соответствующим актом о внедрении.

Кроме того, следующие разработки, также полученные в ходе диссертационного исследования, были на практике использованы в ЗАО «Универсальные бизнес-технологии» в областях, смежных с областью, к которой относится диссертационное исследование:

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

- алгоритм определения скрытых состояний дизассемблированных последовательностей команд (его использование позволило увеличить производительность процесса восстановления удаленных файлов на внешних USB Flash-накопителях путем вспомогательной маркировки класса блоков (код и данные);

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

Использование этих разработок также подтверждено актом о внедрении.

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

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

1. XI Международной научно-практической конференции «Информационная безопасность-2010». г.Таганрог (2010 г.).

2. Седьмая Всероссийская научно-практическая конференция "Перспективные системы и задачи управления". п.Домбай (2012г).

Публикации

По теме диссертации опубликовано 8 научных статей (из них 3 в изданиях, рекомендованных ВАК) и тезисов докладов. Имеется свидетельство об официальной регистрации программ для ЭВМ (№2011618094).

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

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

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

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

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

В рамках данной диссертационной работы особое внимание уделено угрозам, реализуемых с использованием уязвимости прикладного программного обеспечения и угрозам прикладным программам. К таким программам относятся такие программные продукты офисных пакетов обработки документов, как Microsoft Office Word, Microsoft Office Excel, Microsoft Office PowerPoint, Adobe Acrobat Reader и т.п. To есть программы, предназначенные для работы с файлами в форматах, не содержащих нативный исполнимый код.

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

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

В качестве средств предотвращения заражения проанализированы наиболее известные программные средства защиты от вредоносного ПО: систему обнаружения атак Snort и Kaspersky Internet Security. Используемые в средствах предотвращения заражения методы обнаружения вредоносных вложений можно разделить на две группы: методы статического и динамического анализа. Первая группа методов основана на анализе, который не требует запуска исследуемого объекта. Вторая

группа - на контроле программы в ходе ее работы. Более полная классификация методов обнаружения вредоносных вложений представлены на рисунке 1.

Рисунок 1 - Методы обнаружения вредоносных вложений.

Согласно данным расследования инцидентов реализации угроз ИБ, произошедших в 2007-2012 годах, проведенного "Лабораторией Касперского", основным способом проникновения в ИС пользователя являются эксплуатирование ошибок в ПО (Kaspersky Security Bulletin 2012. Развитие угроз в 2012 году), установленном в компьютере пользователя. Средством проникновения в ИС использующим такой метод внедрения, являются вредоносные вложения в файлы неисполнимых форматов - так называемые эксплойты. Именно угрозы реализации такого внедрения рассматриваются в данной диссертационной работе.

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

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

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

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

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

1. Уязвимости "переполнения буфера":

1.1. Переполнение в стеке.

1.2. Переполнение в куче.

2. Уязвимости "форматной строки".

3. Целочисленные уязвимости.

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

©

Выпуск продукта

©

Внутреннее выявление уязвимости

©

Опубликование уязвимости

Окно возможности

ГО 1 Г© 1 Г© 1

Написание —► Начало — Завершение

демонстри- разработки разработки

рующего кода J ^ обновления J обновления

©

Установка обновления

/

Рисунок 2 - Жизненный цикл уязвимости

Важным является то, что в период времени между этапами 2 и 7 жизненного цикла уязвимости, злоумышленник может успешно разработать эксплойт, использующий для своего запуска найденную уязвимость, что создает угрозы НСД к ИС. Этот период времени называют "окном возможности". Характерная продолжительность "окна возможностей" различна для разных компаний, производящих ПО и, в зависимости от организации процесса поддержки ПО компанией, может быть как малой, так и значительной. Так, например, уязвимости ПО компании Microsoft остаются незакрытыми от недели до полугода. Наиболее подвержены эксплойтам пользователи, изолированные от сети Интернет, а следовательно - от источника обновлений.

Основываясь на информации ряда источников (см., например, Грушо A.A., Применко Э.А., Тимонина Е.Е. Теоретические основы компьютерной безопасности // Academia, 2009., Ленков C.B., Перегудов Д.А., Хорошко В.А. Методы и средства защиты информации, Том 1. - М.: Арий, 2008г.), а также на том факте, что защита от возникновения ошибки переполнения буфера и есть основная защита от эксплойтов, существующие средства защиты от эксплойтов можно разделить на следующие группы:

1. Системные средства

1.1. Антивирусные программы:

1.1.1. проактивная защита;

1.1.2. сигнатурный анализ;

1.1.3. эмуляция.

1.2. Системы обнаружения вторжений:

1.2.1. обнаружение аномалий;

1.2.2. сигнатурный анализ.

1.3. Средства защиты операционных систем:

1.3.1. DEP1;

1.3.2. NX-bit2;

1.3.3. ASLR3.

2. Средства, применяемые при разработке ПО:

2.1. компиляторные технологи;

2.2. статические анализаторы кода.

1 От англ. "Data Execution Prevention" - "Предотвращение выполнения данных"

2 Аппаратный NX-Bit (No eXecute Bit в процессорах AMD), или XD-Bit (Execute Disable Bit в процессорах Intel) Or англ. "Address space layout randomization" - технология, применяемая в операционных системах, при

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

Несмотря на разнообразие существующих средств защиты от эксплойтов, рядовой пользователь обычно применяет только штатные средства защиты операционной системы - как правило для ОС Windows это DEP и "NX-Bit".

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

- эвристический анализ;

- эмуляция;

- поведенческий анализ;

- сигнатурный поиск;

- обнаружение аномалий.

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

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

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

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

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

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

Пусть В* ={BL =Z>„b2,..A |Ь, eN0,b, <25iU</<I,ieN0} — множество упорядоченных последовательностей байт. Для В е В* определим сюрьективное отображение

len:B' -+N:BeB',B = bl,b2,...,bL;len(B) = L, (1) значением которого является количество байт в последовательности В. Множеством всех возможных операторов инструкций назовем

О с В' : ||0|| = N, о е О, minlerip) > 0 ^

Множеством параметров операторов назовем PczB" : ||Р|| = М, где М -

количество возможных параметров.

Пусть К - множество корректных исполнимых инструкций. При этом КсРхО, т.е. К = {(о,р) I р е Р,о е о}. Пусть Е — порог минимальной длины последовательности байт для загрузчика файла эксплойта, определяемый на основе стандарта исполнимых инструкций процессора IA-32. Пусть X е B,len(X) = F -упорядоченная последовательность байт входного файла X, где F - длина файла. Введем некоммутативную операцию сложения для В'по правилу:

Д,В2 еВ*,В, +В2= bu,..,b1L,b2i,...,B21l;!еп(В,) = LJen(B2) = R. (3)

Введем функцию f-K^B по правилу f (('->, р)) = о + р ^ Тогда загрузчик эксплойта принимает вид такой цепочки инструкций Y из исходного файла X, что

з{^.}еЛГ:У = ^/(^),ГсЛ',причем len(Y)> Е. (4)

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

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

Обнаружение исполнимого загрузчика в файле неисполнимого формата эквивалентно решению известной задачи разделения неопределенных участков программ (НУП) на код и данные. На рисунке 4 дано схематичное представление проблематики разделения НУП на код и данные. Подобная задача возникает при дизассемблировании и декомпилировании и решается в соответствующих программных средствах (Dynlnst, OllyDbg, IDA, Hiew и др.).

Имеется, однако, важное отличие задачи обнаружения загрузчика от задачи точного разделения НУП: при ее решении не требуется четкое установление границ кода и данных, достаточно установление наличия исполнимого загрузчика.

Вопросы исследования и разработки методов решения задачи разделения НУП на код и данные рассматривались различными исследователями. Наиболее успешные результаты получили Гетьман А.И., Гайсарян С.С., Аветисян А.И. (Институт системного программирования РАН), а также Натаном Розенблумом и Карен Хант (Nathan Rosenblum, Karen Hunt - University of Wisconsin-Madison).

Методы и классы методов решения задачи разделения НУП (gap completion) можно разделить на сигнатурные, включающие использование шаблонов границ функций, и эвристические, основанные на использовании эвристик стандартных блоков и вероятностных методов (к ним относятся условные случайные поля, Conditional Random Field). С точки зрения задачи обнаружения вредоносных вложений, наибольший интерес представляет предложенным Н. Розенблумом метод с использованием Условных Случайных Полей.

Вредоносные

Программа

вложения

ОЕР

Заголовок

Функция

Функция

Данные

Функция

АО О? 1С 59 FF EJ MEDCäsl ВО СС. .18

06 tO 52 8Є 4С А5~83 2S07CSÖ1 72

С 59 FF tO& 77 97 Ой 2А ОЕ 5 91 AD mß> CS 71 9b 831)6 8 ES 3f S$9 СЕ 99 67 7F 7C

Данные

ZSOl 84 77 8038 52 Et KF Ol 32 8» 1С 2007 CS Ol 72 SO 1С 20 07 CS 81 3E 9 40 1С 04 V DBä8 27 72 81! 1С 2007 CS öl 72 SO 1С 30 07 E4 0£ Ol E2 ДЕ 9 Bf 05 CS 00 72 SO 1С 20 07 CS VI 72 SO 1С 20 07FAEA0071M 9F 6C A3 90 CS Ol 72 SO 1С 20 07 CS Ol 72 SO 1С 90 76 07 FAC2 3110 10 6D2F SF 36 37 37 B7 6; B7 B7 77 37 ВО FO BS 4ß 48 33 4F CO 4t> CD E0 EO 60 72 EF 10 19 40 OE 90 03 E4 00 39 40 OE 90 03 E4 80 6C ЗА DO 17 8£ ?C F& ES CO ED

it Ots Ш і 9F 3S &<> '../ту АО ф 1С SS № €6 т (У, 4х 50 16 mDCtfFCgiiZBED Загрузчик / Функция

DE F0 52 BE 4С AS 83 25 ОУ СИ 01 72 80 1С 20 07 С& 01?2 40 ЙЕ 1CE8 1D 17 76 ЗС Их 7В F t 86 71 OA 43 Ob 77 67 CS 66 A6 FA ?F Et F6 E6 A8 A8 AA 89

Программа

—*■ Граф потока управления

—*• Граф потока данных Рисунок 4 - Проблематика задачи разделения НУП на код и данные

Одной из основных проблем при применении практически любых методов разделения НУП, является так называемый эффект наложения инструкций, описанный Н.Розенблумом и К.Хант. Этот эффект состоит в неоднозначности трактовки последовательности байт как последовательности инструкций, длина некоторых из которых не равна 1 байту (на рисунке 5 приведена его иллюстрация).

Следует отметить что данный эффект наблюдается только в командах CISC архитектуры процессоры (Intel IA-32, также IA-64).

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

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

Теорема 1 (Н. Розенблум). Если дизассемблированная последовательность В начинается на 0<сі<К байт позже последовательности А, то ожидаемое число дизассемблированных инструкций в А, до того, как А и В выровняются, равно у«-і м, .

1 , где N=(N4) - матрица размера инструкций.

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

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

П 1 П 2 П 3

14 асісі еэр, 14

53 риБИ еЬх

83

ЕС ОС эиЬ ЄБР, с БиЬ еэр, с огаї, 8Ь

8В тоу еЬх, 14 тоу еЬх, 14

5С рор еэр

апсі аі, 14

8В 53 04 тоу есіх, 4 тоу еЬх, 4 Т тоу edx, 4 і

Выравнивание всех последовательностей Рисунок 5 - Эффект наложения инструкций

№ГП ВО 38 У ЕЁ Ы Щ «80 1С 2007 С8 01

пюумил ИИІ,

7~ ;/ х ^х

Команды схождения // \

Потерянные команды \ Корректные команды

Схождение цепочек команд

Рисунок 6 - Самовыравнивание дизассемблированной последовательности.

Исследуемый файл ------ Загрузчик ------------

Согласно теореме, дизассемблированные последовательности, смещенные одна относительно другой на 1 байт выровняются в среднем через 2.2 инструкции, а последовательности, смещенные на 3 байта, выровняются через 2.7 инструкций. Результаты практического наблюдения за самовосстанавливающимися последовательностями в реальных бинарных файлах близки к этим данным.

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

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

начальных точек дисассемблирования можно вычислить как где:

Я = (&„,(?, 0,...,&п)г „ О

■ ' - вектор вероятностей схождения за один шаг , - вероятность

перехода из состояния с разницей позиций в г в состояние с разницей у".

Теорема 2. Вероятность схождения двух дизассемблерных

последовательностей не более чем за п шагов (без предположения о стартовой

1 Р = Ю"~' хЛ)хУГ , V = (V V V1Г

позиции) составляет " ^ > , где к »' - вектор вероятностей

начальных разностей позиций последовательностей.

Следствие 1. Квантиль уровня а для количества шагов до схождения двух

Р >а

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

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

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

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

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

п команд схождения

Исследуемый файл -і *— Загрузчик

і

С8 01В9 77 80 3852£Е6Р0132801С2007С8 0172Ч(ПС2007 ОЛ 77 ВО ТГ 7П П7 ГЯ П1 77 ЯП 1 Г 7П П7 РД Р4 ГШ 71 Яй « д- „

Полное схождение цепочек инструкций

20 07 С8 01 72 801С 20 07 Е4 ОЕ 01Е2 48 9 ЕР 05 П 7Р П7^Д п ді^іп ю 60 2Г Ъе 36 37 37 В7 В4 В7 5С0Е013 8С8С501617700Р 72Д0071С59РРЕРС7 27 97Р8

Потерянные инструкции

Рисунок 7 - Возможность пропуска инструкций.

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

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

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

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

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

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

Приняв за алфавит наблюдений О - операторы всех инструкций машинного языка, можно создать скрытые марковские модели исполнимой и неисполнимой последовательности, обученные на последовательностях инструкций графа потока управления исполнимых и неисполнимых файлов соответственно. Введя начальное 0о, конечное Qf (пустые) и промежуточное ()т состояния моделей исполнимых и неисполнимых последовательностей, можно создать общую скрытую марковскую модель последовательности инструкций исполнимого кода ЛЕ и данных Ад. В частности сеть распознавания общей СММ Ло такую, что Ле сЛо и Лр сЛо, может описывать любую последовательность дизассемблированных инструкций. Приняв за матрицу состояний общей СММ £Э0 включающую (¿о и £>е, сеть распознавания общей СММ, можно представить согласно рисунку 8.

Рисунок 8 - Общая СММ распознавания дизассемблированных инструкций.

Приняв априорную оценку = Р^,) = 1 для обеих моделей, можно

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

Обозначив общую СММ за Л0, имеем стандартную задачу распознавания из теории СММ. Инструкции загрузчика тогда соответствуют исполнимым состояниям модели Ла Схематично данный процесс проиллюстрирован на рисунке 9. В целом же разработанный способ обнаружения вредоносного вложения реализуется посредством алгоритма, представленного на рисунке 10.

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

15

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

(Т) | mov | or | jne | std | push | mov | call | pop | ret | jl | ret | or |

Восстановленная последовательность состояний Q, (Витерби):

(2) Qoi-*- QO2-+QD3 -*■ Qd4 -*-Qa -*■ Cfa -*■ Cbi + ^J+Qee+Qar+Cki+Qts | mov | or | jne | std | push | mov | call | pop | ret | jl | call | ret |

®

©

[ push | | mov | call 1 POP | ret | I call I ret|

Превышение длины Е: | push | | mov | call I Pop 1 ret | ■*— Загрузчик

|С8 01 В9 77 80 38 52 ЕЕ 6F 01 32 80 1С 20 07 С8 01 721 ]С8 00 72 80 1С 20 07 С8 01 72 80 1С 20 07 ЕД Е4 00 71 $ push | moV |' call 1 Pop i [■ret JlC 20 07 E4 DE 01 E2 48 Э BF OS I P 10 60 2F 5F 36 37 37 87 B4 B7|

О: - Состояния исполнимой модели а0 - Состояния неисполнимой модели

Рисунок 9 - Способ распознавания вредоносного вложения.

Ао Состояния исполнимой модели Лс Л0 ЛЕ

Qoi -*■ QD2 -*■ QDB QD2 ~ ■*■ Qu -*■ Оег -*■ Qfi •*■ Qu -*• Qfi- > QD3 -

Кандидат на загрузчик Qt■ - Состояния исполнимой модели QD - Состояния неисполнимой модели

Рисунок 10 - Поиск загрузчика вредоносного вложения.

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

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

1. Методом исчерпывающего дизассемблирования строится карта всех инструкций файла (на основе спецификации Intel IA-32).

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

3. На основе последовательностей найденных в п. 2, алгоритмом Витерби находятся все подпоследовательности исполнимых инструкций S,, принадлежащие состояниям модели ХЕ

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

5. Если в исходном файле был найден загрузчик, то файл считается вредоносным.

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

Программное средство (ПС) "ExploitFinder" разработано на языке программирования С++ и функционирует на операционных системах (ОС) семейства Windows (XP/2000/2003/Vista/7 платформ х84 и х64) в виде отдельного приложения. При создании ПС использовалась модульная архитектура и итерационный процесс разработки. Разработанные модули и алгоритмы могут быть использованы как самостоятельное приложение, так и в составе сторонних систем обнаружения вторжений и вредоносного программного обеспечения.

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

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

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

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

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

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

- дизассемблирования;

- статического анализа;

- классификатора.

ПС функционирует в двух режимах: режимах классификации и обучения.

На рисунке 11 представлена схема архитектуры разработанного программного средства.

Функциональные блоки ПС Рисунок 11 - Архитектура программного средства.

По разработанному программному средству получено свидетельство о государственной регистрации программы для ЭВМ №2011618094.

С целью сравнения эффективности средств обнаружения вредоносных вложений в работе выбран смещенный критерий F-меры, вычисляемый как F-мера = 2(P+0.1)(R+0.1)/(P+R+0.2). Где Р - ошибка обнаружения первого рода (пропуск события), R - ошибка обнаружения второго рода (ложное срабатывание).

Для сопоставления с разработанным ПС были выбраны известные средства обнаружения вредоносных вложений:

- Avast Internet Security 7;

- Avira Internet Security 2012;

- DrWeb Console Scanner 5.0;

- ESET Smart Security 5;

- F-Secure Internet Security 2012;

- Kaspersky Internet Security 2012;

- Microsoft Security Essentials 2013.

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

Таблица 1 ■

№ группы Расширение Тип (исп/неисп) Количество файлов

1 ЕХЕ исп 9544

2 DOC неисп 79251

3 XLS неисп 37512

4 JPG неисп 83594

209901

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

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

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

Схема расширенной общей сети показана на рисунке 12.

_______. Ас

1 ^01 1 Ао2 I AD...

Аи а52 | I Af...

А0

Рисунок 12 - Расширенная общая сеть распознавания.

Таблица 3 - Оптимальные состояния моделей.

Класс модели Название модели Количество состояний

Исполнимый ASPack 4

Исполнимый WATCOM С 4

Исполнимый WinRAR 5

Исполнимый WinZip 5

Исполнимый Wise Installer Stub 4

Исполнимый Xtreme-Protector 4

Неисполнимый JPG 4

Неисполнимый DOC 3

Неисполнимый XLS 3

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

Экспериментально на основе матрицы частот встречаемости инструкций в файлах каждого класса отобрано 94 значимые инструкции языка ассемблер, что минимизировало FB- меру обучения расширенной СММ по модели Aspack до 0.183 (.P/R вместо 0/17 стало 0/1).

Рисунок 14 иллюстрирует ход проведения экспериментов по нахождению значимых инструкций для модели ASPack.

"ййззйазяззкйзйзйсзвяййэа

94

Количество инструкций Рисунок 14 - Ход экспериментов по нахождению количества значимых инструкций

для модели АвРаск.

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

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

Согласно области исследования, обнаруживаются вредоносные вложения только в файлах неисполнимых форматов, поэтому тестируемая выборка представлена только такими файлами (150270 файлов, 75% общей выборки) и не включала в себя данные, использованные при обучении моделей, использованных в обученной расширенной СММ.

Перед проведением тестирования предложенного способа посредством ПС, копия всей тестовой группы неисполнимых файлов была проверена антивирусными средствами Avast Internet Security, Avira Internet Security, DrWeb Console Scanner, ESET Smart Security, F-Secure Internet Security, Kaspersky Internet Security, Microsoft Security Essentials.

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

После проверки тестовой группы файлов, ПС ExploitFinder выделило 1565 файлов (1419+52+94), как содержащих вредоносные вложения. После обработки всей группы файлов аналитиком, было установлено, что 52 из них являлись новыми эксплойтами, которые не обнаружило ни одно антивирусное средство. На оставшихся 94 программное средство дало ложное срабатывание.

Итоговые результаты испытаний отражены в таблице 4.

_Таблица 4 - Результаты испытаний разработанного ПС Ехр1о№шёег

Программное средство Обнаружено Ложных ПропускТ F-мера

Все с EF 1626 155 4 7,989

EF + Kaspersky 1570 98 6 11,486

EF + Avast 1571 105 7 13,301

EF + DrWeb 1570 100 8 14,987

EF + Avira 1573 108 8 15,071

ExploitFinder 1565 94 9 16,595

EF + Microsoft 1569 98 9 16,655

EF + F-Secure 1572 111 9 16,822

EF + ESET 1573 116 9 16,877

Все без EF 1148 61 69 64,854

Avira Internet Security 2012 1044 14 375 27,178

F-Secure Internet Security 2012 971 17 448 32,943

ESET Smart Security 5 941 22 478 42,247

DrWeb Console Scanner 5.0 824 6 595 12,076

Kaspersky Internet Security 2012 765 4 654 8,149

Avast Internet Security 7 751 11 668 21,837

Microsoft Security Essentials 2013 603 4 816 8,159

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

На основе результатов проведенных экспериментов с использованием реализации разработанного способа в виде ПС "Ехр1о№тс1ег" выявления вредоносных вложений в файлах неисполнимых форматов, было установлено, что в отличие от соотношения 5,31% / 6,01% частот ошибок второго и первого рода у последовательного использования антивирусных программных средств, при функционировании вместе с разработанным программным средством имеет место соотношение 9,53% / 0,25%. Данное сравнение отражено в таблице 5. Были выявлены все эксплойты, на которых проводилось обучение моделей и инициализация ПС, а также 52 неизвестных.

Таблица 5 - Результаты сравнения программных средств

Программное средство Ложные срабатывания (ошибка I рода) Пропуск (ошибка II рода)

Ехр1о№тс1ег 6% 0,5%

Все без ЕБ 5,31% 6,01%

Все с ЕР 9,53% 0,25%

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

В ходе диссертационного исследования достигнуты следующие результаты:

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

- проведено исследование и описание причин работоспособности эксплойтов;

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

- проведен обзор известных способов противодействия вредоносным вложениям;

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

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

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

- впервые предложен и разработан метод повышения эффективности средств выявления зараженных файлов с помощью скрытых марковских моделей;

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

Публикации в ведущих рецензируемых изданиях, рекомендуемых ВАК РФ:

1. Эдель Д.А. Языковая модель исполнимых кодов // Докл. Том. гос.ун-та систем управления и радиоэлектроники. - 2010. №1(21). - С.56-60.

2. Балакин A.B., Эдель Д.А. Аналогия естественных языков и исполнимых кодов // Нейрокомпьютеры: разработка и применение. Интеллектуальные информационные системы. — 2010. №10. - С.63-67.

3. Эдель Д.А. Теоретическое обоснование схождения дизассемблированных последовательностей байт. Известия вузов, Сев.-Кав. регион. Технические науки, 2012, №4 (167) . С.3-6.

Также по теме диссертации опубликованы следующие работы:

4. Эдель Д.А. Анализ методов определения наличия вирусного кода в исполняемых файлах антивирусным программным обеспечением // Моделирование. Теория, методы и средства: Материалы VII Междунар. Нау.-практ. конф., г.Новочеркасск, 7 апр. 2008 г.: В 2 ч. / Юж.-Рос. гос. техн. ун-т (НПИ). - Новочеркасск: Лик, 2008. -Ч. 2. - 96 с.

5. Эдель Д.А., Самойлов А.Г., Коваль A.A. Анализ метода отправки данных вредоносным программным обеспечением через OLE интерфейс и защита от нее // Девятый Всероссийский Симпозиум по прикладной математике (весенняясессия). Кисловодск. 2008г.-с. 1148.

6. Эдель Д.А., Коваль A.A. Вероятностный анализ метода обнаружения вредоносного кода в файлах на основе сигнатур // Седьмая Международная Петрозаводская конференция «Вероятностные методы в дискретной математике». Петрозаводск, 2008, стр. 100.

7. Эдель Д.А., Гуфан К.Ю. Способ автоматического выявления вредоносных вложений на основе использования скрытых марковских моделей // Материалы Седьмой Всероссийской научно-практический конференции "Перспективные системы и задачи управления". - Таганрог: Изд-во ТТИ ЮФУ, 2012. - 343 с.

8. Гуфан К.Ю., Эдель Д.А., Сергеев Д.В. Свидательство о государственной регистрации программ для ЭВМ №2011618094 от 17.08.2011 "Программное средство обнаружения вредоносных вложений ExploitFinder. Версия 0.7". ФГНУ НИИ "Спецвузавтоматика".

Личный вклад автора в работах, написанных в соавторстве, состоит в следующем: [2] - проведение исследований, подтверждающих практическую применимость аналогии между естественными и машинными языками в задаче разделения НУП, [5] - анализ собираемых данных на наличие вредоносных вложений и признаков проникновения, [6] - проведение анализа вредоносного программного обеспечения, [7] - проведение исследований вредоносного кода, [8] - разработка алгоритма и способа повышения эффективности средств обнаружения вредоносных вложений.

Подписано в печать 23.04.12. Формат 60 х 84 Vie- Бумага офсетная. Печать офсетная. Усл. печ. л. 1,0 Уч.-изд. л. 1,0. Тираж 100 экз. Заказ №2896.

Отпечатано в типографии ЮФУ 344090, г. Ростов-на-Дону, пр. Стачки, 200/1. Тел. (863) 247-80-51

Текст работы Эдель, Дмитрий Александрович, диссертация по теме Методы и системы защиты информации, информационная безопасность

ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ АВТОНОМНОЕ НАУЧНОЕ УЧРЕЖДЕНИЕ "НАУЧНО-ИССЛЕДОВАТЕЛЬСКИЙ ИНСТИТУТ" "СПЕЦИАЛИЗИРОВАННЫЕ ВЫЧИСЛИТЕЛЬНЫЕ УСТРОЙСТВА ЗАЩИТЫ И АВТОМАТИКА"

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

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

04201355840

еи4 Ь раеах рукописи

Эдель Дмитрий Александрович

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

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

кандидат технических наук, доцент Р.А. Хади

Ростов-на-Дону 2013

СОДЕРЖАНИЕ

Обозначения и сокращения....................................................................................5

Введение...................................................................................................................6

1. Обзор угроз нарушения безопасности информационных систем вредоносными вложениями в файлах неисполнимых форматов.....................16

1.1. Угрозы безопасности информационных систем........................................16

1.1.1. Угроза отказа в обслуживании..................................................................17

1.1.2. Общая характеристика уязвимостей информационных систем.............18

1.1.3. Угрозы программно-математического воздействия................................21

1.1.4. Анализ статистики средств реализации угрозы НСД..............................24

1.1.5. Методы и способы защиты информации от угроз НСД.........................27

1.2. Эксплойты: механизм реализации угрозы внедрения...............................29

1.2.1. Понятие эксплойта......................................................................................29

1.2.2. Причины появления эксплойтов................................................................32

1.2.3. Время угрозы эксплойта в жизненном цикле уязвимости......................37

1.2.4. Классификация эксплойтов........................................................................39

1.2.5. Защита от эксплойтов.................................................................................46

1.2.6. Выводы.........................................................................................................50

1.3. Анализ методов и систем обнаружения эксплойтов.................................51

1.3.1. Системы обнаружения эксплойтов...........................................................52

1.3.2. Методы обнаружения эксплойтов.............................................................55

1.3.3. Методы сокрытия эксплойтов от обнаружения.......................................65

1.3.4. Сравнительная характеристика современных методов обнаружения эксплойтов..............................................................................................................67

1.4. Выводы...........................................................................................................68

2. Модель зараженных файлов неисполнимых форматов..............................70

2.1. Модель вредоносных вложений в файлах неисполнимых форматов......70

2.2. Математическая модель загрузчика эксплойта..........................................75

2.3. Предварительные замечания........................................................................77

2.4. Разделение неопределенных участков программ на код и данные..........78

2.5. Выводы...........................................................................................................87

3. Способ обнаружения вредоносных вложений в файлах неисполнимых форматов.................................................................................................................88

3.1. Скрытые марковские модели данных и исполнимого кода......................88

3.2. Автоматическое масштабирование.............................................................98

3.3. Способ обнаружения вредоносных вложений на основе СММ.............102

3.4. Выводы.........................................................................................................107

4. Экспериментальные исследования..............................................................108

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

4.2. Режимы работы программного средства..................................................110

4.2.1. Режим классификации..............................................................................111

4.2.2. Режим обучения.........................................................................................112

4.3. Реализация программного средства..........................................................114

4.3.1. Функциональный блок дизассемблирования.........................................114

4.3.2. Функциональный блок статического анализа........................................117

4.3.3. Функциональный блок классификации..................................................119

4.4. Взаимодействие с пользователем..............................................................125

4.4.1. Режим обучения.........................................................................................126

4.4.2. Режим классификации..............................................................................127

4.5. Порядок исследований................................................................................129

4.6. Формирование экспериментального набора файлов...............................129

4.7. Выполнение подготовительных операций...............................................133

4.8. Эксперимент................................................................................................136

4.9. Выводы.........................................................................................................141

Заключение...........................................................................................................143

Литература............................................................................................................145

ОБОЗНАЧЕНИЯ И СОКРАЩЕНИЯ

АПП - антивирусные программные продукты

БД - база данных

ВВ - вредоносные вложения

ВПО - вредоносное программное обеспечение

ИБ - информационнная безопасность

ИС - информационная система

ИСПДн - информационная система пероснальных данных

НСД - несанкционированный доступ

НУП - неопределенные участки программ

ОС - операционная система

ПДн - персональные данные

ПМВ - программно-математическое воздействие

ПО - программное обеспечение

ПС - программное средство

СМИ - средства массовой информации

СММ - скрытая марковская модель

СМП - случайные марковские поля

СОВ - системы обнаружения вторжений

УБ - угроза безопасности

УБПДн - угроз безопасности персональных данных ФБ - функциональный блок

ФБД - функциональный блок дизассемблирования ФБС - функциональный блок статического анализа ФБК - функциональный блок классификатора

ВВЕДЕНИЕ

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

Актуальность

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

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

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

Интерес к проблемам обеспечения ИБ высок и к их решению привлечены значительные ресурсы. Несмотря на это, по информации центра безопасности компании Microsoft, в 2012 году было проведено 1 595 587 670 атак через сеть Интернет с использованием 6 537 320 уникальных хостов, что почти на 40% больше, чем в 2011 году, а согласно данным "Лаборатории Касперского", за 2012 год было зарегистрировано 7 500 694 попытки проникновения в информационные системы посредством вредоносных вложений. Причем существенная доля зарегистрированных атак была проведена успешно и обнаружена не в процессе их предотвращения, а по факту наступивших последствий.

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

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

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

Объектом исследования являются вредоносные вложения в неисполнимых форматах файлов (эксплойты).

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

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

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

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

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

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

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

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

6. Проведение экспериментального исследования.

Методы решения

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

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

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

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

Границы исследования

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

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

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

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

Научная новизна.

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

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

Структура работы

Диссертация состоит из введения, четырех глав, заключения, списка литературы. Основной текст диссертации изложен на 157 страницах, включая 22 рисунка и 16 таблиц.

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

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

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

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

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