Математические модели и алгоритмы распознавания упакованных вредоносных программ тема диссертации и автореферата по ВАК РФ 05.13.19, кандидат наук Сорокин, Иван Витальевич

  • Сорокин, Иван Витальевич
  • кандидат науккандидат наук
  • 2013, Санкт-Петербург
  • Специальность ВАК РФ05.13.19
  • Количество страниц 123
Сорокин, Иван Витальевич. Математические модели и алгоритмы распознавания упакованных вредоносных программ: дис. кандидат наук: 05.13.19 - Методы и системы защиты информации, информационная безопасность. Санкт-Петербург. 2013. 123 с.

Оглавление диссертации кандидат наук Сорокин, Иван Витальевич

ОГЛАВЛЕНИЕ

ОГЛАВЛЕНИЕ

ВВЕДЕНИЕ

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

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

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

1.3 Выводы

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

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

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

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

2.4 Выводы

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

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

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

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

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

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

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

3.4 Выводы

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

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

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

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

4.4 Выводы

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

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

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

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

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

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

5.6 Выводы

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

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

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

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

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

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

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

6.7 Выводы

ЗАКЛЮЧЕНИЕ

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

Рекомендованный список диссертаций по специальности «Методы и системы защиты информации, информационная безопасность», 05.13.19 шифр ВАК

Введение диссертации (часть автореферата) на тему «Математические модели и алгоритмы распознавания упакованных вредоносных программ»

ВВЕДЕНИЕ

Под термином вредоносные программы подразумевается широкий класс программ, которые специально созданы для нанесения вреда отдельному компьютеру или компьютерной сети. Расширенная трактовка этого термина представлена в статье 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) Разработан метод идентификации упакованных вредоносных программ, основанный на взвешенном расстоянии редактирования для последовательностей, состоящих из элементов (сегментов) с двумя числовыми характеристиками: размер сегмента и его энтропия.

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

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

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

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

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

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

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

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

программ

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

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

В первую очередь следует упомянуть о работах используемых в качестве характеристики файлов статистическую информацию о байтах. По своей природе такие характеристики отражают упорядоченность данных. Для описания файла используют модель N-грамм, которая отражает частоту появления последовательности байтов длиной N. Как правило, длина выбирается небольшой и не превышает 4 байтов. Авторы (Kolter и др., 2006)

провели обширные исследования [59] компьютерных программ с использованием модели N-грамм и теории машинного обучения. В работе [86] авторы (Stolfo и др., 2006) использовали опыт определения типов файлов с использованием модели N-грамм, для выявления целых вредоносных программ или аномальных участков в зараженных чистых файлах. Исследования в этом направлении не теряют своей актуальности и на сегодняшний день (Stibor и др., 2010; Jang и др., 2011; Singh и др., 2012) [84; 52; 80].

Естественным способом понимания смысла скомпилированной компьютерной программы является дизассемблирование ее кода. Поэтому большинство предлагаемых решений направлено на исследование синтаксиса и семантики кода. Работа (Christodorescu и др., 2003) [34] является одной из первых работ по изучению синтаксиса ассемблерных инструкций с использованием теорию графов и конечных автоматов. Авторы предлагают подход для противодействия методам обфускации вредоносного кода. Для этого авторы используют перевод ассемблерных команд в абстрактное представление, что позволяет обобщить обфусцированные инструкции в отдельные сущности. От подобного перевода зависит качество распознавания. Поэтому дальнейшие исследования были направлены на семантический анализ дизассемблированного кода (Christodorescu и др., 2005) [35; 36] и его нормализацию, т.е. удаление запутывающих инструкций. Схожее направление выбрано авторами работ (Preda и др., 2005, 2010; Подловченко и др., 2009) [72; 73; 12], представляющие дизассемблированный код в абстрактной форме для последующего анализа его синтаксиса и семантики. Решение проблемы обфусцированного кода отражено в исследовании (Lakhotia и др., 2010) [60], в котором также используется трансформация дизассемблированного кода. В работе [45] автор (Filiol, 2007) применяет теорию формальных грамматик для противодействия полиморфным методам защиты вредоносного кода. Помимо дизассемблированного кода, статический подход может быть основан на

анализе используемых системных функций (Sung и др., 2004; Li и др., 2009; Ye и др., 2007-2011) [88; 63; 102; 103].

