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

  • Антонов, Алексей Евгеньевич
  • кандидат науккандидат наук
  • 2013, Москва
  • Специальность ВАК РФ05.13.11
  • Количество страниц 146
Антонов, Алексей Евгеньевич. Способы и программные средства сравнения исполняемых файлов для их оперативной кластеризации: дис. кандидат наук: 05.13.11 - Математическое и программное обеспечение вычислительных машин, комплексов и компьютерных сетей. Москва. 2013. 146 с.

Оглавление диссертации кандидат наук Антонов, Алексей Евгеньевич

ОГЛАВЛЕНИЕ

ОГЛАВЛЕНИЕ

ВВЕДЕНИЕ

Актуальность темы

Цели и задачи работы

Методы исследования

Обоснованность научных результатов

Достоверность основных результатов

Объект исследования

Предмет исследования

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

Практическая значимость

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

Внедрение результатов работы

Апробация работы

Публикации

Структура и объём работы

Краткое содержание работы

1 ОБЗОР СПОСОБОВ СРАВНЕНИЯ ИСПОЛНЯЕМЫХ

ФАЙЛОВ И ОЦЕНКИ ИХ КАЧЕСТВА

1.1 Сравнение программ и исполняемых файлов

1.1.1 Сравнение строк файла

1.1.1.1 Получение и анализ строк

1.1.1.2 Сравнение файлов по их АР1-функциям

1.1.1.3 Использование п-грамм и последовательности АРЬфункций

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

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

1.1.1.6 Сложности при сравнении файлов по АР1-функциям

1.1.2 Сравнение структуры файла

1.1.2.1 Контекстно-зависимая кусочная хеш функция

1.1.2.2 Сравнение статистических профилей

1.1.2.3 Анализ недостатков существующих способов сравнения файлов по их структуре

1.1.3 Другие способы сравнения исполняемых файлов

1.1.3.1 Анализ влияния выполнения файла на операционную систему

1.1.3.2 Сравнение статистических свойств кода

1.1.3.3 Сравнение сетевого трафика

1.2 Комбинация нескольких способов сравнения файлов

1.2.1 Голосование

1.2.2 Взвешенная комбинация

1.2.3 Комбинирование при помощи методов машинного обучения

1.2.4 Анализ недостатков существующих методов комбинирования результатов сравнения нескольких способов

1.3 Показатели качества сравнения

1.3.1 Понятие показателя качества сравнения файлов

1.3.2 Оценка качества сравнения

с использованием эталонного разбиения на классы

1.3.2.1 Индекс Ранда

1.3.2.2 Бикубическая мера

1.3.3 Оценка качества сравнения без использования разбиения на классы.46 1.3.3.1 Графовый подход к оценке качества способов сравнения

1.3.4 Недостатки существующих показателей качества сравнения

1.4 Выводы по главе

2 РАЗРАБОТКА СПОСОБОВ СРАВНЕНИЯ

ИСПОЛНЯЕМЫХ ФАЙЛОВ И ИХ КОМБИНАЦИИ

2.1 Сравнение файлов с использованием строк

2.1.1 Исключение частых не информативных строк

2.1.2 Типизация строк

2.1.3 Алгоритм выделения значимых строк

2.1.4 Расчет степени сходства

2.2 Сравнение исполняемых файлов по API-функциям

2.2.1 Выявление используемых функций

2.2.2 Сравнение файлов по API функциям

с учетом их информативности

2.3 Сравнение структуры файлов

2.3.1 Разработка алгоритма разбиения файла

2.3.2 Разработка способа сравнения файла

2.4 Способ комбинации результатов сравнения по нескольким признакам

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

2.4.2 Разработка способа комбинирования нескольких степеней сходства

2.4.3 Параметрическая настройка комбинации алгоритмов

2.5 Оценка способов сравнения файлов

2.5.1 Оценка качества с использованием многосортного множества

2.5.2 Меры качества для сравнения файлов

2.6 Выводы по главе

3 РЕАЛИЗАЦИЯ СИСТЕМЫ СРАВНЕНИЯ

И КЛАССИФИКАЦИИ ИСПОЛНЯЕМЫХ ФАЙЛОВ

3.1 Выбор среды разработки

3.2 Реализация системы

3.2.1 API монитор

3.2.2 Распаковщик

3.2.3 Препроцессор API функций

3.2.4 Препроцессор строк

3.2.5 Препроцессор структуры файлов

3.2.6 Программа для сравнения исполняемых файлов

3.2.7 Анализатор качества

3.3 Тестирование разработанных приложений

ч 3.3.1 Объект испытаний

ч 3.3.2 Цель испытаний

3.3.3 Требования к программе

3.3.4 Средства испытаний

3.3.5 Методы испытаний

3.3.6 Состав и порядок испытаний

3.3.6.1 Тестирование программы АР1 препроцессор

^ 3.3.6.2 Тестирование программы препроцессор строк

3.3.6.3 Тестирование программы препроцессор структуры

3.3.6.4 Тестирование программы, сравнивающей исполняемые файлы

3.3.7 Выводы по тестированию

3.4 Внедрение разработанной программной системы

3.5 Выводы по главе

4 ЭКСПЕРИМЕНТАЛЬНАЯ ПРОВЕРКА РАЗРАБОТАННЫХ

СПОСОБОВ СРАВНЕНИЯ ИСПОЛНЯЕМЫХ ФАЙЛОВ

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

