Formal Specification of Intrusion Signatures and Detection Rules By Jean-Philippe Pouzol and Mireille Ducassé 15 th IEEE Computer Security Foundations.

Slides:



Advertisements
Similar presentations
CS848: Topics in Databases: Foundations of Query Optimization Topics covered  Introduction to description logic: Single column QL  The ALC family of.
Advertisements

Semantics Static semantics Dynamic semantics attribute grammars
10 October 2006 Foundations of Logic and Constraint Programming 1 Unification ­An overview Need for Unification Ranked alfabeths and terms. Substitutions.
1 PROPERTIES OF A TYPE ABSTRACT INTERPRETATER. 2 MOTIVATION OF THE EXPERIMENT § a well understood case l type inference in functional programming à la.
Formal Modelling of Reactive Agents as an aggregation of Simple Behaviours P.Kefalas Dept. of Computer Science 13 Tsimiski Str Thessaloniki Greece.
D ATABASE S YSTEMS I R ELATIONAL A LGEBRA. 22 R ELATIONAL Q UERY L ANGUAGES Query languages (QL): Allow manipulation and retrieval of data from a database.
Rigorous Software Development CSCI-GA Instructor: Thomas Wies Spring 2012 Lecture 11.
SOFTWARE TESTING. INTRODUCTION  Software Testing is the process of executing a program or system with the intent of finding errors.  It involves any.
Formal Methods for Intrusion Detection Presented by Brian Kellogg CSE 914: Formal Methods for Software Development Michigan State University December 11.
1 A Description Logic with Concrete Domains CS848 presentation Presenter: Yongjuan Zou.
Basic Structures: Sets, Functions, Sequences, Sums, and Matrices
Basic Structures: Sets, Functions, Sequences, Sums, and Matrices
1 Relational Algebra & Calculus. 2 Relational Query Languages  Query languages: Allow manipulation and retrieval of data from a database.  Relational.
CMPT 354, Simon Fraser University, Fall 2008, Martin Ester 52 Database Systems I Relational Algebra.
A Semantic Characterization of Unbounded-Nondeterministic Abstract State Machines Andreas Glausch and Wolfgang Reisig 1.
1 Introduction to Computability Theory Lecture12: Decidable Languages Prof. Amos Israeli.
1 Introduction to Computability Theory Lecture4: Regular Expressions Prof. Amos Israeli.
1 Introduction to Computability Theory Lecture3: Regular Expressions Prof. Amos Israeli.
Introduction to Computability Theory
Constraint Logic Programming Ryan Kinworthy. Overview Introduction Logic Programming LP as a constraint programming language Constraint Logic Programming.
Algorithms and Problem Solving-1 Algorithms and Problem Solving.
Firewall Policy Queries Author: Alex X. Liu, Mohamed G. Gouda Publisher: IEEE Transaction on Parallel and Distributed Systems 2009 Presenter: Chen-Yu Chang.
©Ian Sommerville 2000Software Engineering, 6/e, Chapter 91 Formal Specification l Techniques for the unambiguous specification of software.
1 Ivan Lanese Computer Science Department University of Bologna Italy Concurrent and located synchronizations in π-calculus.
Normal forms for Context-Free Grammars
CS 330 Programming Languages 09 / 16 / 2008 Instructor: Michael Eckmann.
Lesson 6. Refinement of the Operator Model This page describes formally how we refine Figure 2.5 into a more detailed model so that we can connect it.
Describing Syntax and Semantics
1 Relational Algebra and Calculus Yanlei Diao UMass Amherst Feb 1, 2007 Slides Courtesy of R. Ramakrishnan and J. Gehrke.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 10 Slide 1 Formal Specification.
Induction and recursion
CSC 8310 Programming Languages Meeting 2 September 2/3, 2014.
A Z Approach in Validating ORA-SS Data Models Scott Uk-Jin Lee Jing Sun Gillian Dobbie Yuan Fang Li.
MATH 224 – Discrete Mathematics
Benjamin Gamble. What is Time?  Can mean many different things to a computer Dynamic Equation Variable System State 2.
An Algebra for Composing Access Control Policies (2002) Author: PIERO BONATTI, SABRINA DE CAPITANI DI, PIERANGELA SAMARATI Presenter: Siqing Du Date:
WXGE6103 Software Engineering Process and Practice Formal Specification.
On Reducing the Global State Graph for Verification of Distributed Computations Vijay K. Garg, Arindam Chakraborty Parallel and Distributed Systems Laboratory.
ISBN Chapter 3 Describing Semantics -Attribute Grammars -Dynamic Semantics.
1 Relational Databases and SQL. Learning Objectives Understand techniques to model complex accounting phenomena in an E-R diagram Develop E-R diagrams.
Major objective of this course is: Design and analysis of modern algorithms Different variants Accuracy Efficiency Comparing efficiencies Motivation thinking.
1 Relational Algebra & Calculus Chapter 4, Part A (Relational Algebra)
1 Relational Algebra and Calculas Chapter 4, Part A.
1.1 CAS CS 460/660 Introduction to Database Systems Relational Algebra.
Relational Algebra.
Regular Expressions Chapter 6 1. Regular Languages Regular Language Regular Expression Finite State Machine L Accepts 2.
Object-Oriented Modeling: Static Models. Object-Oriented Modeling Model the system as interacting objects Model the system as interacting objects Match.
ISBN Chapter 3 Describing Semantics.
Chapter 3 Part II Describing Syntax and Semantics.
Programming Languages and Design Lecture 3 Semantic Specifications of Programming Languages Instructor: Li Ma Department of Computer Science Texas Southern.
Automated Reasoning Early AI explored how to automated several reasoning tasks – these were solved by what we might call weak problem solving methods as.
Ch. 13 Ch. 131 jcmt CSE 3302 Programming Languages CSE3302 Programming Languages (notes?) Dr. Carter Tiernan.
Naïve Set Theory. Basic Definitions Naïve set theory is the non-axiomatic treatment of set theory. In the axiomatic treatment, which we will only allude.
SOFTWARE TESTING. Introduction Software Testing is the process of executing a program or system with the intent of finding errors. It involves any activity.
Quality Assurance in the Presence of Variability Kim Lauenroth, Andreas Metzger, Klaus Pohl Institute for Computer Science and Business Information Systems.
MOPS: an Infrastructure for Examining Security Properties of Software Authors Hao Chen and David Wagner Appears in ACM Conference on Computer and Communications.
Logics for Data and Knowledge Representation ClassL (part 1): syntax and semantics.
Towards a Semantic Model for Java Wildcards Sophia Drossopoulou Mariangiola Dezani-Ciancaglini Imperial College London Università di Torino Italy Nicholas.
1 The Relational Data Model David J. Stucki. Relational Model Concepts 2 Fundamental concept: the relation  The Relational Model represents an entire.
SOFTWARE TESTING LECTURE 9. OBSERVATIONS ABOUT TESTING “ Testing is the process of executing a program with the intention of finding errors. ” – Myers.
COMP 412, FALL Type Systems C OMP 412 Rice University Houston, Texas Fall 2000 Copyright 2000, Robert Cartwright, all rights reserved. Students.
The PLA Model: On the Combination of Product-Line Analyses 강태준.
Certifying and Synthesizing Membership Equational Proofs Patrick Lincoln (SRI) joint work with Steven Eker (SRI), Jose Meseguer (Urbana) and Grigore Rosu.
Counterexample-Guided Abstraction Refinement By Edmund Clarke, Orna Grumberg, Somesh Jha, Yuan Lu, and Helmut Veith Presented by Yunho Kim Provable Software.
CS510 Compiler Lecture 4.
Introduction Defining the Problem as a State Space Search.
Relational Algebra Chapter 4, Part A
Objective of This Course
Logics for Data and Knowledge Representation
Relational Algebra Chapter 4, Sections 4.1 – 4.2
Presentation transcript:

