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

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

Рубрика Программирование, компьютеры и кибернетика
Вид статья
Язык русский
Дата добавления 16.05.2022
Размер файла 1,1 M

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

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

Размещено на http://www.allbest.ru/

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

Частикова Вера Аркадьевна

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

Малыхина Мария Петровна

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

Аннотация

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

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

Abstract

Approach to the development of a malware detection software package using convolutional neural networks

Chastikova Vera Arkadyevna, Associate Professor, Candidate of Technical Sciences, Associate Professor of the Department of Computer Technologies and Information Security, Institute of Computer Systems and Information Security, Kuban State University of Technology

Malykhina Mariya Petrovna, Professor, Candidate of Technical Sciences, Professor of the Department of Computer Technologies and Information Security, Institute of Computer Systems and Information Security, Kuban State University of Technology

Information security problems have always been acute, but at present the cost of malicious intervention has increased many times and can have significant negative consequences. The paper considers one of the possible malware detection technologies based on convolutional neural networks, as well as a number of algorithms that prepare and transform the necessary source data. An algorithm has been developed and described for the process of converting executable files received in the software package into black and white images, which allows one to form their own data set for training a neural network based on the images obtained. The structure and functioning of a software package that implements the proposed methodology is described, which includes a subsystem for converting analyzed files, a subsystem for training and testing a neural network, and a malware recognition subsystem based on a trained neural network model. As a result of studies on a number of test data sets, a fairly high accuracy of malware detection was obtained.

Keywords: malware, convolutional neural network, file, image.

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

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

программный распознавание нейронный сеть

Алгоритм преобразования двоичного файла в изображение. Для обработки данных с помощью сверточной нейронной сети необходимо выполнить предварительную подготовку входного набора. Процесс конвертирования преобразует входные исполняемые файлы в черно-белые изображения [3], далее обрабатываемые нейронной сетью. Этот процесс был описан и схематично представлен в [1], данные функции выполняет подсистема обработки входных данных (раздел программного комплекса «Преобразование анализируемого файла») рассматриваемого в работе программного комплекса. После того, как программа закончит преобразование, изображение анализируемого файла (примеры представлены на рисунке 1) будет сохранено в том же каталоге, в котором находился и сам обрабатываемый файл.

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

Рис 1. Примеры преобразования исполняемого файла в изображение

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

Реализация программного комплекса

Реализация архитектуры сверточной нейронной сети для распознавания вредоносных программ была выполнена при помощи WinPython для языка Python 3.6.8 с использованием открытой библиотеки Keras [4, 5].

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

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

В процессе обработки набора данных программой каждому изображению в выборке ставится в соответствие определенная метка в зависимости от того, в каком каталоге был расположен данный файл, например, 0 - файл является вредоносным (находится в каталоге с наименованием “malware”), 1 - файл является безопасным (находится в каталоге с наименованием “benign”). Используемый бинаризатор меток после обучения нейронной сети сохраняется в определенный файл.

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

Для обучения нейронной сети используется обучающая выборка, которая содержит 75% от количества изображений исходного набора данных. При этом порядок обработки образов на каждом этапе обучения меняется случайным образом. Оставшиеся 25% процентов изображений из набора данных используются для тестирования точности функционирования обученной нейронной сети. Алгоритм подстройки весов нейронной сети во время обучения является итеративным, его шаги называются циклами или эпохами (epochs). Количество эпох в данном случае составляет 75. Спроектированная и реализованная нейронная сеть показывает около 90% точности распознавания вредоносных файлов как в процессе обучения, так и в процессе тестирования.

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

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

Рис. 2. Раздел программы «Обучение и тестирование нейронной сети» обученной модели»

Рис. 3. Раздел программы «Распознавание с использованием

Операцию подготовки набора данных для реализации нейросетевого раздела программного комплекса, требуемого для обучения и тестирования нейронной сети, можно выполнить, как было указано выше, с помощью подсистемы обработки входных данных в разделе программы «Преобразование анализируемого файла». После чего указанный файл будет конвертирован в изображение. Когда программа завершит преобразование, изображение обработанного файла будет сохранено в том же каталоге, в котором находился и сам анализируемый файл. При этом изображение будет сохранено с названием “file.exe” в формате “png”.

Итоговые изображения необходимо распределить по двум каталогам в зависимости от того, является ли файл, который был использован для их построения, вредоносным или нет. Например, каталог “benign”, содержащий изображения безопасных файлов, и каталог “malware”, содержащий изображения вредоносных файлов. Итоговый набор данных для обучения представляет собой каталог “files”, в котором находятся 2 каталога: “benign” и “malware”. Примеры наборов данных для обучения приведены на рисунках 4 и 5.

Рис. 4. Пример изображений безопасных файлов из набора данных

Рис. 5. Пример изображений вредоносных файлов из набора данных

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

Рис. 6. Запуск обучения нейронной сети Рис. 7. Обучение нейронной сети

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