4.2 Анализ информативности и согласованности

вердиктов антивирусных сканеров

4.2.1 Обоснованность использования антивирусных

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

4.2.2 Оценка независимости антивирусных вердиктов

4.2.3 Оценка информативности антивирусных вердиктов

ч

4.2.4 Исключение не информативных вердиктов

4.3 Настройка разработанных способов

4.4 Экспериментальная оценка разработанных способов

4.4.1 Построение выборки файлов

4.4.2 Оцениваемые способы сравнения файлов

4.4.3 Оценка качества сравнения

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

4.5.1 Методика проведения эксперимента

4.5.2 Построение выборки файлов

4.5.3 Оценка качества детектирования вредоносного

программного обеспечения

4.5.4 Результаты эксперимента

4.6 Выводы по главе

ЗАКЛЮЧЕНИЕ

СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ

Приложение А

Приложение Б

Рекомендованный список диссертаций по специальности «Математическое и программное обеспечение вычислительных машин, комплексов и компьютерных сетей», 05.13.11 шифр ВАК

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

ВВЕДЕНИЕ

Актуальность темы

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

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

Способы сравнения программ и программные средства, реализующие эти способы, исследованы в работах ряда авторов: В.А.Захарова [1, 2, 3, 4, 5], С. С. Гайсаряна [6, 7], А.В.Чернова [8, 9, 10, 11], В. П. Иванникова [6], Е. Кирда [12, 13, 14, 15, 16], У.Байера [17, 12], А. Валенштейна [18, 19, 20], X. Тамады [21, 22], Я. Ксианга [23].

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

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

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

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

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

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

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

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

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

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

Цели и задачи работы

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

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

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

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

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

• проведен анализ существующих показателей и подходов для оценки качества способов сравнения;

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

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

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

Методы исследования

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

Обоснованность научных результатов

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

Достоверность основных результатов

Достоверность основных результатов диссертации подтверждается: использованием достоверных исходных данных, результатами экспериментальных исследований, практическим применением разработанных способов и программных средств сравнения исполняемых файлов в ЗАО «Лаборатория Касперского», ООО «Софт-сервис», филиале ФГБОУ ВПО «Национальный исследовательский университет «МЭИ» в г. Смоленске.

Объект исследования

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

Предмет исследования

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

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

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

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

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

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

Практическая значимость

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

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

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

• Способ сравнения файлов, основанный на анализе извлекаемых из них строк.

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

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

• Способ оценки качества сравнения файлов.

Внедрение результатов работы

Разработанные способы сравнения исполняемых файлов внедрены в производственный процесс на ЗАО «Лаборатория Касперского» и применяются для кластеризации и классификации новых вредоносных объектов в отделе «Исследования и разработки».

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

Результаты диссертационной работы используются в учебном процессе на кафедре вычислительной техники филиала ФБГОУ ВПО «Национальный исследовательский университет «МЭИ» в г. Смоленске.

Апробация работы

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

• 6-ая межрегиональная научно-техническая конференция студентов и аспирантов «Информационные технологии, энергетика и экономика», Смоленск, 2009.

• 3-я международная студенческая конференция по проблемам компьютерной безопасности, Москва 2010.

• 7-ая межрегиональная научно-техническая конференция студентов и аспирантов «Информационные технологии, энергетика и экономика», Смоленск, 2010.

• 8-ая межрегиональная научно-техническая конференция студентов и аспирантов «Информационные технологии, энергетика и экономика», Смоленск, 2011.

• 2-ая международная научно-практическая конференция «Информатика, математическое моделирование, экономика», Смоленск, 2012.

• 9-ая межрегиональная научно-техническая конференция студентов и аспирантов «Информационные технологии, энергетика и экономика», Смоленск, 2012.

Публикации

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

Структура и объём работы

Работа состоит из введения, четырех глав, заключения, списка литературы (98 наименований) и двух приложений. Диссертация представлена на 139 страницах машинописного текста (без приложений), содержит 45 рисунков и 15 таблиц.

Краткое содержание работы

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

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

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

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

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

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

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

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

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

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

• API монитор,

• распаковщик,

• обработчики (препроцессоры) различных признаков файла,

• программа сравнения файлов,

• анализатор качества сравнения.

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

В заключении перечисляются основные результаты работы.

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

1.1 Сравнение программ и исполняемых файлов

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

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

Существует два основных подхода к сравнению исполняемых файлов: в первом — анализируется поведение исполняемого файла при его выполнении, во втором производится анализ некоторых свойств, признаков и характеристик файла [18].

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

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

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

Сравнение исполняемых файлов по поведению включает в частности: методы, основанные на сравнении графов вызовов функций [26, 27, 28]; сравнения значений входных и выходных переменных.

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

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

Для сравнения исполняемых файлов по содержанию будем использовать понятие степени сходства & Обычно в качестве 5 используется некоторая функция расстояния. Существуют различные определения показателя сходства [18]. Далее мы будем использовать определение, приведенное в работах [21, 23].

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

• б [0,1],

• 5'(<э/ — принимает малые значения, для схожих файлов, имеющих близкие значения основных параметров, свойств, характеристик,

• ^^ — принимает большие значения, близкие к 1, для пары различающихся файлов.

Для сравнения по содержанию могут использоваться следующие признаки:

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

