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

  • Кириллов Алексей Сергеевич
  • кандидат науккандидат наук
  • 2022, ФГАОУ ВО «Южный федеральный университет»
  • Специальность ВАК РФ05.13.19
  • Количество страниц 156
Кириллов Алексей Сергеевич. Метод обнаружения и кластеризации вредоносного программного обеспечения с использованием признаков декларируемого и фактического функционала: дис. кандидат наук: 05.13.19 - Методы и системы защиты информации, информационная безопасность. ФГАОУ ВО «Южный федеральный университет». 2022. 156 с.

Оглавление диссертации кандидат наук Кириллов Алексей Сергеевич

Введение

Глава 1. АНАЛИЗ СОСТОЯНИЯ И РАЗВИТИЯ ВИРУСНЫХ УГРОЗ И МЕТОДОВ

ПРОТИВОДЕЙСТВИЯ ИМ

1.1 Обзор развития вирусных угроз за последние годы

1.2 Тенденции в разработке вредоносного программного обеспечения

1.3 Обзор методов анализа вредоносного ПО

1.3.1 Техники статического анализа ВПО

1.3.2 Техники поведенческого анализа ВПО

1.3.3 Способы реализации техник поведенческого анализа ВПО

1.4 Обзор методов обнаружения вредоносного ПО

1.5 Обзор методов кластеризации вредоносного ПО

1.6 Выводы по первой главе

Глава 2. РАЗРАБОТКА МЕТОДА ОБНАРУЖЕНИЯ И КЛАСТЕРИЗАЦИИ ВРЕДОНОСНОГО

ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ

2.1 Описание метода обнаружения и кластеризации вредоносного программного обеспечения

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

2.3 Описание метода обнаружения вредоносного программного обеспечения

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

2.3.2 Реализация процесса линковки на примере ОС Windows

2.3.3 Идентификация модуля - источника вызова

2.4 Формирование признакового пространства

2.5 Обнаружение ВПО путем кластеризации и классификации

2.6 Формирование тестовой выборки

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

Стр.

2.8 Выводы по второй главе

Глава 3. РАЗРАБОТКА АЛГОРИТМА КЛАСТЕРИЗАЦИИ ВРЕДОНОСНОГО ПРОГРАММНОГО

ОБЕСПЕЧЕНИЯ

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

3.2 Описание алгоритма кластеризации вредоносного программного обеспечения

3.3 Формирование признакового пространства, обработка данных

3.4 Формирование тестовой выборки

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

3.6 Выводы по третьей главе

Глава 4. АВТОМАТИЗИРОВАННАЯ СИСТЕМА ОБНАРУЖЕНИЯ ВРЕДОНОСНОГО

ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ

4.1 Структура автоматизированной системы обнаружения ВПО

4.2 Статический анализ

4.3 Поведенческий анализ

4.3.1 Получение информации о вызываемых системных функциях

4.3.2 Получение информации об исполнимом модуле

4.3.3 Получение информации о контексте вызова системной функции

4.4 Особенности и ограничения разработанного метода обнаружения и кластеризации ВПО

4.5 Анализ существующих средств автоматизированного анализа

4.5.1 CWSandbox

4.5.2 Joebox

4.5.3 Cuckoo Sandbox

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

4.7 Выводы по четвертой главе

Стр.

Заключение

Список сокращений и условных обозначений

Словарь терминов

Список литературы

Список рисунков

Список таблиц

Приложение А. Пример данных об исследуемом образце для

метода обнаружения ВПО

А.1 Список вызванных функций с метками об их источнике

А.2 Список импортируемых функций

Приложение Б. Пример данных об исследуемом образце для

метода классификации ВПО

Б.1 Трасса системных вызовов первоначальная

Б.2 Трасса системных вызовов после удаления паразитных вызовов

Б.3 Трасса системных вызовов после сегментации в формате ЛБОМ

Б.4 Трасса системных вызовов после слияния и выравнивания

Б.5 Трасса системных вызовов после кодирования методом OneHot

Б.6 Трасса системных вызовов после снижения размерности

Приложение В. Первоначальный перечень перехватыемых

функций

Приложение Г. Перечень добавленных функий для перехвата

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

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

Введение

Актуальность разработки решений для защиты от вредоносного программного обеспечения (ВПО) с каждым годом растет. Из данных отчета организации The FBI's Internet Crime Complaint Center (ГС3), масштабы экономики, построенной на киберпреступлениях, весьма существенны. На основе данных компании AV-TEST, можно отметить значительный рост количества зарегистрированных образцов вредоносного программного обеспечения (ВПО): 437 млн в 2018 году, 541 млн в 2019 году, 677млн в 2020 году. Далее, говоря о ВПО, имеются в виду исполнимые файлы, которые изначально содержат вредоносный код и могут быть запущены пользователем без использования специальных средств и выполняющие свой код в режиме пользователя. Поиск недекларированных возможностей и прочих аналогичных особенностей ПО не рассматривается. В современных методах обнаружения ВПО доминирует подход, который заключается в поиске функциональных особенностей, которые определяются как вредоносное поведение. Так, в работе [1] авторы на основе построенного графа обращения к ресурсам ОС выполняют поиск шаблона действий ВПО; в работе [2] для получения возможных образов функционала ВПО авторы комбинируют N-граммы вызовов системных функций и строковые данные, извлеченные из исполнимого файла; в работе [3] предлагается использовать более 1000 признаков, собранных статическим анализом из исполнимого файла, большая часть признаков является характеристиками структуры PE, в работе [4] авторы на основе графа выполнения инструкций процессора выполняют построение матрицы подобия для ВПО и легитимного ПО. Отсюда можно сделать вывод, что при решении задачи обнаружения ВПО авторы работ в данной тематике уделяют внимание частностям функционирования или структуре образцов ВПО. В случае классификации и кластеризации ВПО авторы также акцентируют внимание на функциональной части. В работе [5] авторы формируют N-граммы используемых системных функций, далее данные компонуются и выполняется обработка с помощью сетей глубокого обучения. В работе [6] каждая из вызванных системных функций соотносится с одной из категорий и далее с помощью контекстной функции хеширования выполняется классификация. В работе [7] авторы выполняют построение графа вызовов, далее для выделения семейств используется поиск максимально общего подграфа в графе

