Haltet den (Daten-) Dieb! Echtzeiterkennung von Anomalien in Computernetzwerken mit maschinellen...

23
Haltet den (Daten-) Dieb! Echtzeiterkennung von Anomalien in Computernetzwerken mit maschinellen Lernverfahren Julian Keppel Offenburg, 08.03.2017

Transcript of Haltet den (Daten-) Dieb! Echtzeiterkennung von Anomalien in Computernetzwerken mit maschinellen...

Page 1: Haltet den (Daten-) Dieb! Echtzeiterkennung von Anomalien in Computernetzwerken mit maschinellen Lernverfahren

Haltet den (Daten-) Dieb!

Echtzeiterkennung von Anomalien in Computernetzwerken mit maschinellen Lernverfahren

Julian Keppel Offenburg, 08.03.2017

Page 2: Haltet den (Daten-) Dieb! Echtzeiterkennung von Anomalien in Computernetzwerken mit maschinellen Lernverfahren

Student an der Hochschule Karlsruhe

Themen: Spark, Stream Processing, Machine Learning

Betreuer: Prof. Dr. Christian Zirpins

2

Julian Keppel

Page 3: Haltet den (Daten-) Dieb! Echtzeiterkennung von Anomalien in Computernetzwerken mit maschinellen Lernverfahren

› Erkennung ungewöhnlicher Netzwerkaktivitäten

› Signaturbasierte Systeme wie SNORT

› Neue Angriffsmuster, für die noch keine Signaturen vorliegen? à Machine Learning

3

EinführungAnwendungsfall Intrusion Detection

Page 4: Haltet den (Daten-) Dieb! Echtzeiterkennung von Anomalien in Computernetzwerken mit maschinellen Lernverfahren

{"port_src": 46812,"ip_src": "0.0.16.120","ip_dst": "0.0.112.252","tcp_flags": "30","port_dst": 80,"ip_proto": "tcp","timestamp_end": "2016-12-07 09:22:17.0","tos": 0,"timestamp_start": "2016-12-07 09:22:17.0","packets": 7,"bytes": 869

}

4

Einführung

Page 5: Haltet den (Daten-) Dieb! Echtzeiterkennung von Anomalien in Computernetzwerken mit maschinellen Lernverfahren

› In der Praxis fehlen häufig Labels

› Unsupervised Algorithmen wie Clustering schaffen Abhilfe

› Einfach und weit verbreitet: k-means

5

Einführung

Page 6: Haltet den (Daten-) Dieb! Echtzeiterkennung von Anomalien in Computernetzwerken mit maschinellen Lernverfahren

6

KonzeptFeature-Extraktion: Categorials

…,tcp,……,udp,……,udp,……,icmp,……,udp,……,tcp,…

String-Indexing

…,1.0,……,0.0,……,0.0,……,2.0,……,0.0,……,1.0,…

…,0.0,1.0,0.0,……,1.0,0.0,0.0,……,1.0,0.0,0.0,……,0.0,0.0,1.0,……,1.0,0.0,0.0,……,0.0,1.0,0.0,…

One-Hot-Encoding

Page 7: Haltet den (Daten-) Dieb! Echtzeiterkennung von Anomalien in Computernetzwerken mit maschinellen Lernverfahren

7

KonzeptFeature-Extraktion: Verschiedene Skalierungen

…,421,4,……,2021,8,……,768,16,……,3122,10,……,139,2,…

…,2845,10,…

Standard-Scaling

…,0.328,0.805,……,1.574,1.611,……,0.598,3.222,……,2.431,2.013,……,0.108,0.403,……,2.215,2.013,…

Page 8: Haltet den (Daten-) Dieb! Echtzeiterkennung von Anomalien in Computernetzwerken mit maschinellen Lernverfahren

8

KonzeptAnsätze für Anomaly Detection

Page 9: Haltet den (Daten-) Dieb! Echtzeiterkennung von Anomalien in Computernetzwerken mit maschinellen Lernverfahren

9

PrototypArchitektur

Storage

Alarme

Trace Trace

Trainingsdaten

Modell

Modell

Page 10: Haltet den (Daten-) Dieb! Echtzeiterkennung von Anomalien in Computernetzwerken mit maschinellen Lernverfahren

› Spark bietet breite Auswahl an Bibliotheken› Einheitliche API für Batch- und Stream-Processing

› Dataframe/Dataset-API (SQL)

› Machine Learning-Workflows

› Alles nötige aus einer Hand› Model Selection

› Feature-Engineering und Vorverarbeitung

› Echtzeiterkennung

10

PrototypSpark, Streaming & MLlib

Page 11: Haltet den (Daten-) Dieb! Echtzeiterkennung von Anomalien in Computernetzwerken mit maschinellen Lernverfahren

11

PrototypSpark Pipeline-Konzept

String-Indexing

One-Hot-Encoding

Standard-Scaling

k-means Clustering

Modell

Page 12: Haltet den (Daten-) Dieb! Echtzeiterkennung von Anomalien in Computernetzwerken mit maschinellen Lernverfahren

12

PrototypEchtzeiterkennung mit Spark Streaming

