Глубокие нейронные сети: автоматическое обучение распознаванию вредоносных программам. Генерация и классификация подписей | Статья в журнале «Молодой ученый»

Отправьте статью сегодня! Журнал выйдет 28 декабря, печатный экземпляр отправим 1 января.

Опубликовать статью в журнале

Автор:

Рубрика: Информационные технологии

Опубликовано в Молодой учёный №47 (181) ноябрь 2017 г.

Дата публикации: 28.11.2017

Статья просмотрена: 598 раз

Библиографическое описание:

Киселевская, А. Ю. Глубокие нейронные сети: автоматическое обучение распознаванию вредоносных программам. Генерация и классификация подписей / А. Ю. Киселевская. — Текст : непосредственный // Молодой ученый. — 2017. — № 47 (181). — С. 15-18. — URL: https://moluch.ru/archive/181/46753/ (дата обращения: 16.12.2024).



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

Вывод

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

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

Литература:

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


Ключевые слова

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

Похожие статьи

Использование искусственных нейронных сетей для оценки и прогнозирования речных отложений

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

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

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

Контролируемые методы машинного обучения как средство детектирования сетевых вторжений

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

Оценка стойкости криптосистемы Эль-Гамаля

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

Рабочие процессы или свободное движение документов в системе электронного документооборота?

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

Построение программного комплекса для генерации звуков барабанов с использованием GAN сетей

В статье рассматривается построение программного комплекса для генерации звуков барабанов с использованием GAN сетей. Программный комплекс работает на клиент-сервер архитектуре и использует нейронные сети WaveGAN для генерации звуков. Результаты, пол...

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

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

Применение метода морфологического анализа при разработке веб-проектов

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

Аналитика эффективного предотвращения дефектов программ

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

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

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

Похожие статьи

Использование искусственных нейронных сетей для оценки и прогнозирования речных отложений

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

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

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

Контролируемые методы машинного обучения как средство детектирования сетевых вторжений

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

Оценка стойкости криптосистемы Эль-Гамаля

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

Рабочие процессы или свободное движение документов в системе электронного документооборота?

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

Построение программного комплекса для генерации звуков барабанов с использованием GAN сетей

В статье рассматривается построение программного комплекса для генерации звуков барабанов с использованием GAN сетей. Программный комплекс работает на клиент-сервер архитектуре и использует нейронные сети WaveGAN для генерации звуков. Результаты, пол...

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

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

Применение метода морфологического анализа при разработке веб-проектов

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

Аналитика эффективного предотвращения дефектов программ

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

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

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

Задать вопрос