Intrusion Detection Alert Flow Processing Using Time ... · Context(1): intrusion detection and...

61
Intrusion Detection Alert Flow Processing Using Time Series Analysis Methods Jouni Viinikka [email protected] France Telecom / Sup ´ elec SSIR 2006-12-24 S ´ em. Diwall / ENST-Bretagne

Transcript of Intrusion Detection Alert Flow Processing Using Time ... · Context(1): intrusion detection and...

Page 1: Intrusion Detection Alert Flow Processing Using Time ... · Context(1): intrusion detection and alert processing • Processing a subset of alerts generated by Snort sensor-network-based-knowledge-based,

Intrusion Detection Alert Flow Processing Using TimeSeries Analysis Methods

Jouni Viinikka

[email protected]

France Telecom / Supelec SSIR

2006-12-24

Sem. Diwall / ENST-Bretagne

Page 2: Intrusion Detection Alert Flow Processing Using Time ... · Context(1): intrusion detection and alert processing • Processing a subset of alerts generated by Snort sensor-network-based-knowledge-based,

Context(1): intrusion detection and alert processing

• Processing a subset of alerts generated by Snort sensor

- network-based

- knowledge-based, signatures

• Operational environment, little choice over anything, notably

- sensor type

- sensor placement

- sensor configuration and signatures

• Alert flood a known problem

- In 1999 Manganaris et al. reported thousands of alerts per day per sensor, mostly

false positives [MCZH99]

- Julisch reported similar observations in 2001, 2002 and

2003 [Jul01, JD02, Jul03b, Jul03a]

2/47

Page 3: Intrusion Detection Alert Flow Processing Using Time ... · Context(1): intrusion detection and alert processing • Processing a subset of alerts generated by Snort sensor-network-based-knowledge-based,

Context(2): some reasons to the alert flood

• Sensor limitations

• Insufficient sensor configuration

• Increase in complementary use of sensor data

3/47

Page 4: Intrusion Detection Alert Flow Processing Using Time ... · Context(1): intrusion detection and alert processing • Processing a subset of alerts generated by Snort sensor-network-based-knowledge-based,

Flood causes(1): sensor limitations

• Unawareness of the operating environment irrelevant positives

• Detection method limitations false positives

• Mono-event analysis

- the definition depends of the level of analysis

- e.g. network packets vs. web server logs

- limitations can be stretched

- e.g. Snort tags and flowbits allow stateful detection

- this remains modest

• Performance constraints limit algorithm complexity

4/47

Page 5: Intrusion Detection Alert Flow Processing Using Time ... · Context(1): intrusion detection and alert processing • Processing a subset of alerts generated by Snort sensor-network-based-knowledge-based,

Flood causes(2): insufficient sensor configuration

• Configuration increases awareness of the operating environment

- can be difficult for technical and organizational reasons

- dynamic environments

- organizational and technical boundaries may not correpond

- restricting analysis to packets from exterior to interior makes the sensor blind to

internal activity, and attacks originating from internal networks

5/47

Page 6: Intrusion Detection Alert Flow Processing Using Time ... · Context(1): intrusion detection and alert processing • Processing a subset of alerts generated by Snort sensor-network-based-knowledge-based,

Flood causes(3): complementary uses

• Increase in complementary use of sensor data

- monitoring normal system use and its functioning

- SNMP, ICMP

- performance measurement tools

- less critical aspects of system policies

- instant messaging

6/47

Page 7: Intrusion Detection Alert Flow Processing Using Time ... · Context(1): intrusion detection and alert processing • Processing a subset of alerts generated by Snort sensor-network-based-knowledge-based,

No good, operational solutions to alert flood

• Existing operational solutions are too simple

- deactivate signatures

- suppression of alerts related to certain hosts / networks

- fixed thresholds

• Very limited

- all or nothing at signature, network or host level, or

- linear attenuation of volume

7/47

Page 8: Intrusion Detection Alert Flow Processing Using Time ... · Context(1): intrusion detection and alert processing • Processing a subset of alerts generated by Snort sensor-network-based-knowledge-based,

Proposed solutions for high priority and false alerts

• More sophisticated solutions proposed by researchers

- sensor improvements

- alert correlation (scenario recognition, verification, root cause analysis, . . . )

• Eliminate/group/change alert priority Rough generalization

- single alert’s attributes

- single alert’s attributes + system configuration information

- identified attack / false positive scenario

• No approaches for low severity true positives

8/47

Page 9: Intrusion Detection Alert Flow Processing Using Time ... · Context(1): intrusion detection and alert processing • Processing a subset of alerts generated by Snort sensor-network-based-knowledge-based,

Terminology(1) - alert flow analysis