Formal Specification of Intrusion Signatures and Detection Rules By Jean-Philippe Pouzol and Mireille Ducassé 15 th IEEE Computer Security Foundations Workshop 2002 Presented by Brian Kellogg CSE914: Formal Methods for Software Development Michigan State University

Introduction to Misuse Intrusion Detection Systems (IDS) Two categories Two categories Single event IDS Single event IDS Each event is compared with each known signature Each event is compared with each known signature Specifying signatures simple Specifying signatures simple Multi-event IDS Multi-event IDS Do not have a uniform abstract algorithm because they do not propose the same operators to combine events Do not have a uniform abstract algorithm because they do not propose the same operators to combine events Can be further split in to two categories (next slide) Can be further split in to two categories (next slide)

Multi-event IDS Categories Transition based Transition based What are the significant traces of attacks is hidden by how they should be detected What are the significant traces of attacks is hidden by how they should be detected Very tricky to write signatures Very tricky to write signatures Declarative Declarative Signatures only contain what are the significant traces of attacks Signatures only contain what are the significant traces of attacks How they are detected is addressed by an alogorithm How they are detected is addressed by an alogorithm Easier to write signatures Easier to write signatures Problem: algorithm is a black box an detects all instances of an attack, allowing attackers to choke the IDS by launching many incomplete instances of an attack Problem: algorithm is a black box an detects all instances of an attack, allowing attackers to choke the IDS by launching many incomplete instances of an attack

