Нейронные сети в кибербезопасности
Введение
Глубокое обучение — это часть машинного обучения на основе нейронных сетей. В наше время каждый слышал про нейронные сети, да, может, и не каждый знает, что это такое и что оно делает, но само название всем знакомо.
Многие устройства, существующие сейчас, имеют внутри себя нейронную сеть, которая решает ту или иную задачу системы. На самом деле, если разбираться глубже это достаточно сложная структура, напоминающая совокупность нейронов в человеческом мозге. Сама их идея заставила многих заняться этой отраслью, чтобы получить выдающиеся результаты. Поэтому к 2021 году нейросети применяются в различных областях нашей жизни. Кибербезопасность не стала исключением.
Кибербезопасность-это полный набор всех методов, отвечающих за защиту сетей, программного обеспечения. С реализацией Интернета вещей IoT кибербезопасность становится все более важной, чем когда-либо. Компьютерные сети уязвимы для многих угроз. Более того, система должна быть защищена не только от внешних угроз, но и также необходимо защитить от внутренних, таких как неправомерное использование авторизованного доступа.
Основная задача, которая перед нами стоит, это обнаружение подозрительных пользователей до того, как они смогут полностью совершить атаку на систему.
Задачи, решаемые нейросетью
Спектр задач, решаемых нейросетями достаточно велик, но приведем основные задачи, которые наиболее актуальны в настоящее время.
Важная особенность нейросети в том, что она способна выявлять различные зависимости, может находить элементы, которых раньше не было в сети и изучать закономерности умышленных атак.
Основная классификация, основываясь на выше сказанном:
Обнаружение вторжений;
Выявление определенной информации в процессе обучения, и с помощью нее создание улучшенной сети;
Обнаружение мошенничества и вредоносных программ;
Оценка риска и анализ поведения системы.
Вдобавок, хотелось бы перечислить направления применения в прикладных задачах: применение в межсетевых экранах и детектирование угроз.
Первая подзадача заключается в том, что нейронная сеть анализирует трафик и пытается предсказать возможное вторжение. Здесь преимущество нейросети в том, что она может самостоятельно обучаться, не опираясь на заложенные в нее данные.
Вторая подзадача заключается в том, что сеть уже составила образ нормального поведения в сети, и теперь любое отклонение от этого образа будет считаться аномалией. Некоторые атаки легко предсказывать, так как они были известны нам заранее. Тем не менее мошенники создают атаки, происходящие целенаправленно на новые слабости в нашей системе. Такая атака не имеет предшественников, и может причинить вред нашей системе до того, как мы успеем ее обезвредить.
Применение искусственных нейронных сетей для детектирования вторжений достаточно интересная и инновационная тема на данный момент. Это обусловлено тем, что нейросети обладают гибкостью, что дает им способность обучаться в режиме реального времени, что повышает вероятность верного срабатывания при детектировании атак.
Типы атак
Рассмотрим основную классификацию атак.
DoS — атака, которая осуществляется с целью довести систему до отказа. Происходит генерация огромного количества трафика, из-за которого происходит перезагрузка сервера, и в дальнейшем его блокировка.
R2L — получение доступа неизвестного пользователя к компьютеру со стороны удаленной системы.
Probe — сканирование портов, которое приводит к получению конфиденциальной информации.
U2R — получение зарегистрированным пользователем преимуществ суперпользователя.
Man-in-the-Middle — подслушивание разговора, или активное участие, изменяя содержание ваших сообщений или выдавая себя за человека или систему, с которыми вы, по вашему мнению, разговариваете.
Session Hijacking (Cookie Hijacking) — использование действительного компьютерного сеанса для получения несанкционированного доступа к информации или службам в компьютерной системе.
Для атак первых четырех типов было проведено обширное исследование выявления угроз при помощи нейросетей в статье «Artificial Neural Network for Cybersecurity: A Comprehensive Review». Обзорная статья рассматривала результаты моделей для классификации атак на датасетах с данными соединений сети, таких как KDD Cup 99, NSL-KDD, Alexa, OSINT и др. Наилучшие результаты показали модели LSTM, CNN-based архитектуры, BiLSTM и Autoencoder. Т.е. данная статья доказывает концепцию успешного использования нейросетей для детекции угроз с достаточно большой точностью.
AutoencoderCNN
Дополнительно к атаке типа DoS были рассмотрены такие атаки как Man-in-the-Middle и Session Hijackin в статье «Attacks Recognition Using Recurrent Neural Network». Как видно из названия, рекуррентные нейронные сети справляются с детектированием данных атак, обрабатывая базу данных подключенных к сети пользователей, как временной ряд событий. Структура работы представлена на картинке ниже.
Рекуррентная нейронная сетьСтруктура анализа трафика сети с помощью RNN
Перейдем к более детальному рассмотрению DoS, точнее подкатегории данной атаки, а именно — DDoS.
DDoS атаки, нейросети идут на помощь!
На сегодняшний день большую популярность приобретают DDoS атаки.
Специалисты выделяют несколько причин для этого. Во-первых, из-за ненависти к организациям, в пример можно привести известную атаку на ФБР, когда они пошли против хакеров. Во-вторых, ради развлечения, многие начинающие злоумышленники создают их, чтобы посмотреть, на сколько сильно они навредят системе. В-третьих, шантаж и вымогательство, или иная мотивация использования такого типа атаки.
Выявление такого типа атаки достаточно затруднительная задача с точки зрения алгоритма, потому что не существует общих для всех признаков, которые будут указывать, что сетевые запросы правда принадлежат настоящим пользователям, а не злоумышленникам.
Основное отличие от DoS заключается в том, что эта атака осуществляется одновременно с большого числа IP-адресов. Такую совокупность компьютеров называют «ботнет».
В свою очередь они сами имеют тоже несколько подгрупп:
Атаки
на уровне протоколов (использует уязвимость стека сетевых протоколов-SYNflood),
на уровне приложений (приводит к неработоспособности приложения),
с насыщением полосы пропускания (происходит бомбардировка запросами, чтобы занять всю полосу трафика, одна из опаснейших атак, так как может произойти 100% отказ в обслуживании).
В 2009 году была опубликована статья, рассказывающая про создание «нечеткой» нейронной сети, которая боролась с атаками типа SYN flood. Суть такого классификатора была в том, что по данным на входе, он мог определять степень уверенности в атаке. Данная нейронная сеть представляла собой многослойную структуру с прямым распространением, что позволяет ей адаптироваться под конкретную ситуацию. Сама сеть представляла собой совокупность нейронов, вычисляющие значения функции нечеткой конъюнкции, дизъюнкции, нейроны, вычисляющие принадлежность нечетким множествам и вычисляющие выход самого классификатора.
«Нечеткий» нейросетевой классификатор
В 2014 году была опубликована еще одна интересная работа, которая рассказывала про применение многослойного персептрона с двумя скрытыми слоями. Особенностью данной работы было то, что они использовали один достаточно нетривиальный метод оптимизации (метод роя частиц). Данный метод отображает поведение, например, пчел. Применение такого метода не требует знаний градиента оптимизируемой функции. Такой метод помог достигнуть более высоких результатов и уменьшить количество реакций системы на ложные угрозы.
Архитектура многослойного персептрона
Другой стороной медали использования нейронных сетей является проблема взлома самих нейросетей. При попытке взломать саму нейросеть достаточно правильно подобрать её параметры, наиболее сильно влияющие на вывод сети, таким образом появляется возможность изменить работу любой нейросети (например, видеокамера в зоопарке будет видеть гиббона вместо красивой панды). Дополнительными модификациями выступают finetune со специальными loss функциями, основанными на нормализации реальных данных или динамическое изменение весов нейросети в процессе работы.
Это несколько примеров применения нейронных сетей в борьбе с атаками, число которых в будущем будет только расти.
Заключение
В этой статье были рассмотрены основные положения кибербезопасности такие, как постановки задач, типы актуальных атак, и методы борьбы с помощью нейронных сетей. Несомненно, нейронные сети это инновационное решение проблем в кибербезопасности. С помощью них можно проводить анализ угроз, предотвращать и предсказывать атаки, ускорять внутренние процессы системы. А я в свою очередь надеюсь, что данная статья была полезна многим пользователям, которые хотели погрузиться в тему инновационных методов кибербезопасности.