Intrusion detection: signature-based,Snort, and statistical
Download
Report
Transcript Intrusion detection: signature-based,Snort, and statistical
Intrusion Detection Systems
An IDS is any combination of hardware & software that
monitors a system or network for malicious activity.
Examples of IDSs in real life
Car alarms
Fire detectors
House alarms
Surveillance systems
Polytechnic University
Introduction
1
Why IDS
Can be detected:
Mapping
Port scans
Tens of thousands of
packets
TCP stack scans
Hundreds of thousands of
packets
“Deep Packet Inspection”
Many organizations deploy
IDS systems
Provide warnings to
network administrator
Administrator can then
improve network’s security
Vigorous investigation
could lead to attackers
There are host-based and network-based
IDS systems. Focus here on network-based.
Polytechnic University
Introduction
2
IDS sensors
application
gateway
Internal
network
Web
server
FTP
server
= IDS sensor
firewall
Internet
DNS
server
Underlying OS needs
to be hardened:
stripped of unnecessary
network services
Demilitarized zone
Polytechnic University
Introduction
3
False Alarms
False alarms:
False positive: normal traffic or benign
action triggers alarm
Example: fire alarm if wrong password is
entered; benign user makes a typo
False negative: alarm is not fired during
attack
Polytechnic University
Introduction
4
Efficiency of IDS system
Accuracy: low false positive and false negative
rates
Performance: the rate at which traffic and audit
events are processed
To keep up with traffic, may not be able to put IDS at
network entry point
Instead, place multiple IDSs downstream
Fault tolerance: resistance to attacks
Should be run on a single hardened host that supports
only intrusion detection services
Timeliness: time elapsed between intrusion and
detection
Polytechnic University
Introduction
5
Signature-based IDS
Sniff traffic on network
border router or multiple sensors within a LAN
Match sniffed traffic with signatures
attack signatures in database
signature: set of rules pertaining to a typical intrusion
activity
Simple example rule: any ICMP packet > 10,000 bytes
Example: more than one thousand SYN packets to
different ports on same host under a second
skilled security engineers research known attacks; put them
in database
can configure IDS to exclude certain signatures; can modify
signature parameters
Warn administrator when signature matches
send e-mail, SMS
send message to network management system
Polytechnic University
Introduction
6
Limitations to signature detection
Requires previous knowledge of attack to
generate accurate signature
Blind to unknown attacks
Signature bases are getting larger
Every
packet must be compared with each
signature
IDS can get overwhelmed with processing; can
miss packets
Polytechnic University
Introduction
7
Anomaly Detection IDS
Observe traffic during normal operation
Create normal traffic profile
Look for packet streams that are statistically
unusual
e.g., inordinate percentage of ICMP packet
or exponential growth in port scans/sweeps
Doesn’t rely on having previous knowledge of
attack
Research topic in security
Polytechnic University
Introduction
8
IDS evasion: “spy vs. spy”
Attackers do not want to be detected by IDS
Often attackers are intimately familiar with the popular
IDS products, their weaknesses
Idea: manipulate attack data
Active area of research in attack community
Example: port scan stretched out over long period of
time, with different source IP addresses
Most common approach: fragmentation
To detect malicious activity, IDS must capture, store,
and analyze fragments.
Many fragment streams spread out over long period time
➜IDS must have large buffers
• Requires significant memory and processing power
Polytechnic University
Introduction
9
IDS evasion: fragmentation
Send a flood of fragments
Send so many fragments that IDS system
saturates.
Once saturated, IDS will not be able detect a
new attack
Fragment packets in unexpected ways
Such that the IDS does not understand how to
properly reassemble the attack packets
Polytechnic University
Introduction
10
IDS evasion tool: FragRouter
Internet
attack
system
(eg nmap)
attack
obfuscation
(fragrouter)
IDS
target
Runs on Unix/Linux systems
Provides over 35 different schemes for
fragmenting flow of data
Separates attack functionality from the
fragmentation functionality
Polytechnic University
Introduction
11
Some fragmentation types in
FragRouter
Sends data in ordered 8-byte fragments
Sends data in ordered 24-byte fragments
Sends data in ordered 8-byte fragments
with one fragment out of order
Complete TCP handshake, send fake FIN
and RST (with bad checksums) before
sending data in ordered 1-byte
Polytechnic University
Introduction
12
Snort
Popular open source IDS
200,000 installations
Good book: Intrusion Detection
with Snort, by Jack Koziol
Typical setup
Enhanced sniffer
Runs on Linux, Unix,
Windows
Generic sniffing interface
libpcap
Can easily handle 100
Mbps of traffic
firewall
hub
snort
sensor
Signatures
Written and released by
Snort community within
hours
Anyone can create
Largest collection of
signatures for IDS
Polytechnic University
internal
network
Introduction
13
Snort deployment
firewall
unidirectional
sniffing cable
firewall
hub
snort
sensor
switch
internal
network
Polytechnic University
internal
network
Switch SPAN port:
• provides monitoring
for net admin & security
• switch copies all
traffic to SPAN port
• can select which switch
ports get copied
• approach doesn’t require
intro of new hub
• no need for unidirectional
cable
snort
sensor
Introduction
14
Distributing traffic to multiple
sensors
Large organizations
often have Gbps
backbone
Snort with full rule
set cannot handle all
traffic
Packets can get
dropped; attacks go
undetected
Solutions:
Put sensors on
different 100 Mbps
segments
Or, multiple sensors on
backbone; each sensor
processes different
range of destination IP
addresses
Tempting to tune
Snort by trimming
rules
Polytechnic University
Introduction
15
snort.conf
Example:
var
var
Var
Var
HOME_NET 193.152.1.1/24
EXTERNAL_NET !193.152.1.1/24
HTTP_SERVERS 193.152.1.17
HTTP_PORTS 80 8080
Polytechnic University
Introduction
16
Snort rule examples
alert icmp $EXTERNAL_NET any -> $HOME_NET any
(msg:”ICMP PING NMAP”; dsize: 0; itype: 8;)
Rule generates alert for ICMP having empty payload, ICMP type 8, and
arriving from the outside.
This is part of an NMAP ping.
alert tcp $EXTERNAL_NET any -> $HOME_NET 139
(msg: “DOS SMBdie attack”:; flags: A+; content:”|57724c6568004577a|”;)
Rule generates alert if a TCP packet from outside contains
|57724c6568004577a| in payload and is headed to port 139 (netbios)
for some internal host.
This is part of a buffer overflow attack on a computer running Server
Message Block Service.
Polytechnic University
Introduction
17
Snort rule examples (2)
alert tcp $EXTERNAL_NET any -> $HTTP_SERVERS $HTTP_PORTS
(msg:”WEB-IIS ISAPI .ida attempt”; uricontent:”.ida?”;
nocase; dsize:>239; flags:A+;)
Rule
generates alert for packet heading to Web server with .ida? in
URL in GET message
Buffer overflow attack that allows attacker to take over server.
Polytechnic University
Introduction
18
Snort rule files
chat.rules
ddos.rules
ftp.rules
multimedia.rules
p2p.rules
porn.rules
virus.rules
Polytechnic University
Introduction
19
Snort Rule Writing
Example: Cross-site scripting (XSS):
Web site allows scripts to be inserted into dynamically
created Web page. Can reek havoc.
Look out for HTTP requests containing <SCRIPT>
Might first try:
alert tcp any any -> any any
(content: “<SCRIPT>”; msg: “XSS attempt”;)
triggers many false positives: e.g., e-mail message with
JavaScript
Then try:
alert tcp $EX_NET any -> $HTTP_SRVS $HTTP_PRTS
(content: “<SCRIPT>”; msg: “XSS attempt”; nocase;)
Polytechnic University
Introduction
20
Snort Rule Syntax
Rule is a single line
Rule header: everything before parenthesis
Rule option: what’s in the parenthesis
Syntax for rule header:
rule_action protocol src_add_range src_prt_range
dir_operator dest_add_range dest_prt_range
Example:
alert tcp 192.168.1/24 1:1024 -> 124.17.8.1 80
rule actions: alert, log, drop
protocol: tcp, udp, icmp
direction: -> and <>
src, dest port ranges :
Polytechnic University
Introduction
21
Snort Rule Syntax (2)
Syntax for rule option:
One or more option keywords
separated by semi-colons
(msg: “XSS attempt”; content: “<SCRIPT>”; nocase;)
Example:
Content-related keyword examples:
content: ”smtp v2”;
(ascii)
content: ”|0f 65 a7 7b|” ; (binary)
uricontent: ”.ida?”;
content-list: “inappropriate_content.txt”;
nocase;
offset: 20;
(start at byte 20 in payload)
depth: 124;
(stop at byte 124 in payload)
Polytechnic University
Introduction
22
Snort Rule Syntax (3)
IP-related keyword examples:
ttl: <5;
id:2345;
(id field, used for fragments)
fragoffset: 0;
dsize: >500;
(payload size)
ip_proto: 7;
ICMP-relayed keyword examples:
itype: 8;
icode: 3;
Polytechnic University
Introduction
23
Snort Rule Syntax (4)
TCP-related rules
flags: A+;
(ACK flag)
flags: FUP; (FIN, Urgent, or Push flag)
+ alert if specified bit is discovered, in addition to at
least one other
! alert if any of the specified bits is not set
seq: 12345432;
ack: 54321234;
Response examples
msg: “christmas tree attack”;
logto: “new_rule.log”; logs packet when match
occurs
Polytechnic University
Introduction
24