• Используемые интерфейсные функции (Application Program Interface — API).

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

• Сравнение облачных признаков (с англ. Cloud) включает в себя анализ внешних данных, полученных при помощи специальных интернет-сервисов, таких как сеть безопасности Касперского [29] (с англ. Kaspersky Security Network) или облачная сеть Семантек [30] (с англ. Symantec Cloud Network), о популярности, времени активности, географическом положении ресурсов, с которых была получен указанный файл. На основе этих данных делается предположение о сходстве или различии.

• Анализ сетевого трафика, генерируемого исполняемым файлом.

• Изменения в настройках операционной системы, вызванные выполнением файла.

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

• Намеренное сокрытие признаков. Часто авторы используют набор методов, усложняющих анализ [31, 32, 33]. Например, для сокрытия поведения применяются различные приемы, затрудняющие выполнение файла в виртуальных средах. Для предотвращения дизассемблирования исполняемого кода используется шифрование и полиморфизм [34]. Извлечение признаков в таких условиях технологически сложный процесс. Например, в работе [35] используются приемы деобфускации при помощи статистических методов.

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

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

• Отсутствие определенных признаков. Часто для исполняемого файла не удается выделить признаки некоторого типа. Например, если файлы не проявляют сетевой активности, то сравнение их по сетевому трафику [36, 37] невозможно.

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

Проведем обзор существующих способов сравнения исполняемых файлов.

1.1.1 Сравнение строк файла

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

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

1.1.1.1 Получение и анализ строк

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

Распространены следующие правила записи строк:

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

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

В исполняемом файле строка может быть записана в одной из следующих кодировок: KOI-8, ACSII, UTF8, UTF16, UTF32 и др.

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

1) Установить указатель чтения файла в начальную позицию. Создать список результирующих строк.

2) Создать новый список печатных символов.

3) Прочитать последовательность байт, которой кодируется один символ. Для KOI-8, ACSII, UTF8 — символ кодируется одним байтом, для UTF16 — двумя байтами, для UTF32 — 4-мя байтами.

4) Если прочитанная последовательность представляет собой печатный символ, перейти к пункту 5. Иначе, перейти к пункту 7.

5) Добавить прочитанный символ в список печатных символов.

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

7) Если прочитанная последовательность байт представляет собой нулевые байты, преобразовать имеющийся список печатных символов в строку и

добавить ее в результирующий набор строк. Перейти к пункту 9. Иначе, перейти к следующему пункту.

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

9) Переместить указатель позиции чтения файла на 1 байт и перейти к пункту 2.

Алгоритм нужно повторить для каждой из требуемых кодировок. Алгоритм извлечения строк реализован в ряде утилит. В частности, можно использовать свободно распространяемую утилиту GNU Strings [38].

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

В работе [39] строки используются для классификации исполняемых файлов наряду с другими признаками. Каждая строка используется как признак для определения степени принадлежности исполняемого файла к некоторому классу.

В работе [40] для сравнения файлов также используется набор строк, извлекаемых из файла. Строки предварительно фильтруются: для фильтрации используется словарь подстрок — если в строке отсутствуют подстроки из словаря, строка не используется в качестве признака.

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

• зашифрованные строки;

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

• стандартные строки, вставляемые компилятором, не несущие информации о сходстве.

В работе [40] для фильтрации таких строк предлагается использовать словарь допустимых слов, который состоит из:

• имен API функций;

• часто используемых компьютерных слов;

• набора допустимых постфиксов вида .exe, .dll.

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

1.1.1.2 Сравнение файлов по их API-функциям

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

Для получения используемых файлом API-функций применяют методы статического или динамического анализа [41, 42]. Статический анализ производит извлечение используемых функций посредством разбора таблицы импорта или при помощи процедуры дизассемблирования. Такой анализ позволяет выявить API-функции, которые программа исполняемого файла потенциально может использовать в процессе работы. Поскольку в современных ОС взаимодействие программы с системой осуществляется только посредством API-функций, их перечень позволяет предположить, какие именно действия производит программа в системе. Статический анализ применяется в ряде работ по сравнению файлов, например, для обнаружения факта незаконного копирования программного обеспечения [21, 43].

Однако статический анализ плохо применим для «защищенных» исполняемых файлов. Применение, например, методов шифрования и полиморфизма [44, с. 165], позволяет скрыть импортируемые интерфейсные функции. Кроме того, в исполняемый файл могут быть намеренно вставлены не используемые программой функции. Таким образом, список API-функций, полученный методом статического анализа, может оказаться неполным или содержать неиспользуемые функции.

Для получения API-функций «защищенных» файлов применяют динамический анализ, заключающийся в запуске исполняемого файла в контролируемой среде и сборе информации о его работе. Например, такие возможности предоставляют технологии: эмулирования [45, 46] и «Песочницы» (с англ. Sandbox) [47, 48, с. 33]. Технология эмулирования осуществляет запуск файла в специальной виртуальной среде. В такой среде все команды и функции операционной системы реально не выполняются, а их выполнение эмулируется специальной программой. В процессе эмулирования может быть получена последовательность вызовов API-функций исследуемого исполняемого файла. Технология «песочница» запускает файл на реальном компьютере, собирая информацию при помощи перехвата вызовов API-функций.

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

Динамический анализ исполняемых файлов используется в работах [49], [17], [50]. Некоторые способы оперируют только API-функциями [50], другие обобщают набор API-функций в некоторые высокоуровневые системные события [51], [17].

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

