Телефон: 8-800-350-22-65
WhatsApp: 8-800-350-22-65
Telegram: sibac
Прием заявок круглосуточно
График работы офиса: с 9.00 до 18.00 Нск (5.00 - 14.00 Мск)

Статья опубликована в рамках: CI Международной научно-практической конференции «Экспериментальные и теоретические исследования в современной науке» (Россия, г. Новосибирск, 27 мая 2024 г.)

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

Скачать книгу(-и): Сборник статей конференции

Библиографическое описание:
Соболев А.О. ОБНАРУЖЕНИЕ ВРЕДОНОСНЫХ СЦЕНАРИЕВ POWERSHELL С ИСПОЛЬЗОВАНИЕМ АЛГОРИТМОВ ГЛУБОКОГО ОБУЧЕНИЯ // Экспериментальные и теоретические исследования в современной науке: сб. ст. по матер. CI междунар. науч.-практ. конф. № 5(93). – Новосибирск: СибАК, 2024. – С. 88-94.
Проголосовать за статью
Дипломы участников
У данной статьи нет
дипломов

ОБНАРУЖЕНИЕ ВРЕДОНОСНЫХ СЦЕНАРИЕВ POWERSHELL С ИСПОЛЬЗОВАНИЕМ АЛГОРИТМОВ ГЛУБОКОГО ОБУЧЕНИЯ

Соболев Артем Олегович

студент, МИРЭА – Российский технологический университет, Институт кибербезопасности и цифровых технологий

РФ, г. Москва

DETECTING MALICIOUS POWERSHELL SCRIPTS USING DEEP LEARNING ALGORITHMS

 

Artem Sobolev

Student, MIREA - Russian Technological University,

Russia, Moscow

 

АННОТАЦИЯ

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

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

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

ABSTRACT

The purpose of this work is to find the possibility of using deep learning algorithms to detect malicious PowerShell scripts, which are often used in targeted attacks.

The research method includes the analysis of three different deep learning architectures, including a combination of convolutional and recurrent layers.

The results show that deep learning models demonstrate high accuracy in the classification of PowerShell scripts, reaching an accuracy of over 98%. Thus, deep learning algorithms are an effective tool for detecting malicious PowerShell scripts. Further research may be aimed at optimizing models and reducing false positives, as well as integrating the developed solutions into real-time systems to protect information systems.

 

Ключевые слова: глубокое обучение; powershell; вредоносные скрипты.

Keywords: deep learning; powershell; malicious scripts.

 

ВВЕДЕНИЕ

PowerShell — популярный язык сценариев и оболочка командной строки. Первоначально совместимая только с Windows, Powershell за последние несколько лет приобрела множество активных пользователей, особенно благодаря ее кроссплатформенной версии с открытым исходным кодом PowerShell Core. PowerShell построен на платформе .NET и позволяет сторонним пользователям писать командлеты и сценарии, которые они могут распространять для всех пользователей через PowerShell [1]. К сожалению, наряду с ростом использования оболочки, PowerShell также подвергается вредоносным атакам с помощью различных типов вирусов. Об этом подробно рассказывается в отчете Symantec [2]. Скрипты PowerShell можно легко закодировать и запутать, что затрудняет обнаружение вредоносной активности [3].

На Рисунке 1 представлены наиболее распространенные и эффективные методы матрицы MITRE ATT&CK, согласно отчету об обнаруженных угрозах, наблюдаемых в клиентской базе Red Canary в 2023 году [4].

Две подтехники Т1059.001 «Command and Scripting Interpreter: PowerShell» и Т1059.003 «Command and Scripting Interpreter: Windows Command Shell» являются самыми популярными и используемыми злоумышленниками два года подряд.

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

 

Рисунок 1. Топ 10 обнаруженных техник в 2023 году

 

Для решения проблемы обнаружения вредоносных программ PowerShell в основном используют методы машинного обучения, преимущество использования которых заключается в том, что с их помощью можно научить распознавать структуру и функции программы. Это означает, что нам не нужно вручную подписывать новые вредоносные программы или даже заранее определять новые атаки для их обнаружения. Современные научные исследования машинного обучения для обнаружения вредоносных PowerShell включают методы NLP (Natural Language Processing) и сверточных нейронных сетей, а также структурный анализ программ на основе абстрактного синтаксического дерева (Abstract Syntax Tree, AST) [5]. В данной статье приводятся результаты исследований метода AST и определение расстояний обфускации PowerShell.

ОБУЧАЮЩИЙ НАБОР ДАННЫХ

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

  1. Отчеты о киберугрозах компаний по информационной безопасности (Kaspersky, PT, Red Canary, Mandiant).
  2. Репозитории на GitHub (проекты машинного обучения и open-source проекты).
  3. Malware репозитории и платформы анализа вредоносного ПО (VirusTotal, MalwareBazzar, Hybrid Analysis).
  4. Поток данных из SIEM-системы, с подключенными Windows источниками и логированием Powershell.

