author : s. kumar, b. chandrasekaran, j. turner, and g. varghese publisher : ancs 07 presenter :...

26
Author : S. Kumar, B. Chandrasekaran, J. Author : S. Kumar, B. Chandrasekaran, J. Turner, and G. Varghese Turner, and G. Varghese Publisher : ANCS ‘07 Publisher : ANCS ‘07 Presenter : Jo-Ning Yu Presenter : Jo-Ning Yu Date : 2011/04/20 Date : 2011/04/20

Upload: cynthia-lewis

Post on 19-Jan-2018

217 views

Category:

Documents


0 download

DESCRIPTION

  Traditional approach of pattern matching constructs an automaton for the entire regular expression (reg-ex) signature.  However, in NIDS applications, normal flows rarely match more than first few symbols of any signature.  The traditional approach appears wasteful.  The traditional approach is unable to perform such selective sleeping and keeps the automaton awake for the entire signature, we call this deficiency insomnia. Curing DFA from Insomnia 3

TRANSCRIPT

Page 1: Author : S. Kumar, B. Chandrasekaran, J. Turner, and G. Varghese Publisher : ANCS 07 Presenter : Jo-Ning Yu Date : 2011/04/20

Author : S. Kumar, B. Chandrasekaran, J. Turner, Author : S. Kumar, B. Chandrasekaran, J. Turner, and G. Vargheseand G. Varghese

Publisher : ANCS ‘07Publisher : ANCS ‘07Presenter : Jo-Ning YuPresenter : Jo-Ning YuDate : 2011/04/20Date : 2011/04/20

Page 2: Author : S. Kumar, B. Chandrasekaran, J. Turner, and G. Varghese Publisher : ANCS 07 Presenter : Jo-Ning Yu Date : 2011/04/20

Curing DFA from Insomnia

H-FA: Curing DFAs from Amnesia

H-cFA: Curing DFAs from Acalculia

Experimental Evaluation

2

Outline

Page 3: Author : S. Kumar, B. Chandrasekaran, J. Turner, and G. Varghese Publisher : ANCS 07 Presenter : Jo-Ning Yu Date : 2011/04/20

Traditional approach of pattern matching constructs

an automaton for the entire regular expression (reg-ex) signature.

However, in NIDS applications, normal flows rarely match more than first few symbols of any signature.

The traditional approach appears wasteful.

The traditional approach is unable to perform such selective sleeping and keeps the automaton awake for the entire signature, we call this deficiency insomnia.

Curing DFA from Insomnia

3

Page 4: Author : S. Kumar, B. Chandrasekaran, J. Turner, and G. Varghese Publisher : ANCS 07 Presenter : Jo-Ning Yu Date : 2011/04/20

An obvious cure to insomnia will essentially require an isolation of the frequently visited portions of the signatures from the infrequent ones.

Fortunately, practical signatures can be cleanly split into simple prefixes and suffixes, such that the prefixes comprise of the entire frequently visited portions of the signature.

Therefore, only the automaton representing the prefixes need to remain active at all times; thereby, curing the traditional approach from insomnia by keeping the suffix automaton in a sleep state most of the times.

4Curing DFA from

Insomnia

Page 5: Author : S. Kumar, B. Chandrasekaran, J. Turner, and G. Varghese Publisher : ANCS 07 Presenter : Jo-Ning Yu Date : 2011/04/20

We refer to the automaton which represents the

prefixes as the fast path(construct by DFA) and the remaining as the slow path(construct by NFA).

5Curing DFA from

Insomnia

Page 6: Author : S. Kumar, B. Chandrasekaran, J. Turner, and G. Varghese Publisher : ANCS 07 Presenter : Jo-Ning Yu Date : 2011/04/20

Let ps : Q → [0, 1] denote the probability with which

the NFA states are active.

Initially, we keep all states in the slow region; thus the slow path probability p is Σ ps .

Afterwards, we begin moving states from the slow region to the fast region.

Splitting the reg-ex6

Page 7: Author : S. Kumar, B. Chandrasekaran, J. Turner, and G. Varghese Publisher : ANCS 07 Presenter : Jo-Ning Yu Date : 2011/04/20

The movements are performed in a breadth first order beginning at the start state of the NFA, and those states are moved first, whose probabilities of being active are higher.

After a state s is moved to the fast region, ps[s] is reduced from the slow path probability p.

We continue these movements, until the slow path probability, p becomes smaller than ε, the slow processing capacity threshold.

7

Splitting the reg-ex