1.1.1.3 Использование п-грамм и последовательности API-функций

В работе [49] последовательность API-функций двух сравниваемых файлов ßvifj разбивается на множество n-грамм NG = (ngi, ng2, ... ng\NGi), \NG\ -мощность множества п-грамм. Подсчитывается сколько раз каждая п-грамма встретилась в процессе выполнения ß и fj. В качестве степени сходства

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

|м?|

S^am=Y,\count{f j.ng^-countifJ,ngk)\ , (1.1)

k=1

где S?g"'m — степень сходства пары файлов f„ fj, count(fit ngk) — функция, рассчитывающая сколько раз п-грамма API-функций ngk встретилась в процессе выполнения файла f.

Похожие диссертационные работы по специальности «Математическое и программное обеспечение вычислительных машин, комплексов и компьютерных сетей», 05.13.11 шифр ВАК

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

СПИСОК ИСПОЛЬЗОВАННЫХ источников

1. Захаров, В. А. Проблема эквивалентности программ: модели, алгоритмы, сложность: дис. на соискание ученой степени доктора физико-математических наук: 01.01.09 / В. А. Захаров — М., 2012.-438 с.

2—Захаров,—В—А:—Вычислете-инвариантов последовательных программ / В. А. Захаров // Тезисы докладов XIII Международной конференции «Проблемы теоретической кибернетики», Часть 1.— Казань, 2002. - С. 68.

3. Варновский, Н. П., Захаров, В. А., Кузюрин, H. Н. Современные методы об-фускации программ: классификация и сравнительный анализ / Н. П. Варновский, В. А. Захаров, H. Н. Кузюрин, А. В. Шокуров // Известия ЮФУ №1. — М., 2007, —С. 140-198.

4. Захаров, В. А., Иванов, К. С. О противодействии некоторым алгоритмам статического анализа программ / В. А. Захаров, К. С. Иванов // Труды конференции (МаБИТ-03). — М., 2004. — С. 282-287.

5. Zakharov, V. A., Zakharyaschev, I. M. On the equivalence-checking problem for sequential programs with partially commuting and monotonie statements / V. A. Zakharov, I. M. Zakharyaschev // Proceedings of the XI Congress of Mathematics of Serbia and Montenegro. — Petrovac, Montenegro, 2004. — C. 79.

6. Аветисян, А. И., Иванников, В. П., Гайсарян, С. С. Анализ и трансформация программ / А. И. Аветисян, В. П. Иванников, С. С. Гайсарян // Всероссийский конкурсный отбор обзорно-аналитических статей по приоритетному направлению "Информационно-телекоммуникационные системы".— СПб., 2008. — 78 с.

7. Гайсарян, С. С., Чернов, А. В. О некоторых задачах анализа и трансформации программ / С. С. Гайсарян, А. В. Чернов, А. А. Белеванцев, О. Р. Маликов, Д. М. Мельник, А. В. Меньшикова // Труды института системного программирования РАН. Том 5.— М.: Институт системного программирования РАН, 2004. — С. 7-40.

8. Troshina, К., Chernov, A. Profile-Based Type Reconstruction for Decompilation / K. Troshina, A. Chernov, A. Fokin // In Proceedings of IEEE 17th International Conference on Program Comprehension.— Vancouver, Canada, 2009. — C. 263-267.

9. Chernov, A. A New Program Obfuscation Method / A. Chernov // In Proceedings of the Adrei Ershov Fifth International Conference "Perspectives of Systems Informatics". International Workshop on Program Understanding. — Novosibirsk, 2003, —C. 19-41.

10. Долгова, E. H., Чернов, А. В. О некоторых задачах обратной инженерии / Е. Н. Долгова, А. В. Чернов // Труды Института системного программирования, Том 15. —М., 2008, —С. 119-134.

11. Чернов, А. В. Интегрированная инструментальная среда Poirot для изучения методов маскировки программ / А. В. Чернов // Препринт Института системного программирования РАН. — М.: ИСП РАН, 2003. — С. 1-14.

12. Bayer, U., Kirda, Е. Improving the Efficiency of Dynamic Malware Analysis / U. Bayer, E. Kirda, C. Kruegel // 25th Symposium On Applied Computing (SAC), Track on Information Security Research and Applications. — Sierre, Switzerland,

2010, —C. 142-163.

13. Kirda, E. Malware Behavior Clustering / E. Kirda // Encyclopedia of Cryptography and Security (2nd Ed.). — Springer, 2011. — C. 751-752.

14. Stamminger A., Kruegel C. Automated Spyware Collection and Analysis / A. Stamminger, C. Kruegel, G. Vigna, E. Kirda // Information Security Conference (ISC). — Pisa, Italy, 2009. — C. 123-145.

15.Moser, A., Kruegel, C. Exploring Multiple Execution Paths for Malware Analysis / A. Moser, C. Kruegel, E. Kirda // IEEE Security and Privacy. — Oakland, 2007. —C. 67-93.

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

2011, —C. 85-102.

17. Bayer, U. Scalable, behavior-based malware clustering / U. Bayer, P. M. Hlaus-chek, C. Kruegel, E. Kirda // Proceedings of the Network and Distributed System Security Symposium. — San Diego, California: IEEE, 2009. — C. 1-17.

