Snort: How to use custom Multi-Pattern Search Engine

60 Views Asked by At

I'm trying to benchmark my Multi-Pattern Search Engine against other algorithms included with snort3.

I'm trying to figure out what files from the repository I need to modify, and where should I add my files.

I'm only interested in the third part of the pipeline (Aho-Corasick-like), not the fourth one (PCRE-like).

This thesis helped me a bit, especially Appendix A starting from page 145. Unfortunately, Snort's codebase layout has changed a bit in the last 15 years.

The engine implementations seem to reside in src/search_engines. Some implementations, like the NFA-AC don't seem to inherit from an interface like a more recent one does (Hyperscan).

Does my search engine need to support all of the functionalities found in the PatternDescriptor from src/framework/mpse.h?

How do I let snort know which engine to choose? My guess is that I have to modify config detection: search-method ac-split from snort.conf, but I'm not sure with what, since it wouldn't be the actual name of the search engine file.

Is there a more concrete resource on how to achieve this? Thank you!

0

There are 0 best solutions below