A Stateful Intrustion Detection System for World

Download Report

Transcript A Stateful Intrustion Detection System for World

A Stateful Intrustion
Detection System for
World-wide Web Servers
Vigna G, Robertson W, Kher V, Kemmerer R
Department of Computer Science
UC, Santa Barabara
19th Annual Computer Security Applications Conference
December 08 - 12, 2003 Las Vegas, Nevada
Stateful IDS for Web Servers – Vigna G et al., 2003

Introduction
Motivation
Large number of web servers
 Continuous disclosure of vulnerabilities in web
servers – popular targets
 2001-2002 - 23% computer vulnerabilities are
web related

Stateful IDS for Web Servers – Vigna G et al., 2003

Introduction
 Intrusion Detection Systems (IDS)

Analyse input streams for manifestation of attack
 Stateless:
 Examines each event in the input stream
independently
 Stateful:
 Considers relationships between events and detect
attacks based on event-histories
Stateful IDS for Web Servers – Vigna G et al., 2003

Introduction
 IDS
Network-based:
 Monitors network traffic, events
 Do not consider application-level logic
 Cannot detect attacks based on configuration of
the server-application
 Application-based:
 Process different stages of client request
 IDS tightly coupled to web server and visible
 Performance of web server impacted

Stateful IDS for Web Servers – Vigna G et al., 2003

Introduction
IDS

Anomaly detection:
 Models of normal behavior
 Compares log data with normal models to detect
abnormal pattern/activity
 Detect previously unknown attacks
 Large number of false positives
Stateful IDS for Web Servers – Vigna G et al., 2003

Introduction
IDS (Intrusion Detection System)

Misuse detection:
 Models of attack descriptions
 Compares with audit data with modeled attack
for evidence of attack
 Detect only attacks that are modeled
 Focused analysis for attack detection
 Less false positives so more popular
Stateful IDS for Web Servers – Vigna G et al., 2003

Introduction
Current IDS - limitations
Simple pattern matching of HTTP requests
 Buffer overflows not detected
 Attacks involving multiple steps cannot be modeled
 Only detect trends in large sets of web-related events
 Focuses on single event stream (network log or server
application log)
 Do not maintain histories of web requests

Stateful IDS for Web Servers – Vigna G et al., 2003
WebSTAT (IDS)

Based on STAT framework (State-Transition Analysis
Technique)
 Complex multi-step attacks can be modeled
using STATL language
 Performs integrated analysis of multiple event
streams, Network and OS events/logs
 Modular, MultiThreaded
 Application independent runtime with
components that deal with specific application
domains
 More effective detection with less false positives
Stateful IDS for Web Servers – Vigna G et al., 2003
STAT framework
Models attacks as transitions between security states
of a system
 Supported by STATL modeling language

STATL
Describe Events, Attack Scenarios with relevant
variables eg: source of HTTP request
 Events defined by subclassing specific C++ classes
of STAT framework
 Classes encapsulated in language extension modules
and compiled into DLLs
 Events are then used in Scenario description, which
again are compiled into DLLs

Stateful IDS for Web Servers – Vigna G et al., 2003
STATL
Attack Scenario:
Transition
State A
Action/Event
System
Snapshot
State B
Opening TCP conn.
Execution of CGI script
Transition Assertion: eg: specify port, parameters
Stateful IDS for Web Servers – Vigna G et al., 2003
Transitions
Non-consuming
Both states active
State A
State B
Consuming
Only destination state valid
State A
State A
State B
Unwinding
Rollback to previous state
State B
Stateful IDS for Web Servers – Vigna G et al., 2003
STATL



STATcore is the runtime for STATL
Core implements the concepts of state, transition,
instance, etc
Obtains events from logs/audits and matches with
actions, transitions and attack scenarios
Events/logs
Event
Provider
Translate
STATL
extension
Convert
to
STAT
events
incorporate
STATcore
Attack Scenario
Analysis
Stateful IDS for Web Servers – Vigna G et al., 2003
WebSTAT
Language extension module that defines webspecific events
 Event provider that parses web server logs and
generates corresponding events
 Modules for Network, OS events
 A number of STATL scenarios to detect attacks
against web servers
 Response modules to generate alerts

Stateful IDS for Web Servers – Vigna G et al., 2003
WebSTAT
Class Request : public STAT_Event
{
public:
string request;
string userAgent;
string encodedRequest;
……
}
Stateful IDS for Web Servers – Vigna G et al., 2003
WebSTAT
Stateful IDS for Web Servers – Vigna G et al., 2003
WebSTAT

Counting scenario pattern:

Integer parameters: threshold, alert_freq,
inactivity_timeout
Stateful IDS for Web Servers – Vigna G et al., 2003
Stateful IDS for Web Servers – Vigna G et al., 2003
WebSTAT




Web Crawler Scenario:
 file to specify which User-Agents are allowed
Pattern Matching Scenario:
 Detect attacks embedded in URL using pattern matching
comparing with a list of regular expressions
Repeated Failed Access Scenario:
 Checks multiple client errors. Counter records number of
times a failed request originated from a subnet
Cookie Stealing Scenario:
 Records initial use of session cookie by a remote client by
mapping cookie to an IP address.
Stateful IDS for Web Servers – Vigna G et al., 2003
WebSTAT



Buffer Overflow Scenario:
 Presence of binary data in a request or an extremely long
request are attempts to exploit buffer overflow
Network and application-level buffer overflow detection:
 Examine Web server logs and actual client requests
 If binary data found at network-level and no matching entry
in server log, attack is successful
Document Root Escape Attack:
 Illicit access to a file outside web server’s root.
 Examine Web server log and OS audit records to detect file
system access violations
Stateful IDS for Web Servers – Vigna G et al., 2003
WebSTAT
Evaluation:
Web server: pentium IV - 1.8 GHz, OS:
RedHat 8.0, Apache
Clients: pentium IV - 1.8 GHz, OS:
RedHat 8.0
Network card: Intel EtherExpress 10/100 Ethernet cards
100BaseT full-duplex , cisco catalyst 3500 XL switch
Measurement: Average throughput, response times of web
servers with/without WebSTAT on server.
With WebSTAT: slightly lower throughput
No change in response time
Stateful IDS for Web Servers – Vigna G et al., 2003
WebSTAT
CONCLUSIONS:
 WebSTAT operates on multiple event streams
 Supports more effective detection of web-based attacks,
reduced no. of false positives
 IDS can be performed in high performance servers in realtime
THANKS !