Page 8: Author : S. Kumar, B. Chandrasekaran, J. Turner, and G. Varghese Publisher : ANCS 07 Presenter : Jo-Ning Yu Date : 2011/04/20

The fast path parses every byte of each flow and

matches them against the prefixes of all reg-exes. → construct a single composite DFA of all prefixes.

The slow path parses only those flows which have found a match in the fast path, and matches them only against the corresponding suffixes.→ NFA may suffice to represent the slow path.

The bifurcated pattern matching

8

Page 9: Author : S. Kumar, B. Chandrasekaran, J. Turner, and G. Varghese Publisher : ANCS 07 Presenter : Jo-Ning Yu Date : 2011/04/20

The bifurcated pattern matching

9

store the “per flow parse state”

C : flow numberstatef : the bits needed to represent a DFA state

Page 10: Author : S. Kumar, B. Chandrasekaran, J. Turner, and G. Varghese Publisher : ANCS 07 Presenter : Jo-Ning Yu Date : 2011/04/20

Problem Slow path can be triggered multiple times for the

same flow, thus there can be multiple instances of per flow active parse states.

Ex: an expression “ababcda”prefix : ab ; suffix : abcdapacket payload : xyababcdpq

The slow path will be triggered twice by this packet, and there will be two instances of active parse states in the slow path.

The bifurcated pattern matching

10

Page 11: Author : S. Kumar, B. Chandrasekaran, J. Turner, and G. Varghese Publisher : ANCS 07 Presenter : Jo-Ning Yu Date : 2011/04/20

Upon first trigger, it will parse the payload

”xyababcdpq” and stop after it sees p. Upon second trigger, it will parse the payload

”xyababcdpq”, thus repeating the previous parse.

Due to these complications, we propose a packetized version of bifurcated packet processing architecture.

11The bifurcated pattern

matching

Page 12: Author : S. Kumar, B. Chandrasekaran, J. Turner, and G. Varghese Publisher : ANCS 07 Presenter : Jo-Ning Yu Date : 2011/04/20

The objective of the packetized bifurcated packet

processing is to ensure that the fast path triggers the slow path at most once for every packet.

This objective can be satisfied by slightly modifying the slow path automaton, so that it parses the packets against the entire signature, and not just the suffixes.

Packetized bifurcated pattern matching

12

Page 13: Author : S. Kumar, B. Chandrasekaran, J. Turner, and G. Varghese Publisher : ANCS 07 Presenter : Jo-Ning Yu Date : 2011/04/20

Ex: r1 = .*[gh]d[^g]*ge r2 = .*fag[^i]*i[^j]*j r3 = .*a[gh]i[^l]*[ae]c ε = 0.05 p1 = [gh]d[^g]*; s1 = ge; p2 = f; s2 = ag[^i]*i[^j]*j; p3 = a[gh]; s3 = i[^l]*[ae]c;

13Packetized bifurcated pattern

matching

rule prefix suffixr1= .*[gh]d[^g]*ge

p1 = [gh]d[^g]*g

s1 = e

r2 = .*fag[^i]*i[^j]*j

p2 = fa s2 = g[^i]*i[^j]*j

r3 = .*a[gh]i[^l]*[ae]c

p3 = a[gh]i s3 = [^l]*[ae]c

fast path : Construct a composite DFA

slow path : Construct 3 separateDFAs

Page 14: Author : S. Kumar, B. Chandrasekaran, J. Turner, and G. Varghese Publisher : ANCS 07 Presenter : Jo-Ning Yu Date : 2011/04/20

14

we begin its parsing at the state (0,1,3), which indicates that the prefix p1([gh]d[^g]*g) has just been detected.

Packetized bifurcated pattern matching

Page 15: Author : S. Kumar, B. Chandrasekaran, J. Turner, and G. Varghese Publisher : ANCS 07 Presenter : Jo-Ning Yu Date : 2011/04/20

If this final DFA state comprises any of the states of the slow path NFA, then the implication is that the slow path processing will continue; else the slow path will be put to sleep.

Ex: the parsing of a packet payload ”gdgdgh” The fast path state traversal is illustrated below :

Stop at the DFA state (0, 1). → Slow path automaton will be put to sleep.

15Packetized bifurcated pattern

matching

Page 16: Author : S. Kumar, B. Chandrasekaran, J. Turner, and G. Varghese Publisher : ANCS 07 Presenter : Jo-Ning Yu Date : 2011/04/20

The byte based pattern matcher will halt the

slow path as soon as the next input character leads to a suffix mismatch.

The packetized pattern matcher will retain the slow path active till the last byte of the packet is parsed.

