Алгоритм обнаружения комбинаций - PullRequest
0 голосов
/ 21 ноября 2010

Я создаю простую систему обнаружения вторжений для курса по информационной безопасности с использованием jpcap.

Одной из функций будет обнаружение удаленной ОС, в котором я должен реализовать алгоритм, который определяет, когда хост отправляет 5 пакетов в течение 20 секунд, которые имеют различные комбинации ACK, SYN и FIN.

Каким был бы хороший метод обнаружения этих различных «комбинаций»? Алгоритм перебора будет трудоемким для реализации, но я не могу придумать лучшего метода.

Примечания: API jpcap позволяет узнать, является ли пакет ACK, SYN и / или FIN. Также обратите внимание, что не нужно знать, что такое ACK, SYN и FIN, чтобы понять проблему.

Спасибо!

Ответы [ 2 ]

0 голосов
/ 24 декабря 2010

Вы должны сохранять состояние на каждой сессии.использование хеш-таблиц.Держите каждый syn, ack и fin / fin-ack.Несколько лет назад я написал анализатор IDS с открытым исходным кодом, который делает это;не стесняйтесь смотреть на код.Должно быть очень легко написать алгоритм для пассивного обнаружения ОС (Google google).Мой код с открытым исходным кодом здесь dnasystem

0 голосов
/ 25 ноября 2010

Я построил свою собственную структуру данных на основе векторов, которые содержат «записи» о типе пакета.

...