вызовов. В работе [8] коды используемых инструкций без операндов объединяются в ^граммы, после чего с использованием разработанного алгоритма выполняется кластеризация. Таким образом, авторы, предлагают похожий подход для разных задач обнаружения и класстеризации ВПО. Одновременно акцентируя внимание на функциональной части, но оставляя за рамками такие проблемы как многопоточность образцов, использование образцами внешний библиотек для реализации своего функционала. Такие противоречия ведут к снижению эффективности предлагаемых методов. Перечисленные проблемы обуславливают актуальность работы, в связи с этим диссертационная работа посвящена разработке более эффективного метода и алгоритмов обнаружения и кластеризации вредоносного программного обеспечения на основе признаков декларируемого и фактического функционала. В рамках предлагаемого в данной работе метода обозначенные проблемы предполагается решать за счет использования дополнительных данных о вызовах используемых системных функций. В работе такие данные обозначаются как метаданные, метаданные позволят составить качественное представление о декларируемом и фактическом функционале исследуемого образца. В результате появляется возможность одновременно структурировать данные о вызванных системных функциях, очистить их от шума, а также выявить новые закономерности и свойства. Под метаданными понимается способ связывания (линковки) системных функций, модуль-источник вызова системной функции, идентификаторы процесса и потока, в которых произведен вызов. Эти данные могут быть получены в результате проведения статического и поведенческого анализа ВПО.

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

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

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

2. Разработать метод и алгоритмы для эффективного обнаружения и кластеризации ВПО с использованием признаков декларируемого и фактического функционала.

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

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

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

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

Методология и методы исследования. В процессе исследования использовались методы математической статистики, теории вероятности, метод кластеризации K-средних, иерархическая кластеризация, машина опорных векторов, многослойный персептрон, метод кодирования категориальных данных OneHot (Dummy Encoding), метод главных компонент (PCA) для снижения размерности данных, метод кластеризации на основе данных о плотности DBSCAN.

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

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

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

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

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

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

2. Разработанная для экспериментального исследования предложенного метода обнаружения ВПО и алгоритма кластеризации ВПО автоматизированная система может быть использована как экспертная система для обеспечения антивирусной безопасности предприятия.

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

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

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

— XIII Международная начно-практическая конференция «ИБ-2013», г. Таганрог, 2013 г.;

— Cедьмая всероссийская молодежная школа-семинар по проблемам информационной безопасности «ПЕРСПЕКТИВА-2016», г. Таганрог, 2016 г.;

— 10th International Conference On Security Of Information And Networks, Manipal University Jaipur, India, 2017;

— 11th International Conference On Security Of Information And Networks, Cardiff, United Kingdom, 2018.

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

Публикации. Основные результаты по теме диссертации изложены в 8 научных печатных изданиях, из которых: 2 — индексированы SCOPUS, 3— изданы в журналах, рекомендованных ВАК, 3 — в тезисах докладов и других научных печатных изданиях. По теме диссертационного исследования было получено два свидетельства об официальной регистрации программы для ЭВМ.

Соответствие паспорту специальности. Диссертация соответствует п. 3 («Методы, модели и средства выявления, идентификации и классификации угроз нарушения информационной безопасности объектов различного вида и класса») в части «методов и средств выявления, идентификации и классификации угроз нарушения информационной безопасности объектов различного вида и класса» паспорта специальности 05.13.19 «Методы и системы защиты информации, информационная безопасность».

Объем и структура работы. Диссертация состоит из введения, четырех глав, заключения и двух приложений. Полный объём диссертации составляет 156 страниц, включая 37 рисунков и 7 таблиц. Список литературы содержит 82 наименования.

Глава 1. АНАЛИЗ СОСТОЯНИЯ И РАЗВИТИЯ ВИРУСНЫХ УГРОЗ И МЕТОДОВ ПРОТИВОДЕЙСТВИЯ ИМ

1.1 Обзор развития вирусных угроз за последние годы

Современные вирусы - плод эволюции их прародителей, шуточных программ из академической среды, затем - программ также шуточных, но уже демонстрирующих и эксплуатирующих новые на тот момент технологии, далее - вирусов для рассылки рекламных объявлений, наконец - первых вирусов-троя-нов для кражи информации. Можно сказать, что с 2004 года киберпреступность начала набирать обороты, в частности, выполнять кражу аутентификационных данных, платежных карт и другой персональной информации пользователей. Но настоящая революция случилась в 2007 году с появлением такого вируса, как Zeus. Это был совершенно новый тип вредоносной программы с впечатляющими возможностями. Он позволял не только получать уже имеющуюся о пользователе информацию, хранящуюся на компьютере, но также позволял активно взаимодействовать с пользователем, предоставляя ему фальшивые страницы в браузере от тех сервисов, доступ к котором требовалось получить или данные которых украсть. Именно с помощью этого инструмента началась эпоха банковских так называемых вирусных троянских программ, или троянов, которые воровали деньги у своих жертв прямо в процессе взаимодействия пользователя с банком посредством сети Интернет. При этом, после того как исходный код этого вируса «утек» в сеть Интернет, появилось множество его клонов, индустрии вирусописания был задан совершенно новый уровень. Очевидно, что развитию вирусных угроз в немалой степени способствует потенциально высокая выгода. На рисунке 1 приведены данные по жалобам на инциденты преступлений, совершенных в сети Интернет, и потерям за соответствующий год. Данные получены из ежегодного отчета организации The FBI's Internet Crime Complaint Center (IC3) [9].

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

4500 4000 3500 3000 2500 1

2000 И 01

1500 Ц" 1000 500 0

■ Жалобы ■ Ущерб

Рисунок 1.1 — Данные по жалобам на инциденты Интернет-преступлений и

потерям за соответствующие года

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

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

Рассмотрим подробнее, какое складывается положение дел в отношении вирусных угроз за последние несколько лет. На рисунке 1.2 представлен график на основе данных [10] компании АУ-ТЕБТ, на котором отчетливо виден взрывной рост количества зарегистрированных образцов вредоносного программного

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

Рисунок 1.2 — График роста количества ВПО за последнее десятилетие

Более точное распределение угроз по платформам можно увидеть на рисунке 1.3, также сделанном на основе данных от компании АУ-ТЕБТ.

Рисунок 1.3 — Распределение общего количества угроз в зависимости от

платформы, которой они угрожают

Исходя из представленных данных, можно сказать, что доля ОС семейства Windows падает, однако это не так существенно, как может показаться. Категория "Script", вынесенная отдельно, по большей части относится именно к ОС Windows, более подробно эта часть угроз будет описана далее при рассмотрении вопроса методов распространения вирусных угроз. Для мобильных ОС семейства Android рост количества ВПО как минимум приостановился и вышел на плато. Интересной категорией, которую хотелось бы отметить, является "Прочие" — в эту категорию входят устройства так называемого Интернета вещей (Internet of things). Такие устройства представляют собой специализированную

