Нейронные сети и вирусы

Обновлено: 25.04.2024

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

Что такое ИИ?

Искусственный интеллект — это зонтичный термин, включающий в себя довольно много разных инструментов, связанных с нейросетями, большими данными и машинным обучением. Чаще всего он используется для обозначения нейросети, натренированной на решение какой-либо, чаще всего интерпретационной, задачи: распознавание речи, изображений, перевод текстов с контекстом с языка на язык и так далее.

Обычная нейросеть — это в первом приближении сложно устроенная математическая функция f(x, a), которая зависит от набора аргументов x и некоторого набора параметров a. Она получает на вход данные определенного формата и выдает результат.

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

Наконец, сеть тестируется, и после этого, в принципе, она готова к работе — если на всех предыдущих этапах ничего не сломалось, если выборка была хорошей, если удалось угадать правильную архитектуру сети и так далее.

Судя по всему, узкая специализация — это математическое свойство, не зависящее от физической реализации этого инструмента. Это означает, что если вам требуется решить задачу, пусть и близкую, но отличную от той, которую решает имеющаяся нейросеть, то вам придется заново разрабатывать новую.

Наконец, нейросеть не программируется в привычном понимании этого слова. Это означает, что проверка теоретической корректности полученного результата (как проверка алгоритма в программе) требует создания новых методов, инструментов. Иными словами, вопрос безопасности работы — а под безопасностью мы понимаем отсутствие сбоев — это нерешенная задача, для которой еще предстоит создать подходящие инструменты.

Чем занимаются современные хакеры?

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

Их основная цель, как и любой ОПГ, — извлечение прибыли с минимальными расходами и рисками. Этим определяются основные направления работы киберпреступников: львиная доля совершаемых ими преступлений завязана на воровстве личных данных пользователей, мошенничестве и вымогательстве.

Соответственно, можно выделить пять основных типов киберугроз.

Больше половины всех киберугроз — это заражение компьютеров вредоносным программным обеспечением. Помимо привычных всем вирусов на сайтах, хакеры давно используют более любопытные технологии — например, встраивают вредоносный код в open-source проекты или заражают серверы для автоматического обновления ПО.

В последнем случае через такую систему были заражены десятки (а возможно, и сотни) тысяч компьютеров по всему миру.

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

Такие атаки подразумевают чаще всего прямое воровство денег. Иногда следствием атаки становится заражение вирусом, который кодирует данные и требует перевода денег для разблокировки (это виртуальная форма вымогательства).

Классический взлом систем с использованием программ, скриптов и так далее. На этот вид преступлений приходится чуть меньше 17 процентов от всех киберугроз.

Часто это часть глобальной схемы — например, заражение серверов вредоносными программами. Одна из основных целей хакерских атак (помимо традиционных государственных институтов) — криптобиржи и прочие площадки, связанные с криптовалютой.

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

Наконец, последний тип — это не устаревающие DDos-атаки. В июле 2019 года им исполнилось ровно 20 лет. Основная идея здесь состоит в создании сети ботов — компьютеров, готовых по команде посылать запросы на заданный сервер, перегружая его.

Глубокое обучение – это часть машинного обучения на основе нейронных сетей. В наше время каждый слышал про нейронные сети, да, может, и не каждый знает, что это такое и что оно делает, но само название всем знакомо.

Многие устройства, существующие сейчас, имеют внутри себя нейронную сеть, которая решает ту или иную задачу системы. На самом деле, если разбираться глубже это достаточно сложная структура, напоминающая совокупность нейронов в человеческом мозге. Сама их идея заставила многих заняться этой отраслью, чтобы получить выдающиеся результаты. Поэтому к 2021 году нейросети применяются в различных областях нашей жизни. Кибербезопасность не стала исключением.

Кибербезопасность - это полный набор всех методов, отвечающих за защиту сетей, программного обеспечения. С реализацией IoT кибербезопасность становится все более важной, чем когда-либо. Компьютерные сети уязвимы для многих угроз. Более того, система должна быть защищена не только от внешних угроз, но и также необходимо защитить от внутренних, таких как неправомерное использование авторизованного доступа.


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