• An alert flow is the sequence of alerts meeting the aggregation criteria

• The aggregation criteria are the alert attribute(s) according to whose values a group

of alerts can be formed.

• The alert intensity is the number of alerts in the alert flow during a sampling interval .

• The term sampling is used

- in the signal processing sense: measurements taken at discrete intervals

- not in the statistical sense: e.g. using 1 random packet out of sequence of n

packets (netflow)

t

sensor

network traffic

alerts

alert flow

alert flow

alert flow

aggr.crit. alert intensity

flow intensity

count

9/47

Page 10: Intrusion Detection Alert Flow Processing Using Time ... · Context(1): intrusion detection and alert processing • Processing a subset of alerts generated by Snort sensor-network-based-knowledge-based,

Terminology(2) - alert flow analysis

• Let yt be the observed alert intensity at discrete time instant t. The flow intensity is

the series of alert intensity observations {yt} for t = 0, 1, 2, . . ..

• The flow behavior is the evolution of flow intensity as a function of time.

t

sensor

network traffic

alerts

alert flow

alert flow

alert flow

aggr.crit. alert intensity

flow intensity

count

10/47

Page 11: Intrusion Detection Alert Flow Processing Using Time ... · Context(1): intrusion detection and alert processing • Processing a subset of alerts generated by Snort sensor-network-based-knowledge-based,

Terminology(3) - alert types

• True positive: correctly issued alert

- with respect to alert description

• False positive: incorrectly issued alert

- with respect to alert description

• Low impact positive: true positive our target

- generally low severity

- individually irrelevant

- does not need immediate action from the operator

11/47

Page 12: Intrusion Detection Alert Flow Processing Using Time ... · Context(1): intrusion detection and alert processing • Processing a subset of alerts generated by Snort sensor-network-based-knowledge-based,

The four arguments of our thesis statement

1. Analysis of voluminous alert flows allows us to extract useful information when the

significance of individual alerts cannot be determined.

2. It is possible that voluminous alert flows contain significant regularities related to the

normal use of the system and its functioning.

3. It is desirable and possible to model these regularities.

4. These modeling techniques can be used to automatically

(a) filter out the alerts related to normal flow behavior, and

(b) highlight potentially interesting phenomena.

12/47

Page 13: Intrusion Detection Alert Flow Processing Using Time ... · Context(1): intrusion detection and alert processing • Processing a subset of alerts generated by Snort sensor-network-based-knowledge-based,

We address the first two arguments via real data

1. Context: intrusion detection and alert flood where

2. Thesis statement what

3. Data: collection, characteristics ⇒ objective of modeling why

• collection: sites, sensors, signatures, storage

• characteristics: low priority alerts, regular flows

• two examples

• objective of modeling and accompanying hypothesis

4. Three approaches to modeling normal behavior how

5. Results and comparison of the three approaches

6. Conclusion and future work

13/47

Page 14: Intrusion Detection Alert Flow Processing Using Time ... · Context(1): intrusion detection and alert processing • Processing a subset of alerts generated by Snort sensor-network-based-knowledge-based,

Data collection

• Real environments

• Two production sites, A and B

- Detailed in next two slides

• Three datasets

- site A: set-1 and set-2

- site B: set-3

• Snort sensors already in place

- Default signatures

- Few additional rules: hand-crafted, bleeding-snort

• Alerts logged into a database

• Analyzed post-mortem

14/47

Page 15: Intrusion Detection Alert Flow Processing Using Time ... · Context(1): intrusion detection and alert processing • Processing a subset of alerts generated by Snort sensor-network-based-knowledge-based,

Site A

Hosted applicationsDNS Sensor 3

FW

FW

FW

Site 2

Site 1

Sensor 1

Sensor 2

Internet

Mail

Hosted servers

DMZ

100 Mbit/s

• A production site without office workers

• Hosting services15/47

Page 16: Intrusion Detection Alert Flow Processing Using Time ... · Context(1): intrusion detection and alert processing • Processing a subset of alerts generated by Snort sensor-network-based-knowledge-based,

Site B

Site 3

FWFW

Computing center

Otherdivisions

Web services

BackupNetwork disks

Sensor

Site 2

Site 1Internet

20 Mbit/s

1 Gbit/s

• Office workers, some servers

• Services in computing center mostly used by site 2

16/47

Page 17: Intrusion Detection Alert Flow Processing Using Time ... · Context(1): intrusion detection and alert processing • Processing a subset of alerts generated by Snort sensor-network-based-knowledge-based,

Alert data analysis to address arguments 1 and 2

1. Analysis of voluminous alert flows allows us to extract useful information when the

significance of individual alerts cannot be determined.

2. It is possible that volminous alert flows contain significant regularities related to the