технику, с какой-то целью подключенную к сети Интернет, к примеру камеры, светофоры, лифты и так далее, вплоть до бытовой и кухонной техники. Данную категорию можно отнести к самой популярной за последнее время. Несмотря на то что потенциал использования таких зараженных устройств несомненно ниже, чем у более сложной техники, применение находится и им, в частности такие устройства используются для проведения мощных распределенных атак отказа в обслуживании (DDOS, Distributed Denial Of Service) на различные сетевые сервисы. Переходя к более подробному рассмотрению вирусных угроз для ОС семейства Windows, следует обратить внимание на рисунок 1.4, где представлено распределение вирусных угроз по их типам на основе данных компании AV-Test.

Рисунок 1.4 — Распределение вирусных угроз по их типам на основе данных

компании AV-Test за 2019 год

Как видно из представленных данных, трояны - самая распространенная угроза, далее следуют вирусы. Причина таких широких и абстрактных категорий в том, что современные вирусы модульные и могут выполнять множество разных функций. Из этого вырастает проблема определения классов вирусов. На данный момент не существует какой-либо общепринятой мировой классификации вирусных угроз, каждая компания или страна в пределах различных документов имеет свою классификацию [11—13], часто эта классификация зависит от контекста. Однако, как правило, эти классификации достаточно похожи друг на друга. Для того, чтобы убедиться в этом, рассмотрим классификацию, которая предлагается компанией Panda Security:

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

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

Клавиатурный шпион (Key Logger) — вредоносная программа, перехватывающая нажатие клавиш и передающая их злоумышленнику. Данный тип встречается не так часто, как предыдущие, наиболее распространен при проведении APT-атак [14], которые будут рассмотрены далее.

Червь (Worm) — самораспространяющаяся вредоносная программа, выполняющая заражение компьютера без участия пользователя. Сейчас черви появляются не так часто, как это было в самом начале становления вирусной индустрии, в основном причиной их появления являются серьезные уязвимости в сетевых сервисах. Червь же, как правило, несет в себе полезную нагрузку в виде того или иного рассматриваемого типа вредоносного ПО.

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

Шпион (Spyware) — вредоносная программа для сбора информации с зараженного компьютера. Как правило, распространяется в совокупности с функционалом троянской программы.

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

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

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

1. Aurora (2010) — ознаменовал собой начало применения образцов кибероружия. Разработчиком вируса является Китай, основными целями были организации США, в том числе и Google.

2. Suxnet (2010) — один из самых популярных образцов кибероружия, так как был документирован на тот момент лучше всего. Разработан был совместно США и Израилем для проведения атак на промышленные предприятия Ирана, в частности на объекты ядерной промышленности. В результате применения данного вируса развитие данной отрасли в Иране было отброшено назад значительно.

3. Flame (2012) — так же как и Suxnet, использовался против Ирана и стран Среднего Востока, обладал мощными возможностями по скрытию своей работы. Разработан совместно США и Израилем.

4. Red October (2012) — одна из самых продолжительных кампаний, целью которой были государственные учреждения России и Восточной Европы. Также использовался в атаках на работников дипломатических учреждений и ученых. Разработан предположительно Россией и Израилем.

5. Shamoon (2012) — один из первых образцов деструктивного кибероружия. Предположительно создан Ираном для атаки на крупнейшее нефтедобывающее предприятие Саудовской Аравии Aramco, в результате атаки на данную компанию было повреждено порядка 30 тысяч компьютеров копании.

6. Turla (2014) — российская разработка, направленная против стран Запада.

7. Ex Pert (2017) — замаскированная под вымогатель вредоносная программа для уничтожения данных, автор неизвестен. Поражены ком-

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

Исходя из представленных данных, можно сделать несколько выводов:

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

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

3. Мошенники, перенимая опыт государств, развивают направление целенаправленных атак (APT), целью таких атак является кража крупных сумм денег.

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

1.2 Тенденции в разработке вредоносного программного

обеспечения

В данном разделе рассматривается вопрос тенденций в разработке вредоносного программного обеспечения. Понимание этих аспектов очень важно при разработке адекватных мер защиты, которые будут учитывать современные методы противодействия антивирусным решениям, а также учитывать возможные векторы развития мысли разработчиков вредоносного ПО. Стимулом для формирования той или иной тенденции прежде всего является конечная цель, преследуемая авторами; следующим определяющим фактором можно назвать ресурсы, которыми обладает злоумышленник. В соответствии с квалификацией злоумышленники предпочитают использовать множество различных утилит для создания и сопровождения своих творений, например конструкторы вирусов [15] или свободно распространяемые упаковщики [16]. Часто даже изначально легитимное ПО, например, используемое для удаленного

администрирования, используется также и против пользователя. Если квалификация разработчика достаточна, он предпочитает использовать настоящие программы-комбайны, с широким набором функционала, начиная от получения нужной информации и до выполнения произвольных действий в системе. На данный момент уже практически стандартом де-факто стала разработка расширяемых вирусов, использующих систему подгружаемых модулей (плагинов) [17], которая позволяет при необходимости провести разработку нового компонента или функционала без изменения основной части вируса. Это является основной тенденцией с точки зрения функционала ВПО. В целом, функциональная часть ВПО сформировалась достаточно давно, однако имеет смысл рассмотреть основные функциональные части передовых образцов ВПО, согласно [18]:

— инфраструктура управления;

— удаленное управление компьютером жертвы;

— повышение привилегий пользователя;

— воровство данных;

— шпионаж.

Инфраструктура управления. В целом, данная функциональная часть еще несколько лет назад развивалась достаточно бурно, однако и сейчас правильное управление инфраструктурой является крайне актуальным вопросом, так как злоумышленник должен как-то управлять зараженными компьютерами. Также, что немаловажно, это должно быть безопасно для него и для его ботнета, так как правоохранители ведут активную борьбу с вирусами и часто используют специальную технику "sinkhole" [19] для обезвреживания ботнета, что чревато значительными финансовыми потерями для злоумышленника. Долгое время ВПО для коммуникации с командным центром использовало каналы IRC, сейчас же фактически есть только 3 самых распространенных способа коммуникации с командным центром:

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

2. TOR [20] — известная всем сеть для обеспечения анонимности в сети Интернет, именно эта сетевая инфраструктура помогает крупным бот-

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

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

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

Список литературы

1. Wüchner, T. Malware detection with quantitative data flow graphs / T. Wüch-ner, M. Ochoa, A. Pretschner // Proceedings of the 9th ACM symposium on Information, computer and communications security. — ACM. 2014.