Задачи, решаемые нейросетью

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

Важная особенность нейросети в том, что она способна выявлять различные зависимости, может находить элементы, которых раньше не было в сети, и изучать закономерности умышленных атак.

Основная классификация, основываясь на вышесказанном:

Выявление определенной информации в процессе обучения, и с помощью нее создание улучшенной сети;

Обнаружение мошенничества и вредоносных программ;

Оценка риска и анализ поведения системы.

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

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

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

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


Типы атак

Рассмотрим основную классификацию атак.

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

R2L – получение доступа неизвестного пользователя к компьютеру со стороны удаленной системы.

Probe – сканирование портов, которое приводит к получению конфиденциальной информации.

Session Hijacking (Cookie Hijacking) – использование действительного компьютерного сеанса для получения несанкционированного доступа к информации или службам в компьютерной системе.

Autoencoder CNN


Рекуррентная нейронная сеть Структура анализа трафика сети с помощью RNN

Перейдем к более детальному рассмотрению DoS, точнее подкатегории данной атаки, а именно – DDoS.

DDoS атаки, нейросети идут на помощь!


На сегодняшний день большую популярность приобретают DDoS атаки.

Специалисты выделяют несколько причин для этого. Во-первых, из-за ненависти к организациям. Например, известная атака на ФБР, когда они решили пойти против хакеров. Во-вторых, ради развлечения. Многие начинающие злоумышленники создают их, чтобы посмотреть, насколько сильно они навредят системе. В-третьих, шантаж и вымогательство, или иная мотивация использования такого типа атаки.

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

В свою очередь они сами имеют тоже несколько подгрупп:

на уровне протоколов (использует уязвимость стека сетевых протоколов - SYNflood),

на уровне приложений (приводит к неработоспособности приложения),

с насыщением полосы пропускания (происходит бомбардировка запросами, чтобы занять всю полосу трафика, одна из опаснейших атак, так как может произойти 100% отказ в обслуживании).

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

Архитектура многослойного персептрона

Архитектура многослойного персептрона

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


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

Заключение

В этой статье были рассмотрены основные положения кибербезопасности такие, как постановки задач, типы актуальных атак, и методы борьбы с помощью нейронных сетей. Несомненно, нейронные сети - это инновационное решение проблем в кибербезопасности. С помощью них можно проводить анализ угроз, предотвращать и предсказывать атаки, ускорять внутренние процессы системы. А я в свою очередь надеюсь, что данная статья была полезна многим пользователям, которые хотели погрузиться в тему инновационных методов кибербезопасности.


В этой статье будет рассмотрен метод обучения глубокой нейронной сети для автоматической генерации сигнатур вирусов, с целью дальнейшего предотвращения заражения информационных систем. Метод использует сеть глубоких убеждений, реализованную с глубоким стеком шумопонижающих автокодеровщиков, генерирующих инвариантное поведение вредоносного ПО. В отличие от обычных методов подписи, которые не могут обнаружить большинство новых вариантов, существующих вредоносных программ, подписи, сгенерированные по методу глубокого обучения, позволяют получить точную классификацию новых вариантов вирусов. Благодаря использованию набора данных, содержащего сотни вариантов для нескольких основных семейств вирусов, с помощью данного метода можно достичь почти 98 % точности в классификации вирусных сигнатур (характерных признаков вирусов).

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

Введение

Несмотря на почти экспоненциальный рост числа новых вирусов (например, по данным Panda Security в 2016 году в день появлялось почти 160 000 вредоносных программ), методы защиты от этих угроз остались неизменными. Большинство антивирусов обнаруживают вредоносное ПО, анализируют его и вручную создают специальную подпись, которую выпускают, как обновление. Ручной анализ, как правило, занимает много времени. Вредоносное ПО остается незамеченным и продолжает заражать новые компьютеры. Так же при обнаружении вирусов вносятся лишь минимальные изменения в код, так что новый вариант вируса практически невозможно обнаружить быстро.

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

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

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

Обзор подходов автоматической генерации сигнатур

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

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

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

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

