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

Алгоритм преобразования файлов в изображения
Преобразование файлов в изображение происходит по следующему алгоритму:
1) Файл открывается в бинарном режиме и читается в байтовый массив;
2) Файл преобразуется в массив целых чисел (от 0 до 255);
3) Формируются цветовые R-G-B каналы:
красный (R): содержит значения исходных байтов;
зеленый (G): рассчитывается как локальная энтропия в пределах скользящих окон размером 256 байт;
синий (B): инициализируется нулями.
4) Формируется трехканальное изображение:
при недостаточном объеме данных массив дополняется нулями;
на основе подготовленных каналов формируется RGB-изображение.
5) Полученное изображение сохраняется в формате PNG для последующего анализа и обработки.
Формирование зеленого канала (G) изображения из бинарного файла на основе локальной энтропии предполагает численное представление информационной сложности в каждом участке файла. Сначала файл последовательно разбивается на неперекрывающиеся блоки по 256 байт:
, где каждый
. Далее происходит подсчет частот появления байтов:
1) для каждого блока вычисляется гистограмма частот появления каждого байта:
2) полученные частоты нормализуются до вероятностей:
так как в каждом блоке всегда ровно 256 байт.
3) Для каждого блока вычисляется энтропия по формуле Шеннона [3]:
Полученное значение энтропии масштабируется:
максимально возможное значение энтропии при равномерном распределении (все
энтропия нормализуется до диапазона (0, 255) для отображения в виде значения компонента цвета:
Каждому пикселю будущего изображения, соответствующему блоку, присваивается значение
Таким образом, зеленый канал – это карта нормализованных локальных энтропий всех 256-байтных блоков файла.
Пример преобразованного в изображение вредоносного файла (Adware) представлен на рисунке 2.

Добавление шумов на изображения
Для решения проблемы недостатка данных в обучающей выборке применялась аугментация (data augmentation) – процесс создания дополнительного набора данных из имеющегося набора [4]. Одним из наиболее популярных способов аугментации, позволяющим повысить устойчивость моделей машинного обучения и увеличить вариативность обучающей выборки, является добавление шумов. Для улучшения качества классификации объектов на изображениях были выбраны следующие типы шумов:
Гауссов шум (additive Gaussian noise);
Лапласов шум (additive Laplace noise);
Пуассонов (дробовой) шум (additive Poisson noise).
Гауссов шум используется для имитации воздействия множества случайных процессов, происходящих в природе [5]. Это помогает сделать модель более устойчивой к небольшим вариациям данных.
Пуассонов шум возникает в системах, где сигналы являются счетными процессами, т.е. числом событий, произошедших за фиксированный промежуток времени [6]. Такой тип шумовых искажений используется для моделирования случайных флуктуаций, возникающих в дискретных стохастических процессах.
Лапласов шум – это вид аддитивного шума, моделируемый с помощью распределения Лапласа, при котором к каждому пикселю изображения добавляется случайная величина. Такой шум подчеркивает резкие изменения яркости и подавляет однородные участки изображения, поскольку оператор Лапласа чувствителен к скачкам интенсивности и игнорирует области с плавными градиентами [7].
Примеры изображений с наложенными шумами разных типов представлены на рисунках 3-5.



Модель сверточной нейронной сети (CNN) и исходные данные
Была построена модель сверточной нейронной сети (CNN) для классификации изображений, полученных из бинарных файлов. В качестве основы выбрана архитектура модели VGG19, состоящей из последовательности сверточных блоков, каждый из которых включает два или более сверточных слоев с ядрами 3×3 и функцией активации ReLU [8], за которыми следует слой подвыборки (MaxPooling). После сверточных блоков следуют полносвязные слои (Dense), завершающиеся выходным Softmax-слоем (рис. 6, [9]).
![Рис. 6. Архитектура модели CNN VGG19, [9] Рис. 6. Архитектура модели CNN VGG19, [9]](https://habrastorage.org/r/w780/getpro/habr/upload_files/ff0/722/538/ff0722538078b225fa4448457739d46a.png)
Модель включает следующие слои:
1) 2 сверточных слоя (Conv2D, 32 фильтра, 3×3, ReLU);
2) 2 MaxPooling слоя подвыборки (2×2);
3) Сверточный слой (Conv2D, 64 фильтра, 3×3, ReLU);
4) Flatten слой (для преобразования карт признаков, полученных от свёрточных слоёв, в одномерный вектор);
5) Полносвязный слой (Dense, 128 нейронов, ReLU);
6) Выходной слой (Dense, 9 классов, Softmax).
Классификация ВПО выполнялась на основе 9 классов, представленных в датасете Microsoft Malware Classification Challenge (BIG 2015) [10]. Датасет содержит множество известных вредоносных файлов, принадлежащих к девяти семействам (табл. 1) и включает 10868 образцов ВПО в формате .byte.
Каждому файлу соответствует уникальный идентификатор (Id), представленный в виде 20-символьного хэша, а также метка класса (Class), обозначающая принадлежность к одному из семейств. Исходные данные включают шестнадцатеричное представление бинарного содержимого файла без PE- заголовка.
Таблица 1 – Семейства вредоносного ПО в наборе данных Microsoft Malware Classification Challenge | ||
Название семейства |
Число образцов в обучающей выборке |
Тип ВПО |
|
Ramnit Lollipop Kelihos_ver3 Vundo Simda Tracur Kelihos_ver1 Obfuscator.ACY Gatak |
1541 2478 2942 475 42 751 398 1228 1013 |
Червь (Worm) Рекламное ПО (Adware) Бэкдор (Backdoor) Троян (Trojan) Бэкдор (Backdoor) Троян‑загрузчик (Downloader) Бэкдор (Backdoor) (Obfuscated malware) Бэкдор (Backdoor) |
Метрики оценки качества классификации
С целью оптимизации обучения и тестирования модели на исходных и искусственно «зашумленных» изображениях обучающий набор данных был сокращен до 2000 образцов. Для оценки качества классификации вредоносного ПО с помощью построенной модели использовались следующие метрики:
Точность классификации (Accuracy):
где:
– количество классов,
– количество правильно классифицированных объектов класса i,
– общее количество всех объектов.
Логарифмическая функция потерь (Logloss):
где – общее количество примеров,
– истинная метка
-го примера (0 или 1),
– предсказанная моделью вероятность того, что
-й образец принадлежит к положительному классу.
Точность (Precision):
где обозначает количество образцов, правильно классифицированных в свои семейства, а
– количество образцов, ошибочно отнесенных к этому семейству.
Полнота (Recall), также известная как чувствительность:
где – количество образцов, которые были ошибочно классифицированы как принадлежащие другим семействам.
F1-мера (F1-score):
Результаты обучения и тестирования модели классификации
Данные были распределены в соотношении 70/30: 70% на обучение и 30% на тестирование (валидацию). Такой подход обеспечивает объективную оценку качества модели и позволяет избежать переобучения (overfitting) на гиперпараметрах или утечки информации (information leaking).
На рисунке 7 показаны графики зависимости точности классификации (accuracy) и значения функции потерь (loss function) от числа эпох обучения модели на исходных данных. Как видно, точность на тестовой выборке начала расти с 6-й эпохи и достигла максимального значения на 16-й. Функция потерь сначала демонстрировала скачкообразный рост до 5-й эпохи, после чего начала резко снижаться, достигнув минимума также на 16-й эпохе.