P. 271—282.

2. Shijo, P. Integrated static and dynamic analysis for malware detection / P. Shijo, A. Salim // Procedia Computer Science. — 2015. — Vol. 46.

P. 804—811.

3. Tamersoy, A. Guilt by association: large scale malware detection by mining file-relation graphs / A. Tamersoy, K. Roundy, D. H. Chau // Proceedings of the 20th ACM SIGKDD international conference on Knowledge discovery and data mining. — ACM. 2014. — P. 1524—1533.

4. Saxe, J. Deep neural network based malware detection using two dimensional binary program features / J. Saxe, K. Berlin // Malicious and Unwanted Software (MALWARE), 2015 10th International Conference on. — IEEE. 2015. — P. 11—20.

5. Deep learning for classification of malware system call sequences / B. Kolosnjaji [et al.] // Australasian Joint Conference on Artificial Intelligence. — Springer. 2016. — P. 137—149.

6. Gupta, S. Malware Characterization Using Windows API Call Sequences / S. Gupta, H. Sharma, S. Kaur // International Conference on Security, Privacy, and Applied Cryptography Engineering. — Springer. 2016. — P. 271—280.

7. Fast malware classification by automated behavioral graph matching / Y. Park [et al.] // Proceedings of the Sixth Annual Workshop on Cyber Security and Information Intelligence Research. — ACM. 2010. — P. 45.

8. MutantX-S: Scalable Malware Clustering Based on Static Features. / X. Hu [et al.] // USENIX Annual Technical Conference. — 2013. — P. 187—198.

9. 2020 Internet Crime Report [Электронный ресурс]. — 2020. — URL: https: //www.ic3.gov/Media/PDF/AnnualReport/2020_IC3Report.pdf (visited on 01/13/2021).

10. Security Report 2019/20 [Электронный ресурс]. — 2020. — URL: https: / / www. av- test. org / fileadmin / pdf / security _ report / AV- TEST _ Security _ Report_2019-2020.pdf (visited on 01/13/2021).

11. Классификация вредоносных программ | Блог Лаборатории Касперского [Электронный ресурс]. — 10.2013. — URL: https://www.kaspersky.ru/blog/ klassifikaciya-vredonosnyx-programm/2200/ (дата обр. 26.12.2019).

12. The most dangerous types of malware for your business [Электронный ресурс]. — 03/2016. —URL: https://www.pandasecurity.com/mediacenter/ malware/the-most-dangerous-types-of-malware/ (visited on 12/26/2019).

13. Common Types of Malware, 2016 Update | AlienVault [Электронный ресурс]. — 10/2016. —URL: https://www.alienvault.com/blogs/security-essentials/common-types-of-malware-2016-update (visited on 12/26/2019).

14. Cole, E. Advanced Persistent Threat: Understanding the Danger and How to Protect Your Organization [Электронный ресурс] / E. Cole. — Elsevier Science, 2012. —URL: https://books.google.ru/books?id=Y-CQmN5sEg8C.

15. Desai, P. A highly metamorphic virus generator / P. Desai, M. Stamp // Int. J. Multimedia Intell. Secur. — 2010. — Vol. 1, no. 4. — P. 402—427.

16. Executable compression - Wikipedia [Электронный ресурс]. — 11/2018. — URL: https://en.wikipedia.org/wiki/Executable%5C_compression (visited on 12/26/2019).

17. Min, B. Feature-Distributed Malware Attack: Risk and Defence / B. Min, V. Varadharajan // European Symposium on Research in Computer Security. — Springer. 2014. — P. 457—474.

18. Kirillov, I. Malware Capabilities ■ MAECProject/schemas Wiki ■ GitHub [Электронный ресурс] / I. Kirillov. — 02/2014. — URL: https : / / github. com/MAECProject/schemas/wiki/Malware- Capabilities (visited on 12/26/2019).

19. Bruneau, G. Dns sinkhole / G. Bruneau, R. Wanner // Reading Room Site. The SANS Institute. — 2010.

20. Dingledine, R. Tor: The second-generation onion router / R. Dingledine, N. Mathewson, P. Syverson. — 2004. — (Visited on 12/26/2019).

21. Detecting algorithmically generated malicious domain names / S. Yadav [et al.] // Proceedings of the 10th ACM SIGCOMM conference on Internet measurement. — ACM. 2010. — P. 48—61.

22. Measuring and Detecting Fast-Flux Service Networks. / T. Holz [et al.] // NDSS. — 2008.

23. Omella, A. A. Methods for virtual machine detection / A. A. Omella // Grupo S21sec Gestión SA. — 2006.

24. . / [Электронный ресурс]. —10/2010. —URL: https://habr.com/post/ 105581/ (visited on 12/26/2019).

25. Arntz, P. Explained: Packer, Crypter, and Protector - Malwarebytes Labs | Malwarebytes Labs [Электронный ресурс] / P. Arntz. — 03/2017. — URL: https : / / blog. malwarebytes. com / cybercrime / malware / 2017/ 03 / explained-packer-crypter-and-protector/ (visited on 12/26/2019).

26. Markus F.X.J. Oberhumer László Molnár, J. F. R. UPX: the Ultimate Packer for eXecutables - Homepage [Электронный ресурс] / J. F. R. Markus F.X.J. Oberhumer László Molnár. — 2018. — URL: https://upx.github.io/ (visited on 12/26/2019).

27. The design space of metamorphic malware / A. Walenstein [et al.] // 2nd International Conference on i-Warfare and Security (ICIW 2007). 2nd International Conference on i-Warfare and Security (ICIW 2007)(2007). — 2007. -P. 241—248.

28. Marcos, M. Without a Trace: Fileless Malware Spotted in the Wild - TrendLabs Security Intelligence Blog [Электронный ресурс] / M. Marcos. — 04/2015. — URL: https://blog.trendmicro.com/trendlabs-security-intelligence/without-a-trace-fileless-malware-spotted-in-the-wild/ (visited on 12/26/2019).

29. Fisher, D. Zeus Source Code Leaked | Threatpost | The first stop for security news [Электронный ресурс] / D. Fisher. — 05/2011. — URL: https: / / threatpost. com / zeus - source - code - leaked - 051011 / 75217/ (visited on 12/26/2019).

30. Brown, R. The Shadow Brokers Leaked Exploits Explained [Электронный ресурс] / R. Brown. — 04/2017. — URL: https://blog.rapid7.com/2017/04/ 18/the-shadow-brokers-leaked-exploits-faq/ (visited on 12/26/2019).