normal use of the system and its functioning.

3. It is desirable and possible to model these regularities.

4. These modeling techniques can be used to automatically

(a) filter out the alerts related to normal flow behavior, and

(b) highlight potentially interesting phenomena.

17/47

Page 18: Intrusion Detection Alert Flow Processing Using Time ... · Context(1): intrusion detection and alert processing • Processing a subset of alerts generated by Snort sensor-network-based-knowledge-based,

Flow characteristics after the analysis of the three sets

• Low impact alerts , triggering on

- normal use of a system and its functioning

- control and management traffic

- applications whose use is tolerated/accepted

- repetitive malicious phenomena

- (possibly) back-scatter caused by (D)DoS attacks

• Often impossible to determine significance of individual alert

18/47

Page 19: Intrusion Detection Alert Flow Processing Using Time ... · Context(1): intrusion detection and alert processing • Processing a subset of alerts generated by Snort sensor-network-based-knowledge-based,

68% of the alerts in the set-1 are low impact

• Five most prolific signatures

• Total of 578 301 alerts over 43 days

Signature # of alerts

SNMP Request udp 176 009ICMP PING WhatsupGold Windows 72 427ICMP Destination Unreachable (Comm Adm Proh) 57 420LOCAL-POLICY External connexion from HTTP server 51 674ICMP PING Speedera 32 961

390 491

19/47

Page 20: Intrusion Detection Alert Flow Processing Using Time ... · Context(1): intrusion detection and alert processing • Processing a subset of alerts generated by Snort sensor-network-based-knowledge-based,

Monitoring a performance measurement tool

0

20

40

60

80

100

120

140

3 10 17 24 31 38

aler

ts /

h

time / d

speedera

• Site A, ICMP PING speedera, alerts/hour, 32 961 in total

• Strong regularities20/47

Page 21: Intrusion Detection Alert Flow Processing Using Time ... · Context(1): intrusion detection and alert processing • Processing a subset of alerts generated by Snort sensor-network-based-knowledge-based,

Monitoring a performance measurement tool

0

20

40

60

80

100

120

140

3 10 17 24 31 38

aler

ts /

h

time / d

speedera

• Site A, ICMP PING speedera, alerts/hour, 32 961 in total

• Strong regularities20/47

Page 22: Intrusion Detection Alert Flow Processing Using Time ... · Context(1): intrusion detection and alert processing • Processing a subset of alerts generated by Snort sensor-network-based-knowledge-based,

Monitoring a performance measurement tool

0

20

40

60

80

100

120

140

3 10 17 24 31 38

aler

ts /

h

time / d

speedera

weweek

• Site A, ICMP PING speedera, alerts/hour, 32 961 in total

• Strong regularities20/47

Page 23: Intrusion Detection Alert Flow Processing Using Time ... · Context(1): intrusion detection and alert processing • Processing a subset of alerts generated by Snort sensor-network-based-knowledge-based,

Monitoring a performance measurement tool

0

20

40

60

80

100

120

140

3 10 17 24 31 38

aler

ts /

h

time / d

speedera

• Site A, ICMP PING speedera, alerts/hour, 32 961 in total

• Strong regularities , and potentially interesting anomalies20/47

Page 24: Intrusion Detection Alert Flow Processing Using Time ... · Context(1): intrusion detection and alert processing • Processing a subset of alerts generated by Snort sensor-network-based-knowledge-based,

Monitoring a performance measurement tool

0

20

40

60

80

100

120

140

3 10 17 24 31 38

aler

ts /

h

time / d

speedera

• Site A, ICMP PING speedera, alerts/hour, 32 961 in total

• Strong regularities , and potentially interesting anomalies20/47

Page 25: Intrusion Detection Alert Flow Processing Using Time ... · Context(1): intrusion detection and alert processing • Processing a subset of alerts generated by Snort sensor-network-based-knowledge-based,

Monitoring a compromised host

Hosted applicationsDNS Sensor 3

FW

FW

FW

Site 2

Site 1

Sensor 1

Sensor 2

Internet

Mail

Hosted servers

DMZ

100 Mbit/s

• Hosted machine in the DMZ, no administrative access, must keep connected

• DDoS attack tool installed after a compromise21/47

Page 26: Intrusion Detection Alert Flow Processing Using Time ... · Context(1): intrusion detection and alert processing • Processing a subset of alerts generated by Snort sensor-network-based-knowledge-based,

Monitoring a compromised host

Hosted applicationsDNS Sensor 3

FW

FW

FW

Site 2

Site 1

Sensor 1

Sensor 2

Internet

Mail

Hosted servers

DMZ

100 Mbit/s

• Hosted machine in the DMZ, no administrative access, must keep connected