На рисунке 8 представлена матрица ошибок (confusion matrix), показывающая количество правильно и неправильно классифицированных образцов в выборке. По горизонтали указаны предсказанные классы, по вертикали – истинные. Каждая ячейка содержит значение, представляющее собой отношение числа предсказаний алгоритма для определённого класса к общему количеству образцов этого класса, то есть действительное число в интервале [0, 1]. Видно, что наихудший результат получен для семейства ВПО Simda – 0,31. Это обусловлено малым количеством исходных образцов: всего 42 файла в датасете, что после разделения на обучающую и тестовую выборки дало лишь 13 изображений для валидации.

В таблице 2 приведены значения метрик, используемых для оценки качества классификации модели по каждому из классов, после обучения на исходном наборе данных. Как видно из таблицы, наихудшие результаты были также получены для семейства ВПО Simda.
Таблица 2 – Значения метрик оценки качества модели CNN для каждого семейства ВПО без аугментации | |||
Название семейства |
Точность (Precision) |
Полнота/Чувствительность (Recall) |
F1-score |
|
Ramnit Lollipop Kelihos_ver3 Vundo Simda Tracur Kelihos_ver1 Obfuscator.ACY Gatak |
0.8451 0.9726 1.0000 0.8488 0.6667 0.8649 0.9726 0.9394 0.9351 |
0.8219 0.9726 1.0000 0.9865 0.3077 0.8767 0.9726 0.8378 0.9863 |
0.8333 0.9726 1.0000 0.9125 0.4211 0.8707 0.9726 0.8857 0.9600 |
Далее обучающая выборка была расширена добавлением «зашумленных» образцов. Для того чтобы добиться минимального разброса значений между классами было решено произвести аугментацию с получением одинакового числа изображений для каждого класса в результирующем наборе – по 300 образцов в семействе.
На рисунке 9 показаны графики зависимости точности классификации (accuracy) и значения функции потерь (loss function) от числа эпох обучения модели на расширенном наборе данных. Как видно, уже к 12-й эпохе были достигнуты наилучшие значения этих показателей. На рисунке 10 представлена матрица ошибок, отражающая результаты обучения и валидации модели на аугментированном наборе данных. Для семейства Simda показатель отношения числа предсказанных и истинных образцов стабилизировался и достиг значения 1.00. Для остальных классов также наблюдается высокая точность классификации, что свидетельствует о положительном эффекте аугментации на обобщающую способность модели.