31. Edmund, B. Talos Blog || Cisco Talos Intelligence Group - Comprehensive Threat Intelligence: CCleanup: A Vast Number of Machines at Risk [Электронный ресурс] / B. Edmund. — 09/2017. — URL: https:/ /blog. talosintelligence.com/2017/09/avast-distributes-malware.html (visited on 12/26/2019).

32. Palmer, D. Mac OSX Trojan malware spread via compromised software downloads | ZDNet [Электронный ресурс] / D. Palmer. — 10/2017. — URL: https : / / www. zdnet. com / article / trojan- malware - for - mac - osx- spread - via-compromised-media-player-downloads/ (visited on 12/26/2019).

33. PE Format | Microsoft Docs [Электронный ресурс]. — 11/2018. — URL: https : / / docs. microsoft. com / ru - ru / windows / desktop / Debug / pe - format (visited on 12/26/2019).

34. Malware detection with deep neural network using process behavior / S. Tobiyama [et al.] // Computer Software and Applications Conference (COMPSAC), 2016 IEEE 40th Annual. Vol.2. — IEEE. 2016. — P. 577—582.

35. Graph-based malware detection using dynamic analysis / B. Anderson [et al.] // Journal in computer Virology. — 2011. — Vol. 7, no. 4.

P. 247—258.

36. Dynkin, E. Markov processes / E. Dynkin // Markov Processes. — Springer, 1965. — P. 77—104.

37. Novel feature extraction, selection and fusion for effective malware family classification / M. Ahmadi [et al.] // Proceedings of the sixth ACM conference on data and application security and privacy. — ACM. 2016. — P. 183—194.

38. Levine, J. R. Linkers and Loaders / J. R. Levine. — 1999.

39. Load-Time Dynamic Linking | Microsoft Docs [Электронный ресурс]. — 05.2018. — URL: https : / / docs. microsoft. com /ru - ru / windows / desktop / Dlls/load-time-dynamic-linking (дата обр. 26.12.2019).

40. Run-Time Dynamic Linking | Microsoft Docs [Электронный ресурс]. -05.2018. — URL: https : / / docs. microsoft. com /ru - ru / windows / desktop / Dlls/run-time-dynamic-linking (дата обр. 26.12.2019).

41. Dynamic-Link Library Creation | Microsoft Docs [Электронный ресурс]. -05.2018. — URL: https://docs.microsoft.com/ru-ru/windows/desktop/Dlls/ dynamic-link-library-creation (дата обр. 26.12.2019).

42. Экспорт функций из библиотеки DLL по порядковому номеру, а не по имени | Microsoft Docs [Электронный ресурс]. — 11.2016. — URL: https: / / docs.microsoft.com/ru-ru/cpp/build/exporting-functions-from-a-dll-by-ordinal-rather-than-by-name?view=vs-2017 (дата обр. 26.12.2019).

43. Chen, R. DLL forwarding is not the same as delay-loading - The Old New Thing [Электронный ресурс] / R. Chen. — 02/2008. — URL: https:// blogs. msdn. microsoft. com/oldnewthing/20080204-00/?p=23593/ (visited on 12/26/2019).

44. Wolf, J. Win32 API Shellcode Hash Algorithm « Win32 API Shellcode Hash Algorithm | FireEye Inc [Электронный ресурс] / J. Wolf. — 03/2010. URL: https: //www.fireeye.com/blog/threat-research/2010/03/Win32-api-shellcode-hash-algorithm.html (visited on 12/26/2019).

45. Yan, W. Revealing packed malware / W. Yan, Z. Zhang, N. Ansari // ieee seCurity & PrivaCy. — 2008. — Т. 6, № 5.

46. Yosifovich, P. Windows Internals, Part 1: System architecture, processes, threads, memory management, and more / P. Yosifovich, D. Solomon, A. Ionescu. — 2017.

47. The shellcoder's handbook / J. Koziol [и др.] // Edycja polska. Helion, Gliwice. — 2004.

48. Kaspersky, K. Shellcoder's Programming Uncovered (Uncovered series) / K. Kaspersky. — БХВ-Петербург, 2005.

49. Abbas, O. A. Comparisons Between Data Clustering Algorithms. / O. A. Abbas // International Arab Journal of Information Technology (IAJIT). — 2008. — Т. 5, № 3.

50. Nefedov, A. Support Vector Machines: A Simple Tutorial / A. Nefedov // svmtutorial. online. URL: https://svmtutorial. online. — 2016.

51. Хайкин, С. Нейронные сети: полный курс, 2-е издание / С. Хайкин. -Издательский дом Вильямс, 2008.

52. Уиллиамс, У. Методы иерархической классификации / У. Уиллиамс, Д. Н. Ланс // Статистические методы для ЭВМ/Под ред. МБ Малютов. М.: Наука. — 1986. — С. 269—301.

53. Anderson, H. S. Ember: an open dataset for training static pe malware machine learning models / H. S. Anderson, P. Roth // arXiv preprint arXiv:1804.04637. — 2018.

54. Microsoft malware classification challenge / R. Ronen [и др.] // arXiv preprint arXiv:1802.10135. — 2018.

55. OVERVIEW of NTT Secure Platform Laboratories | NTT Secure Platform Laboratories [Электронный ресурс]. — 02/2017. —URL: http://www.ntt. co.jp/ (visited on 12/26/2019).

56. Jiang, H. DLGraph: Malware detection using deep learning and graph embedding / H. Jiang, T. Turki, J. T. Wang // 2018 17th IEEE international conference on machine learning and applications (ICMLA). — IEEE. 2018. -С. 1029—1033.

57. ASSCA: API based sequence and statistics features combined malware detection architecture / L. Xiaofeng [и др.] // Procedia Computer Science. — 2018. — Т. 129. — С. 248—256.

58. Malware detection by eating a whole exe / E. Raff [и др.] // arXiv preprint arXiv:1710.09435. — 2017.

59. Академия Google [Электронный ресурс]. — 12.2020. — URL: https://scholar. google.com (дата обр. 26.12.2020).

60. RAY, S. Simple Methods to deal with Categorical Variables in Predictive Modeling [Электронный ресурс] / S. RAY. — 11/2015. — URL: https: / / www. analyticsvidhya. com / blog /2015/11/ easy- methods- deal- categorical-variables-predictive-modeling/ (visited on 12/26/2019).

61. Дьяконов, А. Методы решения задач классификации с категориальными признаками / А. Дьяконов // Прикладная математика и информатика. — 2014. — Т. 46.

62. Wold, S. Principal component analysis / S. Wold, K. Esbensen, P. Geladi // Chemometrics and intelligent laboratory systems. — 1987. — Т. 2, № 1—3. — С. 37—52.

63. А., П. Метод главных компонент [Электронный ресурс] / П. А. — 2008. — URL: http://rcs.chemometrics.ru/Tutorials/pca.htm (дата обр. 26.12.2019).

64. Cheng, Y. Mean shift, mode seeking, and clustering / Y. Cheng // IEEE transactions on pattern analysis and machine intelligence. — 1995. — Т. 17, № 8. — C. 790—799.

65. Robinson, P. T. Protection ring extension for computers having distinct virtual machine monitor and virtual machine address spaces / P. T. Robinson, A. H. Mason, J. S. Hall. — 05.1996. — US Patent 5,522,075.

66. General Tips for Blue Screens - Windows drivers | Microsoft Docs [Электронный ресурс]. — 05.2017. — URL: https://docs.microsoft.com/en-us/windows-hardware/drivers/debugger/general-troubleshooting-tips (дата обр. ).

67. Hunt, G. Detours: Binaryinterception ofwin 3 2 functions / G. Hunt, D. Brubacher // 3rd usenix windows nt symposium. — 1999.

68. Detours - Microsoft Research [Электронный ресурс]. —. — URL: https: //www.microsoft.com/en-us/research/project/detours/ (visited on ).

69. Russinovich, M. E. Windows internals / M. E. Russinovich, D. A. Solomon, A. Ionescu. — Pearson Education, 2012.

70. Component Object Model (COM) | Microsoft Docs [Электронный ресурс]. — 05/2018. — URL: https://docs.microsoft.com/en-us/windows/desktop/com/ component-object-model--com--portal (visited on ).

71. .NET Documentation | Microsoft Docs [Электронный ресурс]. —. — URL: https://docs.microsoft.com/en-us/dotnet/ (visited on ).

72. NTAPI Undocumented Functions [Электронный ресурс]. — 2013. — URL: https://undocumented.ntinternals.net/ (visited on ).

73. The Java virtual machine specification / T. Lindholm [и др.]. — Pearson Education, 2014.

74. Miller, J. S. The common language infrastructure annotated standard / J. S. Miller, S. Ragsdale. — Addison-Wesley Professional, 2004.

75. Ehringer, D. The dalvik virtual machine architecture / D. Ehringer // Techn. report (March 2010). — 2010. — Т. 4, № 8.

76. YARA - The pattern matching swiss knife for malware researchers [Электронный ресурс]. —2018. —URL: https://virustotal.github.io/yara/ (visited on

77. The Sandbox | Understanding CyberForensics [Электронный ресурс]. 2018. — URL: https://cwsandbox.org/ (visited on ).

78. Automated Malware Analysis - Joe Sandbox [Электронный ресурс]. 2018. — URL: https://www.joesecurity.org/ (visited on ).

79. Cuckoo Sandbox - Automated Malware Analysis [Электронный ресурс]. -2018. —URL: https://cuckoosandbox.org/ (visited on ).

80. AutoIt Scripting Language - AutoIt [Электронный ресурс]. — 2018. — URL: https://www.autoitscript.com/site/autoit/ (visited on ).

81. Oracle VM VirtualBox [Электронный ресурс]. — 2018. — URL: https: //www.virtualbox.org/ (visited on ).

82. API Monitor: Spy on API Calls and COM Interfaces (Freeware 32-bit and 64-bit Versions!) | rohitab.com [Электронный ресурс]. — 2018. — URL: http://www.rohitab.com/apimonitor (visited on ).

Список рисунков

1.1 Данные по жалобам на инциденты Интернет-преступлений и

потерям за соответствующие года.................... 11

1.2 График роста количества ВПО за последнее десятилетие....... 12

1.3 Распределение общего количества угроз в зависимости от платформы, которой они угрожают................... 12

1.4 Распределение вирусных угроз по их типам на основе данных компании AV-Test за 2019 год ...................... 13

2.1 Отношение образов декларируемого и фактического функционала

ВПО и легитимного ПО .......................... 40

2.2 Схема обработки потоков данных при анализе образцов ПО в

рамках предлагаемого метода обнаружения ВПО........................42

2.3 Упрощенная схема структуры PE файла................................44

2.4 Пример структуры таблицы импора PE файла..........................45

2.5 Иерархия системных вызовов для функции InternetOpenW............49

2.6 Распределение легитимных и вредоносных образцов ПО по

признаку p3 ................................. 52

2.7 Распределение легитимных и вредоносных образцов ПО по

признаку P4 ................................ 53

2.8 График точности обнаружения ВПО в зависимости от размера выборки для К-средних.......................... 59

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

2.10 График точности обнаружения ВПО в зависимости от размера выборки для MLP............................. 61

2.11 График точности обнаружения ВПО в зависимости от размера выборки для SVM............................. 61

2.12 График времени обучения методов MLP, SVM............. 62

2.13 График времени работы для K-средних, иерархической кластеризации, SVM, MLP........................ 62

3.1 Общая структура алгоритма кластеризации ВПО ........... 67

3.2 Начальное состояние и результат преобразования трассы

системных вызовов ............................. 68

3.3 Кривые ошибки кластеризации алгоритмом DBSCAN при использовании различных преобразований трассы вызовов ...... 78

3.4 Результаты работы алгоритма DBSCAN в зависимости от

параметра EPS ............................... 80

3.5 Время работы алгоритмов кластеризации в зависимости от объема выборки ................................... 80

3.6 Время выполнения предложенных преобразований в зависимости

от размера выборки ............................ 81

3.7 Двухмерное представление результатов кластеризации........ 81

3.8 Трехмерное представление результатов кластеризации........ 82

4.1 Структура системы обнаружения ВПО ..................................84

4.2 "Синий экран смерти"(BSOD, Blue Screen Of Death) ..................88

4.3 Схема вызова функции до и после перехвата методом сплайсинга . . 89

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

4.5 Стек вызываемой функции ................................................92

4.6 Отношение приложений, разработанных в среде .NET, к обычным Win32/Win64 приложениям ................................................94

4.7 Схематическое изображение работы механизма pinvoke ................95

4.8 Схематическое изображение отличия платформы Java и Dalvik . . . 95

4.9 Главный экран системы анализа ВПО Cuckoo Sandbox................99

4.10 Экран добавления образца на анализ системы анализа ВПО ^ckoo Sandbox ......................................................................100

