Использование RAG и LLM для анализа кибератак по системным логам.
Наткнулся на простой, но интересный по результатам эксперимент. Задача состоит в поиске аномалий поведения системы по логам системных журналов.Для этого авторы используют RAG подход.
Метод простой. В базу retrieval складывают логи нормальных и аномальных исторических событий (которые были четко детектированы) в качестве ground truth примеров. Далее при анализе поведения системы ретривер запрашивает по системному сообщения логи из журналов в векторной БД. После, с помощью промта, просят LLM сравнить запрос с выдачей для определения принадлежности к классу нормально/нет.
Подход тестировался на типичных для задачи датасетах BGL и Thunderbird, система была спроектирована при помощи LangChain, эмбеддер был от OpenAI, как и сама LLM gpt3.5-like.
Ниже приложу результаты тестов. По F1-score RAG результаты, конечно, впечатляют. На самом, деле мы пришли к тому, что по сути имеем KNn + LLM логику. Как если бы мы судили о нормальности объекта по его описательной статистике/фичах, но уже на уровне перехода embeddings->тексты. Самое интересное, как LLM может распознать такой специфический домен, как анализ логов в cyber security во few-shot режиме? Видела ли подобное на pretrain? Или это уже проявляется та же эмерджентность?
Кстати от себя добавлю ещё ссылку на гит, в котором собраны ещё примеры сетов для анализа логов.
UPD. Вопрос зачем нам тогда LLM , если можно иметь embs+KNN? Ответ у авторов:в тч для OOV примеров. Тк системы быстро изменяются и тп. Более того, а почему бы не применять такой же подход для детекции атак на LLM? Просто собрав все примеры промт атак, что сейчас известны 🤔
Post #59
85