Focus of Paper Refine the declarative approach Refine the declarative approach Formally specify the algorithm in two stages Formally specify the algorithm in two stages Classify the signature instances Classify the signature instances Give a set of detection rules which detects in an audit trail a representative of each class Give a set of detection rules which detects in an audit trail a representative of each class Rules are formally specified using a “parsing schemata” Rules are formally specified using a “parsing schemata” Algorithm defined by the rules are proved sound and complete Algorithm defined by the rules are proved sound and complete What and the how still separated, but security officer can parameterize the detection by choosing a class for each signature What and the how still separated, but security officer can parameterize the detection by choosing a class for each signature

Contribution of Paper Two main contributions Two main contributions Less instances of signatures are tracked Less instances of signatures are tracked More resistant to choking attacks More resistant to choking attacks Detection algorithm is specified in a high level formal way Detection algorithm is specified in a high level formal way Easy to understand and reason about Easy to understand and reason about Essential operation features are made explicit Essential operation features are made explicit

Specification of Signatures Intrusion signatures describe combinations of events Intrusion signatures describe combinations of events A filter is a signature on one event A filter is a signature on one event Complex signatures can be focused on two ways Complex signatures can be focused on two ways Sequence Sequence Conjunction Conjunction

Specification of Signatures Definition 1 (Event): An event is a collection of values identified by field names. We represent an event as a set of pairs (field_name, value). We assume that in an event, a field name belongs to one pair. Definition 1 (Event): An event is a collection of values identified by field names. We represent an event as a set of pairs (field_name, value). We assume that in an event, a field name belongs to one pair.

Specification of Signatures Definition 2 (Trail): A trail is a totally ordered sequence of events. Given a trail T, we note T[i] the i th event in the trail. Definition 2 (Trail): A trail is a totally ordered sequence of events. Given a trail T, we note T[i] the i th event in the trail.

Specification of Signatures Definition 3 (Filter): A filter is a set of constraints between event field names, constant values and variable names. In this paper, we consider that constraints involving variable names can only be equality constraints. Definition 3 (Filter): A filter is a set of constraints between event field names, constant values and variable names. In this paper, we consider that constraints involving variable names can only be equality constraints.

