Skip to content

Reduce the amount of traffic delivered to Snort IDS modules

Notifications You must be signed in to change notification settings

hanzhang0116/TrafficReductionSnort

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 

Repository files navigation

##Snort Speedup Preprocessor

Snort heavily relies on DPI techniques, such as searching for suspicious strings in packet payload. However, certain content, such as video, audio, encrypted or compressed data, cannot be understood by the IDS and results in a waste of computation resources.

To address the above issue, we design and implement a Snort preprocessor to label traffic as clear or opaque. Here we name the data can be understood by DPI as clear data, and name the others as opaque (e.g., encrypted data). Then, we only deliver the clear traffic to the IDS and discard the rest. By doing this, the preprocessor reduces the amount of traffic delivered to IDS by more than 50%, while maintaining more than 99.9% of the original alerts.

As most of the files are the same as Snort distribution, only the modified files were uploaded here. The Snort distribution can downloaded [here] (https://www.snort.org/downloads).

More details can be found in my published paper [here] (http://www.cs.colostate.edu/~hanzhang/papers/EarlyDetection.pdf)

Included Files:

  • src/spp_entropy.c:
    • The high entropy preprocessor source file
  • src/spp_entropy.h:
    • The high entropy preprocessor header file
  • src/preprocessors/EntropyThreshold_PY_64K:
    • The entropy threshold file
  • src/generators.h:
    • Added:
    • #define GENERATOR_SPP_ENTROPY 104
    • #define HE_TRAFFIC_DETECT 1
  • src/plugbase.c:
    • Added:
    • #include "preprocessors/spp_entropy.h"
    • SetupEntropy();
  • src/preprocids.h:
    • Added:
    • #define PP_ENTROPY 32
  • src/preprocessors/Makefile*
    • Added spp_entropy entries
  • etc/gen-msg.map:
    • Added "146 || 1 || spp_entropy: High Entropy Traffic"
  • etc/snort-TrafficReduction.conf:
    • Enable the preprocessor: "preprocessor entropy: he_percent 90, seq_he_pkts 2, first_pkts 15"
    • Include the rule: "include $PREPROC_RULE_PATH/highentropy.rules"
  • rules/preproc_rules/highentropy.rules:
    • The high entropy preprocessor rule

About

Reduce the amount of traffic delivered to Snort IDS modules

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published