Большинство вирусов представляют из себя многомодульные программы, содержащие большое число подмодулей и поэтому статистического анализа недостаточно для их точной классификации. Авто-знак [3] генерирует список подписей для вредоносного ПО путем разделения его исполняемого файла на сегменты равного размера. Для каждого сегмента создается подпись. Список подписей в следствии оценивается. Этот метод более устойчив к небольшим изменениям, но вредоносное ПО может уклоняться от этого метода путем шифрования исполняемого файла. Таким образом оно уклоняется от любого метода, который сравнивает исполняемые файлы и подпись.

Предлагаемый метод генерации подписей

В этом разделе представлен новый подход к поколению подписей. Главный вопрос, на который мы попытаемся ответить: возможно ли сгенерировать подпись для программы, чье поведение является инвариантным к малым масштабам изменений.

В 2014 году студенты из университета штата Пенсильвания провели эксперимент, который заключался в следующем.

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

Предлагаемый метод состоит из следующих этапов:

  1. Неконтролируемый этап обучения. На этом этапе учитывается набор вредоносных программ;
  2. , Запуск каждой программы в песочнице для генерации текстового файла, содержащего поведение программы.
  3. Анализ текстового файла песочницы и преобразование его в двоичную битовую строку
  4. Передача строк в нейронную сеть.
  5. Многоуровневое обучение глубокой сети убеждений с использованием глубоких шумопонижающих автокодеров. Обучение полностью неконтролируемо, и сеть не знает метки каждого образца.

Сеть имеет восемь уровней, каждый из которых содержит 30 нейронов. Таким образом, полученная в результате глубокая сеть в основном генерирует подпись, содержащую 30 чисел с плавающей запятой для каждого программа запускается в песочнице. Песочница — это особая среда, которая позволяет вести журнал поведения программ (например, вызов функций API, их параметры и файлы созданные или удаленные). [5] Результаты сохраняются в файле (обычно текстовом). На рисунке 1 представлен фрагмент журнала, записанный в виде песочницы.


Рис. 1. Фрагмент журнала, записанный в виде песочницы

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

Самый простой способ преобразования созданной песочницы из текстового файла в строку фиксированного размера — использовать один из общих методов обработки естественного языка. Простейший из этих методов — однограммовая (1-граммовая) экстракция или извлечение. Например, учитывая набор данных для образцов текста, сначала в тексте находится 5000 наиболее частых слова (эти слова будет содержать словарь), а затем для каждого тестового примера проверяется, какие из этих 5000 слов присутствуют в строке. Таким образом, каждый образец текста представлен как бит-строка размером в 5000. В отличие от текста на языке файла, файлы песочницы содержат разнообразную информацию и требуют несколько этапов предварительной обработки для извлечения полезного содержимого (например, строка после тега содержит имя вызываемой функции, и т. д.).

Вывод

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

  1. Горбань А. Н. Обучение нейронных сетей. — М.: СССР-США-СП.: Параграф, 1990. — 160 с.
  2. Хайкин С. Нейронные сети: полный курс 2-е изд. — М.: Вильямс, 2006. — 1104 с.
  3. Ясницкий Л. Н. Введение в искусственный интеллект. — М.: Академия, 2005. — 176 с.
  4. Еремин Д. М., Гарцеев И. Б. Искусственные нейронные сети в интеллектуальных системах управления. — М.: МИРЭА, 2004. — 75 с.
  5. Терехов В. А., Ефимов Д. В., Тюкин И. Ю. Нейросетевые системы управления. — М.: Высшая школа, 2002. — 184 с.

Основные термины (генерируются автоматически): программа, подпись, генерация сигнатур, глубокая нейронная сеть, глубокая сеть убеждений, сетевой трафик, сеть, глубокое обучение, нейронная сеть, текстовой файл.


