GrIDS -- A Graph Based Intrusion Detection System For Large Networks

advertisement
GrIDS -- A Graph Based
Intrusion Detection System For
Large Networks
Paper by S. Staniford-Chen et. al
Overview
•
•
•
•
•
•
General facts about GrIDS
Scalability
Architecture
Management
Additional features
Limitations
10/06
Security Policy
• Used to detect & analyze large-scale
attacks
• Anomaly detection
• Can report on per-host basis
– Worms
– Network sweeps
– User specified patterns of attack
10/06
GrIDS -- Environment
• Runs on Unix hosts connected by IP nets
• Intended for large networks (thousands of
hosts & hundreds of IP sub-nets)
• Assumes that network belongs to single
organization with autonomous departments
• No part of network is “actively hostile”
10/06
What does GrIDS do?
•
•
•
•
•
•
Graph-based Intrusion Detection System
Records network activity
Aggregates data of interest
Builds activity graphs
Performs pattern matching
Determines “unexpected” behavior
10/06
Scalability via Aggregation
• Models an organization as hierarchy of
departments (composed of computers)
• Each department builds & evaluates
graphs of activity within the department
• Sub-graphs are embedded in larger
graphs, so an entire department may be
represented by a single node in a highlevel graph
10/06
Scalability via Aggregation
• Graphs scale & are always manageable
 Low level graphs depict part of organization
 High levels summarize information found in
low level graphs
• GrIDS aggregates data; can it see low
level intrusion?
10/06
Architecture of GrIDS
• Module controller process - on each host
• Comprised of modules with standardized
interfaces:
– data sources: monitor activity on hosts &
networks;
– graph engine: builds graphs & passes them
up the hierarchy
– software manager: manages state of
hierarchy & distributed modules
10/06
Data Sources
• Monitor net: Network sniffers
• Monitor the OS/net: Point IDSs (single
host or LAN IDSs)
• Includes extensible mechanism which
allows data to be gathered from other
security tools without significant change
to the tool or to GrIDS
10/06
Graph Engine
• Nodes represent hosts or departments
• Edges represent network traffic between
nodes
• Graph has global attributes which
maintain state information about the graph
as a whole
• Graphs are built based on rule sets
10/06
Rule Sets
• Executable specification of a kind of graph
(contains preconditions, combining rules)
• Each rule set maintains a graph space
containing multiple graphs
• Rules operate independently of one
another
10/06
Rule Sets
• Used to
– Determine if incoming report (partial graph)
should be incorporated into existing graphs
– Decide if two graphs should combine
– Compute the attributes of the combined graph
– Decide what actions to take, if any
• A rule set is inherited by all descendents of
the node to which it is applied
10/06
Updating Graphs
Engine Receives Report
In Form of Partial Graph
Meets Rule Set’s
NO
Discard
Preconditions?
YES
Incoming Graph
YES
Combined With
Existing Graph
Meets Rule
Set’s Combining
Conditions?
NO
New Graph
Formed in Rule
Set’s Graph Space
Example Rule
Combine node rule {
res.node.combine = !empty({new.node.alerts,
cur.node.alerts})
&& abs(cur.node.time - new.node.time) < 30;
res.node.alerts ={cur.node.alerts,new.node.alerts};
res.node.time = max({cur.node.time,
new.node.time});
}
Example Assessment Rule
assessments rule {
(!empty(res.global.alerts)) ||
(res.global.nnodes >= 8) ||
(res.global.nedges >= 13) ==>
alert(), report-graph();
(3 < res.global.nnodes < 8) ||
(5 < res.global.nedges < 13) ==>
report-graph();
}
Management Modules
• User interface modules for management
functions and display of alerts
• Central organizational hierarchy server
which has a global view of the topology
of the hierarchy, and is responsible for
ensuring that changes to the hierarchy
happen in a consistent manner
10/06
Managing the Hierarchy
• Organizational hierarchy server maintains
a global picture of hierarchy
• Access control system controls who can
view and manage the hierarchy
 ACL resides at each node & states who can
access that node or any node in the sub-tree
rooted there
• System managers perform “transactions”
10/06
Transactions
Typical transactions include:
• moving a department
• adding a new host
• changing the location of the graph
engine, etc.
10/06
Limitations
• Not secure against attacks targeting GrIDS:
– substituting in hacked versions of GrIDS at the
module level
– denial of service attacks
– disruptions of the network time protocol
– networks or computers faults
• Widespread attacks which progress slowly
might not be diagnosed by aggregation
mechanism
10/06
Backup
10/06
Additional Features:
Policy Enforcement
• Policies are compiled into rule sets which
build graphs & evaluate for policy violations
• Currently, GrIDS only allows for policies
stated with respect to a single graph edge
(network connection)
• Rule takes form of a tuple:
(action, time, source, destination, protocol,
stage, status, . . . .)
10/06
Download