Project Overview - Complex event processing
Download
Report
Transcript Project Overview - Complex event processing
Defeating Large Scale Attacks:
Technology and Strategies for
Global Network Monitoring
The NetViewer Experiment
PAVG in collaboration with
Networking Systems
R. Kamath, E. Jang, D. Luckham
Project Goals
Detect system misuse on a global
level
User re-configurable and flexible
Hierarchical organization of monitors
Correlation of distributed monitors
Monitor activity from diverse sources
Monitor at multiple levels of
abstraction
2
Stanford NetViewer Experiment
Uses Stanford Rapide Toolset
Uses Complex Event Processing
technology
Uses Talarian’s SmartSocketsTM
middleware for distributed processing
FOR MORE INFO...
Http://pavg.stanford.edu/rapide
Http://pavg.stanford.edu/cep
3
NetViewer Experiment setup
NetFlow FlowCollector
Intrusion
Monitor
Map
CEP
Logger
Flow
Efficiency
Monitor
Filter
Map
PassThrough
Monitor
Log Files
Cisco
NetFlow
FlowCollector
Complex Event
Processing
Monitor Views
4
SUNet Campus Network
Internet
Core
Gateway
Undergrad
Education
Redundancy
Gateway
Grad.
Education
Admin
Host 1
Business
School
Redundancy
Gateway
Stanford
Hospital
Computer
Center 1
Redundancy
Gateway
Admin
Host 2
To
FlowCollector
Redundancy
Gateway
Computer
Center 2
Core
Gateway
Internet
5
Complex Event Processing
Accept network ‘events’ from any source
– CISCO NetFlow FlowCollector, tcpdump
Correlates events based on content and
temporal relationship between events
Event Processing Agents (EPAs)
connected in an Event Processing Network
(EPNs)
Both post-mortem and real-time
processing
6
Event Processing Agents (EPAs)
-- Loggers and Filters
Loggers
– Convert external data into events
– E.g. CISCO FlowCollector logs to events
Filters
– Select a subset of events based on pattern
– E.g. Only connections from Stanford hosts
7
EPAs-- Maps and Viewers
Maps
– Search for patterns in input events
– Generate appropriate output events
– E.g. look for IP scans and generate alarms
Viewers
– Graphical display of data in events
– Tables, Bar Graphs
8
RapNet User interface
RapNet
–
–
–
–
–
Graphical Interface to NetViewer tool
Easy access to EPA and EPN library
Easy re-configuration of EPAs
Easy modification of EPNs
Construct new EPNs using EPAs
9
NetViewer running under RapNet
10
Hierarchical monitoring
Two types of hierarchy
– Abstraction hierarchy
• NetViewer monitors data at different abstraction
levels
– Topological hierarchy
• NetViewers at different locations
NetViewers at different levels
communicate using SmartSockets
middleware
General case: arbitrary network of
monitors
11
Network Abstraction Hierarchy
Application layer
– Host-based monitoring
– Data exchanged by SMTP, TELNET, FTP, HTTP
protocols
Transport layer
– Data exchanged by TCP/IP suite of protocols
Network layer
– Router-based monitoring
– IP and UDP packets
12
Topological Hierarchy -- multiple
gateways example
Distributed processing of data
Each NetViewer at level 1 monitors data
from a different gateway
Results (e.g. top 10 IPs) from level 1
NetViewers sent to level2 NetViewers
Level 2 NetViewers correlate the results of
level 1 NetViewers
– E.g. compute top 10 IPs over all gateways
13
Distributed monitoring on SUNet
Receiver running
NetViewer 3
Sender running
NetViewer 1
Core gateway
Admin host
Admin host
SmartSockets over SUNet
Sender running
NetViewer 2
Admin host
Press gateway
14
Current Status -- EPAs
Library of Event Processing Agents (EPAs)
– Traffic categories
• Web, Mail, DNS, ftp …
– Scan Detectors
• IP scan, Port scan
– Policy violation detectors
• Access to restricted hosts
• Access to restricted ports on hosts
– Traffic event filters
• Web, Mail, Hosts, Networks
15
Current Status -- EPNs
Library of Viewers
– Tables
– Bar graphs
– Pie charts
Library of Event Processing Networks
(EPNs)
– Network of EPAs
– Graphical viewers to display results
16
Research Directions
Hierarchical monitoring
– Data sources from different layers
– Correlation of results from multiple NetViewers
Accept more input formats
Distributed processing
– Assign individual EPAs within a NetViewer to
run on different machines
Expand EPA library
– Work on mail spam detection
17
Experiment results on SUNet
NetViewer used to process router logs
– Real-time performance of about 1000 log
records/sec
Generated traffic statistics
– Top IPs by packets or bytes
– Classification of traffic into categories such as
internal/external, web/mail/DNS etc.
Intrusion detection
– Detected IP and port scans
– Well-known attack signature e.g. finger attack
18
Related projects -- CIDF
Correlates information from multiple
intrusion detectors
– Reduces false alarms
– Prioritizes network warnings
Part of the DARPA Common Intrusion
Detection Framework (CIDF)
– Multiple intrusion detectors in cyber battlefield
FOR MORE INFO...
Http://seclab.cs.ucdavis.edu/cidf
19
Overview of the CIDF project
Goal
Experiment with semantic interoperability of different
components in CIDF
Groups Involved
Group A: produces GIDOs, questions, detailed English
description of the events, and the answers to the
questions.
Group B: gets 10 scenarios and produces 10 GIDOs
describing the scenarios.
Group C: gets the questions and high level scenarios from
B and builds the code. Then, gets 10 GIDOs and
produces text answers to the questions - Stanford
belongs to group C.
20
Processing GIDOs with CEP agents
Question
Target ID
Description
Search Pattern
Input
GIDO
CIDFLogger
CMEvent
Builds events
Points to C++ GIDO tree
Question Agent
Process the C++ GIDO
tree w ith Question
Answer
to user
Make each GIDO an event
Use (and fix) our existing cidfLogger
Separate event processing agent called “Qagent”
Provides flexible way of handling GIDOs
21
Qagent
Finds an answer from a given GIDO and a query
pattern.
Qagent traverses the tree to find all the possible
paths that can lead to the answer.
The question is fed to the program as a text file
with two sections:
– The input file may contain a text description
– Patterns to be searched from the tree.
The pattern lines are preceded with “@question:”
Implemented in C++ (I.e. not map language)
– Easier tree traversal
– File input
22
Pattern Language
Lists of SID separated by comma. Answer is the
subtree after the last SID
Attack,AttackSpecifics,IPV4Address
“#true” or “#false” to get the sibling SID rather
than child SID of the last SID for the answer.
ByMeansOf,Attack#true
‘^’ to indicate that the SID is one of the base SID
that applies to all other parts of the pattern
^And,^Copy,Outcome,ReturnCode?success=FileSource,File
Name
23
Examples
Event1
Brief description:
This is an attack that began on
Monday, May 24, at 12:44.
What is the certainty of this
attack?
@question:
Attack,Certainty
( Attack
( Initiator
( IPV4Address 134.52.160.76 )
)
( Target
( IPV4Address 134.52.160.114 )
)
( AttackSpecifics
( Certainty 100 )
( Severity 50 )
( AttackID 000000020000000f )
)
( When
( BeginTime Mon May 24 12:44:17
1999 PDT )
( EndTime Mon May 24 12:44:18 1999
PDT )
)
)
24
Team Members
Rajesh Kamath (rkamath@pavg)
David Luckham (dcl@pavg)
Eunhei Jang (ejang@pavg)
John Kenney (jjk@pavg)
James Vera (vera@pavg)
25