Разработка модели обнаружения вредоносных программ на основе анализа последовательностей API-запросов
Изучение результатов анализа актуальности существующих работ по изучению нейросетевых алгоритмов обнаружения вредоносного программного обеспечения. Ознакомление с набором данных, содержащим последовательности системных запросов для исполняемых файлов.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | статья |
Язык | русский |
Дата добавления | 09.05.2022 |
Размер файла | 301,2 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
Кубанский государственный технологический университет
Разработка модели обнаружения вредоносных программ на основе анализа последовательностей API-запросов
Александр Николаевич Черкасов, Егор Алексеевич Туркин
Аннотация
Анализ актуальности существующих работ по изучению нейросетевых алгоритмов обнаружения вредоносного программного обеспечения позволил определить оптимальный подход к решению задачи распознавания вирусов. Был сформирован набор данных, содержащий последовательности системных запросов для 2083 исполняемых файлов. Обучение модели рекуррентной нейронной сети на полученном наборе данных позволило получить классификатор с точностью распознавания вредоносных программ 97,6%. Ключевой аспект значимости работы заключается в практической ориентированности исследования - полученная модель будет применена в качестве компонента системы комплексного анализа вредоносного программного обеспечения.
Ключевые слова: информационная безопасность, нейронная сеть, вредоносная программа, классификация, матрица ошибок
Abstract
Development of the malware detection model based on an analysis of API request sequences
Aleksandr N. Cherkasov, Egor A. Turkin
Kuban State University of Technology
An analysis of the relevance of existing works on the study of neural network algorithms for detecting malicious software made it possible to determine the optimal approach to solving the problem of virus recognition. A dataset has been generated containing sequences of system requests for 2083 executable files. Training the recurrent neural network model on the generated dataset made it possible to obtain a classifier with a malware recognition accuracy of 97.6%. The key aspect of the significance of the work lies in the practical orientation of the research - the resulting model will be applied as a component of a system for complex analysis of malicious software.
Keywords: information security, neural network, malicious software, classification, confusion matrix
Введение
Вредоносное программное обеспечение (ВПО) активно развивается с тех пор, как персональные компьютеры стали повсеместно распространены. За несколько десятилетий появилось огромное множество различных семейств и типов ВПО, способных осуществлять свое злонамеренное воздействие на различные платформы. С каждым годом проблема распространения вредоносных программ становится все серьезнее, что значительно повышает важность разработки актуальных методов их обнаружения.
В связи с этим сейчас активно развиваются методы обнаружения ВПО с помощью методов машинного обучения и искусственных нейронных сетей. На сегодняшний день можно выделить два основных направления анализа вредоносных программ - методы статического анализа и методы динамического анализа.
Существующие работы
В исследовании [1] благодаря свойствам, извлеченным из исполняемых файлов с помощью программного обеспечения IDA Pro, авторы разработали классификацию файлов на вредоносные и безопасные. Также авторы применили метод динамического анализа, базирующийся на анализе API-запросов приложений, для решения задачи классификации обнаруженных вредоносных программ. Данное исследование демонстрирует реализуемость и актуальность апробированных авторами методов анализа.
Авторы работы [2] генерировали вредоносные сигнатуры, используя вызовы Windows API вирусов. В данной работе был представлен метод идентификации и классификации ВПО, использующий полученные сигнатуры. Представленный авторами метод имел точность определения типа вредоносного приложения порядка 75-80% для каждого семейства. Однако, несмотря на высокий показатели точности, этот метод не является надежным, поскольку злоумышленники могут изменять сигнатуры ВПО или подвергать код программы обфускации.
Еще один подход к анализу ВПО применили авторы исследования [3]. В их работе обнаружение вредоносного программного обеспечения основывается не на характеристиках самого вируса, а на воздействии, которое он осуществляет на систему. То есть данный метод для обнаружения не использует извлеченные поведенческие или структурные свойства ВПО, а анализирует аномальные реакции системы в стандартных условиях. Авторы утверждают, что таким образом могут быть обнаружены продвинутые типы вредоносных программ, такие как полиморфные и метаморфические вирусы.
В статье [4] исследователи апробировали метод визуализации и глубокого обучения для решения задачи обнаружения ВПО. На основе извлеченных API-вызовов в соответствии с правилами сопоставления цветов были сгенерированы изображения, демонстрирующие поведение приложений. Для классификации полученного набора данных была применена сверточная нейронная сеть. Результаты эксперимента показали точность модели около 96%, что подтверждает эффективность данного метода.
Основная часть
В предыдущей работе [5] был рассмотрен один из методов статического анализа вредоносных исполняемых файлов с помощью сверточных нейронных сетей. В настоящей работе будет рассмотрен один из методов динамического анализа исполняемых файлов на основе их поведенческих характеристик. В качестве таких характеристик могут быть использованы такие данные, как вызовы Windows API, операции чтения/записи реестра или Интернет-трафик, связанный с деятельностью программы.
Данное исследование основано на анализе вызовов API, совершаемых программами в операционной системе Windows. Приложение, разработанное для работы в ОС Windows, вызывает интерфейсы, представленные как API, для реализации различных функций в операционной системе. Совокупность вызовов API, совершенных приложением в системе, может показать общий принцип действия этого приложения. Поэтому подход, основанный на вызовах API, широко применяется в динамическом анализе программ.
Описание подготовки к эксперименту
Для анализа был сформирован набор данных, содержащий извлеченные из приложений вызовы Windows API. Для извлечения данных было применено бесплатное общедоступное программное обеспечение - Cuckoo Sandbox. С помощью Cuckoo Sandbox можно запустить вредоносное ПО в виртуальной изолированной среде. В ходе исполнения файла Cuckoo Sandbox регистрирует действия программы и сохраняет их в отчете в формате JSON в базе данных PostgreSQL. Впоследствии из сформированных отчетов извлекались сведения об осуществленных API-вызовах. Общая схема, демонстрирующая подготовку набора данных, представлена на рисунке 1.
Рис. 1. Подготовка набора данных
Поскольку сформированный набор будет использован для обучения искусственной нейронной сети, он был отфильтрован. Так, были отброшены отчеты о действиях программ, содержащие менее 100 вызовов API. Дальнейшая обработка состояла в индексировании запросов: поскольку в ходе сбора данных были определены 287 различных вызова API, эти вызовы были проиндексированы значениями от 0 до 288 включительно. Последним этапом подготовки данных для обучения модели стала разметка набора на сведения о безопасных и вредоносных файлах.
Полученный набор данных получился несбалансированным - около 75% записей соответствовали классу вредоносных файлов. Впоследствии при обучении модели этот факт будет учтен.
Описание модели
В качестве модели классифицирующей программы на основе API-вызовов использовалась рекуррентная нейронная сеть с архитектурой LSTM. Данная архитектура была разработана в связи с тем, что RNN не были достаточно эффективны при обработке долговременных зависимостей. Сети с архитектурой LSTM могут запоминать и изучать любую долгосрочную зависимость через случайные промежутки времени. Это является оптимальным методом анализа данных или событий, имеющих определенную взаимосвязь, особенно распределенную во времени [6].
Реализация архитектуры нейронной сети была выполнена при помощи языка программирования Python 3.7 с использованием библиотеки Keras. Структура сформированной рекуррентной нейронной сети представлена на рисунке 2. нейросетевой вредоносный программный
Данные подаются на Embedding слой нейронной сети. Embedding преобразует входные данные в Embedding-вектор. Embedding-слой предназначен для создания специального вектора, в котором вместо индексов входных данных используются значения, равные весам связи для этих индексов.
Рис. 2. Схема рекуррентной сети
После этого преобразованные данные подаются на слой SpatialDropout1D. Слой SpatialDropout1D с определенной вероятностью игнорирует значение наборов нейронов. Этот слой, так же как и Dropout, применяется для снижения вероятности переобучения модели.
Следующим этапом является обработка входных данных в нескольких слоях рекуррентной нейронной сети архитектуры LSTM. По завершении обработки в рекуррентных слоях данные обрабатываются в нескольких Dense слоях. Последний слой определяет, какому классу соответствуют входные данные.
Описание эксперимента. Анализ результатов
Обучение модели производилось методом обратного распространения ошибки в течение 2-х эпох. Метрикой для оценки качества обучения на каждой из эпох была выбрана precision. Данная метрика была определена, как «нечувствительная» к дисбалансу классов, который явно наблюдается в имеющемся экспериментальном наборе.
В результате обучения классификатор показал точность 98% на тестовой выборке данных. Для оценки качества полученной модели и определения количества ошибок 1-го и 2-го родов рассмотрим матрицу ошибок. Сформированная в ходе тестирования модели матрица ошибок приведена на рисунке 3.
Общее количество ошибок второго рода равно 15, в то время как ошибки первого рода отсутствуют вовсе. Однако в рассматриваемой задаче ошибки второго рода являются более критичными, поскольку при них истинно вредоносный файл классифицируется как безопасный.
Для оценки качества классификатора также рассмотрим полученную ROC-AUC кривую. Построенный график кривой представлен на рисунке 4.
Полученный график демонстрирует, что точность классификации модели близка к точности идеального классификатора. Таким образом, несмотря на наличие ошибок второго рода, общее число правильно определенных классов свидетельствует об успешном обучении модели.
Рис. 3. Матрица ошибок
Рис. 4. ROC-кривая
В итоге обучения была получена нейронная сеть, способная распознавать вредоносные программы с низким количеством ложноположительных и ложноотрицательных срабатываний. В дальнейшем полученную модель планируется применять в системе комплексного анализа ВПО в составе комплексной системы обеспечения безопасности ситуационного центра. Такая система позволит повысить адаптивность технологий, применяемых при анализе вредоносного программного обеспечения [7].
Вывод
1. В ходе данного исследования был проведен анализ динамических методов распознавания ВПО с использованием различных подходов. В результате анализа было определено, что анализ приложений, базирующийся на рассмотрении их API-вызовов, является одним из самых эффективных.
2. Была установлена и настроена локальная платформа для извлечения API- вызовов приложений. В результате с помощью данной платформы был сформирован набор данных, содержащий 500 файлов c отчетами о действиях безопасных приложений, и 1583 файла с отчетами о действиях ВПО.
3. В результате проведенных исследований удалось разработать модель, успешно решающую задачу распознавания вредоносного программного обеспечения. В дальнейшем данная модель будет использована как часть системы обнаружения вредоносных программ.
Список литературы
1. Bruce Ndibanje, Ki Hwan Kim, Young Jin Kang. Cross-Method-Based Analysis and Classification of Malicious Behavior by API Calls Extraction // Applied Sciences. 2019. Vol. 9 (2). P. 239. DOI: 10.3390/app9020239
2. MEDUSA: metamorphic malware dynamic analysis using signature from API / V. Nair, H. Jain, Y. Golecha, M. Gaur, V. Laxmi // Proceeding of the 3 rd International Conference on Security of Information and Networks-SIN 2010. 2010. P. 263-269. DOI: 10.1145/1854099.1854152
3. Ahmed M.E., Nepal S., Kim H. MEDUSA: Malware Detection Using Statistical Analysis of System's Behavior // IEEE 4th International Conference on Collaboration and Internet Computing (CIC). 2018. P. 272-278. DOI: 10.1109/CIC.2018.00044
4. Mingdong Tang, Quan Qian. Dynamic API call sequence visualisation for malware classification // IET Information Security. 2019. No. 4. P. 367-377. DOI: 10.1049/iet-ifs.2018.5268
5. Черкасов А.Н., Туркин Е.А. Разработка модели распознавания вредоносного программного обеспечения на основе сверточных нейронных сетей // Инновационное развитие техники и технологий в промышленности: сб. материалов Всерос. науч. конф. молодых исследователей с междунар. участием (ИНТЕКС-2021). Москва, 2021. Ч. 4. С. 72-76.
6. Hochreiter S., Schmidhuber J. Long Short-Term Memory // Neural Computation. 1997. Vol. 9 (8). P. 1735-1780. DOI: 10.1162/neco.1997.9.8.1735
7. Адаптивная система комплексного обеспечения безопасности как элемент инфраструктуры ситуационного центра / М.М. Путято, А.С. Макарян, А.Н. Черкасов, И. Г. Горин // Прикаспийский журнал: управление и высокие технологии. 2020. № 4 (52). С. 75-84.
References
1. Bruce Ndibanje, Ki Hwan Kim, Young Jin Kang. Cross-Method-Based Analysis and Classification of Malicious Behavior by API Calls Extraction // Applied Sciences. 2019. Vol. 9 (2). P. 239. DOI: 10.3390/app9020239
2. MEDUSA: metamorphic malware dynamic analysis using signature from API / V. Nair, H. Jain, Y. Golecha, M. Gaur, V. Laxmi // Proceeding of the 3 rd International Conference on Security of Information and Networks-SIN 2010. 2010. P. 263-269. DOI: 10.1145/1854099.1854152
3. Ahmed M.E., Nepal S., Kim H. MEDUSA: Malware Detection Using Statistical Analysis of System's Behavior // IEEE 4th International Conference on Collaboration and Internet Computing (CIC). 2018. P. 272-278. DOI: 10.1109/CIC.2018.00044
4. Mingdong Tang, Quan Qian. Dynamic API call sequence visualisation for malware classification // IET Information Security. 2019. No. 4. P. 367-377. DOI: 10.1049/iet-ifs.2018.5268
5. Cherkasov A.N., Turkin E.A. Development of a model for recognizing malicious software based on convolutional neural networks // Innovative development of engineering and technology in industry: coll. of proceedings of the Russian Scientific Conference of Young Researchers with International Participation (INTEX-2021). Moscow, 2021. Pt. 4. P. 72-76.
6. Hochreiter S., Schmidhuber J. Long Short-Term Memory // Neural Computation. 1997. Vol. 9 (8). P. 1735-1780. DOI: 10.1162/neco.1997.9.8.1735
7. Adaptive integrated security system as an element of the infrastructure of the situation center / M.M. Putyato, A.S. Makaryan, A.N. Cherkasov, I.G. Gorin // Caspian Journal: Management and High Technologies. 2020. No. 4 (52). P. 75-84.
Размещено на Allbest.ru
...Подобные документы
Знакомство с проблемами обнаружения вредоносного программного обеспечения для мобильных устройств. Анализ функций антивирусного пакета Kaspersky Mobile Security 8.0. Характеристика наиболее распространенных антивирусных программ для мобильных устройств.
реферат [55,1 K], добавлен 11.01.2017Методика исследования и анализа средств аудита системы Windows с целью обнаружения несанкционированного доступа программного обеспечения к ресурсам вычислительных машин. Анализ угрозы информационной безопасности. Алгоритм работы программного средства.
дипломная работа [2,9 M], добавлен 28.06.2011Построение информационно-логической модели базы данных. Корректировка данных средствами запросов. Проектирование алгоритмов обработки данных. Реализация пользовательского интерфейса средствами форм. Разработка запросов для корректировки и выборки данных.
курсовая работа [680,9 K], добавлен 19.10.2010Обобщенная модель процесса обнаружения атак. Обоснование и выбор контролируемых параметров и программного обеспечения для разработки системы обнаружения атак. Основные угрозы и уязвимые места. Использование системы обнаружения атак в коммутируемых сетях.
дипломная работа [7,7 M], добавлен 21.06.2011Основные проблемы проектирования реляционных баз данных "МВД". Инфологическое описание сущностей и атрибутов программного обеспечения. Разработка датологической модели данных и гарантирование ее безопасности и целостности. Реализация запросов на SQL.
курсовая работа [3,0 M], добавлен 28.06.2011Что такое компьютерные вирусы. Цикл функционирования вирусов. "Вакцинация" программ. Заголовок исполняемых файлов. Защита вновь создаваемых программ. Модуль F_Anti. Защита существующих ехе-файлов. Описание программ SetFag.pas и Fag.asm.
реферат [38,2 K], добавлен 19.03.2004Описание функциональных возможностей технологии Data Mining как процессов обнаружения неизвестных данных. Изучение систем вывода ассоциативных правил и механизмов нейросетевых алгоритмов. Описание алгоритмов кластеризации и сфер применения Data Mining.
контрольная работа [208,4 K], добавлен 14.06.2013Изучение реляционной модели данных. Выявление потребности задач в данных и определение состава и структуры информационных объектов. Построение концептуальной модели предметной области. Создание форм, запросов и отчетов с помощью конструктора запросов.
курсовая работа [6,3 M], добавлен 09.10.2021Обоснование необходимости систем управления базами данных на предприятиях. Особенности разработки программного обеспечения по управлению базой данных, обеспечивающего просмотр, редактирование, вставку записей базы данных, формирование запросов и отчетов.
курсовая работа [1,5 M], добавлен 23.01.2010Защита компьютера от вредоносных программ. Принцип работы антивирусных программ: проверка файлов, загрузочных секторов дисков и оперативной памяти и поиск в них известных и новых вредоносных программ. Сигнатуры и их использование при работе с компьютером.
презентация [976,8 K], добавлен 21.05.2019Программные средства защиты от вредоносного программного обеспечения, основные требования к ним, оценка возможностей и функциональности. Системы обнаружения вторжения. Анализ средств защиты информации на предприятии. Политика корпоративной безопасности.
дипломная работа [1,2 M], добавлен 17.10.2015Описания вредоносного программного обеспечения. Анализ классических компьютерных вирусов. Особенности троянских программ и сетевых червей. Среда существования вирусов. Признаки появления и способы заражения вирусами. Программные антивирусные средства.
презентация [934,7 K], добавлен 23.09.2015Запросы клиента по области возможных запросов к серверу. Программа для прогнозирования поведения надежности программного обеспечения на основе метода Монте-Карло. Влияние количества программ-клиентов на поведение программной системы клиент-сервера.
контрольная работа [705,3 K], добавлен 03.12.2010Построение систем анализа данных. Построение алгоритмов проектирования OLAP-куба и создание запросов к построенной сводной таблице. OLAP-технология многомерного анализа данных. Обеспечение пользователей информацией для принятия управленческих решений.
курсовая работа [1,3 M], добавлен 19.09.2008Анализ инцидентов информационной безопасности. Структура и классификация систем обнаружения вторжений. Разработка и описание сетей Петри, моделирующих СОВ. Расчет времени реакции на атакующее воздействие. Верификация динамической модели обнаружения атак.
дипломная работа [885,3 K], добавлен 17.07.2016Понятие запросов как объектов СУБД Access, предназначенных для отбора данных и удовлетворяющих заданным условиям. Основные виды запросов: простой, перекрестный, с параметром, группировкой, вычисляемым полем. Отличия запросов-действий от других запросов.
контрольная работа [2,9 M], добавлен 29.06.2015Построение концептуальной модели. Проектирование реляционной модели данных на основе принципов нормализации: процесс нормализации и глоссарий. Проектирование базы данных в Microsoft Access: построение таблиц, создание запросов в том числе SQL – запросов.
курсовая работа [35,9 K], добавлен 08.11.2008Разработка программного обеспечения подсистемы имитаторов, входящей в состав комплекса средств обнаружения и противодействия беспилотным летательным аппаратам. Сравнительный анализ существующих аналогов. Требования к аппаратно-программному обеспечению.
дипломная работа [3,0 M], добавлен 16.01.2015Общая характеристика и состав информационных запросов к проектируемой базе данных, требования к ней и внутренняя структура, принципы нормализации и разработка логической модели. Создание таблиц и связей между ними. Язык структурированных запросов.
курсовая работа [985,6 K], добавлен 22.05.2014Проектирование базы данных на основе модели типа объект-отношение. Создание таблиц средствами СУБД Access, главной кнопочной формы и запросов с помощью операций реляционной алгебры. Изменение последовательности перехода. Введение всплывающей подсказки.
курсовая работа [681,4 K], добавлен 16.01.2015