• DDoS attack tool installed after a compromise21/47

Page 27: Intrusion Detection Alert Flow Processing Using Time ... · Context(1): intrusion detection and alert processing • Processing a subset of alerts generated by Snort sensor-network-based-knowledge-based,

Monitoring a compromised host

420

440

460

480

500

520

540

560

580

7 14 21 28 35 42

aler

ts/h

time/d

stacheldraht

• Site A, DDoS Stacheldraht agent− >handler (skillz)

• After initial identification, following alerts are low impact alerts

• Strong regularities22/47

Page 28: Intrusion Detection Alert Flow Processing Using Time ... · Context(1): intrusion detection and alert processing • Processing a subset of alerts generated by Snort sensor-network-based-knowledge-based,

Monitoring a compromised host

420

440

460

480

500

520

540

560

580

7 14 21 28 35 42

aler

ts/h

time/d

stacheldraht

• Site A, DDoS Stacheldraht agent− >handler (skillz)

• After initial identification, following alerts are low impact alerts

• Strong regularities22/47

Page 29: Intrusion Detection Alert Flow Processing Using Time ... · Context(1): intrusion detection and alert processing • Processing a subset of alerts generated by Snort sensor-network-based-knowledge-based,

Monitoring a compromised host

420

440

460

480

500

520

540

560

580

7 14 21 28 35 42

aler

ts/h

time/d

stacheldraht

• Site A, DDoS Stacheldraht agent− >handler (skillz)

• After initial identification, following alerts are low impact alerts

• Strong regularities and some potentially interesting anomalies22/47

Page 30: Intrusion Detection Alert Flow Processing Using Time ... · Context(1): intrusion detection and alert processing • Processing a subset of alerts generated by Snort sensor-network-based-knowledge-based,

Monitoring a compromised host

420

440

460

480

500

520

540

560

580

7 14 21 28 35 42

aler

ts/h

time/d

stacheldraht

• Site A, DDoS Stacheldraht agent− >handler (skillz)

• After initial identification, following alerts are low impact alerts

• Strong regularities and some potentially interesting anomalies22/47

Page 31: Intrusion Detection Alert Flow Processing Using Time ... · Context(1): intrusion detection and alert processing • Processing a subset of alerts generated by Snort sensor-network-based-knowledge-based,

Data analysis: conclusion

• For various reasons, normal system use and behavior trigger low priority alerts

- sensor limitations

- detection method limitations

- sensor usages

• Because of the nature of the alerts

- their volume can be large

- individual alerts are irrelevant

- flows can contain phenomena worth further investigation

• Irrelevant alerts need to be filtered out

- related work in alert correlation addresses either false alerts or high priority alerts

- need filtering methods which take into account the flow behavior

23/47

Page 32: Intrusion Detection Alert Flow Processing Using Time ... · Context(1): intrusion detection and alert processing • Processing a subset of alerts generated by Snort sensor-network-based-knowledge-based,

Filtering irrelevant alerts by using time series modeling

• Assumption : In low impact alert flows

1. regular behavior is related to the normal use of the system, or

2. only changes in any regular behavior are interesting

• Model such regularities, then use the model as a filter

a) Free time for other tasks

b) Highlight irregularities for the operator

0

20

40

60

80

100

120

140

3 10 17 24 31 38

aler

ts /

h

time / d

speedera

24/47

Page 33: Intrusion Detection Alert Flow Processing Using Time ... · Context(1): intrusion detection and alert processing • Processing a subset of alerts generated by Snort sensor-network-based-knowledge-based,

Filtering irrelevant alerts by using time series modeling

• Assumption : In low impact alert flows

1. regular behavior is related to the normal use of the system, or

2. only changes in any regular behavior are interesting

• Model such regularities, then use the model as a filter

a) Free time for other tasks

b) Highlight irregularities for the operator

0

20

40

60

80

100

120

140

3 10 17 24 31 38

aler

ts /

h

time / d

speedera

0

20

40

60

80

100

120

140

3 10 17 24 31 38

aler

ts /

h

time / d

speedera

24/47

Page 34: Intrusion Detection Alert Flow Processing Using Time ... · Context(1): intrusion detection and alert processing • Processing a subset of alerts generated by Snort sensor-network-based-knowledge-based,

Modeling and filtering: how ?

1. Context: intrusion detection and alert flood where

2. Thesis statement what

3. Data: collection, characteristics ⇒ objective of modeling why

4. Three approaches to modeling normal behavior how

• exponentially weighted moving averages (EWMA)

• stationary autoregressive (AR) models

• non-stationary AR models

5. Results and comparison of the three approaches

6. Conclusion and future work

25/47

Page 35: Intrusion Detection Alert Flow Processing Using Time ... · Context(1): intrusion detection and alert processing • Processing a subset of alerts generated by Snort sensor-network-based-knowledge-based,

The modeling and experimentations to address 3 and 4

1. Analysis of voluminous alert flows allows us to extract useful information when the

significance of individual alerts cannot be determined.

2. It is possible that voluminous alert flows contain significant regularities related to the

normal use of the system and its functioning.

3. It is desirable and possible to model these regularities.

4. These modeling techniques can be used to automatically

(a) filter out the alerts related to normal flow behavior, and

(b) highlight potentially interesting phenomena.

26/47

Page 36: Intrusion Detection Alert Flow Processing Using Time ... · Context(1): intrusion detection and alert processing • Processing a subset of alerts generated by Snort sensor-network-based-knowledge-based,

Residual series contains anomalies

• Observed Intensity - Predicted Intensity = Model Residual

• yt − yt = yt

• Idea:

- model predictions correspond to normal behavior

- residual signal contains anomalous phenomena

• Idea and model not perfect

- signal only most significant residual values to the operator

27/47

Page 37: Intrusion Detection Alert Flow Processing Using Time ... · Context(1): intrusion detection and alert processing • Processing a subset of alerts generated by Snort sensor-network-based-knowledge-based,

All models use previous observations to predict the current

yt =

p∑

k=1

akt yt−k + et =

[

a1t a2

t . . . ap−1

t apt

]

yt−1

...

yt−p

+ et ,

where yt is the predicted alert intensity at instant t and akt is the kth model coefficient at

instant t

• EWMA

- yt = yt = (1 − λ)yt−1 + λyt , 0 < λ < 1 yt = zt of Chap. 4

- p = ∞ simplifying approximation

• stationary AR: time-invariant coefficients akt = ak Chap. 5

• Non-stationary autoregressive model (NAR) uses time-variant coefficients Chap. 6

28/47

Page 38: Intrusion Detection Alert Flow Processing Using Time ... · Context(1): intrusion detection and alert processing • Processing a subset of alerts generated by Snort sensor-network-based-knowledge-based,

Estimation of the model coefficients

• EWMA: no estimation

-{

ak}

decrease exponentially

- akt = ak = λ (1 − λ)k−1

• Stationary AR: least squares method

- off-line process

- training data

• NAR: Kalman filtering and fixed-lag smoothing algorithms

- real-time data processing algorithms

- model parameters are adapted dynamically

29/47

Page 39: Intrusion Detection Alert Flow Processing Using Time ... · Context(1): intrusion detection and alert processing • Processing a subset of alerts generated by Snort sensor-network-based-knowledge-based,

Non-stationary AR superior to two others

1. Context: intrusion detection and alert flood where

2. Thesis statement what

3. Data: collection, characteristics ⇒ objective of modeling why

4. Three approaches to modeling normal behavior how

5. Results and comparison of the three approaches

6. Conclusion and future work

30/47

Page 40: Intrusion Detection Alert Flow Processing Using Time ... · Context(1): intrusion detection and alert processing • Processing a subset of alerts generated by Snort sensor-network-based-knowledge-based,

The accuracy and consistency of models are different• Exponentially Weighed Moving Average (EWMA)

- the simplest and the lightest

- very limited modeling capacity

- works surprinsingly well in practice for filtering

- with our examples

- performance can vary with the data set

• Stationary autoregressive (AR) model

- sligthly more complex model

- difficult to interpret and inconsistent

- limited applicability

• Non-stationary AR model

- the same AR model

- continuous estimation

- accurate

- consistent and easy to interpret

- less dependent on data set than EWMA

31/47

Page 41: Intrusion Detection Alert Flow Processing Using Time ... · Context(1): intrusion detection and alert processing • Processing a subset of alerts generated by Snort sensor-network-based-knowledge-based,

EWMA works with stable flows

5 10 15 20 25 30 35 40 45460

470

480

490

500

510

520

530

540

550

560

Time (days)

# of

eve

nts

/ s

StacheldrahtEWMA thresholding with 3 standard deviations. Smoothing factor 0.92.

32/47

Page 42: Intrusion Detection Alert Flow Processing Using Time ... · Context(1): intrusion detection and alert processing • Processing a subset of alerts generated by Snort sensor-network-based-knowledge-based,

Stationary AR approach suffers from “flashbacks”

15 20 25 30 35 40 45460

470

480

490

500

510

520

530

540

550

560

time (d)

aler

t int

ensi

ty

Observations and anomalies,∇168

(∇1)

33/47

Page 43: Intrusion Detection Alert Flow Processing Using Time ... · Context(1): intrusion detection and alert processing • Processing a subset of alerts generated by Snort sensor-network-based-knowledge-based,

NAR approach very consistent compared to others

5 10 15 20 25 30 35 40 45 50

440

460

480

500

520

540

560

Observations, 60 minute sampling interval,non−stationary AR(26) with kalman fixed lag smoother (1), 589233 alerts 11 anomalies

time(d)

inte

nsity

34/47

Page 44: Intrusion Detection Alert Flow Processing Using Time ... · Context(1): intrusion detection and alert processing • Processing a subset of alerts generated by Snort sensor-network-based-knowledge-based,

NAR is clearly more accurate model than AR

15 20 25 30 35 40 45−100

−80

−60

−40

−20

0

20

40

60

80

100

time (d)

mod

el e

rror

Residuals, control limits and anomalies, smooth:0.92, threshold:3

5 10 15 20 25 30 35 40 45 50

−1

−0.5

0

0.5

1

Residuals, EWMA (0.92), control limits (3), mean 0.012, std 0.17,sum of squares 36, sum of abs. values 82

time(d)

mod

el e

rror

35/47

Page 45: Intrusion Detection Alert Flow Processing Using Time ... · Context(1): intrusion detection and alert processing • Processing a subset of alerts generated by Snort sensor-network-based-knowledge-based,

The difference becomes from estimation algorithms

• AR model is estimated once

- least squares algorithm

- model coefficients minimize squared error in estimation data

• NAR model coefficients are estimated dynamically

- Kalman filter / smoother algorithms

- adaptive model

- efficient computation

36/47

Page 46: Intrusion Detection Alert Flow Processing Using Time ... · Context(1): intrusion detection and alert processing • Processing a subset of alerts generated by Snort sensor-network-based-knowledge-based,

Classical least squares estimation for AR

• We minimize the sum of squared error ||r2|| over all estimation data of length T

• We note

Yt = Hθ + r

yp+1

...

yT

=

yp . . . y1

......

yT−1 . . . yT−p

a1

...

ak

+

rp+1

...

rT

• ||r2|| minimized with

θLS =(

HT H)

−1HT Yt

37/47

Page 47: Intrusion Detection Alert Flow Processing Using Time ... · Context(1): intrusion detection and alert processing • Processing a subset of alerts generated by Snort sensor-network-based-knowledge-based,

Kalman filter: state space formalism and equations

• Cθ for the covariance matrix of θ

• θt =(

−a1t . . . − a

pt

)Tand Ht = (yt−1 . . . yt−p)

• Using random walk evolution, state and observation equations are

θt+1 = θt + wt

yt = Htθt + et

• Kalman filter equations to update θt with every new yt

Cθt|t−1

= Cθt−1

+ Cwt−1,

Kt = Cθt|t−1

HTt (HtCθt|t−1

HTt + Cet

)−1 ,

ǫt = yt − Htθt−1 ,

θt = θt−1 + Ktǫt ,

Cθt

= (I − KtHt) Cθt|t−1

.

38/47

Page 48: Intrusion Detection Alert Flow Processing Using Time ... · Context(1): intrusion detection and alert processing • Processing a subset of alerts generated by Snort sensor-network-based-knowledge-based,

Kalman filter: state space formalism and equations

• Cθ for the covariance matrix of θ

• θt =(

−a1t . . . − a

pt

)Tand Ht = (yt−1 . . . yt−p)

• Using random walk evolution, state and observation equations are

θt+1 = θt + wt

yt = Htθt + et

• Kalman filter equations to update θt with every new yt

Cθt|t−1

= Cθt−1

+ Cwt−1,

Kt = Cθt|t−1

HTt (HtCθt|t−1

HTt + Cet

)−1 ,

ǫt = yt − Htθt−1 ,

θt = θt−1 + Ktǫt ,

Cθt

= (I − KtHt) Cθt|t−1

.

38/47

Page 49: Intrusion Detection Alert Flow Processing Using Time ... · Context(1): intrusion detection and alert processing • Processing a subset of alerts generated by Snort sensor-network-based-knowledge-based,

Kalman filter: state space formalism and equations

• Cθ for the covariance matrix of θ

• θt =(

−a1t . . . − a

pt

)Tand Ht = (yt−1 . . . yt−p)

• Using random walk evolution, state and observation equations are

θt+1 = θt + wt

yt = Htθt + et

• Kalman filter equations to update θt with every new yt

Cθt|t−1

= Cθt−1

+ Cwt−1,

Kt = Cθt|t−1

HTt (HtCθt|t−1

HTt + Cet

)−1 ,

ǫt = yt − Htθt−1 ,

θt = θt−1 + Ktǫt ,

Cθt

= (I − KtHt) Cθt|t−1

.

38/47

