Evaluating Software Sensors for Actively Profiling Windows 2000 - - PowerPoint PPT Presentation

evaluating software sensors for actively profiling
SMART_READER_LITE
LIVE PREVIEW

Evaluating Software Sensors for Actively Profiling Windows 2000 - - PowerPoint PPT Presentation

Evaluating Software Sensors for Actively Profiling Windows 2000 Computer Users Mark Shavlik Jude Shavlik Michael Fahland Motivation and General Approach Identify unique characteristics of each user/servers behavior Every second,


slide-1
SLIDE 1

Evaluating Software Sensors for Actively Profiling Windows 2000 Computer Users

Jude Shavlik Mark Shavlik Michael Fahland

slide-2
SLIDE 2

Motivation and General Approach

Identify ˜ unique characteristics of

each user/server’s behavior

Every second, measure 100’s of

Windows 2000 properties

in/out network traffic, programs running,

keys pressed, kernel usage, etc

Predict Prob( normal | measurements ) Raise alarm if recent measurements

seem unlikely for this user/server

slide-3
SLIDE 3

Goal: Choose “Measurement Space” that Widely Separates User from General Population

Possible Measurements Probability

Specific User General Population

slide-4
SLIDE 4

Initial Experiment

Subjects: 10 users at Shavlik Technologies

Unobtrusively collected data for 6 weeks 7 GBytes archived

Task: Are current measurements from user X? Initial Focus: Keystroke data

Which key pressed? Time key down Time since previous key press

slide-5
SLIDE 5

Training, Tuning, and Testing Sets

Very important in machine learning to not use

testing data to optimize parameters!

Train Set: first two weeks of data

Build a (statistical) model

Tune Set: middle two weeks of data

Choose good parameter settings

Test Set: last two weeks of data

Evaluate “frozen” model

slide-6
SLIDE 6

Our Intrusion-Detection Template

If prob(current keystroke) < T then raise “mini” alarm If # “mini” alarms in window > F then predict intrusion

Last W (window width) keystrokes

...

time

Use tuning set to choose good values for T and F

slide-7
SLIDE 7

Alarm #1 - Probability We Estimate

Prob( current keystroke = K3 and previous keystroke = K2 and two-ago keystroke = K1 and time between K2 and K3 = Interval23 and time between K1 and K2 = Interval12 and time K3 was down = Downtime3 )

slide-8
SLIDE 8

Visualizing Alarm #1

alpha digit punct

...

During training count how often each path taken (per user)

K1 K2 K3 very short very long Interval12 Interval23

slide-9
SLIDE 9

Testset Results – Alarm #1

“Intrusion” Detection Rates

(with < 1 false alarm per day per user)

0% 20% 40% 60% 80% 100% 10 20 40 80 160 320 640

Window Width (W) Detection Rate

  • n Testset

Absolute Prob

slide-10
SLIDE 10

Using Relative Probabilities

0% 20% 40% 60% 80% 100% 10 20 40 80 160 320 640

Window Width (W) Detection Rate

  • n Testset

Relative Prob Absolute Prob

Alarm #2: Prob( keystrokes | machine owner )

Prob( keystrokes | population )

slide-11
SLIDE 11

Using Two Best Alarm Types

(Chosen on Tuning Set)

0% 20% 40% 60% 80% 100% 10 20 40 80 160 320 640

Window Width (W) Detection Rate

  • n Testset

Best 2 Alarms Relative Prob Absolute Prob

We are also investigating other keystroke-related alarms (eg, length of words, sentences, etc)

slide-12
SLIDE 12

Cascading Window Sizes

Alarm in Window Size = W

also if alarm in any smaller window

(To Do: Re-choose thresholds for this scenario) W W / 2 W / 4 W / 8

slide-13
SLIDE 13

Cascading Window Sizes - Results

0% 20% 40% 60% 80% 100% 10 20 40 80 160 320 640

Window Width (W) Detection Rate

  • n Testset

Cascaded Alarm #2 Uncascaded Alarm #2 Cascaded False Alarms Uncascaded False Alarms One False Alarm per Day

Can detect intrusions before window W completely full

slide-14
SLIDE 14

Tradeoff between False Alarms and Detected Intrusions (ROC Curve)

0% 20% 40% 60% 80% 100% 0.0% 0.5% 1.0% 1.5% 2.0% 2.5%

False-Alarm Rate on Testset Detection Rate

  • n Testset

W=80 W=160

Note: left-most values result from ZERO tune-set false alarms

  • ne / day
slide-15
SLIDE 15

Current Work

Extend to non-keystroke data Condition probabilities on other measurements

Prob( keystrokes | MS Office running ),

Prob( keystrokes | browser running ), …

Combine additional alarms

Approx full joint probability distribution (Bayes nets)

  • n user’s measurements most

divergent from general population

Train standard machine learners to distinguish

user X from general population

slide-16
SLIDE 16

Some Related Work

Machine learning for intrusion detection

Gosh et al. (1999) Lane & Brodley (1998) Lee et al. (1999) Warrender et al. (1999) Typically Unix-based; system calls &TCP analyzed

Analysis of keystroke dynamics

Monrose & Rubin (1997) For authenticating passwords

slide-17
SLIDE 17

Conclusion

Can accurately characterize individual user

behavior using simple models

Separate data into train, tune, and test sets

“Let the data decide” good parameter settings,

  • n per-user basis

Normalize prob’s by general-population prob’s

Separate rare for this user/server

from rare for everyone