Семантичний аналіз і класифікація шкідливого програмного забезпечення для UNIX-подібних систем з використанням методів машинного навчання
DOI:
https://doi.org/10.15276/aait.05.2022.25Ключові слова:
Виявлення шкідливого програмного забезпечення, машинне навчання, семантичний аналіз, багатокласова класифікація, інтелектуальний аналіз тексту, операційна системаАнотація
Стаття зосереджена на класифікації шкідливих програм на основі семантичного аналізу кодів операцій дизасембльованих
секцій бінарних виконуваних файлів з використанням n-грам, індикатора TF-IDF і алгоритмів машинного навчання. Метою
дослідження є вдосконалення та розширення наявних методів ідентифікації шкідливих програм, розроблених для UNIXподібних операційних систем. Завданням дослідження є створення алгоритму, який може ідентифікувати типи загроз у
шкідливих бінарних файлах для UNIX-подібних систем за допомогою n-грам, індикатора TF-IDF і алгоритмів машинного
навчання. Процес класифікації шкідливих програм може базуватися на статичних або динамічних сигнатурах. Статичні
сигнатури можуть бути представлені у вигляді послідовностей байт-коду, двійкових інструкцій або імпортованих бібліотек.
Динамічні сигнатури можна представити як послідовність дій шкідливого ПЗ. Ми будемо використовувати стратегію статичних
сигнатур для семантичного аналізу та класифікації шкідливих програм. У цій статті ми будемо працювати з двійковими
файлами ELF, які є найпоширенішим типом виконуваних файлів для UNIX-подібних операційних систем. Для цілей цього
дослідження було зібрано набір даних із 2999 зразків шкідливих ELF файлів, використовуючи дані із сайтів VirusShare та
VirusTotal, а також 959 нешкідливих програмних файлів з директорії /usr/bin в операційній системі Linux. Шкідливі файли
представляють одне з 3 сімейств шкідливих програм: Gafgyt, Mirai та Lightaidra, які є поширеними загрозами для UNIXподібних систем. У отриманому наборі даних для кожного ELF файлу було проставлено мітку відподвідно до його типу.
Запропонований алгоритм класифікації складається з кількох етапів підготовки: дизасемблювання кожного бінарного ELF
файлу із набору даних і семантична обробка та векторизація інструкцій зі кожної з секцій файлу. Для встановлення порогу
класифікації використовується поліноміальна модель Байєса. Використовуючи поріг класифікації, ми визначаємо розмір n-грам
і секцію файлу, які дадуть найкращі результати класифікації. В результаті було виявлено, що найкраща точність класифікації
отримана для n-gram розміру 4 та секції rodata. Щоб отримати найкращу точність, буде використано декілька моделей
машинного навчання разом із оптимізацією гіперпараметрів. Як метрика точності розробленого алгоритму використовується
середня точність і зважена оцінка F1. Стохастичний градієнтний спуск для моделі SVM було обрано як найкращу модель ML на
основі отриманих експериментальних результатів. Експериментально підтверджено ефективність розробленого алгоритму для
класифікації шкідливих програм для UNIX-подібних операційних систем. Результати були проаналізовані та використані для
висновків та пропозицій для подальшої роботи.