Specification of Signatures Definition 4 (Signatures): A signature is defined by a 5-tuple (V, F, N T, S, P) Definition 4 (Signatures): A signature is defined by a 5-tuple (V, F, N T, S, P) V is a set of variables V is a set of variables F is a set of filters that use variables in V, F is a set of filters that use variables in V, N T, is a set of non-terminal elements N T, is a set of non-terminal elements S  N T is the axiom, S  N T is the axiom, P is a set of production rules N T  Prod, where p  Prod can be: P is a set of production rules N T  Prod, where p  Prod can be: Filter(f) where f  F Filter(f) where f  F Seq(A,B) where (A,B)  N T x N T Seq(A,B) where (A,B)  N T x N T And(A,B) where (A,B)  N T x N T And(A,B) where (A,B)  N T x N T

Specification of Signature

Example of Signature

Semantics of Signature A concrete instance of a signature is a collection of events that A concrete instance of a signature is a collection of events that Fulfill the constraints in filters Fulfill the constraints in filters With respect to the correlation specified by the logical variables With respect to the correlation specified by the logical variables And are in a correct order according to temporal constraints And are in a correct order according to temporal constraints This is denoted {p 1,…,p n } where p i are positions in the trail This is denoted {p 1,…,p n } where p i are positions in the trail Proposed semantics: Proposed semantics: (Θ, i, j) where Θ is a signature valuation, i is the position of the first event of the instances, and j is the position of the last event of the instance (Θ, i, j) where Θ is a signature valuation, i is the position of the first event of the instances, and j is the position of the last event of the instance

Semantics of Signatures (Signature Constraints) Definition 5 (Signature constraints): A signature constraint is a set of constraints that force some properties on the possible values of the variables used in a signature. Can not contain reference to a field name. Definition 5 (Signature constraints): A signature constraint is a set of constraints that force some properties on the possible values of the variables used in a signature. Can not contain reference to a field name.

Semantics of Signatures (Signature Valuation) Definition 6 (Signature valuation): A signature constraint is said to be a signature valuation if it forces a unique value for each variable that appears in the signature. Definition 6 (Signature valuation): A signature constraint is said to be a signature valuation if it forces a unique value for each variable that appears in the signature.

Semantics of Signatures (Event Matching) Definition 7 (Event Matching): Definition 7 (Event Matching): We define the predicate match(E, F, Θ) where E is an event, F is a filter, and Θ is a valuation of F We define the predicate match(E, F, Θ) where E is an event, F is a filter, and Θ is a valuation of F This predicate holds iff the constraint set (F E UΘ) admits at least one solution This predicate holds iff the constraint set (F E UΘ) admits at least one solution It does not hold if an event field name used in F is not present in E It does not hold if an event field name used in F is not present in E

Semantics of Signature Semantics of the language given by means of the relation ‡. Given a signature S, a trail T, and an abstract instance I=(Θ, i, j), I is an instance of S in T iff T, Θ,I,j ‡ S. Semantics of the language given by means of the relation ‡. Given a signature S, a trail T, and an abstract instance I=(Θ, i, j), I is an instance of S in T iff T, Θ,I,j ‡ S.

Specification of Signature Instances Many approaches to ID strive to be both sound and complete Many approaches to ID strive to be both sound and complete Authors argue that completeness is not necessary and is sometimes a drawback Authors argue that completeness is not necessary and is sometimes a drawback Authors propose an approach to specify what instances are relevant for detection Authors propose an approach to specify what instances are relevant for detection Specifications are expressed as equivalence relations between instances of each signature Specifications are expressed as equivalence relations between instances of each signature Once classified, the IDS can report only a particular instance of each class Once classified, the IDS can report only a particular instance of each class

Specification of Signature Instances Given a signature, equivalence relation is specified by choosing an element in the lattice of all the subsets of variable of the signature Given a signature, equivalence relation is specified by choosing an element in the lattice of all the subsets of variable of the signature Two instances are equivalent if they contain the same values for the variables in this subset Two instances are equivalent if they contain the same values for the variables in this subset

