Flow Daten

SYN
A statistical approach to flow-based
network attack detection
Sebastian Abt
rh-tec Business GmbH
Bachelorkolloquien
WS 2008/2009
Agenda
1. Aufgabenstellung
2. Netzwerkattacken
3. Flow Daten
4. Attackdetektion
5. Fazit
2
Status
1. Aufgabenstellung
2. Netzwerkattacken
3. Flow Daten
4. Attackdetektion
5. Fazit
3
Aufgabenstellung
• Attack-Detektions-Systems
-
basierend auf Netzwerk Flow Daten
-
ohne Wissen über Umgebung und Daten
-
Anpassung an Änderungen
-
selbstlernend
-
arbeitserleichternd
➙ wenig falsche Alarme
4
Aufgabenstellung
• Attack-Detektions-Systems
-
basierend auf Netzwerk Flow Daten
-
ohne Wissen über Umgebung und Daten
-
Anpassung an Änderungen
-
selbstlernend
-
arbeitserleichternd
➙ wenig falsche Alarme
s
e
t
r
e
i
s
a
b
e
i
l
a
n
m
o
i
o
s
u
An
r
t
n
I
k
r
Netwo ion System
t
c
e
t
e
D
4
Aufgabenstellung
• Nicht-stationäre Zeitreihen
- Trend- und Saisonale Komponenten
- Feste Thresholds nicht anwendbar
- Signifikante, legitime Abweichungen möglich
• Speicherbedarf
5
Status
1. Aufgabenstellung
2. Netzwerkattacken
3. Flow Daten
4. Attackdetektion
5. Fazit
6
Netzwerkattacken
Network Attack Characteristics
Degree of Distribution
Attack Vector
Level of Indirection
Reflection
Distributed Non-distributed
Direct
Protocol Application
Command and Control
Source Address Validity
Spoofed
Bandwidth
Valid
Agent/Handler
Model
IRC
7
Netzwerkattacken
Network Attack Characteristics
Degree of Distribution
Attack Vector
Level of Indirection
Reflection
Distributed Non-distributed
Direct
Protocol Application
Command and Control
Source Address Validity
Spoofed
Bandwidth
Valid
Agent/Handler
Model
IRC
7
Netzwerkattacken
10 Mbit/s
8
Netzwerkattacken
100 Mbit/s
Ausmaß
~ 90 Mbit/s
Dauer
~ 2.5 h
9
Status
1. Aufgabenstellung
2. Netzwerkattacken
3. Flow Daten
4. Attackdetektion
5. Fazit
10
Flow Daten
• Datenflussrepräsentation
-
Unidirektional
-
Abstrakt
-
k-Tupel (srcIP, dstIP, srcPort, dstPort,Typ, Dauer, #Packets, #Bytes, ...)
11
Flow Daten
Traffic
B
A
12
Flow Daten
Traffic
B
A
Flow Daten
Verarbeitung
13
Status
1. Aufgabenstellung
2. Netzwerkattacken
3. Flow Daten
4. Attackdetektion
5. Fazit
14
Algorithmus
1. Attributvektor erstellen
2. Vektoren prädizieren
3. Prädiktionsfehler bestimmen
4. Distanz zu legitimen Fehlern bestimmen
5. Anomaliewert errechnen
6. Daten glätten
15
Attributvektor
• n-dimensionaler Vektor
• von Flow Daten abgeleitete Metriken
-
Bits pro Sekunde, Pakete pro Sekunde, Flows pro Sekunde, Bytes pro
Paket
-
L4-Protokoll Verteilung (TCP, UDP, ICMP)
-
Entropie-Werte von srcIP, dstIP, srcPort, dstPort
-
... mögliche weitere Metriken
16
Prädiktion
y
Prädiktionsfenster
. . . . t-2 t-1
t
t+1 t+2 . . . .
x
17
Prädiktion
y
Prädiktionsfenster
. . . . t-2 t-1
t
t+1 t+2 . . . .
x
18
Prädiktion
y
Prädiktionsfenster
. . . . t-2 t-1
t
t+1 t+2 . . . .
x
19
Prädiktionsfehler
y
„Normale“
Prädiktionsfehler
x
20
Distanz
y
Maximale Distanz
zum Zentrum
x
21
Distanz
y
Prädiktionsfehler
durch Attacke
x
22
Anomaliewert
y
d
Score s =
Dt
x
23
Glättung
•
„Anomale“ (Fehler)Vektoren durch Attacken
-
Beeinflusst Prädiktion
-
Beeinflusst die Anomaliewertberechnung
-
Nachfolgende Attacken werden nicht erkannt
24
Glättung
•
„Anomale“ (Fehler)Vektoren durch Attacken
-
Beeinflusst Prädiktion
-
Beeinflusst die Anomaliewertberechnung
-
Nachfolgende Attacken werden nicht erkannt
➡ Ausreißer glätten
-
Vsmooth = (1-λ)* Vpredict + λ* Vmeasure
... mit: λ = 1 / s
... und: Esmooth = Vpredict - Vsmooth
24
Status
1. Aufgabenstellung
2. Netzwerkattacken
3. Flow Daten
4. Attackdetektion
5. Fazit
25
Fazit
3
Algorithmus
selbstlernend, adaptiv
600
Prototyp
basierend auf OSS,
released als OSS (tbd.)
26
FIN
Vielen Dank für Ihre Aufmerksamkeit!
? Fragen ?