Snort - An Network Intrusion Prevention and Detection System
Snort - An Network Intrusion Prevention and Detection System
Snort - An Network Intrusion Prevention and Detection System
From: Rafeeq Ur Rehman, Intrusion Detection Systems with Snort: Advanced IDS
Techniques with Snort, Apache, MySQL, PHP, and ACID.
Logical components of snort
Packet Decoder: takes packets from different types of
network interfaces (Ethernet, SLIP,PPP…), prepare packets for
processing
Physical layer
Snort work on network (IP) layer, transport (TCP/UDP) layer protocol, and application layer
Detection Engine
※Things need to be done for detection engine:
•The IP header of the packet
•The transport layer header. TCP, UDP, ICMP etc.
•The application layer level header. Header of DNS, FTP, SNMP, SMTP
•Packet payload
※ How to do these?
Apply rules to the packets using a Boyer-Moore string matching
algorithm
※ Requirement
1. Time critical
2. Fast
Detection engine
Number of rules
Traffic load on the network
Speed of network and machine
Efficiency of detection algorithm
Rules
In a single line
Rules are created by known intrusion signatures.
Usually place in snort.conf configuration file.
Destination port
Source ip address
Source port #
Rule options
Rule header
Detection engine order to scan the
rules
From: Rafeeq Ur Rehman, Intrusion Detection Systems with Snort: Advanced IDS
Techniques with Snort, Apache, MySQL, PHP, and ACID.
Attempts to improve
Increasing preprocessing
ability --- offload partial work from detect
engine
Using hardware to reduce
workload - a hybrid
architecture --- software has more flexibility,
hardware has relatively higher throughput
Better detection algorithm
Possible ways?
Organize the well-known rules into
better data structure to achieve
better performance
A detector with acceptable detection
probability
Thank you !