Intrusion Detection Outline Intrusion detection and computer security Current Data intrusion detection approaches Mining Approaches for Intrusion Detection Summary Intrusion Detection and Computer Security Computer security goals: Confidentiality, integrity, and availability Intrusion is a set of actions aimed to compromise these security goals Intrusion prevention (authentication, encryption, etc.) alone is not sufficient Intrusion detection is needed Intrusion Examples Intrusions: Any set of actions that threaten the integrity, availability, or confidentiality of a network resource Examples Denial of service (DoS): attempts to starve a host of resources needed to function correctly Scan: reconnaissance on the network or a particular host Worms and viruses: replicating on other hosts Compromises: obtain privileged access to a host by known vulnerabilities Intrusion Detection Intrusion detection: The process of monitoring and analyzing the events occurring in a computer and/or network system in order to detect signs of security problems Primary assumption: User and program activities can be monitored and modeled Steps Monitoring and analyzing traffic Identifying abnormal activities Assessing severity and raising alarm Monitoring and Analyzing Traffic TCPdump and Windump Provide insight into the traffic activity on a network ftp://ftp.ee.lbl.gov/tcpdump.tar.Z http://netgroupserv.polito.it/windump Ethereal GUI to interpret all layers of the packet Goals of Intrusion Detection System (IDS) Detect wide variety of intrusions Previously known and unknown attacks Suggests need to learn/adapt to new attacks or changes in behavior Detect intrusions in timely fashion May need to be real-time, especially when system responds to intrusion Problem: analyzing commands may impact response time of system May suffice to report intrusion occurred a few minutes or hours ago Goals of Intrusion Detect. System (IDS) (2) Present analysis in simple, easy-to-understand format Be accurate Minimize false positives, false negatives False positive: An event, incorrectly identified by the IDS as being an intrusion when none has occurred False negative: An event that the IDS fails to identify as an intrusion when one has in fact occurred Minimize time spent verifying attacks, looking for them IDS Architecture Sensors (agent) Analyzers (detector) to collect data and forward info to the analyzer network packets log files system call traces To receive input from one or more sensors or from other analyzers To determine if an intrusion has occurred User interface To enable a user to view output from the system or control the behavior of the system IDS Architecture Sensor 1 Sensor 2 Sensor n Sensor events ANALYSER Network Classifier Clustering Human analyst Signature-Based Intrusion Detection Human analysts investigate suspicious traffic Extract signatures Features of known intrusions Use pre-defined signatures to discover malicious packets Examples LaBrea Tarpit by Tom Liston Snort and Snort rules Marty Roesch Snort by Marty Roesch An open source free network intrusion detection system Signature-based, use a combination of rules and preprocessors On many platforms, including UNIX and Windows www.snort.org Preprocessors IP defragmentation, port-scan detection, web traffic normalization, TCP stream reassembly, … Can analyze streams, not only a single packet at a time Problems in Signature-Based Intrusion Detection Systems Many false positives: prone to generating alerts when there is no problem in fact Signatures are not specific enough A packet is not examined in context with those that precede it or those that follow Cannot detect unknown intrusions Rely on signatures extracted by human experts Misuse vs. Anomaly Detection Misuse detection: use patterns of well-known attacks to identify intrusions Classification based on known intrusions E.g., three consecutive login failures: password guessing. Anomaly detection: use deviation from normal usage patterns to identify intrusions Any significant deviations from the expected behavior are reported as possible attacks Misuse vs. Anomaly Detection Misuse Detection Anomaly Detection Definition matching the sequence of “signature actions” of known intrusion scenarios using statistical measure on system features Shortcoming Example STAT [HLMS90] Has to hand Rely upon in selecting coded known the system features. pattern. Has to study Unable to detect sequential interrelation any future intrusion between transactions IDES [LTG+92] Host-based vs. Network-based According to data sources Host-based detection: the data is collected from an individual host Directly monitor the host data files and OS processes Can determine exactly which host resources are the targets of a particular attack Network-based detection: the data is traffic across the network A set of traffic sensors within the network Can easily harder against attacks and hide from the attackers OUTLINE Intrusion detection and computer security Current intrusion detection approaches Data Mining Approaches for Intrusion Detection Summary Current Intrusion Detection Approaches—Misuse Detection Misuse detection : Record the specific patterns of intrusions Monitor current audit trails (event sequences) and pattern matching Report the matched events as intrusions Representation models: expert rules, Colored Petri Net, and state transition diagrams, etc. Misuse Detection Example Expert systems: use a set of rules to describe attacks Signature analysis: capture features of attacks in audit trail Haystack, NetRanger, RealSecure, MuSig State-transition analysis: use state-transition diagrams IDES, ComputerWatch, NIDX, P-BEST, ISOA STAT,USTAT and NetSTAT Other approaches Colored petri nets, e.g., IDIOT Case-based reasoning, e.g., AUTOGUARD Current Intrusion Detection Approaches—Anomaly Detection Anomaly detection: Establishing the normal behavior profiles Observing and comparing current activities with the (normal) profiles Reporting significant deviations as intrusions Statistical measures as behavior profiles: ordinal and categorical (binary and linear) Anomaly Detection Example Statistical methods: multivariate, temporal analysis IDES, NIDES, EMERALD Expert systems ComputerWatch, Wisdom & Sense Problems of Current Intrusion Detection Approaches Main problems: manual and ad-hoc Misuse detection: Known intrusion patterns have to be hand-coded Unable to detect any new intrusions (that have no matched patterns recorded in the system) Anomaly detection: Selecting the right set of system features to be measured is ad hoc and based on experience Unable to capture sequential interrelation between events OUTLINE Intrusion detection and computer security Current intrusion detection approaches Data Mining Approaches for Intrusion Detection Summary Why Can Data Mining Help? Data mining: applying specific algorithms to extract patterns from data Normal and intrusive activities leave evidence in audit data From the data-centric point view, intrusion detection is a data analysis process Why Can Data Mining Help? Successful applications in related domains, e.g., fraud detection, fault/alarm management Learn from traffic data Supervised learning: learn precise models from past intrusions Unsupervised learning: identify suspicious activities Maintain or update models on dynamic data Frequent Patterns Patterns that occur frequently in a database Mining Frequent patterns – finding regularities Process of Mining Frequent patterns for intrusion detection Phase I: mine a repository of normal frequent itemsets for attack-free data Phase II: find frequent itemsets in the last n connections and compare the patterns to the normal profile Frequent Pattern Mining in MINDS MINDS: a IDS using data mining techniques University of Minnesota Summarizing attacks using association rules {Src IP=206.163.27.95, Dest Port=139, Bytes[150, 200)} {ATTACK} Patterns About Alerts Ning et al. CCS’02 Find correlated alerts – the frequent patterns of alerts Attack scenarios – the logical connections between alerts A hyper-alerts correlation graph approach Use the correlation of intrusion alerts to identify high level attacks Associate rules Used for link analysis E.g.: If the number of failed login attempts (num_failed_login_attempts) and the network service on the destination (service) are features, an example of rule is: num_failed_login_attempts = 6, service = FTP => attack = DoS [1, 0.28 ] Sequential Pattern Analysis Models sequence patterns (Temporal) order is important in many situations Time-series databases and sequence databases Frequent patterns (frequent) sequential patterns Sequential patterns for intrusion detection Capture the signatures for attacks in a series of packets Classification: A Two-Step Process Model construction: describe a set of predetermined classes Training dataset: tuples for model construction Each tuple/sample belongs to a predefined class Classification rules, decision trees, or math formulae Model application: classify unseen objects Estimate accuracy of the model using an independent test set Acceptable accuracy apply the model to classify data tuples with unknown class labels Classification Methods Basic Algorithm ID3 Neural networks Bayesian classification Naïve Bayesian classification Bayesian belief network Support vector machines Classification for Intrusion Detection Misuse detection Classification based on known intrusions Example: Sinclair et al. “An application of machine learning to network intrusion detection” Use decision trees and ID3 on host session data Use genetic algorithms to generate rules If <pattern> then <alert> HIDE “A hierarchical network intrusion detection system using statistical processing and neural network classification” by Zheng et al. Five major components Probes collect traffic data Event preprocessor preprocesses traffic data and feeds the statistical model Statistical processor maintains a model for normal activities and generates vectors for new events Neural network classifies the vectors of new events Post processor generates reports Intrusion Detection by NN and SVM S. Mukkamala et al., IEEE IJCNN May 2002 Discover useful patterns or features that describe user behavior on a system Use the set of relevant features to build classifiers SVMs have great potential to be used in place of NNs due to its scalability and faster training and running time NNs are especially suited for multi-category classification Clustering Group data into clusters What is a good clustering High intra-class similarity and low inter-class similarity Depending on the similarity measure The ability to discover some or all of the hidden patterns Clustering Approaches K-means Hierarchical Clustering Density-based methods Grid-based methods Model-based Clustering for Intrusion Detection Anomaly detection Any significant deviations from the expected behavior are reported as possible attacks Build clusters as models for normal activities “A scalable clustering for intrusion signature recognition” by Ye and Li Use description of clusters as signatures of intrusions Alert Correlation F. Cuppens and A. Miege, in IEEE S&P’02 Use clustering and merging functions to recognize alerts that correspond to the same occurrence of an attack Create a new alert that merge data contained in these various alerts Generate global and synthetic alerts to reduce the number of alerts further Mining Data Streams Continuous arrival data in multiple, rapid, timevarying, possibly unpredictable and unbounded streams Many applications Financial applications, network monitoring, security, telecommunications data management, web application, manufacturing, sensor networks, etc. Mining Data Streams for Intrusion Detection Maintaining profiles of normal activities The profiles of normal activities may drift Identifying novel attacks Identifying clusters and outliers in traffic data streams A Systematic Framework—J.Stolfo et al. Build good models: Build better models: select appropriate features of audit data to build intrusion detection models architect a hierarchical detector system that combines multiple detection models Build updated models: dynamically update and deploy new detection system as needed A Systematic Framework Support for the feature selection and model construction: Apply data mining algorithms to find consistent interand intra- audit record (event) patterns Use the features and time windows in the discovered patterns to build detection models A support environment to semi-automate this process A Systematic Framework Combining multiple detection models: Each (base) detector model monitors one aspect of the system They can employ different techniques and be independent of each other The learned (meta) detector combines evidence from a number of base detectors An intelligent agent-based architecture: learning agents: continuously compute (learn) the detection models detection agents: use the (updated) models to detect intrusions A Systematic Framework Building Classifiers for Intrusion Detection—J.Stolfo et al. Experiments in constructing classification models for anomaly detection Two experiments: sendmail system call data network tcpdump data Use meta classifier to combine multiple classification models Classification Models on sendmail The data: sequence of system calls made by sendmail. Classification models (rules): describe the “normal” patterns of the system call sequences. The rule set is the normal profile of sendmail Detection: calculate the deviation from the profile large number/high scores of “violations” to the rules in a new trace suggests an exploit Classification Models on sendmail The sendmail data: Each trace has two columns: the process ids and the system call numbers Normal traces: sendmail and sendmail daemon Abnormal traces: sunsendmailcap, syslogremote, syslog-remote, decode, sm5x and sm56a attacks Classification Models on sendmail Lessons learned: Normal behavior can be established and used to detect anomalous usage Need to collect near “complete” normal data in order to build the “normal” model But how do we know when to stop collecting? Need tools to guide the audit data gathering process Classification Models on tcpdump The tcpdump data (part of a public data visualization contest): Packets of incoming, out-going, and internal broadcast traffic One trace of normal network traffic Three traces of network intrusions Data Preprocessing Extract the “connection” level features: Record connection attempts Watch how connection is terminated Each record has: start time and duration participating hosts and ports (applications) statistics (e.g., # of bytes) flag: normal or a connection/termination error protocol: TCP or UDP Divide connections into 3 types: incoming, outgoing, and inter-lan Building Classifier for Each Type of Connections Use the destination service (port) as the class label Training data: 80% of the normal connections Testing data: 20% of the normal connections and connections in the 3 intrusion traces Apply RIPPER to learn rules Lessons Learned Data preprocessing requires extensive domain knowledge Adding temporal features improves classification accuracy Need tools to guide (temporal) feature selection Meta Classifier that Combines Evidence from Multiple Detection Models Build base classifiers that each model one aspect of the system The meta learning task: each record has a collection of evidence from base classifiers, and a class label “normal”or “abnormal” on the state of the system Apply a learning algorithm to produce the meta classifier