Обнаружение вторжения с использованием алгоритма сопоставления с образцом - PullRequest
1 голос
/ 10 марта 2019

Мне интересно написать простой код Java для системы обнаружения вторжений (IDS). Это может быть простое приложение для моего понимания цели. И я собираюсь использовать для этого алгоритм сопоставления с образцом (KMP). IDS также будет Подпись на основе (для моего простого понимания). Поэтому у меня может быть простой набор данных (с известными атаками) в каком-то формате файла. Теперь мой вопрос: перед применением алгоритма сопоставления с образцом мне нужно создать конечные автоматы (DFA) для распознавания шаблонов. Итак, как сделать все это в коде Java? и я много искал в Google и в какой-то исследовательской работе. Но может ли кто-нибудь объяснить по-простому?

1 Ответ

0 голосов
/ 14 мая 2019

Будет ли это HIDS или NIDS?

Один хороший ответ здесь: https://searchsecurity.techtarget.com/answer/Should-an-intrusion-detection-system-IDS-be-written-using-Java

И отличное чтение здесь: https://www.researchgate.net/publication/239499071_Java-Based_Intrusion_Detection_System_in_a_Wired_Network

Найдите то, что уже есть, и обновите его так, как вы хотите. Во всей своей славе с открытым исходным кодом.

Если NIDS, Something like Snort, который написан на C. Snort - это анализатор пакетов, который отслеживает сетевой трафик в режиме реального времени, тщательно изучая каждый пакет для обнаружения полезных нагрузок или подозрительных аномалий. Есть бинарный файл, файл конфигурации, файлы подписи / правил.

Тогда вы попадаете в область открытия сокета, чтения пакетов на высоких скоростях, алгоритмов сопоставления пакетов и файлов сигнатур / правил для последующего вывода на стандартный вывод или регистрации совпадений.

...