Page 50: Intrusion Detection Alert Flow Processing Using Time ... · Context(1): intrusion detection and alert processing • Processing a subset of alerts generated by Snort sensor-network-based-knowledge-based,

Kalman filter: state space formalism and equations

• Cθ for the covariance matrix of θ

• θt =(

−a1t . . . − a

pt

)Tand Ht = (yt−1 . . . yt−p)

• Using random walk evolution, state and observation equations are

θt+1 = θt + wt

yt = Htθt + et

• Kalman filter equations to update θt with every new yt

Cθt|t−1

= Cθt−1

+ Cwt−1,

Kt = Cθt|t−1

HTt (HtCθt|t−1

HTt + Cet

)−1 ,

ǫt = yt − Htθt−1 ,

θt = θt−1 + Ktǫt ,

Cθt

= (I − KtHt) Cθt|t−1

.

38/47

Page 51: Intrusion Detection Alert Flow Processing Using Time ... · Context(1): intrusion detection and alert processing • Processing a subset of alerts generated by Snort sensor-network-based-knowledge-based,

NAR applied for set-3

Flow Observ`

103´

Alerts`

106´

An Prop`

10−3´

OK

SNMP request 13 3.0 362 28 NOK

SNMP public 13 2.8 16 1.2 OK

L3retriever 13 1.3 39 3.0 OK

(http inspect) 13 0.4 147 11 NOK

DCERPC 1 13 0.4 15 1.2 OK

DCERPC 2 5 0.1 14 2.8 OK

SMB-DS IPC$ 1 13 0.4 24 1.8 OK

SMB-DS IPC$ 2 4 0.2 9 2.3 OK

SMB IPC$ 13 0.3 22 1.7 OK

• 13 000 observations with ts = 1 min ∼ 9 days

• Significant reduction in alerts and intervals reported to the operator

39/47

Page 52: Intrusion Detection Alert Flow Processing Using Time ... · Context(1): intrusion detection and alert processing • Processing a subset of alerts generated by Snort sensor-network-based-knowledge-based,

NAR applied for set-3

Flow Observ`

103´

Alerts`

106´

An Prop`

10−3´

OK

SNMP request 13 3.0 362 28 NOK

SNMP public 13 2.8 16 1.2 OK

L3retriever 13 1.3 39 3.0 OK

(http inspect) 13 0.4 147 11 NOK

DCERPC 1 13 0.4 15 1.2 OK

DCERPC 2 5 0.1 14 2.8 OK

SMB-DS IPC$ 1 13 0.4 24 1.8 OK

SMB-DS IPC$ 2 4 0.2 9 2.3 OK

SMB IPC$ 13 0.3 22 1.7 OK

• 13 000 observations with ts = 1 min ∼ 9 days

• Significant reduction in alerts and intervals reported to the operator

39/47

Page 53: Intrusion Detection Alert Flow Processing Using Time ... · Context(1): intrusion detection and alert processing • Processing a subset of alerts generated by Snort sensor-network-based-knowledge-based,

Use NAR if possible

• Which model to use ?

- NAR whenever computational resources allow

- accurate

- consistent in highlighting rapid changes

- the limitation of AR model protect against risks of dynamic estimation

- EWMA when very efficient computation is required, and flows rather stable

- Both models can be used with one set of parameters

- Tradeoff ease-of-deployment vs. model accuracy

40/47

Page 54: Intrusion Detection Alert Flow Processing Using Time ... · Context(1): intrusion detection and alert processing • Processing a subset of alerts generated by Snort sensor-network-based-knowledge-based,

Revisiting thesis statement

1. Context: intrusion detection and alert flood where

2. Thesis statement what

3. Data: collection, characteristics ⇒ objective of modeling why

4. Three approaches to modeling normal behavior how

5. Results and comparison of the three approaches

6. Conclusion and future work

41/47

Page 55: Intrusion Detection Alert Flow Processing Using Time ... · Context(1): intrusion detection and alert processing • Processing a subset of alerts generated by Snort sensor-network-based-knowledge-based,

Chronological summary(1)

• The problem arose from the real data: a need for flow based processing

• We started as simple as possible: trend modeling with EWMA [VD04]

- despite the model’s limitations, it worked rather well rather often

- implemented as a component of the SIM platform used at France

Telecom [DV05, DV06]

• To address the limitations of EWMA model, stationary AR models were a natural next

step towards more complex models [VDMS06]

- desirable property: uncapable to model abrupt changes

- signal transforms: inconsistent results, difficult to interpret

• Non-stationary AR models allowed us to

- keep the desired properties

- leave the signal transforms behind

- a publication being written

42/47

Page 56: Intrusion Detection Alert Flow Processing Using Time ... · Context(1): intrusion detection and alert processing • Processing a subset of alerts generated by Snort sensor-network-based-knowledge-based,