4.11 Экран разработанного расширения, реализующего обнаружение и кластеризацию ВПО ........................................................101

4.12 Экран раздела информации о результатах поведенческого анализа ВПО системы Cuckoo Sandbox......................101

Список таблиц

1 Размеры и происхождение выборок ВПО и легитимного ПО, с которыми производится сравнение.................... 57

2 Сводная таблица результатов обнаружения ВПО ........... 58

3 Результаты работы метода главных компонент в зависимости от преобразований трассы вызовов..................... 76

4 Влияние предложенных преобразований на результаты кластеризации для алгоритмов обучения с учителем (MLP) и без учителя (DBSCAN, Mean Shift)...................... 76

5 Сравнение качества выделения конкретных семейств ВПО по классификации Microsoft для алгоритмов обучения с учителем

(MLP) и без учителя (DBSCAN, Mean Shift).............. 77

6 Результаты работы алгоритма кластеризации DBSCAN в зависимости от преобразований трассы вызовов............ 78

7 Префиксы функций WINAPI и соответствующие им компоненты . . 91

Приложение А

Пример данных об исследуемом образце для метода обнаружения

ВПО

А.1 Список вызванных функций с метками об их источнике

Процесс Поток Функция Линковка на Линкова в про- Источник вызова -

этапе загрузки цессе работы текущий модуль

1676 552 GetModuleHandleW 0 0 1

1676 552 GetProcAddress 1 0 1

1676 552 WSAStartup 0 0 1

1676 552 GetModuleHandleW 0 0 1

1676 552 GetProcAddress 1 0 1

1676 552 SHGetFolderPathW 0 0 1

1676 552 GetVolumeNameForVoll lrйeMountPointW 0 1

1676 552 SHGetFolderPathW 0 0 1

1676 552 ReadProcessMemory 0 0 1

1676 552 ReadProcessMemory 0 0 1

1676 552 WriteProcessMemory 0 0 1

1676 552 ReadProcessMemory 0 0 1

1676 552 ReadProcessMemory 0 0 1

1676 552 WriteProcessMemory 0 0 1

1676 552 SetErrorMode 0 0 1

1676 552 GetFileSizeEx 0 0 1

740 1752 LoadLibraryA 1 0 1

740 1752 GetProcAddress 1 0 1

740 1752 LoadLibraryA 1 0 1

740 1752 GetProcAddress 1 0 1

740 1752 LoadLibraryA 1 0 1

740 1752 GetProcAddress 1 1 1

740 1752 LoadLibraryA 1 0 1

740 1752 GetProcAddress 1 1 1

740 1752 LoadLibraryA 1 0 1

740 1752 GetProcAddress 1 1 1

740 1752 LoadLibraryA 1 0 1

740 1752 GetProcAddress 1 1 1

740 1752 LoadLibraryA 1 0 1

740 1752 GetProcAddress 1 1 1

740 1752 LoadLibraryA 1 0 1

740 1752 GetProcAddress 1 1 1

740 1752 LoadLibraryA 1 0 1

740 1752 GetProcAddress 1 1 1

740 1752 LoadLibraryA 1 0 1

740 1752 GetProcAddress 1 1 1

740 1752 GetModuleHandleA 0 1 1

740 1752 RegOpenKeyExA 0 1 1

740 1752 LoadLibraryExA 0 1 1

740 1752 LoadStringA 0 1 1

740 1752 LoadStringA 0 1 1

продолжение следует

Процесс Поток Функция Линковка на Линкова в про- Источник вызова

этапе загрузки цессе работы текущий модуль

740 1752 GetModuleHandleA 0 1 1

740 1752 GetProcAddress 1 1 1

740 1752 GetModuleHandleW 0 1 1

740 1752 GetProcAddress 1 1 0

740 1752 LoadLibraryA 1 0 0

740 1752 GetProcAddress 1 1 0

740 1752 GetModuleHandleA 0 1 0

740 1752 FindResourceA 0 0 0

740 1752 GetModuleHandleA 0 1 0

740 1752 SizeofResource 0 0 0

740 1752 GetModuleHandleA 0 1 0

740 1752 LoadResource 0 0 0

740 1752 timeGetTime 0 0 0

740 1752 GetProcAddress 1 1 0

740 1752 GetProcAddress 1 1 0

740 1752 CreateThread 0 0

1516 1752 GetProcAddress 1 1 0

1516 1752 LoadLibraryA 1 0 0

1516 1752 GetProcAddress 1 1 0

1516 1752 GetModuleHandleA 1 0

1516 1752 GetProcAddress 1 1 0

1516 1752 GetCursorPos 0 0

1516 1752 GetProcAddress 1 1 0

1516 1752 LoadLibraryA 1 0 0

1516 1752 GetProcAddress 1 1 0

1516 1752 GetProcAddress 1 1 0

1516 1752 GetProcAddress 1 1 0

1516 1752 WriteProcessMemory 0 0

1516 1752 GetProcAddress 1 1 0

1516 1752 WriteProcessMemory 0 0

1516 1752 GetProcAddress 1 1 0

1516 1752 GetProcAddress 1 1 0

1516 1752 GetProcAddress 1 1 0

А.2 Описок импортируемых функций

Функция Библиотека

VirtualFree ExitProcess VirtualProtect LoadLibraryA VirtualAlloc GetProcAddress RegCloseKey SysFreeString CharNextA KERNEL32.DLL KERNEL32.DLL KERNEL32.DLL KERNEL32.DLL KERNEL32.DLL KERNEL32.DLL advapi32.dll oleaut32.dll user32.dll

Приложение Б

Пример данных об исследуемом образце для метода классификации

ВПО

Б.1 Трасса системных вызовов первоначальная

Функция Идентификатор процесса Идентификатор потока

GetModuleHandleA 0 0

ReadProcessMemory 0 0

ReadProcessMemory 0 0

ReadProcessMemory 0 0

WriteProcessMemory 0 0

ReadProcessMemory 0 0

WriteProcessMemory 0 0

CreateThread 1 0

FindWindowA 1 1

FindWindowA 1 1

FindWindowA 1 1

FindWindowA 1 1

FindWindowA 1 1

FindWindowA 1 1

FindWindowA 1 1

FindWindowA 1 1

FindWindowA 1 1

FindWindowA 1 1

FindWindowA 1 1

FindWindowA 1 1

FindWindowA 1 1

FindWindowA 1 1

FindWindowA 1 1

FindWindowA 1 1

FindWindowA 1 1

FindWindowA 1 1

FindWindowA 1 1

FindWindowA 1

