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

Скачать дипломную работу на тему: "Классификация вредоносных программ с помощью сверточных нейронных сетей". В которой изучены основы построения и функционирования нейронных сетей. Реализована сверточная нейронная сеть для классификации вредоносных программ на языке Python.
Author image
Denis
Тип
Дипломная работа
Дата загрузки
19.10.2024
Объем файла
2009 Кб
Количество страниц
34
Уникальность
Неизвестно
Стоимость работы:
2400 руб.
3000 руб.
Заказать написание работы может стоить дешевле

ВВЕДЕНИЕ

Вредоносное программное обеспечение – опасные программы, позволяющие получить доступ к устройству посторонним лицам и использовать их в своих целях.
В современном мире развитого Интернета атаки вредоносного ПО представляют большую угрозу для финансовых организаций и обычных пользователей. Ниже, на Рис. 1 представлена статистика вредоносных программ за последние 10 лет.
Рисунок 1 Статистика AVTestОчевидно, что общее количество образцов вредоносного ПО увеличивается с каждым годом. Одной из основных причин такого большого распространения объема экземпляров вредоносных программ является широкое использование разработчиками вредоносного ПО методов обфускации, что означает, что вредоносные файлы из одного и того же семейства вредоносных программ (то есть похожий код и общее происхождение) постоянно модифицируются и/или запутываются. Следовательно, эти вредоносные программы имеют общее поведение, и большое количество новых вредоносных программ являются вариантами уже существую

СОДЕРЖАНИЕ

ВВЕДЕНИЕ 8

ГЛАВА 1 КЛАССИФИКАЦИЯ ВРЕДОНОСНЫХ ПРОГРАММ 10

1.1 Методы обнаружения и классификации вредоносных программ 10

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

ГЛАВА 2 ОСНОВЫ НЕЙРОННЫХ СЕТЕЙ 15

2.1 Простейший персептрон 15

2.2 Алгоритм Back propagation 17

2.3 Обучение нейронной сети 21

ГЛАВА 3 ОСОБЕННОСТИ СВЕРТОЧНЫХ НЕЙРОННЫХ СЕТЕЙ 23

3.1 Операция свертки 23

3.1 Изменение масштаба (pooling) 25

ГЛАВА 4 РЕАЛИЗАЦИЯ СВЕРТОЧНОЙ НЕЙРОННОЙ СЕТИ ДЛЯ КЛАССИФИКАЦИИ ВРЕДОНОСНЫХ ПРОГРАММ НА ЯЗЫКЕ PYTHON 28

4.1 Конвертация исполняемого файла в изображение 28

4.2 Подбор подходящих датасетов 31

4.2.1 Kaggle/Microsoft Malware Classification Challenge 32

4.2.2 MaleVis: A Dataset for Vision Based Malware Recognition 33

4.2.3 MalImg malware dataset 34

4.3 Обзор фреймворков для разработки нейронных сетей 37

4.3.1 Tensorflow 38

4.3.2 PyTorch 39

4.3.3 Keras 41

4.3.3 Scikit-learn 41

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

4.5 Написание программы для нейронной сети 45

4.6 Обучение сети и анализ результатов 47

ЗАКЛЮЧЕНИЕ 48

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

ПРИЛОЖЕНИЕ 52

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

1. Федеральный закон от 27.07.2006 № 149-ФЗ «Об информации, информационных технологиях и о защите информации»
2. ГОСТ Р 56546 – 2015 «Защита информации. Уязвимости информационных систем. Классификация уязвимостей информационных систем»
3. ГОСТ Р ИСО/МЭК 27001-2021 «Информационная технология. Методы и средства обеспечения безопасности. Системы менеджмента информационной безопасности. Требования»
4. Рашка, С. Python и машинное обучение / С. Рашка; пер. с англ. А. В. Логунова. - Москва : ДМК Пресс, 2017. - 418 с.
5. AV Atlas – Malware & PUA // AV Atlas : [сайт]. – 2023. – URL: https://portal.av-atlas.org/malware (дата обращения: 20.05.2023).
6. PE File Stucture: Sections // Keystrokes : [сайт]. – 2023. – URL: https://keystrokes2016.wordpress.com/2016/06/03/pe-file-structure-sections/ (дата обращения: 26.05.2023).
7. История возникновения нейронных сетей // Пикабу : [сайт]. – 2023. – URL https://pikabu.ru/story/istoriya_vozniknoveniya_neyronnyikh_setey_7152766 (дата обращения: 24.05.2023).
8. Очень краткая история нейросетей: от разработок 20-го века до ChatGPT // Vc.ru : [сайт]. – 2023. – URL https://vc.ru/future/606777-ochen-kratkaya-istoriya-neyrosetey-ot-razrabotok-20-go-veka-do-chatgpt (дата обращения: 24.05.2023).
9. Обучение и оц

Чтобы сделать выборку репрезентативной, необходимо собрать данные из разных источников, учесть все возможные варианты и случаи, исключить возможные ошибки в выборке и при необходимости выполнить дополнительную обработку данных (преобразование формата, нормализация, удаление выбросов и т.д.).
ГЛАВА 3 ОСОБЕННОСТИ СВЕРТОЧНЫХ НЕЙРОННЫХ СЕТЕЙ Сверточные нейронные сети – это один из типов архитектур искусственных нейронных сетей, часто используемый в обработке изображений, распознавании голоса, анализе временных рядов и других задачах машинного обучения.
Сверточная НС обрабатывает данные с помощью операций фильтрации и свертки и выявляет в них шаблоны и признаки, которые могут обобщатся. Она имеет несколько специальных слоев, которые позволяют нейронной сети эффективно извлекать признаки из больших объемов необработанных данных.
СНС можно использовать в задаче классификации вредоносных программ и их исполняемых файлов, представленных