Ограниченность статических методов анализа компьютерных программ компенсируется динамическими системами, предназначенные для выполнения программы в защищенном окружении с целью наблюдения за ее поведением. В этом направлении разработано и ведется на сегодняшний момент большое количество исследований. Они учитывают преимущества статического анализа, в совокупности с теми возможностями, которые появляются при динамическом анализе. Значительная часть работ написана в соавторстве с Christopher Kruegel (Kirda, 2006; Comparetti, 2010; Lanzi, 2010; Kolbitsch, 2009, 2011; Neugschwandtner, 2011; Canali, 2012; Egele, 2012) [56; 37; 61; 57; 58; 69; 32; 42], Dawn Song (Newsome, 2005; Brumley, 2007; Gao, 2008; Babic, 2011) [70; 31; 46; 29] и других (Rieck, 2008; Guo, 2008; Storlie, 2012; Guo, 2012; Бабенко и др., 2012) [75; 47; 85; 48; 1].

Отдельно следуют отметить работы, в которых применяются алгоритмы по обработке изображений. Идея заключается в представлении содержимого файла в виде изображения, у которого интенсивность каждого пикселя определяется значением соответствующего байта из файла. Таким образом, итоговая классификация, кластеризация или сегментация вредоносных программ осуществляется над получившимися изображениями. В работе (Nataraj и др., 2011) [67] анализ структуры изображения осуществляется с использованием алгоритма GIST, в основе которого лежит нейросетевой подход. Схожее решение представлено в работе (Сорокин, Копыльцов, 2013) [18], в которой используется архитектура нейронной сети типа «Неокогнитрон». Такие подходы позволяется смоделировать визуальное восприятие бинарных данных. Неокогнитрон (Fukushima, 1988; Fukushima, 2003) [43; 44], как тип нейронной сети используется в различных областях, но в основном, для распознавания печатных и рукописных символов (Садыхов, Ваткин, 2002; Яневиц и др., 2006; Федяев, Махно, 2008; Jabarouti-Moghaddam и др., 2011) [15; 28; 24; 50]. Причем, символы не ограничиваются

только латинскими или русскими буквами. Неокогнитрон можно использовать для распознавания древнеегипетских иероглифов (Ивашко, Кугаевских, 2009) [3]. Особый интерес представляют работы по исследованию нейросетей типа неокогнитрон для распознавания более сложных образов, например, человеческого лица (Duffner, 2007) [40].

Стоит заметить, что это только основные работы в области статического и динамического анализа программного кода для выявления вредоносных программ. Существуют смежные дисциплины, в которых возникает вопрос похожести компьютерных программ (Cesare, Xiang, 2012) [33]. Например, в работе (Jhi и др., 2011) [54] решается проблема плагиата программного кода. Так или иначе, большинство методов либо ограничены в использовании, либо устарели и неспособны справляться с современными угрозами, что подтверждается работами (Moser, Kruegel, Kirda, 2007; Yashveer, 2012; Kim, Khoo, Lio, 2012) [66; 100; 55].

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

Таблица 1.1- Сравнение подходов распознавания упакованных вредоносных программ

Исследование (автор, год, ссылка) Статический/Динамический Представление объекта Метод распознавания

Способ записи Смысловое значение характеристики Метрика сравнения Методы машинного обучения Синтаксические Эвристические

Числовой вектор Цепочка элементов Графовая модель Байты Дизассемблирование Поля заголовка Геометрическая Коэффициент сходства о п а а с. £ а Ч ш С*

Частота (п-грамм) Энтропия блока Энтропийный рлд

Weber, Schmid et al, 2002 [97] С + + + + * +

Lyda and Hamrock, 2007 [64] С + + * * +

Perdisci et al, 2008 [71] с/д + + + + + +

Briones and Gómez, 2008 [30] с/д + + + * + +

Ebringer and L. Sun, 2008 [41] с + + +

Shafiq et al, 2008 [77] с + + * +

Shafiq et al, 2009 [78] с + + + +

Tabish et al, 2009 [89] с + * + * + + +