FindWindowA 1 1

FindWindowA 1 1

FindWindowA 1 1

FindWindowA 1 1

WSAStartup 1

FindWindowA 1 1

FindWindowA 1 1

FindWindowA 1 1

FindWindowA 1 1

GetSystemWindowsDirectoryA 1

FindWindowA 1 1

FindWindowA 1 1

FindWindowA 1 1

FindWindowA 1 1

продолжение следует

Функция

Идентификатор процесса

Идентификатор потока

FindWindowA FindWindowA FindWindowA FindWindowA GetUserNameA GetComputerNameA RegQueryValueExA FindWindowA FindWindowA FindWindowA FindWindowA RegCloseKey RegEnumKeyExA RegQueryValueExA

RegCloseKey RegEnumKeyExA RegQueryValueExA

RegCloseKey RegEnumKeyExA FindWindowA FindWindowA FindWindowA FindWindowA RegQueryValueExA

RegCloseKey RegEnumKeyExA RegQueryValueExA

RegCloseKey RegEnumKeyExA RegQueryValueExA

RegCloseKey RegEnumKeyExA FindWindowA FindWindowA FindWindowA FindWindowA RegQueryValueExA FindWindowA FindWindowA FindWindowA FindWindowA RegCloseKey RegEnumKeyExA RegQueryValueExA FindWindowA FindWindowA FindWindowA FindWindowA RegCloseKey RegEnumKeyExA RegQueryValueExA

RegCloseKey RegQueryValueExA

RegCloseKey RegEnumKeyExA RegQueryValueExA

RegCloseKey RegEnumKeyExA

Функция

Идентификатор процесса

Идентификатор потока

RegQueryValueExA

RegCloseKey RegEnumKeyExA RegQueryValueExA RegCloseKey FindWindowA FindWindowA FindWindowA FindWindowA RegEnumKeyExA RegQueryValueExA FindWindowA FindWindowA FindWindowA FindWindowA RegCloseKey RegEnumKeyExA RegQueryValueExA RegCloseKey FindWindowA FindWindowA FindWindowA FindWindowA RegEnumKeyExA RegQueryValueExA RegCloseKey FindWindowA FindWindowA FindWindowA FindWindowA RegQueryValueExA

RegCloseKey RegEnumKeyExA FindWindowA FindWindowA FindWindowA FindWindowA RegQueryValueExA

RegCloseKey RegQueryValueExA

RegCloseKey RegEnumKeyExA RegQueryValueExA

RegCloseKey RegEnumKeyExA RegQueryValueExA

RegCloseKey RegEnumKeyExA FindWindowA FindWindowA FindWindowA FindWindowA FindWindowA FindWindowA FindWindowA FindWindowA RegQueryValueExA RegCloseKey

Функция

Идентификатор процесса

Идентификатор потока

RegEnumKeyExA RegQueryValueExA

RegCloseKey RegQueryValueExA

RegCloseKey RegEnumKeyExA RegQueryValueExA

RegCloseKey RegEnumKeyExA RegQueryValueExA

RegCloseKey RegEnumKeyExA RegQueryValueExA

RegCloseKey RegQueryValueExA

RegCloseKey RegEnumKeyExA RegQueryValueExA

RegCloseKey RegEnumKeyExA FindWindowA FindWindowA FindWindowA FindWindowA RegQueryValueExA

RegCloseKey RegEnumKeyExA RegQueryValueExA

RegCloseKey RegEnumKeyExA RegQueryValueExA

RegCloseKey RegEnumKeyExA RegQueryValueExA

RegCloseKey RegQueryValueExA

RegCloseKey RegEnumKeyExA RegQueryValueExA

RegCloseKey RegQueryValueExA

RegCloseKey RegEnumKeyExA RegQueryValueExA RegCloseKey FindWindowA FindWindowA FindWindowA FindWindowA RegQueryValueExA

RegCloseKey RegEnumKeyExA RegQueryValueExA FindWindowA FindWindowA FindWindowA FindWindowA RegCloseKey

(продолжение)

Функция Идентификатор процесса Идентификатор потока

RegQueryValueExA 1 0

RegCloseKey 1 0

RegEnumKeyExA 1 0

RegQueryValueExA 1 0

RegCloseKey 1 0

RegQueryValueExA 1 0

RegCloseKey 1 0

RegEnumKeyExA 1 0

RegQueryValueExA 1 0

RegCloseKey 1 0

RegQueryValueExA 1 0

RegCloseKey 1 0

RegEnumKeyExA 1 0

FindWindowA 1 1

FindWindowA 1 1

FindWindowA 1 1

FindWindowA 1 1

FindWindowA 1 1

FindWindowA 1 1

FindWindowA 1 1

FindWindowA 1 1

RegQueryValueExA 1 0

RegCloseKey 1 0

RegQueryValueExA 1 0

RegCloseKey 1 0

FindWindowA 1 1

FindWindowA 1 1

FindWindowA 1 1

FindWindowA 1 1

RegEnumKeyExA 1

FindWindowA 1 1

FindWindowA 1 1

FindWindowA 1 1

FindWindowA 1 1

RegCloseKey 1 0

GlobalMemoryStatus 1 0

GetUserNameA 1 0

GetComputerNameA 1 0

FindWindowA 1 1

Б.2 Трасса системных вызовов после удаления паразитных

вызовов

Функция Идентификатор процесса Идентификатор потока

GetModuleHandleA 0 0

ReadProcessMemory 0 0

WriteProcessMemory 0 0

ReadProcessMemory 0 0

WriteProcessMemory 0 0

CreateThread 1 0

FindWindowA 1 1

WSAStartup 1 0

продолжение следует

(продолжение)

Функция Идентификатор процесса Идентификатор потока

FindWindowA 1 1

GetSystemWindowsDirectoryA 1 0

FindWindowA 1 1

GetUserNameA 1 0

GetComputerNameA 1 0

RegQueryValueExA 1 0

FindWindowA 1 1

RegCloseKey 1 0

RegEnumKeyExA 1 0

RegQueryValueExA 1 0

RegCloseKey 1 0

RegEnumKeyExA 1 0

RegQueryValueExA 1 0

RegCloseKey 1 0

RegEnumKeyExA 1 0

FindWindowA 1 1

RegQueryValueExA 1 0

RegCloseKey 1 0

RegEnumKeyExA 1 0

RegQueryValueExA 1 0

RegCloseKey 1 0

RegEnumKeyExA 1 0

RegQueryValueExA 1 0

RegCloseKey 1 0

RegEnumKeyExA 1 0

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