USTAT A Real-time Intrusion Detection System for UNIX By: Koral Ilgun

advertisement
USTAT
A Real-time Intrusion Detection
System for UNIX
By: Koral Ilgun
Jul-16
Overview:
 Introduction to USTAT - State Transition Analysis Tool for Unix
 Key issues
 System components
 Implementation issues
 Evaluation of USTAT
Jul-16
Introduction to USTAT
 Misuse detector
 A penetration is (viewed as) a sequence of
signature actions and a corresponding sequence of
state changes that lead the computer from some
initial state to a target compromised state
 Basic Properties of USTAT
 Real-time expert system intrusion detection tool
 Rule-based analysis
 Only for known penetrations
 Targets abusive insiders
Jul-16
Comparison between USTAT and
other intrusion detection systems

Statistical anomaly detection



Rule-based misuse detection


Jul-16
threshold detection
profile-based
it is an expert system
Most current intrusion detection tools employ
both the anomaly detection and (rule-based)
misuse detection components
State Transition Analysis




Jul-16
View a penetration as
a (known) sequence of actions
S1, S2, …,Sn
that lead from an initial (limited
authorized) access state, S1
to a final compromised state, Sn
State Transition Analysis (cont)



State really represents some attribute of
the system – not the whole system state
State is generic, e.g. “user is now root”
Penetration sequence represented by
finite state machine


Jul-16
node is a state
arc is an action (or transition)
Examples:


% ln target -x
% -x
User creates link
euid(user) = not root
User executes file
euid(user) = root
File ‘target’ is root’s setuid shell script that contains
the #!/bin/sh mechanism
Jul-16
Examples (cont):







Jul-16
1. Attacker creates hard link starting with dash to root’s setuid
shell script that contains the #!/bin/sh mechanism
2. Attacker executes “-x”
Insight: Creating hard link ==> new directory entry is created
with target’s original privileges and ownership information
Target can be accessed via any link to it
Executing shell script containing #!/bin/sh invokes a sub-shell
Sub-shell becomes interactive (because of the “-”)
Attacker is thus executing a setuid file owned by root, so shell
has effective ID of root
Examples (cont):

Two actions/transitions:



make hardlink
execute “-x”
Three states:



Initial state: euid = user (not root)
Intermediate state: hardlink established
Final compromise state: not euid = user
I.e. a user (non-root) running an interactive shell
with an effective user id of root
Jul-16
Features of USTAT


Preempts attacks:
 USTAT monitors state transitions
 Note that they can span multiple sessions
 It foresees impending compromise -- at least one
transition away
Recognizes cooperative attacks
 Note that USTAT is not tied to users or processes
 It reflects state of the system
 So, it can detect state resulting from actions by
multiple users
Jul-16
USTAT input
 Audit records of the form, <subject, action, object>
 Subject is <real userID, effective userID, groupID>
 Action is <action, time, processID>
 Object is <object name, permissions, owner, group
owner, inode #, device #, file systemID, target>
 All information can be obtained directly from Unix
audit records
Jul-16
USTAT input (cont)
 Unix audits 239 event types
 Only 28 are useful to USTAT
 They are mapped down to 10 USTAT action types
 Filters out all failed command events early, i.e. all
the events with a return value of -1
Jul-16
USTAT simplifications (cont)
 All (audited) actions mapped to a small set:
 read
write
create
execute
 exit
delete
modify-owner
rename
 modify-permission
hardlink
 Files are categorized: E.g. all files that should not
be accessed via regular utilities (because they
hold sensitive data) are mapped to “Fileset1”
 5 “filesets”
Jul-16
USTAT monitoring
 Monitors for all known penetrations simultaneously
 Finite state machine for each known penetration
 Maintains state tables
 Row represents instance of not yet completed
penetration
 Column represents states in penetration scenario
 Cell holds detailed info, e.g. userID, actual file names,
etc
Jul-16
USTAT INITIAL state table
 One row for each known penetration, I.e. each
possible penetration is in its initial state
 Initial action/transition for each is anticipated
 Inference Engine accepts audit input
 For each row, it asks: does this audit event match the
“next transition” anticipated for this row such that the
next state is satisfied
 If so, duplicate the row and mark “details” for the now
satisfied state
Jul-16
Decision Engine
Informs sys admin about results of the inference engine
Is compromise about to occur?
Has compromise occurred?
Play an active role in preempting the attack!
However, note that USTAT input comes from
the OS (Unix) audit log
Jul-16
Strength and weakness of USTAT

Strength:




Weakness - Cannot cope with the following attacks:



Jul-16
Flexibility
Real-time -- preempts attack before system is damaged
Detects cooperative attacks
Manipulation of components outside the system’s
execution domain, e.g., wiretapping
Denial of service attacks
Failures
Evaluation of USTAT




Jul-16
Massive amount of data that was collected by the
audit daemon limited extensive testing
Limiting factor is the transfer rate of the disk that is
extensively used by USTAT and the audit daemon
USTAT functionality costs 13% of machine
Papers do not indicate number of penetrations that
can be described as state transition diagram
NSTAT – USTAT for Distributed
Systems






Jul-16
Similar “state-based” approach
Input: audit data from multiple hosts
Objective: detect coordinate attack
Central server processes input
Time – how to deal with skewed clocks?
Vulnerability of NSTAT server
Compare!

Tripwire -- Integrity of file data

GrIDs -- graph nodes (or accumulated groups of
nodes) with arcs depicting message traffic

USTAT -- monitor for known penetrations, tracking
state changes that progress toward compromise
Jul-16
Download