evaluating software sensors for actively profiling
play

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,


  1. Evaluating Software Sensors for Actively Profiling Windows 2000 Computer Users Mark Shavlik Jude Shavlik Michael Fahland

  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

  3. Goal: Choose “Measurement Space” that Widely Separates User from General Population Specific User Probability General Population Possible Measurements

  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

  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

  6. Our Intrusion-Detection Template Last W ( window width) keystrokes ... time If prob(current keystroke) < T then raise “mini” alarm If # “mini” alarms in window > F then predict intrusion Use tuning set to choose good values for T and F

  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 )

  8. Visualizing Alarm #1 Interval12 Interval23 K1 K2 K3 alpha very short digit punct ... very long During training count how often each path taken (per user)

  9. Testset Results – Alarm #1 “Intrusion” Detection Rates (with < 1 false alarm per day per user) 100% Detection Rate 80% on Testset 60% Absolute Prob 40% 20% 0% 10 20 40 80 160 320 640 Window Width (W)

  10. Using Relative Probabilities Alarm #2: Prob( keystrokes | machine owner ) Prob( keystrokes | population ) 100% Detection Rate 80% on Testset Relative Prob 60% 40% Absolute Prob 20% 0% 10 20 40 80 160 320 640 Window Width (W)

  11. Using Two Best Alarm Types (Chosen on Tuning Set) We are also investigating other keystroke-related alarms (eg, length of words, sentences, etc) 100% Detection Rate 80% Best 2 Alarms on Testset 60% Relative Prob 40% Absolute Prob 20% 0% 10 20 40 80 160 320 640 Window Width (W)

  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 / 8 W / 4 W / 2 W

  13. Cascading Window Sizes - Results Can detect intrusions before window W completely full 100% Cascaded Alarm #2 Detection Rate 80% Uncascaded on Testset Alarm #2 60% Cascaded 40% False Alarms 20% Uncascaded False Alarms 0% One False Alarm 10 20 40 80 160 320 640 per Day Window Width (W)

  14. Tradeoff between False Alarms and Detected Intrusions (ROC Curve) 100% Detection Rate 80% on Testset W=80 60% W=160 40% 20% one / day 0% 0.0% 0.5% 1.0% 1.5% 2.0% 2.5% False-Alarm Rate on Testset Note: left-most values result from ZERO tune-set false alarms

  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) on user’s measurements most divergent from general population � Train standard machine learners to distinguish user X from general population

  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

  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, on per-user basis � Normalize prob’s by general-population prob’s � Separate rare for this user/server from rare for everyone

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend