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

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

Автореферат диссертации по теме "Математические модели и алгоритмы распознавания упакованных вредоносных программ"

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

Сорокин Иван Витальевич

МАТЕМАТИЧЕСКИЕ МОДЕЛИ И АЛГОРИТМЫ РАСПОЗНАВАНИЯ УПАКОВАННЫХ ВРЕДОНОСНЫХ ПРОГРАММ

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

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

11 НОЯ 2013

Санкт-Петербург 2013

005539545

005539545

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

Актуальность темы. В настоящее время имеется большое количество различных вредоносных программ. Для их обезвреживания разработаны различные подходы (Christodorescu, 2003; Song, 2005; Kruegel, 2006; Stolfo, 2006; Perdisci, 2008; Shafiq, 2008; Rieck, 2008; Lakhotia, 2010). Среди всего многообразия угроз в последние годы существенно увеличилось количество вредоносных программ, в которых используются методы упаковки и запутывания программного кода (Sun и др., 2010; Ugarte-Pedrero и др., 2011; Cesare и др. 2012; Tahan и др. 2012; Naval и др. 2012; Kim и др. 2012; Бабенко и др. 2012; Подловченко и др., 2012). Применение известных методов обезвреживания не позволяет эффективно бороться с такими вредоносными программами. Поэтому актуальным является разработка новых моделей, методов и средств выявления подобных угроз.

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

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

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

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

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

Объект исследования - упакованные вредоносные программы для операционной системы Microsoft Windows.

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

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

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

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

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

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

Новые научные результаты:

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

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

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

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

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

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

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

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

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

Реализация и внедрение результатов работы. Результаты работы были использованы при разработке антивирусного программного обеспечения компании ООО «Доктор Веб», что подтверждается актом об использовании.

Личный вклад автора. Все основные результаты диссертации получены лично соискателем.

Апробация работы. Результаты работы докладывались и обсуждались на Санкт-Петербургской межрегиональной конференции «Информационная безопасность регионов России (ИБРР)» в 2009 и 2011 гг., на Санкт-Петербургской международной конференции «Региональная информатика (РИ)» в 2010 и 2012 гг. и на 20-ой ежегодной конференции European Institute for Computer Anti-Virus Research (EICAR) в 2011г.

Публикации. По теме диссертации опубликованы 10 научных работ, из них 3 статьи опубликованы в журналах, рекомендованных ВАК.

Структура и объем работы. Диссертация состоит из введения, шести глав, заключения и списка литературы, включающего 103 наименования. Работа изложена на 123 страницах, содержит 54 рисунка и 10 таблиц.

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

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

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

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

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

В третьей главе рассматривается модуль сегментации входных файлов. Сначала рассматривается алгоритм предварительной обработки файла, а затем вейвлет-анализ и сегментация файла. Этап предварительной обработки заключается в использовании метода скользящего окна, позволяющего представить содержимое файла в виде ряда Г = {_у, :/" = 1,, где N - количество всех окон, у, -

информационная энтропия подсчитанная в /-ом окне файла (Рис. 1). Подсчет энтропии в /-ом окне осуществляется с учетом частоты появления различных байтов по следующей формуле:

Я=-ЕХ/)1ов2Х/) (!)

м

где р(]) - частота появления у -го байта в / -ом окне, п -количество различных байтов в окне.

71

XXX у2

Ч- + +

уз

ООО

у4

ООО

У5

ООО-

У

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

Сравнение алгоритма, основанного на взвешенном расстоянии редактирования, с двумя другими подходами (сигнатурно-байтовый и модель поведения под эмулятором), используемыми в антивирусных программных продуктах ООО «Доктор Веб», показало, что при распознавании большинства тестовых файлов (373 из 443) предлагаемый алгоритм показывает лучшие характеристики. Во-первых, лучше устойчивость к защитным методам обфускации и антиэмуляции, чем у детектирования по модели поведения. Во-вторых, при отсутствии ошибок 1-го рода, нормированный уровень ошибок 2-го рода составил 15,8%, что меньше, чем у сигнатурного подхода с 26,4%. Для сравнения подходов была создана база данных антивирусных записей, содержащая информацию о вредоносных программах. В качестве показателя качества использовалось минимальное количество

Текст работы Сорокин, Иван Витальевич, диссертация по теме Методы и системы защиты информации, информационная безопасность

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

ич си ¡^¿¿¡.и!

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

Сорокин Иван Витальевич

МАТЕМАТИЧЕСКИЕ МОДЕЛИ И АЛГОРИТМЫ РАСПОЗНАВАНИЯ УПАКОВАННЫХ ВРЕДОНОСНЫХ ПРОГРАММ

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

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

Диссертация

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

Научный руководитель: д.т.н., проф. Копыльцов А.В.

Санкт-Петербург 2013

ОГЛАВЛЕНИЕ

ОГЛАВЛЕНИЕ........................................................................................................2

ВВЕДЕНИЕ..............................................................................................................4

1 Классификация подходов к распознаванию упакованных вредоносных программ.................................................................................................................12

1.1 Способы описания энтропийных характеристик файлов компьютерных программ.............................................................................................................18

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