Modell

{"port_src": 0,"ip_src": "0.0.16.120","ip_dst": "0.0.112.252","tcp_flags": "0","port_dst": 0,"ip_proto": "ipv6-crypt","tos": 0,"packets": 130599,"bytes": 103103700

}

cluster: 16, distance: 13.72

distance > 12.0 ?

Alarm!

Page 13: Haltet den (Daten-) Dieb! Echtzeiterkennung von Anomalien in Computernetzwerken mit maschinellen Lernverfahren

{"port_src": 0,"port_dst": 0,"ip_src": "0.0.159.234","ip_dst": "0.0.23.180","ip_proto": "ipv6-crypt","tos": 0,"packets": 130599,"bytes": 103103700,"timestamp_start": "2017-01-03 16:15:11.0","timestamp_end": "2017-01-03 16:15:21.0","tcp_flags": 0

}

13

EvaluationBeispiele für Anomalien Punkt-

anomalie

Page 14: Haltet den (Daten-) Dieb! Echtzeiterkennung von Anomalien in Computernetzwerken mit maschinellen Lernverfahren

14

EvaluationBeispiele für Anomalien

{"port_src": 53,"port_dst": 37095,"ip_src": "0.0.83.30","ip_dst": "0.0.159.234","ip_proto": "udp","tos": 0,"packets": 1,"bytes": 698,"timestamp_start": "2017-01-08 05:16:19.0","timestamp_end": "2017-01-08 05:16:19.0","tcp_flags": 0

}

Kollektive Anomalie

Page 15: Haltet den (Daten-) Dieb! Echtzeiterkennung von Anomalien in Computernetzwerken mit maschinellen Lernverfahren

› Klassischerweise werden Modelle einmalig trainiert (Offline)

› Bei Bedarf periodisch neues Training des Modells

› Manchmal kontinuierliche Anpassung des Modells an die Gegebenheiten wünschenswert (Online)

› Online-Implementierung für k-means in Spark

15

Online-Learning?

Page 16: Haltet den (Daten-) Dieb! Echtzeiterkennung von Anomalien in Computernetzwerken mit maschinellen Lernverfahren

› Clusterzentren werden für jeden Micro-Batch aktualisiert

› „Vergesslichkeit“ des Modells konfigurierbar

› Vorteil: Adaption von sich ändernden Gegebenheiten

› Nachteil: Auch Adaption etwaiger Anomalien?

16

Online k-means in Spark

Page 17: Haltet den (Daten-) Dieb! Echtzeiterkennung von Anomalien in Computernetzwerken mit maschinellen Lernverfahren

17

Online- vs. Offline-LearningVersuchsaufbau

Training Test

Online-Modell

Update 1 Update 2 Update n…

Vorhersagen

Page 18: Haltet den (Daten-) Dieb! Echtzeiterkennung von Anomalien in Computernetzwerken mit maschinellen Lernverfahren

Receiver Operating CharacteristicSchwellwert- & Gütebestimmung

18

Page 19: Haltet den (Daten-) Dieb! Echtzeiterkennung von Anomalien in Computernetzwerken mit maschinellen Lernverfahren

19

Online- vs. Offline-LearningEvaluation mit synthetischen Daten

0,991

0,4

0,5

0,6

0,7

0,8

0,9

1

0 5 10 15 20 25 30 35 40 45 50 55 60 65 70 75 80 85 90 95 100

AUC

Zeitpunkt

Grenze Online-Modell Offline-Modell

Page 20: Haltet den (Daten-) Dieb! Echtzeiterkennung von Anomalien in Computernetzwerken mit maschinellen Lernverfahren

› Sinkende Performance: Es zeigt sich deutlich die Adaption des Modells

› Ohne weitere Logik zu wenig Kontrolle über das Verhalten des Modells

› Für Intrusion Detection: Empfehlung tendenziell zu Offline-Modell

20

Online- vs. Offline-Learning

Page 21: Haltet den (Daten-) Dieb! Echtzeiterkennung von Anomalien in Computernetzwerken mit maschinellen Lernverfahren

› Evaluation mit Fachabteilung: Bei geeigneter Feature-Auswahl korrekte Mustererkennung

› Skalierbare Echtzeiterkennung durch Apache Spark

› Als sinnvolle Ergänzung zu regelbasiertem System

› Online-Learning nur bei gezielten Updates (Adaption von Angriffen vermeiden)

21

Abschluss

Page 22: Haltet den (Daten-) Dieb! Echtzeiterkennung von Anomalien in Computernetzwerken mit maschinellen Lernverfahren

› Andere Clusteringverfahren und Distanzmetriken?

› Gelabelte Trainingsdaten eröffnen neue Möglichkeiten (supervised Learning)

› Updatezeiten Offline- vs. Online-Modell?

22

Ausblick

Page 23: Haltet den (Daten-) Dieb! Echtzeiterkennung von Anomalien in Computernetzwerken mit maschinellen Lernverfahren

Vielen Dank

Julian Keppel

inovex GmbH

Ludwig-Erhard-Allee 6

76131 Karlsruhe

[email protected]