Specification of Signature Instances Each element e in this lattice corresponds to an equivalence R(e) between instances Each element e in this lattice corresponds to an equivalence R(e) between instances

Specification of Signature Instances Two motivations: Two motivations: Want to be able to prune search paths on the fly Want to be able to prune search paths on the fly Don’t want to miss relevant instances Don’t want to miss relevant instances

Specification of Signature Instances After instances are classified, must decide which instance to report to the IDS After instances are classified, must decide which instance to report to the IDS Three strategies (Chakravarthy et al.): Three strategies (Chakravarthy et al.): Report the instance that starts first and ends first Report the instance that starts first and ends first Report the one that starts last among all the ones that end first Report the one that starts last among all the ones that end first Report the shortest instance for each event that starts an instance Report the shortest instance for each event that starts an instance This paper selected the first strategy: This paper selected the first strategy: Finding the instance that ends first is required for analyzing an infinite trail Finding the instance that ends first is required for analyzing an infinite trail Easier to constrain further search as opposed to canceling previous results Easier to constrain further search as opposed to canceling previous results

First Strategy The predicate First is define as The predicate First is define as First(S, ρ, T, α, (i, j, Θ) First(S, ρ, T, α, (i, j, Θ) S is a signature S is a signature ρ is an equivalence relation between instances of S ρ is an equivalence relation between instances of S T is a trail T is a trail α is a position in T α is a position in T (i, j, Θ) is an instance in S (i, j, Θ) is an instance in S Given an instance I = (Θ, i, j) with α ≤ I, this predicate holds iff, among all instances equivalent to I according to ρ that start after α, I is the one that starts first and ends first Given an instance I = (Θ, i, j) with α ≤ I, this predicate holds iff, among all instances equivalent to I according to ρ that start after α, I is the one that starts first and ends first

First Algorithm Implements the First strategy Implements the First strategy Described with a formalism called parsing schemata Described with a formalism called parsing schemata Specifies algorithms using a set of deduction rules Specifies algorithms using a set of deduction rules Gives a formal framework to describe and prove properties Gives a formal framework to describe and prove properties Modular description (i.e. one does need to know the whole specification to understand how a particular construct is searched for in the language) Modular description (i.e. one does need to know the whole specification to understand how a particular construct is searched for in the language)

Parsing Schemata Parsing algorithm is described as set of deduction steps Parsing algorithm is described as set of deduction steps Hypothesis and conclusion of these steps are called parsing items Hypothesis and conclusion of these steps are called parsing items Parsing items are partial or complete parsing trees Parsing items are partial or complete parsing trees Deduction starts with an item representing an empty parsing tree Deduction starts with an item representing an empty parsing tree Deduction ends when an item representing a complete parsing tree of the axiom grammar is produced Deduction ends when an item representing a complete parsing tree of the axiom grammar is produced

Parsing Schemata (Defining the Domain of Items) Uses the form: Uses the form: [i, α●β, j]Θ [i, α●β, j]Θ (i, j) are positions in the trail (i, j) are positions in the trail α●β is the right hand side of a grammar production where a● has been inserted α●β is the right hand side of a grammar production where a● has been inserted Θ is a signature constraint Θ is a signature constraint

Description of First Algorithm Assumptions on specifications: Assumptions on specifications: Signatures that use the [] notation have to be expanded Signatures that use the [] notation have to be expanded Non-terminal elements can be used only once in all grammar rules Non-terminal elements can be used only once in all grammar rules All filters must be labeled with the equivalence relation associated to the signature (Ex. Filter ρ (F) where ρ is an equivalence relation) All filters must be labeled with the equivalence relation associated to the signature (Ex. Filter ρ (F) where ρ is an equivalence relation)

Operators (Propag) Propag operator unifies the variables in the signature constraint with the values of an event (Definition 8) Propag operator unifies the variables in the signature constraint with the values of an event (Definition 8) Denoted as Propag(E, F, Θ) Denoted as Propag(E, F, Θ) E is an event E is an event F is a filter F is a filter Θ is a signature constraint Θ is a signature constraint This constraint is obtained by: This constraint is obtained by: Copying F in to F’ and removing all constraints with no variable in F’ Copying F in to F’ and removing all constraints with no variable in F’ Substituting all field names if F’ according to E Substituting all field names if F’ according to E Making the union of F’ and Θ Making the union of F’ and Θ

Operators (Restrict) The Restrict operator creates a new constraint which causes some paths in the search to be pruned (Definition 9) The Restrict operator creates a new constraint which causes some paths in the search to be pruned (Definition 9) Denoted as Restrict(ρ, Θ) Denoted as Restrict(ρ, Θ) Θ is a valuation of a given signature S Θ is a valuation of a given signature S Ρ is an equivalence relation Ρ is an equivalence relation Defined as: Defined as:

Operators (Constraint Comparison) ≥s compares signature constraints ≥s compares signature constraints Given a signature S and two signature constraints Θ 1 and Θ 2 Given a signature S and two signature constraints Θ 1 and Θ 2 Θ 1 ≥s Θ 2 iff the set of possible values for each element of Var(S) described by Θ 1 includes the one described by Θ 2 Θ 1 ≥s Θ 2 iff the set of possible values for each element of Var(S) described by Θ 1 includes the one described by Θ 2

Deduction Rules for Filters Rule Filter 1 specifies that if event T[i] cannot be used to match the filter, then the algorithm goes one step forward in the trail Rule Filter 1 specifies that if event T[i] cannot be used to match the filter, then the algorithm goes one step forward in the trail Rule Filter 2 handles the other case. The first item memorizes an instance of F is found in position i. Propag takes in to account that some variables can be instantiated here. The second item starts the search for a new instance of F in the remaining part of trail. Can be more constrained than the one that produced this item according to the result provided by Restrict. Rule Filter 2 handles the other case. The first item memorizes an instance of F is found in position i. Propag takes in to account that some variables can be instantiated here. The second item starts the search for a new instance of F in the remaining part of trail. Can be more constrained than the one that produced this item according to the result provided by Restrict.

Deduction Rules for Sequence Rule Seq 1 starts the search for the first part of the sequence Rule Seq 1 starts the search for the first part of the sequence Rule Seq 2 shows that once an instance of the first part is found, that item is replaced to find the next item. The second item added starts the search for B Rule Seq 2 shows that once an instance of the first part is found, that item is replaced to find the next item. The second item added starts the search for B

Deduction Rules for Sequence Rule Seq 3 triggers once B is found Rule Seq 3 triggers once B is found Checks that B is found after A (j ≤ k) Checks that B is found after A (j ≤ k) The constraint of the second part must refine the constraint of the first part The constraint of the second part must refine the constraint of the first part Does not remove first item, because it may be needed later Does not remove first item, because it may be needed later Second item added showing that it found an instance of Seq(AB) Second item added showing that it found an instance of Seq(AB)

Deduction Rules for Conjunction Rule And 1 starts the search of both parts of the conjunction Rule And 1 starts the search of both parts of the conjunction Rule And 2 states that when two parts of a conjunction are found, if their respective constraints are compatible, then a new item is created to notify that an instance of the conjunction is found Rule And 2 states that when two parts of a conjunction are found, if their respective constraints are compatible, then a new item is created to notify that an instance of the conjunction is found

Conclusion Described how to specify signatures with sequences and conjunctions of events correlated with logical variables Described how to specify signatures with sequences and conjunctions of events correlated with logical variables Presented a declarative semantics to these signatures Presented a declarative semantics to these signatures Introduced signature instance classes based on the valuation of variables of interest Introduced signature instance classes based on the valuation of variables of interest Given a formal description of a detection algorithm Given a formal description of a detection algorithm Parsing schemata makes it easy to understand and reason about while essential features are made explicit Parsing schemata makes it easy to understand and reason about while essential features are made explicit