Yanjun Wu et al, 2009 [981 С/д + + + +

L. Sun et al, 2010 [87] с + + +

Jeong et al, 2010 [53] д + + * + * +

Zhenyu Wu et al, 2010 [99] с + + + + + +

Conti et al, 2010 [38] с + * + +

Jacob etal, 2010 [51] с + + + + + + +

Cesare et al, 2010,2012 [33] с/д + + + +

Sorokin, 2011 [83] с + + +

Wang and Shieh, 2011 [96] с + + + +

Ugarte-Pedrero et al, 2011 [92] [93] с + + + + +

Laxmi et al, 2011 [62] с + + + + +

Santos et al, 2011 [76] с + + + +

Tahan et al, 2012 [90] с + + * + +

Naval et al, 2012 [68] с * + + +

Ugarte-Pedrero et al, 2012 [94] с + + +

В первую очередь сравниваются подходы по способу определения и извлечения характеристик (feature extraction) файлов, выступающих в качестве объекта исследования (Сорокин, 2012)[17]. От выбранного типа характеристик зависит качество распознавания, а от способа извлечения -скорость. Если характеристики сравнить по их смыслу, т.е. рассмотреть качественную составляющую, то выделяют две группы: структурные, описывающие структуру содержимого файла и семантические признаки, отражающие смысл анализируемой программы. Для извлечения признаков используют как статический, так и динамический анализ, который подразумевает выполнение анализируемой программы в защищенном окружении. Наряду с задачей о выборе характеристик, для использования математического аппарата из теории распознавания образов, необходимо решить задачу представления признаков (feature representation). Для этого используют следующие способы описания объекта исследования: векторное описание; набор, перечисление признаков; древовидная или графовая модель.

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

а) метрические (геометрические, коэффициент сходства, расстояние редактирование);

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

в) синтаксические (формальные грамматики);

г) эвристические.

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

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

1.1 Способы описания энтропийных характеристик файлов

компьютерных программ

Первые исследования использовали энтропию, для определения аномальных участков кода или данных, которые могли содержать вредоносный код, например, после инфицирования файловым вирусом. Для того чтобы быстро определить расположение участков кода и данных в компьютерной программе используют значения полей специального заголовка в файле. В операционной системе семейства Microsoft Windows скомпилированные компьютерные программы записываются в бинарный файл формата РЕ (Portable Exécutable). Поля этого заголовка в полной мере отражает структуру анализируемой программы, потому что именно на основе этой информации операционная система создает образ программы в памяти. В работе [97] авторы (Weber и др., 2002) одними из первых использовали энтропийный анализ, позволяющий визуализировать аномальные регионы в отдельных секциях РЕ-файла. В дальнейшем схожее исследование по выявлению аномальных участков файла, например, образовавшихся вследствие заражения вирусом, было представлено в работе (Shafiq и др., 2008) [77]. Тем не менее, предлагаемое решение [97] носило эвристический характер и служило лишь инструментом для анализа компьютерных программ. Через пять лет в работе [64] авторы (Lyda, ITamrock, 2007) провели детальный анализ энтропии отдельных секций РЕ-файлов собранных за период с 2000 по 2005 года. Помимо этого авторы предложили метод для анализа энтропии всего файла не учитывающий РЕ-заголовок. Основной целыо данного подхода являлось определение упакованности файла, т.е. определение факта использования программ-упаковщиков. Подход

заключался в разбиении файла на блоки и проверки среднего и наибольшего значения энтропии в каждом блоке с пороговой величиной. В дальнейшем такая же методика использовалась авторами (Jeong и др., 2010) для определения упакованности регионов памяти при динамическом анализе упакованных компьютерных программ [53]. Детальный анализ отдельных участков или блоков файла предлагается в работе [89]. Авторы (Tabish и др.,

Похожие диссертационные работы по специальности «Методы и системы защиты информации, информационная безопасность», 05.13.19 шифр ВАК

Список литературы диссертационного исследования кандидат наук Сорокин, Иван Витальевич, 2013 год

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

1. Бабенко Л.К., Тумоян Е.П., Цыганок К.В., Аникеев М.В. Классификация вредоносного программного обеспечения на основе поведенческих признаков // Известия ЮФУ, Технические науки. - 2012. - Т. 192.-№4.-С. 50-59.

2. Воронцов К.В. Лекции по алгоритмам кластеризации и многомерного шкалирования. - М., 2007. - 18 с. - URL: http://www.ccas.ru/voron/download/ Clustering.pdf (дата обращения: 13.04.2013).

3. Ивашко А.Г., Кугаевских A.B. Возможность применения ИНС «Неокогнитрон» для распознавания древнеегипетских иероглифов // Вестник Тюменского государственного университета. - 2009. - № 6. - С. 209-214.

4. Копыльцов A.B., Сорокин И.В. Алгоритм выравнивания последовательностей сегментов файлов // Вестник ИНЖЭКОНа, серия "Технические науки". - 2011. - № 8(51), - С. 31-37.

5. Копыльцов A.B., Сорокин И.В. Вейвлет-анализ структурной энтропии файлов // Известия РГПУ им. А.И.Герцена. - 2011. - № 138. - С. 7-15.

6. Копыльцов A.B., Сорокин И.В. Энтропийный анализ файлов для выявления и классификации вредоносного программного обеспечения // Материалы конференции «Информационная безопасность регионов России 2009». - СПб., 2009. - С. 59-60.

7. Копыльцов A.B., Сорокин И.В. Энтропийный анализ файлов для выявления и классификации вредоносного программного обеспечения // Труды конференции «Информационная безопасность регионов России 2009». - СПб., 2010. - С. 135-140.

8. Кормен Т., Лейзерсон Ч., Ривест Р., Штайн К. Алгоритмы: построение и анализ, 2-е издание. : Пер. с англ. - М. : Вильяме, 2011. - 1296 с.

9. Коротаев С.М. Энтропия и информация - универсальные естественнонаучные понятия // Журнал "Феномен и ноумен времени". - 2005. -Т. 2.-С. 31-53.

10. Левенштейн В. И. Двоичные коды с исправлением выпадений, вставок и замещений символов // Доклады Академий Наук СССР. - 1965. - Т. 163. - № 4. - С. 845-848.

11. Переберин A.B. О систематизации вейвлет-преобразований // Вычислительные методы и программирование. - 2001. - Т. 2. - № 2. - С. 133158.

12. Подловченко Р. И., Кузюрин Н. Н., Щербина В. С., Захаров В. А. Использование алгебраических моделей программ для обнаружения метаморфного вредоносного кода // Фундаментальная и прикладная математика. - 2009. - Т.15. - № 5. - С. 181-198.

13. Прангишвили И.В. Энтропийные и другие системные закономерности: Вопросы управления сложными системами / Прангишвили И.В.; Ин-т проблем управления им. В.А. Трапезникова. - М.: Наука, 2003. -428 с.

14. Рувинская В.М., Беркович Е.Л., Лотоцкий A.A. Эвристические методы детектирования вредоносных программ на основе сценариев. // Научно-теоретический журнал «Искусственный интеллект». - 2008. - Т. 3. - С 197207.

15. Садыхов Р.Х., Ваткин М.Е. Алгоритм обучения нейронной сети «неокогнитрон» для распознавания рукописных символов // Известия HAH Беларусии. Серия физ.-тех. наук. - 2002. - № 3. - С. 81-86.

16. Советов Б.Я., Яковлев С.А. Моделирование систем. - М.: Высшая школа, 2009. - 343 с.

17. Сорокин И.В. Описание файлов для распознавания вредоносных программ // Материалы конференции «Региональная информатика 2012». -СПб., 2012. - С. 127-128.

18. Сорокин И.В., Копыльцов A.B. Использование неокогнитрона для распознавания вредоносных файлов // Известия СПбГЭТУ «ЛЭТИ». - 2013. -№ 3. - С. 45-51.

19. Сорокин И.В., Копыльцов A.B. Моделирование структуры вредоносных файлов с использованием стохастических грамматик // Материалы конференции «Информационная безопасность регионов России 2011».-СПб., 2011.-С. 131.

20. Сорокин И.В., Копыльцов A.B. Основные методы выявления зомби-сетей // Материалы конференции «Информационная безопасность регионов России 2009». - СПб., 2009. - С. 140.

21. Сорокин И.В., Копыльцов A.B. Сегментация временных рядов с использованием вейвлетов для анализа структурной энтропии вредоносных файлов // Материалы конференции «Региональная информатика 2010». -СПб., 2010. - С. 143.

22. Ту Дж., Гонсалес Р. Принципы распознавания образов. Пер. с англ. -М.: Мир, 1978.-414 с.

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

24. Федяев О.И., Махно Ю.С. Программный эмулятор нейросети типа неокогнитрон для распознавания графических образов // Научные работы Донецкого национального технического университета, серия «Информатика, кибернетика и вычислительная техника». - 2008. - № 9 (132). - С. 265-269.

25. Фу. К. Структурные методы в распознавании образов. - М.; Мир, 1977.

- 320 с.

26. Штарк Г.-Г. Применение вейвлетов для ЦОС. - М.: Техносфера, 2007.

- 192 с.

27. Яковлев А. Н. Введение в вейвлет-преобразования : учебное пособие / А. Н. Яковлев. - НГТУ, 2003. - 104 с.

28. Яневиц Р.Б., Беспечная JI.IO., Беспечный В.Н. Построение сейсмологических моделей осадочных отложений на основании данных

сейсморазведки и ПГИС // Геология, геофизика и разработка нефтяных и газовых месторождений. - 2006. - № 10. - С. 105-114.

29. Babic D., Reynaud D., Song D. Malware analysis with tree automata inference // In Proceedings of the 23rd international conference on Computer aided verification (CAV'l 1). - 2011. - P. 116-131.

30. Briones I., Gomez A. Graphs, entropy and grid computing: Automatic comparison of malware // In: Proceedings of 18th Virus Bulletin International Conference. - 2008. - P. 64-75.

31. Brumley D., Hartwig C., Kang M.G., Liang Z., Newsome J., Poosankam P., Song D., Yin H. BitScope: Automatically Dissecting Malicious Binaries // Technical report CS-07-133, School of Computer Science, Carnegie Mellon University. - 2007.

32. Canali D., Lanzi A., Balzarotti D., Kruegel C., Christodorescu M., Kirda E. A quantitative study of accuracy in system call-based malware detection // In Proceedings of the 2012 International Symposium on Software Testing and Analysis (ISSTA 2012). - 2012. - P. 122-132.

33. Cesare S., Xiang Y. Software Similarity and Classification / SpringerBriefs in Computer Science. -2012.- 88 p.

34. Christodorescu M., Jha S. Static analysis of executables to detect malicious patterns // In Proceedings of the 12th conference on USENIX Security Symposium. - 2003. - vol. 12. - P. 169-186.

35. Christodorescu M., Jha S., Seshia S.A., Song D., Bryant R.E. Semantics-Aware Malware Detection // In Proceedings of the 2005 IEEE Symposium on Security and Privacy (SP '05). - 2005. - P. 32-46.

36. Christodorescu M., Kinder J., Jha S., Katzenbeisser S., Veith H., Malware normalization / Technical Report 1539 at the Department of Computer Sciences, University of Wisconsin, Madison. - 2005.

37. Comparetti P.M., Salvaneschi G., Kirda E., Kolbitsch C., Kruegel C., Zanero S. Identifying Dormant Functionality in Malware Programs // In

Proceedings of the 2010 IEEE Symposium on Security and Privacy (SP '10). -2010.-P. 61-76.

38. Conti G., Bratus S., Shubina A., Sangster В., Ragsdale R., Supan M., Lichtenberg A., Perez-Alemany R. Automated mapping of large binary objects using primitive fragment type classification. // Digital Investigation: The International Journal of Digital Forensics & Incident Response. - 2010. - vol. 7. -P. 3-12.

39. Daubechies I. Ten Lectures on Wavelets // SIAM. - 1992. - 377 p.

40. Duffner S. Face Image Analysis With Convolutional Neural Networks / PhD Thesis. Albert-Ludwigs-Universitat Freiburg im Breisgau, Germany. - 2007.

41. Ebringer Т., Sun L., Boztas S. A Fast Randomness Test that Preserves Local Detail // In: Proceedings of 18th Virus Bulletin International Conference. -2008. - P. 34-42.

42. Egele M., Scholte Т., Kirda E., Kruegel C. A Survey on Automated Dynamic Malware Analysis Techniques and Tools // ACM Computing Surveys Journal. - 2012. - vol. 44. - no. 2. - art. 6. - 42 p.

43. Fukushima K. Neocognitron: a hierarchical neural network capable of visual pattern recognition // Neural Networks. - 1988. - vol. 1. - N. 2. P. 119-130.

44. Fukushima K. Neocognitron for handwritten digit recognition. // Neurocomputing. - 2003. - vol. 51. - P. 161-180. - URL: http://visiome.neuroinf.jp/modules/xoonips/detail.php?item_id=375

45. Filiol E. Metamorphism, Formal Grammars and Undecidable Code Mutation // International Journal of Computer Science. - 2007. - vol. 2. - no. 1. - P. 70-75.

46. Gao D., Reiter M.K., Song D. BinHunt: Automatically Finding Semantic Differences in Binary Programs // In Proceedings of the 10th International Conference on Information and Communications Security (ICICS '08). - 2008. - P. 238-255.

47. Guo F., Ferrie P., Chiueh T. A Study of the Packer Problem and Its Solutions // In Proceedings of the 11th international symposium on Recent Advances in Intrusion Detection (RAID '08). - 2008. - P. 98-115.

48. Guo S., Li S., Yu Y., Hu A., Ban T. A Fine-Grained Classification Approach for the Packed Malicious Code // Lecture Notes in Computer Science. -2012.-vol. 7618.-P. 497-504.

49. Gusfield D. Algorithms on strings, trees, and sequences / Cambridge University Press. - 1997. - 556 p.

50. Jabarouti-Moghaddam M., Soltanian-Zadeh H. Medical Image Segmentation Using Artificial Neural Networks // Artificial Neural Networks -Methodological Advances and Biomedical Applications, In Tech, Rijeka, Croatia. -2011.-P. 121-138.

51. Jacob G., Neugschwandtner M., Comparetti P.M., Kruegel C., Vigna G. A static, packer-agnostic filter to detect similar malware samples. - URL: http://www.cs.ucsb.edu/research/tech_reports/reports/2010-26.pdf (дата обращения: 13.04.2013).

52. Jang J., Brumley D., Venkataraman S. BitShred: Feature Hashing Malware for Scalable Triage and Semantic Analysis // In Proceedings of the 18thi ACM Conference on Computer and Communications Security (CCS 11). - 2011. - P. 309-320.

53. Jeong G., Choo E., Lee J., Bat-Erdene M., Lee H. Generic, Unpacking using Entropy Analysis // 5th International Conference on Malicious and Unwanted Software. - 2010. - P. 114-121.

54. Jhi Y., Wang X., Jia X., Zhu S., Liu P., Wu D. Value-based program characterization and its application to software plagiarism detection // In Proceedings of the 33rd International Conference on Software Engineering (ICSE •11).-2011.-P. 756-765.

55. Kim H., Khoo W.M., Lio P. Polymorphic attacks against sequence-based software birthmarks // SSP: The 2nd ACM SIGPLAN Workshop on Software

Security and Protection, held in conjunction with ACM PLDI, Beijing, China. -2012.

56. Kirda E., Kruegel C., Banks G., Vigna G., Kemmerer R.A. Behavior-based spy ware detection // In Proceedings of the 15th conference on USENIX Security Symposium. - 2006. - vol. 15. - art. 19.

57. Kolbitsch C., Comparetti P.M., Kruegel C., Kirda E., Zhou X., Wang X. Effective and efficient malware detection at the end host // In Proceedings of the 18th conference on USENIX security symposium (SSYM'09). - 2009. - P. 351366.

58. Kolbitsch C., Kirda E., Kruegel C. The Power of Procrastination: Detection and Mitigation of Execution-Stalling Malicious Code // 18th ACM Conference on Computer and Communications Security (CCS). - 2011. - P. 285-296.

59. Kolter J.Z., Maloof M.A. Learning to Detect and Classify Malicious Executables in the Wild // The Journal of Machine Learning Research. - 2006. -vol 7.-P. 2721-2744.

60. Lakhotia A., Boccardo D.R., Singh A., Manacero A. Context-sensitive analysis of obfuscated x86 executables // In Proceedings of the 2010 ACM SIGPLAN workshop on Partial evaluation and program manipulation (PEPM '10). -2010.-P. 131-140.

61. Lanzi A., Balzarotti D., Kruegel C., Christodorescu M., Kirda E. AccessMiner: using system-centric models for malware protection // In Proceedings of the 17th ACM conference on Computer and communications security (CCS '10). - 2010. - P. 399-412.

62. Laxmi V., Gaur M.S., Faruki P., Naval S. PEAL-Packed executable analysis // In Proceedings of the 2011 international conference on Advanced Computing, Networking and Security (ADCONS'l 1). - 2011. - P. 237-243.

63. Li J., Xu J., Xu M., Zhao H., Zheng N. Malware obfuscation measuring via evolutionary similarity // First International Conference on Future Information Networks. - 2009. - P. 197-200.

64. Lyda R., Hamrock J. Using Entropy Analysis to Find Encrypted and Packed Malware // IEEE Security and Privacy. - 2007. - vol. 5. - no. 2. - P. 40-45.

65. Microsoft PE and COFF Specification, October 5, 2010, - URL: http://www.microsoft.com/whdc/system/platform/firmware/PECOFF.mspx (дата обращения: 13.04.2013).

66. Moser A., Kruegel C., Kirda E. Limits of Static Analysis for Malware Detection // In Computer Security Applications Conference. - 2007. - P. 421-430.

67. Nataraj L., Karthikeyan S., Jacob G., Manjunath B. Malware images: visualization and automatic classification // In Proceedings of the 8th International Symposium on Visualization for Cyber Security (VizSec 41). - 2011. - vol. 4. - P. 1-7.

68. Naval S., Laxmi V., Gaur M. S., Vinod P. ESCAPE: entropy score analysis of packed executable // In Proceedings of the Fifth International Conference on Security of Information and Networks (SIN '12). - 2012. - P. 197-200.

69. Neugschwandtner M., Comparetti P.M., Jacob G., Kruegel C. FORECAST: skimming off the malware cream // In Proceedings of the 27th Annual Computer Security Applications Conference (ACSAC '11). - 2011. - P. 11-20.

70. Newsome J., Karp В., Song D. Polygraph: Automatically Generating Signatures for Polymorphic Worms // In Proceedings of the 2005 IEEE Symposium on Security and Privacy (SP '05). - 2005. - P. 226-241.

71. Perdisci R., Lanzi A., Lee W. McBoost: Boosting Scalability in Malware Collection and Analysis Using Statistical Classification of Executables // In Proceedings of the 2008 Annual Computer Security Applications Conference. -2008.-P. 301-310.

72. Preda M.D., Giacobazzi R. Semantics-based Code Obfuscation by Abstract Interpretation // Lecture Notes in Computer Science. - 2005. - vol. 3580. - P. 13251336.

73. Preda M.D., Giacobazzi R., Debray S., Coogan K., Townsend G. Modelling Metamorphism by Abstract Interpretation // Lecture Notes in Computer Science. - 2010. - vol. 6337. - P. 218-235.

74. Rieck K. Similarity measures for sequential data // Wiley Interdisciplinary Reviews: Data Mining and Knowledge Discovery. - 2011. - vol. 1. - N. 4. - P. 296304.

75. Rieck K., Holz T., Willems C., Dussel P., Laskov P. Learning and Classification of Malware Behavior // In Proceedings of the 5th international conference on Detection of Intrusions and Malware, and Vulnerability Assessment (DIMVA '08). - 2008. - P. 108-125.

76. Santos I., Ugarte-Pedrero X., Sanz B., Laorden C., Bringas P.G. Collective classification for packed executable identification // In Proceedings of the 8th Annual Collaboration, Electronic messaging, Anti-Abuse and Spam Conference (CEAS'll).-2011.-P. 23-30.

77. Shafiq M., Khayam S., Farooq M. Embedded Malware Detection Using Markov n-Grams // Lecture Notes in Computer Science. - vol. 5137. - 2008. - P. 88-107.

78. Shafiq M., Tabish S. PE-Probe: leveraging morphological information of portable executables to detect zero-day malware // Virus Bulletin Conference, Geneva, Switzerland. - 2009.

79. Shannon C. E. A mathematical theory of communication // Bell System Technical Journal. - July and October 1948. - vol. 27. - P. 379-423 and - P. 623656.

80. Singh A., Walenstein A., Lakhotia A. Tracking concept drift in malware families // In Proceedings of the 5th ACM workshop on Security and artificial intelligence (AlSec '12). - 2012. - P. 81-92.

81. Smith T.F., Waterman M.S. Identification of Common Molecular Subsequences // Journal of molecular biology. - 1981. - vol. 147. - N. 1. - P. 195197.

82. Smyth W. F. Computing Patterns in Strings / Pearson Addison Wesley (UK).-2003.-423 p.

83. Sorokin I. Comparing files using structural entropy // Journal in computer virology. - 2011. - vol. 7. - no. 4. - P. 259-265.

84. Stibor Т. A study of detecting computer viruses in real-infected files in the n-gram representation with machine learning methods // In Proceedings of the 23rd international conference on Industrial engineering and other applications of applied intelligent systems. - 2010. - P. 509-519.

85. Storlie C., Weil S. V., Quist D., Anderson В., Hash C., Brown N. Stochastic Identification and Clustering of Malware with Dynamic Traces. - 2012. - URL: http://www.stat.lanl.gov/staff/CurtStorlie/malware.pdf (дата обращения: 13.04.2013).

86. Stolfo S., Li W., Wang K. Towards Stealthy Malware Detection / In: Jha, Christodorescu, Wang (eds.) Malware Detection Book. - Springer, Heidelberg, 2006.

87. Sun L., Versteeg S., Boztas S., Yann T. Pattern recognition techniques for the classification of malware packers // In Proceedings of the 15th Australasian conference on Information security and privacy (ACISP'10). - 2010. - P. 370-390.

88. Sung A. H., Xu J., Chavez P., Mukkamala S. Static Analyzer of Vicious Executables (SAVE) // In Proceedings of the 20th Annual Computer Security Applications Conference (ACSAC '04). - 2004. - P. 326-334.

89. Tabish S., Shafiq M., Farooq M. Malware detection using statistical analysis of byte-level file content // In Proceedings of the ACM SIGKDD Workshop on CyberSecurity and Intelligence Informatics (CSI-KDD '09). - 2009. -P. 23-31.

90. Tahan G., Rokach L., Shahar Y. Mal-ID: Automatic Malware Detection Using Common Segment Analysis and Meta-Features // The Journal of Machine Learning Research. - 2012. - vol. 98888. - P. 949-979.

91. Torresani В., Meyer Y. Wavelet analysis of asymptotic signals: Ridge and skeleton of the transform // Wavelets and Applications, Proceedings of the Second Wavelet Conference. - 1989.

92. Ugarte-Pedrero X., Santos I., Bringas P.G. Structural Feature based Anomaly Detection for Packed Executable Identification // In Proceedings of the

4th International Conference on Computational Intelligence in Security for Information Systems (CISIS). - 2011. - P. 230-237.

93. Ugarte-Pedrero X., Santos I., Bringas P.G., Gastesi M., Esparza J. Semi-supervised Learning for Packed Executable Detection // In Proceedings of the 5th International Conference on Network and System Security (NSS). - 2011. - P. 342346.

94. Ugarte-Pedrero X., Santos I., Sanz В., Laorden C., Bringas P.G. Countering Entropy Measure Attacks on Packed Software Detection // 9th Annual IEEE Consumer Communications and Networking Conference - Security and Content Protection (CCNC). - 2012. - P. 164-168.

95. Wagner R.A., Fischer M.J. The String-to-String Correction Problem // Journal of the ACM. - 1974. - vol. 21. -N. 1. - P. 168-173.

96. Wang Т., Shieh S. Dectection and Identification of Executable Packers Using Support Vector Machines. - URL: https://sites.google.com/site/tywangl6/ DectectionandldentificationofExecutablePackersUsingSupportVectorMachines-draft.pdf (дата обращения: 13.04.2013).

97. Weber M., Schmid M., Schatz M., Geyer D. A Toolkit for Detecting and Analyzing Malicious Software // In Proceedings of the 18th Annual Computer Security Applications Conference. - 2002. - P. 423-431.

98. Wu Y., Chiueh Т., Zhao C. Efficient and Automatic Instrumentation for Packed Binaries // In Proceedings of the 3rd International Conference and Workshops on Advances in Information Security and Assurance (ISA '09). - 2009. -P. 307-316.

99. Wu Z., Gianvecchio S., Xie M., Wang H. Mimimorphism: a new approach to binary code obfuscation // In Proceedings of the 17th ACM conference on Computer and communications security (CCS '10). - 2010. - P. 536-546.

100. Yashveer R. Evasion and Detection of Metamorphic Viruses / BTech thesis, Department of Computer Science and Engineering, National Institute of Technology Rourkela, Rourkela-769 008, Orissa, India. - 2012.

101. Yan W., Zhang Z., Ansari N. Revealing Pacj^ed Malware // Security & Privacy, IEEE. - 2008. - vol. 6. - no. 5. - P. 65-69.

102. Ye Y., Wang D., Li T., Ye D. IMDS: intelligent malware detection system // In Proceedings of the 13th ACM SIGKDD international conference on Knowledge discovery and data mining (KDD '07). - 2007. - P. 1043-1047.

103. Ye Y., Li T., Zhu S., Zhuang W., Tas E., Gupta U., Abdulhayoglu M. Combining file content and file relations for cloud based malware detection // In Proceedings of the 17th ACM SIGKDD international conference on Knowledge discovery and data mining (KDD '11). - 2011. - P. 222-230.

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