Chronological summary(2)

• The stationary AR and non-stationary AR approaches are implemented using Matlab

- not at product stage

- specifications could be written based on the results of the thesis

• The product aspect was not included in original plan, but is a positive result

43/47

Page 57: Intrusion Detection Alert Flow Processing Using Time ... · Context(1): intrusion detection and alert processing • Processing a subset of alerts generated by Snort sensor-network-based-knowledge-based,

The four arguments of our thesis statement

1. Analysis of voluminous alert flows allows us to extract useful information when the

significance of individual alerts cannot be determined. Data analysis

2. It is possible that voluminous alert flows contain significant regularities related to the

normal use of the system and its functioning. Data analysis

3. It is desirable and possible to model these regularities. Data analysis, NAR

4. These modeling techniques can be used to automatically

(a) filter out the alerts related to normal flow behavior, and EWMA, NAR

(b) highlight potentially interesting phenomena. EWMA, NAR

44/47

Page 58: Intrusion Detection Alert Flow Processing Using Time ... · Context(1): intrusion detection and alert processing • Processing a subset of alerts generated by Snort sensor-network-based-knowledge-based,

Future work(1)

• Spectral analysis

- The coefficients of NAR model can be used to estimate time-varying power spectral

density

- Regular components could be easier to recognize and isolate from time-frequency

representation

- Abrupt changes should be visible throughout the spectrum

• 3-scale vs. multi-scale analysis

- The sampling interval defines the time frequency resolution, three different sampling

intervals allow to widen the resolution slightly

- Multi-scale analysis such as wavelet analysis is more complete

- What is the gain with respect to computational cost

45/47

Page 59: Intrusion Detection Alert Flow Processing Using Time ... · Context(1): intrusion detection and alert processing • Processing a subset of alerts generated by Snort sensor-network-based-knowledge-based,

Future work(2)

• Combining filtering with root cause analysis

- Finer-grained aggregation criteria

• Invariant measures

- Analysis of other metrics than alert intensity

- If finding metrics that remain invariant during normal use, the anomaly detection

could be simplified

• Pushing analysis techniques to sensors

- Can we combine several flows, or do they need be analyzed separately?

- Fast implementation in HW

46/47

Page 60: Intrusion Detection Alert Flow Processing Using Time ... · Context(1): intrusion detection and alert processing • Processing a subset of alerts generated by Snort sensor-network-based-knowledge-based,

Intrusion Detection Alert Flow Processing Using TimeSeries Analysis Methods

Jouni Viinikka

[email protected]

France Telecom / Supelec SSIR

2006-12-24

Sem. Diwall / ENST-Bretagne

47/47

Page 61: Intrusion Detection Alert Flow Processing Using Time ... · Context(1): intrusion detection and alert processing • Processing a subset of alerts generated by Snort sensor-network-based-knowledge-based,

References

[DV05] Herve Debar and Jouni Viinikka. Intrusion detection: Introduction to intrusion detection and security information management. In

FOSAD 2004/2005 Tutorial Lectures, vol. 3655 of Lecture Notes in Computer Science, pages 207–236, September 2005.

Springer–Verlag.

[DV06] Herve Debar and Jouni Viinikka. Security information management as an outsourced service. Information Management &

Computer Security, 13(2):416–434, 2006.

[JD02] Klaus Julisch and Marc Dacier. Mining Intrusion Detection Alarms for Actionable Knowledge. In Proceedings of SIGKDD, 2002.

[Jul01] Klaus Julisch. Mining Alarm Clusters to Improve Alarm Handling Efficiency. In Proceedings of the ACSAC2001, December 2001.

[Jul03a] Klaus Julisch. Clustering intrusion detection alarms to support root cause analysis. ACM Transactions on Information and System

Security, 6(4), nov 2003.

[Jul03b] Klaus Julisch. Using Root Cause Analysis to Handle Intrusion Detection Alarms. Phd thesis, University of Dortmund, Germany,

2003.

[MCZH99] Stefanos Manganaris, Marvin Christensen, Dan Zerkle, and Keith Hermiz. A Data Mining Analysis of RTID Alarms. RAID’99, 1999.

[VD04] Jouni Viinikka and Herve Debar. Monitoring IDS Background Noise Using EWMA Control Charts and Alert Information. In

Proceedings of the RAID’04, volume 3224 of Lecture Notes in Computer Science. Springer–Verlag, 2004.

[VDMS06] Jouni Viinikka, Herve Debar, Ludovic Me, and Renaud Seguier. Time series modeling for IDS alert management. In Proceedings of

the AsiaCCS’06, pages 102–113, Taipei, Taiwan, March 2006.

48/47