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

Я пытаюсь построить модель RNN (LSTM) для классификации бинарных файлов как доброкачественных / вредоносных программ. Структура данных, которую я сейчас представляю, выглядит следующим образом

{
    "binary1": {
        "label": 1,
        "sequences": [
            ["api1","api2","api3", ...],
            ["api1","api2","api3", ...],
            ["api1","api2","api3", ...],
            ["api1","api2","api3", ...],
            ...
        ]
    },
    "binary2": {
        "label": 0,
        "sequences": [
            ["api1","api2","api3", ...],
            ["api1","api2","api3", ...],
            ["api1","api2","api3", ...],
            ["api1","api2","api3", ...],
            ...
        ]
    },
    ...
}

Здесь каждый двоичный файл имеет переменное число последовательностей, и каждая последовательность имеет переменное количество вызовов API. Я могу дополнить данные так, чтобы все двоичные файлы имели одинаковое количество последовательностей, а каждая последовательность имела одинаковое количество вызовов API. Но мой вопрос, как я могу использовать эти данные для обучения?

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

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

Точно так же я знаю, является ли двоичный файл вредоносным или нет, но я не знаю, какие последовательности вызовов API отвечают за вредоносность. И я хочу, чтобы модель идентифицировала эти последовательности по данным обучения. Является ли это возможным? И какую архитектуру я должен использовать?

Надеюсь, я передал свой вопрос, спасибо за чтение и ожидание предложения.

0 ответов

Другие вопросы по тегам