Технологии машинного обучения в кибербезопасности
Покупка
Новинка
Основная коллекция
Издательство:
Инфра-Инженерия
Год издания: 2024
Кол-во страниц: 140
Дополнительно
Вид издания:
Учебное пособие
Уровень образования:
Профессиональное образование
ISBN: 978-5-9729-2048-8
Артикул: 843051.01.99
Рассматриваются основные методы и алгоритмы машинного обучения, которые используются в настоящее время. Даются примеры использования этих методов для решения различных задач обеспечения информационной безопасности. Для студентов вузов, обучающихся по группе специальностей (направлений) 10.00.00 "Информационная безопасность".
Тематика:
ББК:
УДК:
ОКСО:
- ВО - Бакалавриат
- 00.03.03: Информатика
- 10.03.01: Информационная безопасность
- ВО - Магистратура
- 10.04.01: Информационная безопасность
- ВО - Специалитет
- 00.05.03: Информатика
ГРНТИ:
Скопировать запись
Фрагмент текстового слоя документа размещен для индексирующих роботов
В. В. Платонов ТЕХНОЛОГИИ МАШИННОГО ОБУЧЕНИЯ В КИБЕРБЕЗОПАСНОСТИ Допущено Северо-Западным региональным отделением ФУМО по информационной безопасности в качестве учебного пособия для студентов высших учебных заведений, обучающихся по направлению 10.00.00 «Информационная безопасность», по программам подготовки бакалавров, магистров, специалистов Москва Вологда «Инфра-Инженерия» 2024
УДК 004.056.5 ББК 32.973 П37 Рецензенты: доктор технических наук, доцент, заведующий кафедрой высшей математики СПбПУ Антонов Валерий Иванович; доктор технических наук, доцент, доцент Высшей школы атомной и тепловой энергетики СПбПУ Гусаков Андрей Александрович Платонов, В. В. П37 Технологии машинного обучения в кибербезопасности : учебное пособие / В. В. Платонов. – Москва ; Вологда : Инфра-Инженерия, 2024. – 140 с. : ил., табл. ISBN 978-5-9729-2048-8 Рассматриваются основные методы и алгоритмы машинного обучения, которые используются в настоящее время. Даются примеры использования этих методов для решения различных задач обеспечения информационной безопасности. Для студентов вузов, обучающихся по группе специальностей (направлений) 10.00.00 «Информационная безопасность». УДК 004.056.5 ББК 32.973 ISBN 978-5-9729-2048-8 Платонов В. В., 2024 Издательство «Инфра-Инженерия», 2024 Оформление. Издательство «Инфра-Инженерия», 2024
ОГЛАВЛЕНИЕ Введение ............................................................................................ 5 1. Методы обучения без учителя................................................... 11 1.1 Виды кластеризации ............................................................ 12 1.2 Метрики ................................................................................ 14 1.3 Алгоритм K-means ............................................................... 15 2. Методы обучения с учителем .................................................... 19 2.1 Деревья решений .................................................................. 22 2.2 Случайные деревья. Леса деревьев ..................................... 26 2.3 Ансамблевые модели ........................................................... 28 2.4 Метод опорных векторов .................................................... 33 2.5 Генетический алгоритм ....................................................... 41 2.6 Биоинспирированные алгоритмы ....................................... 49 2.7 Нейронные сети .................................................................... 52 2.7.1 Перцептрон Розенблатта .............................................. 56 2.7.2 Число нейронов скрытого слоя.................................... 58 2.7.3 Основные виды нейронных сетей ............................... 62 2.8 Глубокие нейронные сети ................................................... 67 2.9 Генеративно-состязательные сети ...................................... 68 2.10 Нечеткая логика.................................................................. 73 3. Обучение с частичным привлечением учителя ....................... 79 4. Обучение с подкреплением ....................................................... 82 5. Практические вопросы машинного обучения ......................... 98 5.1 Исходные данные для обучения ......................................... 98 3
5.2 Устранение дисбаланса данных ........................................ 101 5.3 Выбор признаков ................................................................ 103 5.4 Методы сокращения размерности .................................... 104 5.5 Выбор модели обнаружения ............................................. 116 5.6 Оценка качества обнаружения .......................................... 119 6. Состязательные атаки .............................................................. 126 Заключение.................................................................................... 132 Контрольные вопросы .................................................................. 133 Список литературы ....................................................................... 135 4
Машинное обучение иногда путают с искусственным интеллектом. С формальной точки зрения это действительно подраздел науки об искусственном интеллекте, однако он очень разросся и оказался настолько успешным, что затмил гордого родителя. Цель искусственного интеллекта – научить компьютеры делать то, что люди пока делают лучше, а умение учиться – наверное, самый важный из этих навыков, без которого компьютерам никогда не угнаться за человеком. Остальное приложится. Петро Домингос «Верховный алгоритм» ВВЕДЕНИЕ Существующее в настоящее время противостояние в информационно-коммуникационной сфере все более принимает форму активного воздействия на информационные системы противоположной стороны, на подавление средств обеспечения безопасности. Объектом защиты, таким образом, является так называемое киберпространство, под которым понимается взаимосвязанная совокупность инфраструктуры, компьютерных систем, процессоров и контроллеров. Тогда кибербезопасность может быть определена как набор принципов, методов и средств обеспечения безопасности информационных процессов, методов управления безопасностью и средств активного противодействия киберугрозам. Машинное обучение предлагает потенциальные решения в различных областях деятельности, поэтому эта технология применима и для решения различных задач обеспечения кибербезопасности. По своей сущности машинное обучение представляет собой набор математических методов, реализуемых в компьютерных системах, обеспечивающих процессы извлече5
ния информации, обнаружения шаблонов, формирования выводов из данных. Машинное обучение является в настоящее время основным конструктивным блоком искусственного интеллекта. В указе Президента РФ от 10 октября 2019 г. № 490 «О развитии искусственного интеллекта в Российской Федерации» дается определение искусственного интеллекта: «искусственный интеллект – комплекс технологических решений, позволяющий имитировать когнитивные функции человека (включая самообучение и поиск решений без заранее заданного алгоритма) и получать при выполнении конкретных задач результаты, сопоставимые, как минимум, с результатами интеллектуальной деятельности человека». В указе отмечено, что «на смену экспертным системам пришло машинное обучение, благодаря которому информационные системы самостоятельно формируют правила и находят решение на основе анализа зависимостей, используя исходные наборы данных (без предварительного составления человеком перечня возможных решений), что позволяет говорить о появлении искусственного интеллекта». Взаимоотношение понятий искусственного интеллекта и машинного обучения иллюстрируется рис. 1. Рис. 1. Машинное обучение и искусственный интеллект Тем не менее, в настоящее время, несмотря на широкое использование в различных областях, нет однозначного определения понятия «машинное обучение (Machine Learning)». При6
ведем некоторые определения, которые используются различными исследователями и организациями. Машинное обучение – это использование математических моделей данных, которые помогают компьютеру обучаться без непосредственных инструкций. Можно сказать, что машинное обучение – это область исследований, которая дает компьютерам способность обучаться без непосредственного программирования. При машинном обучении с помощью алгоритмов выявляются закономерности в данных. Машинное обучение – класс методов искусственного интеллекта, характерной чертой которых является не прямое решение задачи, а обучение за счёт применения решений множества сходных задач. Для построения таких методов используются средства математической статистики, численных методов, математического анализа, методов оптимизации, теории вероятностей, теории графов, различные техники работы с данными в цифровой форме. Машинное обучение – это методики анализа данных, которые позволяют аналитической системе обучаться в ходе решения множества сходных задач. Машинное обучение базируется на идее о том, что аналитические системы могут учиться выявлять закономерности и принимать решения с минимальным участием человека. А. С. Потапов отмечает, что «дать формальное определение обучению крайне затруднительно, но важно то, что обучение – это способность использовать предыдущий опыт для лучшего решения последующих задач». В основе машинного обучения лежат три одинаково важных компонента: x Данные. Представляют собой значения параметров рассматриваемой задачи. Считается, что чем больше данных, тем эффективней машинное обучение и точнее будущий результат. 7
x Признаки. Определяют значения параметров, используемых в машинном обучении. x Алгоритм. Выбор метода машинного обучения влияет на точность, скорость работы и размер модели. Различают четыре основных метода машинного обучения: обучение с учителем, частичное обучение, обучение без учителя и обучение с подкреплением (рис. 2). Виды машинного обучения Обучение с учителем Обучение без учителя Обучение с подкреплением Частичное обучение Рис. 2. Методы машинного обучения При обучении с учителем (supervised learning) машине предоставляются так называемые прецеденты – образцы записей. Каждый прецедент представляет собой пару «объект, класс объекта». Требуется найти функциональную зависимость между объектами и классами и построить алгоритм, который, принимая на вход описание объекта, выдает в качестве ответа класс этого объекта. Функционал качества, как правило, определяется процентом правильно распознанных объектов или средней ошибкой распознавания. Обучение с учителем охватывает ряд задач: x Задача классификации (classification) подразумевает, что множество допустимых ответов (классов) конечно. В этом случае их называют метками классов, тогда класс – это множество объектов с данным значением метки. x В задаче регрессии (regression) ответами являются числа или числовые векторы. 8
x В задаче ранжирования (learning to rank) ответы получаются на множестве объектов, после чего проводится сортировка ответов по полученным значениям. Задача ранжирования может сводиться к задачам классификации или регрессии. x Задача прогнозирования (forecasting) отличается тем, что объектами являются отрезки временных рядов, по которым нужно сделать прогноз на будущее. При обучении без учителя (unsupervised learning) классы объектов не задаются (неизвестны). Машина самостоятельно устанавливает зависимости между объектами. Задачами обучения без учителя являются следующие задачи: x Задача кластеризации (clustering) – группирование объектов в кластеры, используя метрики попарного сходства объектов. Существует множество подобных метрик. x В задаче поиска ассоциативных правил (association rules) исходные данные представляются в виде признаковых описаний. Требуется найти такие наборы признаков и значения этих признаков, которые достаточно часто встречаются в признаковых описаниях объектов. x Задача фильтрации выбросов (outliers) состоит в обнаружении в представленной выборке объектов нетипичных объектов. x Задача сокращения размерности (dimension reduction) заключается в том, чтобы по исходным признакам перейти к меньшему числу новых признаков, не потеряв существенной информации об объектах (сохраняя качество заданного функционала). При частичном обучении (semi-supervised) не все прецеденты содержат класс объектов. 9
Обучение с подкреплением (reinforcement learning) подразумевает взаимодействие со средой. Роль объектов выполняют пары «ситуация, принятое решение», а ответом является значение заданного функционала качества, который характеризует правильность принятого решения (реакцию среды). Методы машинного обучения хорошо зарекомендовали себя в различных областях, поэтому все шире используются для решения задач обеспечения безопасности. Например, такие задачи, как: выявление вредоносного программного обеспечения, обнаружение ботнетов, обнаружение спама, фаззинг-тестирование программного обеспечения, аутентификация пользователей и приложений, управление доступом, обнаружение сетевых атак и вторжений и т. п. 10