Статья: Методика контроля угроз безопасности вредоносного программного обеспечения

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам

Структура CNN состоит из повторяющихся блоков, представленных на рис. 1.

Структура итоговой CNN имеет три таких блока, расположенных последовательно. Каждый блок состоит из группы сверточных слоев типа Conv1D, расположенных параллельно, за ними следует слой Concatenate. Последний слой блока имеет тип MaxPooling1D и является входом для следующего блока. После группы блоков следует слой типа Flatten и два Dense слоя, чередующиеся с Dropout слоями. Сеть оканчивается еще одним слоем типа Dense, этот слой является выходным.

Структура LSTM изображена на рис. 2. Размер словаря Embedding фиксирован и равен 1089, количество LSTM ячеек в BLSTM слое равно 256.

Рис. 2. Модель LSTM сети.

Машинные эксперименты по обнаружению угроз безопасности

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

Для установления точности работы полученных моделей применяется оценка, вычисляемая как отношение числа верно классифицированных образцов к общему число образцов. Результат тестирование LSTM сети представлен в табл. 3.

Таблица 3

Тип ПО

Вредоносное ПО

Невредоносное ПО

Длинна входящей последовательности

500

1500

2000

500

1500

2000

Верно, распознано

3852

3756

3803

2285

2438

2420

Ошибочно распознано

118

214

167

340

187

205

Точность по категориям, в %

97.02

94.6

95.79

87.04

92.87

92.19

Общая точность для разных длин последовательностей: 500 - 93%; 1500 - 93.3%; 2000 - 94.3%. Результат тестирования CNN сети - в табл. 4.

Таблица 4

Тип ПО

Вредоносное ПО

Невредоносное ПО

Длина входящей последовательности

500

1500

2000

500

1500

2000

Верно распознано

3686

3680

3684

2286

2354

2315

Ошибочно распознано

284

290

286

339

271

310

Точность по категориям, в %

92.84

92.69

92.79

87.08

89.67

88.19

Общая точность для разных длин последовательностей: 500 - 90.5%; 1500 - 91.5%; 2000 - 90.9%.

Далее, в машинных экспериментах модель типа LSTM использовалась для задачи классификации. Результат тестирования LSTM сети в задаче классификации (по 7 категориям) образцов вредоносного ПО показан в табл. 5.

Таблица 5

Класс

Точность классификации, %

Ransom

72,72

Virus

89,45

Trojan

40,21

Miner

71,12

Worm

46,07

Dropper

53,31

Backdoor

22,8

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

Рис. 3. Карта ошибок модели сети краткосрочной долгосрочной памяти при обучении классификации по 6 категориям.

Из данной карты следует, что наиболее часто допускаются ошибки при сравнении с классом «Trojan». Это происходит из-за того, что класс «Trojan» - имеет достаточно общий характер.

В большинстве представленных классов вероятно пересечение поведенческих паттернов с классом «Trojan» по причине распространенности среди современного вредоносного ПО программ с промежуточным классом. Например, вредоносное ПО WannaCry имеет класс Trojan-Ransom, в его поведении можно обнаружить поведенческие паттерны обоих классов.

Такое поведение образцов приведет к ухудшению качества обучения. Проведем дополнительной тестирование, исключив категорию «Trojan» из обучающей и тестовой выборок.

Результат тестирование LSTM сети при задаче классификации образцов вредоносного ПО по 6 категориям представлен в табл. 6 и на рис. 4.

Таблица 6

Класс

Точность классификации (было), %

Точность классификации (стало), %

Ransom

72,72

74,02

Virus

89,45

92,85

Miner

71,12

74,27

Worm

46,07

50,26

Dropper

53,31

75,82

Backdoor

22,8

62,81

Рис. 4. Карта ошибок модели сети краткосрочной долгосрочной памяти при обучении классификации по 6 категориям.

Результаты тестирования указывают на множественные пересечения паттернов поведения вредоносного ПО, однако эти паттерны отличаются от паттернов поведения ПО невредоносного. Таким образом, возможно обнаружение вредоносного ПО с высокой точностью, однако задача классификации вредоносного ПО требует указания в базе промежуточных типов вредоносного ПО, в том числе классов пересекающихся, вроде Trojan-Dropper или Worm-Dropper. Наличие такой базы позволит выделить эти образцы вредоносного ПО в отдельную категорию и классифицировать ее.

Заключение

Как можно видеть из полученных результатов тестирования моделей, модель вида LSTM показывает лучшие результаты при максимальной достигнутой точности 94,3% против 91.5% в случае модели CNN.

При увеличении длины входящей последовательности точность моделей возрастает незначительно, однако увеличение длины входной последовательности вызывает три негативных эффекта, связанных с увеличением:

сложности обучения, так как при увеличении длины последовательности более 2000 символов, для обучения нейронной сети требуется большое количество памяти GPU, а также значительно возрастает и время обучения;

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

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

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

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

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

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

ЛИТЕРАТУРА

1. Сорокин С.В., Сорокин А.С. Использование нейросетевых моделей в поведенческом скоринге // Прикладная информатика. - 2015. - № 2 (56). - С. 92-109.

2. Документация по Win32 API вызовам [Электронный ресурс]. - Режим доступа: https://docs.microsoft.com/ru-ru/windows/win32/api/ - (Дата обращения: 01.07.2020).

3. Bai S., Kolter J.Z., Koltun V. An Empirical Evaluation of Generic Convolutional and Recurrent Networks for Sequence Modeling [Электронный ресурс]. - 2018. - Режим доступа: https://arxiv.org/pdf/1803.01271.pdf. - (Дата обращения: 01.05.2020).

4. Ray A., Rajeswar S., Chaudhury S. Text recognition using deep BLSTM networks // 2015 Eighth International Conference on Advances in Pattern Recognition (ICAPR), Kolkata. - 2015. - P. 1-6

5. Ruder S. An overview of gradient descent optimization algorithms [Электронный ресурс]. - Режим доступа: https://arxiv.org/pdf/1609.04747.pdf. - (Дата обращения: 01.07.2020).

6. Vaswani A., Shazeer N., Parmar N. Attention Is All You Need // NIPS'17: Proceedings of the 31st International Conference on Neural Information Processing Systems. - 2017. - P. 60006010.

Источник: https://otherreferats.allbest.ru/download/1302654/