Martin Roesch Sourcefire Inc
Martin Roesch Sourcefire Inc
Martin Roesch Sourcefire Inc
Sourcefire Inc.
• Background
– What is Snort?
• Using Snort
• Snort Architecture
• The Future of Snort and Snort 2.0
• What is Snort?
– Snort is a multi-mode packet analysis tool
• Sniffer
• Packet Logger
• Forensic Data Analysis tool
• Network Intrusion Detection System
• Where did it come from?
– Developed out of my evolving need to perform
network traffic analysis in both real-time and for
forensic post processing
• Preprocessor
– Packets are examined/manipulated before
being handed to the detection engine
• Detection
– Perform single, simple tests on a single
aspect/field of the packet
• Output
– Report results from the other plug-ins
Generic Server
(Host-Based ID)
(Snort 2.0)
Internet
Firewall
Filtering (Perimeter
Router Statistical IDS Logs)
(Perimeter Logs) (Snort)
Network IDS
(Snort)
=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+
=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+
Snort
Packet Stream
Data Flow
Preprocessor
(Plug-ins)
Detection Engine
(Plug-ins)
Output Stage Alerts/Logs
(Plug-ins)
Option Node
(flags: SF; msg: “SYN-FIN Scan”;)
Option Option
Node Node
• Output
– People have a really nasty tendency to write slow
output plug-ins!
– Variable output formats mean performance is
highly variable based on the selected output
modes
– No way to control Snort’s performance effectively,
leading to negative reviews and user e-mail
• “Snort’s eating 90% of the CPU!?!”
• Basic goals
– Faster
– More extensible
– Better protocol support
– Better able to analyze the full gestalt of
network intrusion activity
tcp
Sip: 1.1.1.1
Dip: 2.2.2.2
Dp: 80
Sip: 1.1.1.1
Dip: 10.1.1.0/24
content: “baz”;