1.3 Выводы..........................................................................................................23

2 Система распознавания упакованных вредоносных программ.....................24

2.1 Энтропийный подход к синтаксическому анализу файлов.....................24

2.2 Принципы построения системы синтаксического распознавания вредоносных программ......................................................................................26

2.3 Компоненты системы распознавания упакованных вредоносных программ.............................................................................................................28

2.4 Выводы..........................................................................................................32

3 Сегментация файла с использованием вейвлет-анализа энтропийных характеристик........................................................................................................33

3.1 Этап предварительной обработки энтропийных характеристик файла с использованием метода скользящего окна......................................................34

3.2 Этап вейвлет-анализа энтропийных характеристик файла.....................40

3.2.1 Непрерывное вейвлет-преобразование дискретного сигнала...........41

3.2.2 Диадное вейвлет-преобразовение (кратномасштабный анализ)......44

3.2.3 Дискретное избыточное вейвлет-преобразование.............................47

3.3 Этап сегментации файла с учетом локальных экстремумов вейвлет-коэффициентов...................................................................................................50

3.4 Выводы..........................................................................................................53

4 Векторная модель описания и сравнения сегментированных файлов.........54

4.1 Описание сегмента файла с учетом размера и энтропии сегмента........54

4.2 Описание сегмента файла с учетом частоты появления байтов.............56

4.3 Описание сегмента файла с учетом нейросетевой модели......................58

4.4 Выводы..........................................................................................................63

5 Сравнения файлов с использованием взвешенного расстояния редактирования с функцией штрафа от двух переменных...............................65

5.1 Функция штрафа от двух переменных......................................................68

5.2 Алгоритм сравнения в общем виде............................................................69

5.3 Локальное выравнивание последовательностей сегментов упакованных вредоносных программ......................................................................................71

5.4 Глобальное выравнивание последовательностей сегментов упакованных вредоносных программ......................................................................................74

5.5 Алгоритм определения процентного соотношения при глобальном выравнивании подпоследовательностей сегментов двух файлов.................76

5.6 Выводы..........................................................................................................77

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

6.1 Пример постепенного изменения вредоносной программы...................82

6.2 Пример многократного изменения вредоносной программы за короткий промежуток времени..........................................................................................86

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

6.4 Пример одного упаковщика для разных типов файлов вредоносных программ.............................................................................................................94

6.5 Пример разных упаковщиков для одной вредоносной программы.......98

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

6.7 Выводы........................................................................................................105

ЗАКЛЮЧЕНИЕ....................................................................................................108

СПИСОК ЛИТЕРАТУРЫ...................................................................................112

ВВЕДЕНИЕ

Под термином вредоносные программы подразумевается широкий класс программ, которые специально созданы для нанесения вреда отдельному компьютеру или компьютерной сети. Расширенная трактовка этого термина представлена в статье 273 Уголовного Кодекса Российской Федерации [23] «Создание, использование и распространение вредоносных компьютерных программ»:

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

Существующее многообразие вредоносных программ принято разбивать по классам на основе различных критериев: по специализированным целям использования, по способу распространения, по уровню интеграции в операционной системе, по формату файлов и т.п. В качестве объекта исследования рассматриваются упакованные вредоносные программы, представленные в виде файлов формата Portable Executable (РЕ) для операционной системы Microsoft Windows. Выбор такого рода вредоносных программ, обусловлен двумя основными причинами. Во-первых, на сегодняшний момент основная масса вредоносных программ создается для операционной системы Microsoft Windows, где основным форматом скомпилированных программ является РЕ-формат [65]. Во-вторых, признак упакованности вредоносных программ означает наличие защитных механизмов для противодействия обнаружению вредоносного кода.

'Уголовный кодекс РФ от 13 июня 1996 г. № 63-Ф3 (ред. от 23.07.2013) (с изм. и доп., вступающими в силу с 01.09.2013) // Собрание законодательства РФ. 1996 г. 25. -2954 с. (с послед, изм. и доп.)

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

К синтаксическим изменениям относятся такие способы как добавление мусорного кода или данных, равносильное замещение инструкций кода, перестановка независимых участков кода и т.п. Перечисленные синтаксические способы защиты могут быть применены непосредственно для кода самой вредоносной программы, но в последнее время стала чаще использоваться технология упаковки и защиты программного кода (Cesare, Xiang, 2012)[33]. Она подразумевает, что все защитные функции реализованы в промежуточном коде, который обеспечивает «безопасное» выполнение защищаемого программного кода. Подобная технология нашла широкое применение в области защиты программных продуктов, с целыо предотвращения их нелегального использования или модификации. Например, программы-протекторы (Themida, VMProtect и т.п.) обладают богатым набором защитных механизмов, которые препятствуют анализу скомпилированных программ. Существуют более простые программы-упаковщики, основной функцией которых является уменьшение итогового

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

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

1) усложнение в обнаружении вредоносного кода;

2) увеличение общего количества вредоносных файлов.

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

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

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

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

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

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

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

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

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

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

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

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

Новые научные результаты:

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

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

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

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

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

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

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

антивирусно