В таблице 3 приведены значения метрик оценки качества классификации модели для каждого из классов после обучения на расширенном наборе данных. Как видно, для семейства ВПО Simda показатели также выровнялись.
Таблица 3 – Значения метрик оценки качества модели CNN для каждого семейства ВПО с аугментацией обучающей выборки | |||
Название семейства |
Точность (Precision) |
Полнота/Чувствительность (Recall) |
F1-score |
|
Ramnit Lollipop Kelihos_ver3 Vundo Simda Tracur Kelihos_ver1 Obfuscator.ACY Gatak |
0.8667 0.9310 0.9890 0.9551 0.9474 0.8495 0.9889 0.9643 0.9670 |
0.8667 0.9000 1.0000 0.9444 1.0000 0.8778 0.9889 0.9000 0.9778 |
0.8667 0.9153 0.9945 0.9497 0.9730 0.8634 0.9889 0.9310 0.9724 |
Таким образом, аугментация данных позволила существенно улучшить результаты классификации для класса с изначально малым числом образцов, недостаточным для обучения модели CNN. Улучшение метрик и стабилизация показателей на графиках и в матрице ошибок подтверждают повышение обобщающей способности модели после расширения обучающей выборки.
Заключение
Результаты экспериментов показали, что использование шумов для аугментации положительно влияет на способность модели обобщать данные, особенно в случае классов с небольшим количеством исходных образцов. Модель, обученная на расширенной выборке, продемонстрировала лучшую точность по сравнению с вариантом, обученным только на исходных данных.
Таким образом, была подтверждена целесообразность использования аугментации как эффективного инструмента повышения точности классификации в задачах анализа вредоносного программного обеспечения.
Список литературы
ReasonLabs: What is Metamorphism? [Электронный ресурс]. – URL: https://cyberpedia.reasonlabs.com/EN/metamorphism.html (дата обращения: 16.05.2025)
Catak F.O., Ahmed J., Sahinbas K., Khand Z.H. Data augmentation based malware detection using convolutional neural networks // PeerJ Computer Science, 2021. Vol. 7. - DOI: https://doi.org/10.7717/peerj-cs.346
Шеннон К. Работы по теории информации и кибернетике // Издательство иностранной литературы. – М., 1963. – 832 с.
ГОСТ Р 59898-2021 Оценка качества систем искусственного интеллекта. Общие положения. – М.: Российский институт стандартизации, 2021. – 19 с.
Selesnick I.W. The Estimation of Laplace Random Vectors in Additive White Gaussian Noise // IEEE Transactions on Signal Processing. – 2008. – C. 3482- 3496. – DOI: 10.1109/TSP.2008.920488.
Wojtkiewicz S.F., Johnson E.A., Bergman L.A., Grigoriu M., Spencer B.F.: Response of stochastic dynamical systems driven by additive Gaussian and Poisson white noise: Solution of a forward generalized Kolmogorov equation by a spectral finite difference method // Computer Methods in Applied Mechanics and Engineering. – 1999. – Т. 168. - C. 73–89. – URL: https://doi.org/10.1016/S0045-7825(98)00098-X
Нгок Х.Т.Д. Метод устранения лапласовского шума на изображениях // Естественные и математические науки в современном мире. - 2014.
Соснин А. С., Суслова И. А. Функции активации нейросети: сигмоида, линейная, ступенчатая, ReLU, Tahn // «Наука. Информатизация. Технологии. Образование»: материалы XII международной научно-практической конференции. — Екб, 2019. — С. 237–246
Nguyen T.-H., Nguyen T.-N., Ngo B.-V. A VGG-19 Model with Transfer Learning and Image Segmentation for Classification of Tomato Leaf Disease // AgriEngineering. - 2022. – Т. 4. - С. 871-887. - URL: https://doi.org/10.3390/agriengineering4040056
Ronen R., Radu M., Feuerstein C., Yom-Tov E., Ahmadi M. Microsoft malware classification challenge // arXiv preprint arXiv:1802.10135. - 2018. - URL: https://arxiv.org/pdf/1802.10135
veg2022
При всем уважении, теоретики, как всегда, оторваны от практики. Никогда эта работа не найдет серъезного воплощения в ИТ. Так как в основе ее лежит локальная энтропия. Аналогичные системы уже внедрены в проверочные модули AV (по крайней мере, в один AV), но эффективность очень невысокая, так как идею губят ложные срабатывания (реальные данные малвари и легаси крайне мало отличаются). А их процент высок и при безупречной работе модели — увы, выше входной выборки не прыгнешь. И это не зависит от последующих преобразований, в том числе для аугментации, которая по сути есть искусственное (!) наращение объема данных. Объем вашей выборки в 2000 (и в 11000) файлов совершенно непоказателен, он просто микроскопичен