Die zeitnahe Erkennung von Netzwerkattacken oder nicht autorisierten Datenabflüssen ist für Betreiber von Rechenzentren wichtig, da so ungewollte Handlungen innerhalb des Netzwerkes bereits vor Entstehung größerer Schäden erkannt werden können. Vor allem neue Angriffsmuster, die durch die üblichen regel- bzw. signaturbasierten Systeme nicht erkannt werden können, stellen eine ständige Gefahr dar. Zu diesem Zweck können intelligente Systeme mithilfe von Methoden des maschinellen Lernens zum Einsatz kommen.
Durch die Erscheinung zahlreicher und vielfältiger Big Data-Werkzeuge wie beispielsweise Apache Spark oder Apache Flink eröffnen sich in der heutigen Zeit vollkommen neue Möglichkeiten bezüglich Skalierbarkeit und Echtzeitfähigkeit von Machine Learning-Modellen und -Anwendungen. Am Beispiel des Clusteringverfahrens k-means wird die Entwicklung eines entsprechenden Prototyps sowohl aus Data Science- als auch aus Implementierungssicht auf Basis von Apache Spark Streaming und der Spark MLlib gezeigt.
Der Vortrag stellt die Ergebnisse einer aktuellen Forschungsarbeit dar, die als Masterthesis der Hochschule Karlsruhe in Kooperation mit der inovex GmbH in Karlsruhe durchgeführt wird.
Event: Business Analytics Day, 08.03.2017, Offenburg
Speaker: Julian Keppel, inovex GmbH
Noch mehr Tech-Vorträge: https://www.inovex.de/de/content-pool/vortraege/
Infrastructure as (real) Code – Manage your K8s resources with Pulumi
Haltet den (Daten-) Dieb! Echtzeiterkennung von Anomalien in Computernetzwerken mit maschinellen Lernverfahren
1. Haltet den (Daten-) Dieb!
Echtzeiterkennung von Anomalien in
Computernetzwerken mit maschinellen Lernverfahren
Julian Keppel Offenburg, 08.03.2017
2. Student an der Hochschule Karlsruhe
Themen: Spark, Stream Processing, Machine
Learning
Betreuer: Prof. Dr. Christian Zirpins
2
Julian Keppel
3. › Erkennung ungewöhnlicher Netzwerkaktivitäten
› Signaturbasierte Systeme wie SNORT
› Neue Angriffsmuster, für die noch keine Signaturen
vorliegen? à Machine Learning
3
Einführung
Anwendungsfall Intrusion Detection
10. › 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
Prototyp
Spark, Streaming & MLlib
15. › 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?
16. › 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
20. › 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
21. › 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
22. › Andere Clusteringverfahren und Distanzmetriken?
› Gelabelte Trainingsdaten eröffnen neue Möglichkeiten
(supervised Learning)
› Updatezeiten Offline- vs. Online-Modell?
22
Ausblick