Набор данных для исследования состоит из 12720 образцов программного кода PowerShell в формате .ps1, разделенных на три категории:

  1. вредоносные скрипты:
  2. легитимные:
  3. легитимные образцы с вредоносными фрагментами.

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

ПРОЕКТИРОВАНИЕ МОДЕЛИ

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

  • формирование тренировочной выборки (тренировочный, тестовый и валидационный датасеты);
  • векторизация данных и создание эмбеддингов;
  • построение модели нейронной сети с разными слоями и параметрами;
  • обучение нейронной сети;
  • классификация тестовой выборки;
  • классификация новых данных, не принимавших участие в обучении;

Проектирование модели нейронной сети проводится на языке Python с использованием библиотеки TensorFlow. При построении модели будем придерживаться концепции классификации текстовой информации, в нашем случае в виде текста будет выступать код PowerShell.

ЭКСПЕРИМЕНТЫ

В ходе работы было проведено множество экспериментов с различными гиперпараметрами моделей и выделены самые оптимальные и производительные 3 модели с окончательными гиперпараметрами и архитектурами (CNN, CNN-LSTM, CNN-BiLSTM):

  • все модели имеют три сверточных слоя с функцией активации ReLU. Количество фильтров на первом, втором и третьем слоях равно 128;
  • для модели CNN выходные данные сверточных слоев соединяются с полносвязным слоем из 64 нейронов, а затем передаются на выходной слой;
  • для моделей CNN-UniLSTM и CNN-BiLSTM выходы сверточных слоев соединяются с двумя слоями однонаправленной и двунаправленной LSTM соответственно, каждый из которых имеет 64 скрытых нейронов;
  • выходы слоев однонаправленной LSTM соединяются с полносвязным слоем, затем подключаются к выходному слою;
  • выходы слоев двунаправленной LSTM затем подключаются к выходному слою.

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

Таблица 1.

Результаты модели на тренировочной и валидационной выборках

Модель

Кол-во эпох

Общее время обучения, мин

Среднее время обучения за эпоху, сек

accuracy

val_accuracy

CNN

15

9,5

35

99,4

98,71

CNN-UniLSTM

20

27

75

93,84

93,31

CNN-BiLSTM

15

29

110

99,24

98,77

 

Таблица 2.

Результаты модели на тестовой и валидационной выборках

Модель

Время классификации

Accuracy

Precision

Recall

F1 Score

Тестовый датасет

CNN

72 мс

100

100

100

100

CNN-UniLSTM

1,12

100

100

100

100

CNN-BiLSTM

1,18

100

100

100

100

Валидационный датасет

CNN

2, 86

98,65

98,67

98,65

98,65

CNN-UniLSTM

5, 18

98,77

98,78

98,77

98,77

CNN-BiLSTM

7,23

98,77

98,79

98,77

98,77

 

Таблица 3.

Результаты на неизвестных данных

Модель

Время классификации

Accuracy

Precision

Recall

F1 Score

CNN

6,45 с

94

100

94

97

CNN-UniLSTM

15,11

88,03

100

88

94

CNN-BiLSTM

18,132

93,24

100

93

97

 

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

Модель CNN-BiLSTM показала лучшие результаты на тестовых и валидационных данных: 99,24% и 98,77% соответственно.

На тестовых данных значение F1-оценки равно 0,97, общая точность равна 93.24%, однако время обучения является наибольшим среди трех представленных моделей.

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

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

 

Список литературы:

  1. Официальная документация продукта для PowerShell // Microsoft URL: https://learn.microsoft.com/en-us/powershell/ (дата обращения: 25.05.2024).
  2. Использование PowerShell при атаках «THE INCREASED USE OF POWERSHELL IN ATTACKS» // Broadcom.com URL: https://docs.broadcom.com/doc/increased-use-of-powershell-in-attacks-16-en (дата обращения: 2024).
  3. Дэнни Хендлер и др. 2018. Обнаружение вредоносных команд PowerShell с использованием глубоких нейронных сетей. В материалах Азиатской конференции по компьютерной и коммуникационной безопасности 2018 года. АКМ, 187–197.
  4. Red Canary’s 2024 Threat Detection Report /  [Электронный ресурс] // RedCanary.com : [сайт]. — URL: https://redcanary.com/threat-detection-report/techniques/powershell/ (дата обращения: 22.05.2024).
  5. Русак Г., Аль-Дуджайли А., О'Рейли У.М. 2018. Глубокое обучение на основе AST для обнаружения вредоносных программ PowerShell. В материалах конференции ACM SIGSAC 2018 г. по компьютерной и коммуникационной безопасности (CCS '18). Ассоциация вычислительной техники, Нью-Йорк, штат Нью-Йорк, США, с. 2276–2278. DOI: http://dx.doi.org/10.1145/3243734.3278496.
Удалить статью(вывести сообщение вместо статьи): 
Проголосовать за статью
Дипломы участников
У данной статьи нет
дипломов

Оставить комментарий

Форма обратной связи о взаимодействии с сайтом
CAPTCHA
Этот вопрос задается для того, чтобы выяснить, являетесь ли Вы человеком или представляете из себя автоматическую спам-рассылку.