18. Walenstein, A. Similarity in programs / A. Walenstein, M. El-Ramly, J. R. Cordy, W. Evans // Dagstuhl Seminar Proceedings. — Dagstuhl, Germany: Internationales Begegnungs und Forschungszentrum fr Informatik (IBFI), 2007. — C. 16-27.

19. Walenstein, A., Lakhotia, A. A transformation-based model of malware derivation / A. Walenstein, A. Lakhotia // Proceedings of Malisious and Unwanted software. — Fajardo, USA, 2012. — C. 17-25.

20. Chouchane, M. R., Walenstein, A. Using Markov chains to filter machine-morphed variants of malicious programs / M. R. Chouchane, A. Walenstein, A. Lakhotia // Malisious and Unwanted software. — Alexandria, USA, 2008. — C. 77-84.

21. Tamada, H. Dynamic software birthmarks to detect the theft of windows application / H. Tamada, K. Okamoto, M. Nakamura, A. Monden, K. Matsumoto // International Symposium on Future Software Technology. — Xi'an, China, 2004. —

C. 139-148.

22. Kakimoto, T., Tamada, H. Using software birthmarks to identify similar classes and major functionalities / T. Kakimoto, H. Tamada, A. Monden, Y. Kamei // Proceedings of the 2006 international workshop on Mining software repositories. — New York, USA, 2006. — C. 171-172

23. Cesare, S. Software similarity and Classification / S. Cesare, Y. Xiang. — London: Springer, 2012. — 104 c.

24. Executable File Formats: Executable and Linkable Format, Portable Executable, Com File, Fat Binary, Universal Binary, A. Out, Coff, Mach-O, Exe / General Books LLC. — New York, USA: General Books LLC, 2010. — 74 c.

25. Kaminsky, D., Ferguson, J., Larsen, J. Reverse Engineering Code with IDA Pro /

D. Kaminsky, J. Ferguson, J. Larsen, L. Miras, W. Pearce. — Waltham, USA: Syngress, 2008, —316 c.

26. Lhotâk, О. Comparing call graphs / O. Lhotâk // Proceedings of the 7th ACM SIGPLAN-SIGSOFT workshop on Program analysis for software tools and engineering. — New York, USA, 2007. — C. 37-42.

27. Grove, D., Chambers, C. A framework for call graph construction algorithms / D. Grove, C. Chambers // ACM Transactions on Programming Languages and Systems. — New York, USA, 2001. — C. 685-746.

28. Tip, F., Palsberg, J. Scalable propagation-based call graph construction algorithms / F. Tip, J. Palsberg // In Proceedings of the Conference on Object-Oriented Programming Systems, Languages, and Applications. — New York, USA: ACM Press, 2000, — C. 281-293.

29. Kaspersky Internet Security [Электронный ресурс] / ЗАО "Лаборатория Касперского". — 2011. — Режим доступа:

http://www.kaspersky.ru/downloads/pdf/kaspersky_security_network.pdf.

30. Protected clouds: Symantec solutions for consuming, building, or extending into the cloud [Электронный ресурс] / Symantec.— 2011.— Режим доступа: https://www.symantec.com/content/en/us/enteфrise/brochures/b-protected-clouds_21260411 .en-us.pdf.