Today, intrusion detection systems (IDS) are typically software or hardware and software solutions that automate the process of monitoring events occurring in a computer system or network. As the number of different sources of unauthorized entries into the wrong computer networks in recent years has increased significantly, as a result of increased and the load on the IDS. The number of stations to monitor has increased, what was the reason for expansion of the database, the analysis of which included in the scope of operation of the subsystems IDS. In this connection, the task was to reduce the load or optimized the operation of the subsystem analysis, the effectiveness of which is the result of the work of the IDS. In the analysis phase takes place detection of deviations of parameters monitoring anomalies in the analyzed parameters, but one of the most important performance indicator subsystem analysis is to identify information security incidents. In order to achieve an increase in performance to identify incidents need to optimize the processing of the resulting amount of data acquisition subsystem of the data, which also is part of the IDS. The paper is devoted to finding and reasoning methods to improve the detection rate of information security incidents within the existing intrusion detection systems (IDS). To improve the performance of intrusion detection systems we suggest to use pre-processing of the received monitoring data and to include it in an intrusion detection process as an obligatory step.The problem of detection of incidents can be represented as the problem of classification using an array of monitoring data. One of the tools for solving this problem are artificial neural networks. In this paper we analyzed the types and principles of IDS, intrusion detection methods, the problem of classification, basic principles of neural networks. Based on the analysis an experimental study was carried out. The comparative effectiveness of information security incidents identification using the described approach and alternative approaches was analyzed.

Keywords: intrusion detection systems, information security, neural networks, classification of network attacks.

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

Один из методов обработки информации с последующим обобщением — это искусственные нейронные сети (ИНС). ИНС позволяют достичь хороших результатов в решении таких сложных инженерных задач как распознавание образов, классификация, прогнозирование [1]. В связи со способностью искусственных нейронных сетей в процессе обучения выявлять сложные зависимости [2] между входными и выходными данными, которые отсутствовали в явном виде, являются привлекательным инструментом для решения задач защиты компьютерной информации. Таким образом, повышение эффективности выявления инцидентов информационной безопасности с помощью ИНС совместно со статистическими методами анализа данных, в рамках функционирования одной системы, является актуальной научно-технической задачей.

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

Подобный сценарий подходит и к реализации обнаружения сетевых атак, т. к. он связан с выделением большого числа признаков, по которым можно проводить классификацию. Так, например, в общедоступной базе KDD Cup ‘99 [3], содержащей примерно 5 миллионов классифицированных по 22 типам экземпляров атак (классов), используется 41 признак. При этом атаки делятся на 4 основные категории: DoS, U2R, R2L и Probe. Все признаки информативно неравнозначны, причем уточнить их истинную значимость можно только после проведения дополнительных исследований. Задача выявления существенно значимых признаков является неотъемлемой частью процесса распознавания.

Для решения задачи удалённой сетевой атакой будем называть информационное разрушающее воздействие на распределённую компьютерную сеть, осуществляемое программно по доступным каналам связи [4]. Конкретные разновидности сетевых атак представлены в базе данных (БД) KDD Cup ‘99. В качестве обучающего множества выступает база KDD-99.

DoS атаки — это сетевые атаки, направленные на возникновение ситуации, когда на атакуемой системе происходит отказ в обслуживании. Данные атаки характеризуются генерацией большого объема трафика, что приводит к перегрузке и блокированию сервера. ВыделяютшестьDoSатак: back, land, neptune, pod, smurf, teardrop [4].

Probe атаки заключаются в сканировании сетевых портов с целью получения конфиденциальной информации. Выделяют четыре типа Probe атак: ipsweep, nmap, portsweep, satan. Согласно источнику [5] для обнаружения и классификации 9 из 22 типов атак достаточно 29 параметров, характеризующих сетевые соединения.

Обычно для обучения и тестирования ИНС имеющиеся экспериментальные данные разбиваются на обучающую БД и контрольную БД. В проведённых исследованиях в качестве обучающей БД с параметрами сетевых соединений, представляющая собой 10 % от исходного KDD CUP. 99. Записи из полной контрольной БД подавались на обученные НС. На основании результатов этого этапа определяется статистика и даётся анализ эффективности НС по критериям качества распознавания типов аномальных соединений и наличию ложных срабатываний (когда нормальное соединение принимается за атаку) [6].

Состав KDD CUP. 99

Читайте также: