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

Post on 12-Apr-2017

46 views 2 download

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

Haltet den (Daten-) Dieb!

Echtzeiterkennung von Anomalien in Computernetzwerken mit maschinellen Lernverfahren

Julian Keppel Offenburg, 08.03.2017

Student an der Hochschule Karlsruhe

Themen: Spark, Stream Processing, Machine Learning

Betreuer: Prof. Dr. Christian Zirpins

2

Julian Keppel

› 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

{"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

› In der Praxis fehlen häufig Labels

› Unsupervised Algorithmen wie Clustering schaffen Abhilfe

› Einfach und weit verbreitet: k-means

5

Einführung

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

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,…

8

KonzeptAnsätze für Anomaly Detection

9

PrototypArchitektur

Storage

Alarme

Trace Trace

Trainingsdaten

Modell

Modell

› 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

11

PrototypSpark Pipeline-Konzept

String-Indexing

One-Hot-Encoding

Standard-Scaling

k-means Clustering

Modell

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!

{"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

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

› 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?

› 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

17

Online- vs. Offline-LearningVersuchsaufbau

Training Test

Online-Modell

Update 1 Update 2 Update n…

Vorhersagen

Receiver Operating CharacteristicSchwellwert- & Gütebestimmung

18

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

› 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

› 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

› Andere Clusteringverfahren und Distanzmetriken?

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

› Updatezeiten Offline- vs. Online-Modell?

22

Ausblick

Vielen Dank

Julian Keppel

inovex GmbH

Ludwig-Erhard-Allee 6

76131 Karlsruhe

julian.keppel@inovex.de