31. Barak, В., Goldreich, O. On the (impossibility of obfuscating programs / B. Barak, O. Goldreich, R. Impagliazzo, S. Rudich // Journal of the ACM. Volume 59 Issue 2. — New York, USA: ACM, 2012. — C. 1-18.

32. Wroblewski, G. General Method of Program Code Obfuscation / G. Wroblewski — Wroclaw, Poland, 2002. — 112 c.

33. Anckaert, В., Madou, M. Program obfuscation: a quantitative approach / B. Anckaert, M. Madou, B. D. Sutter, D. B. Bus // Proceeding QoP '07 Proceedings of the 2007 ACM workshop on Quality of protection. — New York, USA: ACM, 2007, —C. 15-20.

34. Федулов, А. С., Антонов, A. E. Алгоритм обнаружения и обхода антиотладочных и антиэмуляционных приемов / А. С. Федулов, А. Е. Антонов // Инфор-

мационно-управляющие системы. — СПб.: ГУАП, РИЦ, 2011. — С. 50-54.

35. Антонов, А. Е. Методы деобфускации на основании анализа частоты появления полезных и мусорных команд / А. Е. Антонов // Информационные технологии, энергетика и экономика. Сб. трудов 7 межрег. науч.-техн. конф. студентов и аспирантов. Т 1. — Смоленск: Универсум, 2010. — С. 8-13.

36. Salgarelli, L., Gringoli, F., Karagiannis, Т. Comparing Traffic Classifiers / L. Salgarelli, F. Gringoli, T. Karagiannis // ACM SIGCOMM Computer Communication Review. Volume 37. Number 3. — New York, USA: ACM, 2007. — C. 65-68.

37. Ghossoon M. W. Al-Saadoon, Hilal MY Al-Bayatti A Comparison of Trojan Virus Behavior in Linux and Windows Operating Systems / Ghossoon M. W. Al-Saadoon, Hilal MY Al-Bayatti // World of Computer Science and Information Technology Journal (WCSIT). Volume 1. Number 3. — 2001. — C. 56-62.

38. Утилита Gnu Strings [Электронный ресурс] / Free the Software. — 2006. — Режим доступа: http://sourceware.org/binutils/docs/binutils/strings.html.

39. Schultz, M. Data mining methods for detection of new malicious executables / M. Schultz, E. Eskin, E. Zadok, and S. Stolfo // Proceedings of the IEEE Symposium on Security and Privacy. — Los Alamitos: IEEE Press, 2001. — C. 38-49.

40. Sio-Iong, A. Unknown Malicious Identification / A. Sio-Iong, G. Len // Advances in Electrical Engineering and Computational Science. — Berlin: Springer, 2009. — C. 301-312.

41. Тихонов, А. Ю. Комбинированный (статический и динамический) анализ бинарного кода / А. Ю. Тихонов, А. И. Аветисян // Журнал: Труды Института системного программирования РАН, том 22. —- М., 2012. — С.131-151.

42. Szor, P. The art of computer virus research and defense / P. Szor. — Addison-Wesley Professional, 2005. — 744 c.

43. Wang, X. Detecting software theft via system call based birthmarks / X. Wang, Y. Zhu, P. Liu // Proceedings of 25th Annual Computer Security Applications Conference. — USA, Penselvania: Dept. of Comput. Sci. & Eng., 2009. — C. 149-158.

44. Касперски, К. Компьютерные вирусы изнутри и снаружи / К. Касперски. — СПб.: Питер, 2013. — 528 с.

45. Barrio, V. М. Study of the techniques for emulation programming / V. M. Barrio // Computer Science Engenieering. — FIB UPC, 2001. — 152 c.

46. Pierce, C. PyEmu: A multi-purpose scriptable IA-32 emulator / C. Pierce // Black Hat. — USA, 2007. — C. 203-240

47. Lukan, D. Using Sandboxes For Hostile Program Analysis [Электронный ресурс] / D. Lukan // Infosec institute resources. — 2012. — Режим доступа: http://resources.infosecinstitute.com/sandboxes.

48. Bridges, W. C. Studying a Virtual Testbed for Unverified Data / W. C. Bridges. — New York, USA: ProQuest, 2008. — 52 c.

49. Apel M. Measuring Similarity of Malware Behavior / M. Apel, C. Bockermann, M. Meier // The 5th LCN Workshop on Security in Communications Networks. Zürich, Switzerland: IEEE, 2009. C. 891-898.

50. Li, P. On challenges in evaluating malware clustering / P. Li, L. Liu, D. Gao, M. K. Reiter // Recent Advances in Intrusion Detection 13th International Symposium. — Ottawa, 2010. — C. 238-255.

51. Lee, T. Behavioral Classification // T. Lee, J. J. Mody // Proceedings of EICAR. — Budapest, Hungary, 2006. — C. 201-217.

52. Гасфилд, Д. Строки, деревья и последовательности в алгоритмах: Информатика и вычислительная биология / Д. Гасфилд. — Спб.: Невский диалект; БХВ-Петербург, 2003. — 654 с.

53. Kornblum, J. D. Identifying almost identical files using context triggered piecewise hashing / J. D. Kornblum // Digital Investigation (vol. 3). — USA: Information Security Institute, Johns Hopkins University, 2006. — C. 91-97.

54. French, D. Fuzzy Hashing Against Different Types of Malware [Электронный ресурс] / D. French // CERT. — Электрон, текстовые дан. 2010. - Режим доступа: http://blog.sei.cmu.edu/post.cfm/fuzzy-hashing-against-different-types-of-malware.

55. Breitinger, F., Baier, H. Performance Issues about Context-Triggered Piecewise Hashing / F. Breitinger, H. Baier // Lecture Notes of the Institute for Computer Sciences, Social Informatics and Telecommunications Engineering Volume 88. — Dublin, Ireland: Springer Berlin Heidelberg, 2012. — C. 141-155.

56. Ebringer, T. A Fast Randomness Test that Preserves Local Detail / T. Ebringer, L. Sun, S. Boztas // Proceedings of the 18th Virus Bulletin International Conference. — United Kingdom: Virus Bulletin Ltd, 2008. — C. 34-42.

57. Lakhina, A. Mining Anomalies Using Traffic Feature Distributions / A. Lakhina, M. Crovella, C. Diot // SIGCOMM 05 Proceedings of the 2005 conference on Application. — Philadelphia, USA, 2005. — C. 217-228.

58. Bailey, M. Automated classification and analysis of internet malware / M. Bailey, J. Oberheide, J. Andersen, Z. M. Mao, F. Jahanian, J. Nazario // Proceedings of the 10th international conference on Recent advances in intrusion detection. — Berlin: Springer-Verlag, Heidelberg, 2007. — C. 178-197.

59. Cilibrasi, R. Clustering by compression / R. Cilibrasi, P.M.B. Vitanyi // EEE Transactions on Information Theory. — Ieeexplore.ieee.org, 2005. — C. 1523-1545.

60. Gregoire J. A static, packer-agnostic filter to detect similar malware samples / J. M. Comparetti, M. Neugschwandtner, C. Kruegel, G. Vigna // Detection of Intrusions and Malware, and Vulnerability Assessment. Berlin: Springer, 2013. C. 102-122

61. Santos, I. Idea: Opcode-Sequence-Based Malware Detection / I. Santos, F. Brezo, J. Nieves, Y. К. Penya, B. Sanz, C. Laorden, P. G. Bringas // Engineering Security Software and Systems. — Berlin: Springer, 2010. — C. 35^13.

62. Габидулин, Э. M. Лекции по теории информации / Э. M. Габидулин, Н. И. Пилипчук. — М.: МФТИ, 2007. — 214 с.

63. Tan, Р. N. Introduction to Data Mining / P. N. Tan, M. Steinbach, V. Kumar. — Addison-Wesley, 2005. — 769 c.

64. Choi, S. S. A survey of binary similarity and distance measures / S. S. Choi,

S. H. Cha, С. Tappert // Journal on Systemics, Cybernetics and Informatics. V.8, №1. — 2010, —C. 43-48.

65. Wehner, S. Analyzing worms and network traffic using compression / S. Wehner // Journal of Computer Security, Vol 15, Number 3. — 2007. — C. 303-320.

______66. Perdisci, R. Behavioral clustering of http-based malware and signature generation

using malicious network traces / R. Perdisci, W. Lee, N. Feamster // USENIX Symposium on Networked Systems Design and Implementation. — NSDI, 2010. — C. 351-365.

67. Chen, F. R. Multiple similarity measures and source-pair information in story link detection / F. R. Chen, A. O. Farahat, Brants // Human Language Technology Conference, North American Chapter of the Association for Computational

^ Linguistics Annual Meeting. — USA, Boston, MA: East Stroudsburg PA, 2004. —

C. 313-320.

68. Pangos, A. Combining statistical similarity measures for automatic induction of semantic classes / A. Pangos // Automatic Speech Recognition and Understanding. — IEEE, 2005. — C. 278-283.

69. Bilenko, M. Adaptive Duplicate Detection Using Learnable String Similarity Measures / M. Bilenko, R. J. Mooney // Proceedings of the Ninth ACM SIGKDD International Conference on Knowledge Discovery and Data Mining. — USA, New York: ACM, 2003. — C. 39-48.

70. Антонов, A. E. Оценка качества кластеризации вредоносного программного обеспечения / А. Е. Антонов // Информационные технологии, энергетика и экономика. Сб. трудов 8 межрег. науч.-техн. конф. студентов и аспирантов. Т 1. — Смоленск: Универсум, 2011. — С. 3-6.

71. Ackerman, М., Ben-David, S. Measures of Clustering Quality: A Working Set of Axioms for Clustering / M. Ackerman, S. Ben-David // NIPS. — USA, 2008. — C. 98-129.

72. Amig', E. A comparison of extrinsic clustering evaluation metrics based on

formal constraints. Information Retrieval / E. Amig', J. Gonzalo, J. Artiles, F. Verdejo I I Information (vol. 12 issue 4). — USA: Retrieval Kluwer Academic Publishers Hingham, 2008. — C. 461^86.

73. Maimon, O., Rokach, L. Decomposition Methodology for Knowledge Discovery „.and Data Mining: Theory and Applications / O. Maimon, L. Rokach. — World

Scientific Publishing, 2005. — 323 c.

74. Bagga, A., Cross-Document Event Coreference: Annotations, Experiments, and Observations / A. Bagga, B. Baldwin // Proc. ACL-99 Workshop on Coreference and Its Applications. — 1998. — C. 1-8.

75. Воронцов, К. В. Лекции по логическим алгоритмам классификации / К. В. Воронцов. — М., 2007. — 53 с.

76. Федулов, А. С., Антонов, А. Е. Идентификация типа файла на основе структурного анализа / А. С. Федулов, А. Е. Антонов // Прикладная информатика № 2. — М.: Синергия ПРЕСС, 2013. — С. 68-77.

77. Федулов, А. С., Антонов, А. Е. Сравнение файлов по бинарной структуре / А. С. Федулов, А. Е. Антонов // Информатика, математическое моделирование, экономика. Том 2: сб. статей, 2 междунар. науч.-практ. конф. — Смоленск: Смоленский филиал АНО ВПО ЦС РФ «Российский университет кооперации», 2012, —С. 185-195.

78. Болдин, А. Н., Задиранов, А. Н. Основы автоматизированного проектирования: учеб. пособие / А. Н. Болдин, А. Н. Задиранов. — М: Московский государственный индустриальный университет, 2006. — 104 с.

79. Калиткин, H. Н. Численные методы, 2-е издание / H. Н. Калиткин. — СПб.: БХВ-Петербург, 2011. — 592 с.

80. Вычислительная среда MatLab [Электронный ресурс] / Math Works. — 2013. — Режим доступа: www.mathworks.com.

81. Win 32 API Monitor [Электронный ресурс] / APIMonitor team. — 2013. — Режим доступа: APIMonitor.com.

82. VirtualBox [Электронный ресурс] / Oracle. — 2013. — Режим доступа: www.virtualbox.org.

83. The Ultimate Packer for eXecutables [Электронный ресурс] / Википедия. Свободная энциклопедия. — 2013. — Режим доступа: ru.wikipedia.org/wiki/UPX. -84. Программа для сжатия исполняемых файлов ASPack [Электронный ресурс] / Википедия. Свободная энциклопедия. — 2013. — Режим доступа: ru.wikipedia.org/wiki/ASPack.

85. Автоматическая распаковка программ Quick Unpack [Электронный ресурс] / АН Team. — 2013. — Режим доступа: qunpack.ahteam.org.

86. ГОСТ 19.301-79 Программа и методика испытаний. Требования к содержанию и оформлению. — М., 1979. — 49 с.

87. Тестирование по стратегии чёрного ящика [Электронный ресурс] / Википедия. Свободная энциклопедия. — 2013. — Режим доступа: http://ш.wikipedia.org/wiki/Tecтиpoвaниe_пo_cтpaтeгии_чepнoгo_ящикa.

88. Антонов, А. Е. Программа кластерного анализа исполняемых файлов / А. Е. Антонов // РОСПАТЕНТ. Свидетельство о государственной регистрации программы для ЭВМ №2013612928 от 18.03.2013. — 2013.

89. Антонов, А. Е. Анализ типологий вредоносных программ / А. Е. Антонов // Информационные технологии, энергетика и экономика. Сб. трудов 6 межрег. науч.-техн. конф. студентов и аспирантов. Т 1. — Смоленск: Универсум, 2009. — С. 6-9.

90. Антонов, А. Е. Разработка типологизации вредоносных программ / А. Е. Антонов // Информационные технологии, энергетика и экономика. Сб. Трудов 6 межрег. науч.-техн. конф. студентов и аспирантов. Т 1. — Смоленск: Универсум, 2009. —С. 9-13.

91. Антонов, А. Е. Использование вердиктов антивирусных сканеров для кластеризации исполняемых файлов / А. Е. Антонов // Естественные технические науки. № 2. — М.: «Спутник+», 2013. — С. 294-299.

92. Бесплатный онлайн сканер вредоносных файлов [Электронный ресурс] — Электрон. — Малага, Испания: [б. и.], 2012. — Режим доступа: https://www.virustotal.com.

93. Технология «гибридной» защиты в продуктах Лаборатории Касперского -----[Электронный_р_есурс^]^Электрон. текстовые дан. — М.: [б.и.], 2011. — Режим

доступа: http://www.anti-malware.ru/reviews/Kaspersky_hybrid_protection.

94. Антонов А. Е. Функциональное сравнение исполняемых файлов / А. Е. Антонов // Информационные технологии, энергетика и экономика. Сб. трудов 9 межрег. науч.-техн. конф. студентов и аспирантов. Т 1. — Смоленск: Универсум, 2012, —С. 3-7.

95. Антонов, А. Е. Сравнение исполняемых файлов по строкам /

A. Е. Антонов Н Информационные технологии, энергетика и экономика. Сб. трудов 8 межрег. науч.-техн. конф. студентов и аспирантов. Т 1. — Смоленск: Универсум, 2011. — С. 6-11.

96. The independent IT security institute [Электронный ресурс] / AVTest. — 2013. — Режим доступа: www.av-test.org.

97. Гмурман, В. Е. Теория вероятностей и математическая статистика: 9-е изд. /

B. Е. Гмурман. — М.: Высшая школа, 2003. — 479 с.

98. Receiver operating characteristic [Электронный ресурс] / Википедия. Свободная энциклопедия. -2013. - Режим доступа: http://en.wikipedia.org/wiki/Receiver_operating_characteristic.

______Приложение А___

Свидетельство о государственной регистрации

программы для ЭВМ

&ДЖЖЖЖ ^СМвН

Щ ^ШШШРздДШШ^Ш!!« 1ж

ж ^аинК^ раВЩ^^щг^ $

ж ***** й

ж ^^ И ж

ж

$ и^и ж

5 СВИДЕТЕЛЬСТВО *

Ж о государственной регистрации программы для ЭВМ Ж

ж

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

Ж Ж

ж ж

$ ж ж

ж ж

6 Правообладатель(ли): Антонов Алексей Евгеньевич (Ш1) Ш

Ж

ж ж

ж ж

й ж

ж ж

ф Автор(ы): Антонов Алексей Евгеньевич (И11) щ

Ж

Ж

Заявка №2012661299 $

Ж

Дата поступления 18 декабря 2012 Г. ^

Зарегистрировано в Реестре программ для ЭВМ Й

18 марта 2013 г. Ж

Ж

Руководитель Федеральной службы Ж

по интеллектуальной собственности

Ж

Б.П. Симонов Ж Ж

ж

жжжжжжжжжжжжжжжжжжжжжжжж«

ттшШтАш фвдшращшш

Форма № 43 ПР, БД, ТП-2011

ФЕДЕРАЛЬНАЯ СЛУЖБА ПО ИНТЕЛЛЕКТУАЛЬНОЙ СОБСТВЕННОСТИ

(РОСПАТЕНТ)

Бережковская паб., 30, корп. 1, Москва, Г-59, ГСП-5,123995. Телефон (8-499) 240-60-15. Факс (8-495) 531-63-18

На№ -

от 20.02.2013

АЕ.Антонову, ул. 25 Сентября, 20, кв. г. Смоленск, 214019

J

УВЕДОМЛЕНИЕ о государственной регистрации

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

(21) по заявке № 2012661299

(22) Дата поступления заявки 18.12.2012

(71) Заявитель(и) Антонов Алексей Евгеньевич

внесена в Реестр программ для ЭВМ, регистрационный №2013612928 от 18.03.2013 Заявка рассмотрена с учетом поступивших 21.02.2013 дополнительных материалов. Приложение: свидетельство о государственной регистрации на 1 л. в 1 экз.

Руководитель

Симонов Б.П.

Мамонтов А.В. (499)240-33-42

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