The packetized architecture maintains the triggering probability at a much lower value.

16byte based vs.

packetized

Page 17: Author : S. Kumar, B. Chandrasekaran, J. Turner, and G. Varghese Publisher : ANCS 07 Presenter : Jo-Ning Yu Date : 2011/04/20

17byte based vs.

packetized

Page 18: Author : S. Kumar, B. Chandrasekaran, J. Turner, and G. Varghese Publisher : ANCS 07 Presenter : Jo-Ning Yu Date : 2011/04/20

DFA state explosion occurs primarily due the

incompetence of the DFA to follow multiple partial matches with a single state of execution.

One way to enable single execution state and yet avoid state explosion is to equip the machine with a small and fast cache, to register key events during the parse, such as encountering a closure.

the parsing get stuck at a single or multiple closures; thus if the history buffer will register these events then one may avoid several states.

→History based Finite Automaton (H-FA)

H-FA: Curing DFAs from Amnesia

18

Page 19: Author : S. Kumar, B. Chandrasekaran, J. Turner, and G. Varghese Publisher : ANCS 07 Presenter : Jo-Ning Yu Date : 2011/04/20

Ex : r1 = .*ab[^a]*c; r2 = .*def;

19H-FA: Curing DFAs from

Amnesia

NFA DFA

H-FA

(0)c d a b c ↑reset flag

↑set flag

Payload = “cdabc”→ (0)

→ (0,4)

→ (0,1)

→ (0)

→ (0,3)

Page 20: Author : S. Kumar, B. Chandrasekaran, J. Turner, and G. Varghese Publisher : ANCS 07 Presenter : Jo-Ning Yu Date : 2011/04/20

|s : The transition is taken when flag for the state s is set. +s : When this transition is taken, the flag for s is set. −s : When this transition is taken, the flag for s is reset.

20

Formal Description of H-FA

original DFA

Page 21: Author : S. Kumar, B. Chandrasekaran, J. Turner, and G. Varghese Publisher : ANCS 07 Presenter : Jo-Ning Yu Date : 2011/04/20

Rule1 : outgoing transitions of the fading state (0,2) now originates from the state (0) and has the associated condition that the flag is set (|2).

Rule2 : those transitions which led to a non-fading state resets the flag (-2).

Rule3 : incoming transitions into state (0,2) originating from a non-fading state now has an action to set the flag (+2).

21Formal Description of H-FA

original DFA

Page 22: Author : S. Kumar, B. Chandrasekaran, J. Turner, and G. Varghese Publisher : ANCS 07 Presenter : Jo-Ning Yu Date : 2011/04/20

The blowup in the number of states in the

presence of the length restriction occurs due to acalculia or the inability of the DFA to keep track of the length restriction.

History based counting finite Automata (H-cFA)

H-cFA: Curing DFAs from Acalculia

22

Page 23: Author : S. Kumar, B. Chandrasekaran, J. Turner, and G. Varghese Publisher : ANCS 07 Presenter : Jo-Ning Yu Date : 2011/04/20

Construct The first step replaces the length restriction with

a closure, and constructs the H-FA. Second, every flag in the history buffer, a

counter is appended.

The counter is set to the length restriction value by those conditional transitions which set the flag, while it is reset by those transitions which reset the flag.

23H-cFA: Curing DFAs from

Acalculia

Page 24: Author : S. Kumar, B. Chandrasekaran, J. Turner, and G. Varghese Publisher : ANCS 07 Presenter : Jo-Ning Yu Date : 2011/04/20

→ (0,6)

→ (0,5)

→ (0,4)

→ (0)

→ (0,1)

Ex : r1 = .*ab[^a]4c;r2 = .*def;

24

H-cFA

(0)a b d e f

↑ ctr <= 3

↑ ctr <= 2

Payload = “abdefdc” →

(0,4)→ (0,3)cd

↑flag <= 1ctr <= 4

↑ ctr <= 1

↑ ctr <= 0

↑ flag <= 0

↑initialize

H-cFA: Curing DFAs from Acalculia

* A DFA will require 20 states.

Page 25: Author : S. Kumar, B. Chandrasekaran, J. Turner, and G. Varghese Publisher : ANCS 07 Presenter : Jo-Ning Yu Date : 2011/04/20

sets the slow path packet diversion probability

at 1%

Experimental Evaluation

25

Page 26: Author : S. Kumar, B. Chandrasekaran, J. Turner, and G. Varghese Publisher : ANCS 07 Presenter : Jo-Ning Yu Date : 2011/04/20

Experimental Evaluation

26