Introducing Suricata Language Server: Real-time Rule Syntax Checking and Auto-completion

Introducing Suricata Language Server: Real-time Rule Syntax Checking and Auto-completion
Stamus Blog | Introducing Suricata Language Server: Real-time Rule Syntax Checking and Auto-completion

Writing signatures for Suricata and other intrusion detection systems (IDS) is considered by many to be a form of art.
One of the main reasons is that the rule writer needs to start by examining a network trace to identify patterns that are representative to a threat/behavior without being too broad (to avoid false positives) or too narrow (to avoid being escaped at the first change of a bit in the attack).
But the language used to write signatures is the second reason. It is not really expressive and doesn't have advanced constructs. As a result signatures require complex writing to do things that could appear simple. And there are implicit conventions and structures that must be followed to guarantee correct integration in the detection engine.
As you can begin to see, performing matching at 40 Gbps or 100 Gbps with 60,000 active signatures definitely requires some help from the rule writer.
In the case of Suricata, there are some embedded features that can help the user understand when the syntax of the rule is not correct. But checking the output of the related commands is tedious work.

Image

Pensée du jour :

Ce que l'homme a fait ,

l'homme peut le défaire.

 

"No secure path in the world"