График обучения нейронной сети представлен на рисунке 8. На данном графике изображена динамика функций потерь “train_loss”, “val_loss” и точности “val_acc”, “train_acc” во время обучения нейронной сети. Функция “train_loss” отражает значения функции потерь данной нейронной сети во время обучения на тренировочном наборе данных, а функция “val_loss” показывает значения функции потерь во время использования набора данных для тестирования, который не применялся при обучении.

Рис. 8 График обучения нейронной сети

Функция “val_acc” иллюстрирует значения точности функционирования нейронной се¬ти во время обучения на тренировочном наборе данных, а функция “train_acc” показывает значения точности при использовании набора данных для тестирования, который не приме-нялся при обучении [8]. Во время успешного обучения нейронной сети необходимо умень-шить потери, показывающие отклонение выполняемых сетью прогнозов от целевых значе-ний и увеличить точность применяемой модели, по которой можно оценить число сделанных правильных предсказаний. То есть функция потерь должна стремиться к минимизации, а функция точности - к максимальному значению. По графику видно, что обучение нейронной сети было выполнено успешно: достигнута точность около 90%. Таким образом, преобразо¬вание вредоносных программ в черно-белые изображения помогает облегчить задачу клас¬сификации и обнаружения вирусов.

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

Примечания:

1. Частикова В.А., Березов М.Ю. Определение опти¬мальных параметров функционирования искусст¬венной иммунной системы для решения задачи обнаружения полиморфных вирусов // Политема- тический сетевой электронный научный журнал Кубанского государственного аграрного универси¬тета. 2017. № 128. С. 430-440.

2. Методика обнаружения вредоносного программ¬ного обеспечения на основе сверточных нейрон¬ных сетей / М.П. Малыхина, В. А. Частикова, Т.Г. Динмухаметов, В.Я. Петров // Вестник Ады¬гейского государственного университета. Сер.: Ес¬тественно-математические и технические науки. 2019. Вып. 4 (251). С. 118-124. URL: http://vestnik.adygnet.ru

3. Chebbi Ch. Mastering Machine Learning for Penetra¬tion Testing. Packt Publishing, 2018. 276 pp.

4. Пал С., Джулли А. Библиотека Keras - инструмент глубокого обучения. ДМК Пресс, 2018. 294 с.

5. Николенко С., Кадурин А., Архангельская Е. Глу¬бокое обучение. Санкт-Петербург: Питер, 2018. 480 с.

6. Сравнительный анализ некоторых алгоритмов рое¬вого интеллекта при обнаружении сетевых атак нейросетевыми методами / В.А.Частикова, М.П. Малыхина, С.А. Жерлицын, Я.И. Воля // По- литематический сетевой электронный научный журнал Кубанского государственного аграрного университета. 2017. № 129. С. 106-115.

7. Малыхина М.П., Бегман Ю.В. Нейросетевая экс¬пертная система на основе прецедентов для реше¬ния проблем обслуживания абонентов сотовой се¬ти // Известия высших учебных заведений. Северо-Кавказский регион. Сер.: Технические науки. 2009. № 3 (151). С. 6-9.

8. Michelucci U. Applied Deep Learning: A Case-Based Approach to Understanding Deep Neural Networks. Apress, 2018. 432 pp.

References:

1. Chastikova V.A., Berezov M.Yu. Determination of optimal parameters of the artificial immune system functioning to solve the problem of detecting poly¬morphic viruses // Polythematic Online Scientific Journal of Kuban State Agrarian University. 2017. No. 128. P. 430-440.

2. Method of detecting malware based on convolutional neural networks / M.P. Malykhina, V.A. Chastikova, T.G. Dinmukhametov, V.Ya. Petrov // The Bulletin of the Adyghe State University. Ser.: Natural- Mathematical and Technical Sciences. 2019. Iss. 4 (251). P. 118-124. URL: http://vestnik.adygnet.ru

3. Chebbi Ch. Mastering Machine Learning for Penetra¬tion Testing. Packt Publishing, 2018. 276 pp.

4. Pal S., Gulli A. Deep learning with Keras. DMK Press, 2018. 294 pp.

5. Nikolenko S., Kadurin A., Arkhangelskaya E. Deep learning. St. Petersburg: Piter, 2018. 480 pp.

6. Comparative analysis of some swarm intelligence al¬gorithms with detection of network attacks using neu¬ral network methods / V.A. Chastikova, M.P. Ma¬lykhina, S.A. Zherlitsyn, Ya.I. Volya // Polythematic Online Scientific Journal of Kuban State Agrarian University. 2017. No. 129. P. 106-115.

7. Malykhina M.P., Begman Yu.V. Neural network ex¬pert system based on precedents for solving problems of servicing cellular network subscribers // News of Higher Educational Institutions. North Caucasus re¬gion. Ser.: Technical Sciences. 2009. No. 3 (151). P. 6-9.

8. Michelucci U. Applied Deep Learning: A Case-Based Approach to Understanding Deep Neural Networks. Apress, 2018. 432 pp.

Размещено на Allbest.ru

...

Подобные документы

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.