SlideShare a Scribd company logo
Anomaly detection and trend analysis of critical
system states based on Nagios payload
Daniel Borkmann <dborkmann@acm.org>
(Open Source Monitoring Conference 2009)
Leipzig University of Applied Science, Faculty of Computer Science,
Mathematics, and Natural Sciences
Max Planck Institute for Human Cognitive and Brain Sciences, IT Department
October 28, 2009
Motivation
Worst-Case: User detects failure within system and reports to
IT-Hotline (frustration on both sides)
Best-Case: Failure is detected and fixed before user notices
anything (frustration on only one side)
We face the situation ...
Nagios can only detect failures via static thresholds1
Is perfect for requesting boolean values (e.g. host is up or not)
But not so much in combination with numerical data from
certain processes ...
... process behaviour changes over the time, our static
thresholds do not
... what if behaviour is anomalous within thresholds?
Network traffic,
# Mail users,
Temperature sensors, ...
1
OK, WARNING, CRITICAL, UNKNOWN
We face the situation ...
Can we predict the future?2
Nagios has no possibility for payload extrapolation (trend)
Possible Use Cases
Software licences (e.g. Matlab),
Network: volume-based restrictions,
HD capacity,
Stock quotes ;)
2
... rhetorical question
1 Data collection
Sniffing bytes over the net ... netsniff-ng
Integration into Nagios
2 Data analysis
Assumptions about our data ...
Anomaly detection techniques
Holt-Winters-Forecasting (and some improvements)
Clusteranalysis approach
Interface to NagiosGrapher
Trend analysis
Levenberg-Marquardt
REA-Framework
3 Links & Q+A
Data collection
Data collection Data analysis Links & Q+A
Data collection
For our analysis we need some numerical data ...
... as an example, we fetch network packets and generate
statistics
Let’s have a short look ...
Daniel Borkmann Anomaly detection and trend analysis
Sniffing bytes over the net ...
netsniff-ng
Data collection Data analysis Links & Q+A
tcpdump, libpcap
Lets evaluate what could be used ...
tcpdump is a userspace network sniffer based on libpcap
libpcap: libpcap is a system-independent interface for
user-level packet capture. libpcap provides a portable
framework for low-level network monitoring. Applications
include network statistics collection, security monitoring,
network debugging, etc.3
3
http://sourceforge.net/projects/libpcap/
Daniel Borkmann Anomaly detection and trend analysis
Data collection Data analysis Links & Q+A
tcpdump, libpcap
libpcap programming isn’t hard, so here we go ... writing a
sniffer for Nagios based on libpcap
Sounds great, doesn’t it?
Daniel Borkmann Anomaly detection and trend analysis
Data collection Data analysis Links & Q+A
tcpdump, libpcap
tcpdump -i eth0 -n arp
strace clarifies our question ...
recvfrom(3, "377377377377377377032ME|2111060110064"..
., 96, MSG_TRUNC, {sa_family=AF_PACKET, proto=0x806, if50, pkttype=
PACKET_BROADCAST, addr(6)={1, 001a4d457c89}, [18]) = 60
ioctl(3, SIOCGSTAMP, 0xbfb43e70) = 0
write(1, "16:14:50.538813 arp who-has 10.0"..., 5516:14:50.538813 arp
who-has 10.0.53.26 tell 10.0.63.10) = 55
recvfrom(3, "37737737737737737704v24333024210601100"..
., 96, MSG_TRUNC, {sa_family=AF_PACKET, proto=0x806, if50, pkttype=
PACKET_BROADCAST, addr(6)={1, 000476a3d8a2}, [18]) = 60
ioctl(3, SIOCGSTAMP, 0xbfb43e70) = 0
write(1, "16:14:50.624868 arp who-has 10.0"..., 5616:14:50.624868 arp
who-has 10.0.63.53 tell 10.0.54.184) = 56
Daniel Borkmann Anomaly detection and trend analysis
Data collection Data analysis Links & Q+A
tcpdump, libpcap
For every incoming frame a recvfrom-Syscall is executed
What does that mean?
recvfrom(...)
Buffer will be copied from Userspace to Kernelspace4
Context switch (done by Scheduler / Dispatcher)
Buffer will be copied from Kernelspace back to Userspace5
Context switch (done by Scheduler / Dispatcher)
... very time intensive if done for each frame!
... possible frame drops for socket during high traffic
4
copy from user()
5
copy to user()
Daniel Borkmann Anomaly detection and trend analysis
Data collection Data analysis Links & Q+A
netsniff-ng
High performance network sniffer
Consists of
netsniff-ng
check packets (client for Nagios)
Daniel Borkmann Anomaly detection and trend analysis
Data collection Data analysis Links & Q+A
netsniff-ng features
The sniffer itself ...
Runs in promiscuous mode
Bypasses the complete network stack
Uses Kernelspace Berkeley Packet Filter (BPF)
Allocates 128 MB or less (probing) Kernelspace Receive Ring
(RX RING)
Ring is Memory-Mapped into Userspace (so no Syscalls like
recvfrom() needed → Zero-Copy)
Branchfree critical path (so we won’t smash the Pipeline)
Tested on Gigabit without packet loss
Can be run as Sysdaemon (silent, creates UDS
Server for communication) or in foreground
Daniel Borkmann Anomaly detection and trend analysis
Data collection Data analysis Links & Q+A
netsniff-ng features
netsniff-ng -d eth0 -f /etc/netsniff-ng/rules/arp.bpf
-C
strace again, looks better now ...
rt_sigprocmask(SIG_BLOCK, [USR1 ALRM], NULL, 8) = 0
rt_sigprocmask(SIG_UNBLOCK, [USR1 ALRM], NULL, 8) = 0
poll([{fd=3, events=POLLIN|POLLERR, revents=POLLIN}], 1, -1) = 1
write(2, "I: ", 3I: ) = 3
write(2, "60 bytes from 00:1a:4d:45:7c:89 "..., 5360 bytes from 00:
1a:4d:45:7c:89 to ff:ff:ff:ff:ff:ff) = 53
rt_sigprocmask(SIG_BLOCK, [USR1 ALRM], NULL, 8) = 0
rt_sigprocmask(SIG_UNBLOCK, [USR1 ALRM], NULL, 8) = 0
poll([{fd=3, events=POLLIN|POLLERR, revents=POLLIN}], 1, -1) = 1
write(2, "I: ", 3I: ) = 3
write(2, "60 bytes from 00:10:5a:d8:9a:a4 "..., 5360 bytes from 00:10:
5a:d8:9a:a4 to ff:ff:ff:ff:ff:ff) = 53
Daniel Borkmann Anomaly detection and trend analysis
Data collection Data analysis Links & Q+A
netsniff-ng features
netsniff-ng -d eth0 -f /etc/netsniff-ng/rules/icmp.bpf
ICMP-Flooding; only 0-3% CPU usage of netsniff-ng during tests
I: elapsed time: 0 d, 0 h, 4 min, 45 s
I: -----------+------------------+------------------+------------------
I: | per sec | per min | total
I: -----------+------------------+------------------+------------------
I: frames | 80201 | 4696273 | 20149411
I: -----------+------------------+------------------+------------------
I: in B | 119622775 | 7003546464 | 30048067864
I: in KB | 116819 | 6839400 | 29343816
I: in MB | 114 | 6679 | 28656
I: in GB | 0 | 6 | 27
I: -----------+------------------+------------------+------------------
[...]
I: 23724545 frames incoming
I: 23724545 frames passed filter
I: 0 frames failed filter (due to out of space)
I: captured frames: 23724545, captured bytes:
35377999772 [34548827 KB, 33739 MB, 32 GB]
Daniel Borkmann Anomaly detection and trend analysis
Data collection Data analysis Links & Q+A
check packets features
Is a Unix Domain Socket Client for netsniff-ng
Fetches collected network statistics at runtime via UDS inode
-n option for creating Nagios one-liner → Performance data
Simple Nagios integration with NRPE or check by ssh
Daniel Borkmann Anomaly detection and trend analysis
Integration into Nagios
Data collection Data analysis Links & Q+A
Integration into Nagios
Runs 24x7 on MPI router (DMZ ⇔ Router ⇔ Internet)
6 instances running with following BPFs:
All
HTTP
Broadcast
SSH
Webserver
Mailserver traffic
Data will be passed via check by ssh6
(Port 22) through our internal
Firewall to our Nagios server
Visualization realized by NagiosGrapher via
Round Robin Databases
6
NRPE inappropriate in our case
Daniel Borkmann Anomaly detection and trend analysis
Data collection Data analysis Links & Q+A
Some results
({Sec|}IMAP, {Sec|}SMTP, POP3, HTTP traffic to our Zimbra
mailserver)
Daniel Borkmann Anomaly detection and trend analysis
Data collection Data analysis Links & Q+A
Some results
(Broadcast traffic)
Daniel Borkmann Anomaly detection and trend analysis
Data analysis
Assumptions about our data ...
Data collection Data analysis Links & Q+A
Assumptions
Generally our monitored processes equal Stochastic processes
Incoming anomalies itself are regarded as Poisson processes
A single data point has ...
Baseline (
”
intercept“) or irregular component
Linear trend (
”
slope“) component
Seasonal trend (at least one)
We assume components are additive
Daniel Borkmann Anomaly detection and trend analysis
Anomaly detection techniques
Holt-Winters-Forecasting (and some
improvements)
Data collection Data analysis Links & Q+A
Holt-Winters-Forecasting
Based on exponential smoothing (recent data have higher
weights than older ones): ˆyt+1 = αyt + (1 − α)ˆyt with
0 < α < 1
Decomposition of time series into components with triple
exponential smoothing technique
Multiplicative and additive versions
Forecast of the near future (with +/− deviation), check if
actual value falls into expected interval (if not: anomaly after
breaking thresholds)
Daniel Borkmann Anomaly detection and trend analysis
Data collection Data analysis Links & Q+A
Holt-Winters-Forecasting
What the math model looks like:
Prediction:
ˆyt+1 = at + bt + ct+1−m
at = α(yt − ct−m) + (1 − α)(at−1 + bt−1) Baseline,
bt = β(at − at−1) + (1 − β)bt−1 Linear trend,
ct = γ(yt − at) + (1 − γ)ct−m Seasonal trend
0 < α, β, γ < 1
m: Len season
Confidence band coefficient:
dt = γ|yt − ˆyt| + (1 − γ)dt−m
Confidence band itself:
I(ˆyt − δ− ∗ dt−m, ˆyt + δ+ ∗ dt−m) 2 < δ−, δ+ < 3
Sliding window as threshold for
anomalies
Daniel Borkmann Anomaly detection and trend analysis
Data collection Data analysis Links & Q+A
Holt-Winters-Forecasting
Possible improvements:
Double seasonality (periods of week, day)
Up to now only single seasonality (day) → parameter
disturbances of passing business days into non-business days
and vice versa
Parameter stabilization via Kalman filter [Gelper et al. 2007]
Will make parameters more robust towards interferences of
anomalies
Miller extension for improving prediction of low traffic
values [Miller 2007]
Longterm zero-values decreases confidence
band to minimal width → slight
payload variance will result in anomaly
even though it isn’t
Daniel Borkmann Anomaly detection and trend analysis
Data collection Data analysis Links & Q+A
Holt-Winters-Forecasting, Results (all traffic)
Daniel Borkmann Anomaly detection and trend analysis
Data collection Data analysis Links & Q+A
Holt-Winters-Forecasting, Results (active Zimbra users)
Daniel Borkmann Anomaly detection and trend analysis
Clusteranalysis approach
Data collection Data analysis Links & Q+A
Clusteranalysis approach
Idea: one-dimensional grouping of data points to interval
bands in order to separate anomalous from normal behaviour
Segregation of business days and non-business days
Grouping threshold set by standard deviation of Poisson
Process (adapted with coeffcient)
Groups consist of at least 25 per cent of data points (as per
definition)
Daniel Borkmann Anomaly detection and trend analysis
Data collection Data analysis Links & Q+A
Clusteranalysis approach
Daniel Borkmann Anomaly detection and trend analysis
Data collection Data analysis Links & Q+A
Clusteranalysis, Results (SSH traffic)
Daniel Borkmann Anomaly detection and trend analysis
Data collection Data analysis Links & Q+A
Clusteranalysis, Results (Broadcast traffic)
Daniel Borkmann Anomaly detection and trend analysis
Interface to NagiosGrapher
Data collection Data analysis Links & Q+A
Interface to NagiosGrapher
Three thread queues filled during NGs collect2.pl runtime
(patched against nagiosgrapher (1.6.1rc5-6), Debian Lenny
(stable))
Detached threads check for anomalies according to given
algorithm (start baseline.pl delegate after RRD update)
Module Baseline::Algorithm::CalcRRD with calc rrd() and
check baseline() implemented for specific algorithm
Daniel Borkmann Anomaly detection and trend analysis
Data collection Data analysis Links & Q+A
Interface to NagiosGrapher
Algorithms swappable during runtime without payload loss!
Anomaly information on Nagios ‘Service Detail‘ page
Baseline::Util::Routines contain helper routines for CalcRRD
implementation (as fetch stepping(), fetch lastupdate(),
fetch table(), ...)
Daniel Borkmann Anomaly detection and trend analysis
Data collection Data analysis Links & Q+A
Interface to NagiosGrapher
Daniel Borkmann Anomaly detection and trend analysis
Data collection Data analysis Links & Q+A
NagiosGrapher GUI, config integration
define ngraph{
service_name Netsniff *
graph_log_regex .*persminute:s+([0-9.]+)sframes
graph_value pktfr
graph_units frames/min
graph_legend frames per min
rrd_plottype LINE2
rrd_color FF0000
hide no
page data
}
define ngraph{
service_name Netsniff *
type BASELINE <-- unknown, will be ignored within perfdata parsing
graph_value pktfrbase
graph_units health
graph_legend health temperature
rrd_plottype LINE2
rrd_color 00ff00
hide no
page health_frames
}
Daniel Borkmann Anomaly detection and trend analysis
Data collection Data analysis Links & Q+A
Interface to NagiosGrapher
Two (or more) pages per Service (‘data‘, ‘health *‘)
Actual data (payload, anomaly) still separated
Daniel Borkmann Anomaly detection and trend analysis
Data collection Data analysis Links & Q+A
Interface to NagiosGrapher
Integration into Nagios ‘Service Detail‘ page
check baseline() part of Baseline::Algorithm::CalcRRD
called
Daniel Borkmann Anomaly detection and trend analysis
Trend analysis
Levenberg-Marquardt
Data collection Data analysis Links & Q+A
Levenberg-Marquardt
Non-linear fitting algorithm
Fits a math model (e.g. f (x) := acos(bx) + bsin(ax) + c) into
a series of data points with minimal residuals (parameter
search → {a, b, c})
More ‘stable‘ in finding local minimum (even with a bad
chosen start vector) than Gauss-Newton method (with
‘lambda decay‘)
Non-linearity approximated by iterative solving of linear
equation systems (Taylor series)
Note: quality of the fit depends on your
defined model!
Daniel Borkmann Anomaly detection and trend analysis
REA7
-Framework
7
RRD extrapolation and analysis
Data collection Data analysis Links & Q+A
REA-Framework
NG-independet script collection (works with all possible RRDs)
generate.pl
Called via nightly cronjob
Automatically extracts RRD payload (extract raw.pl) →
triple: (timestamp, normalized idx, data value)
Runs configured plugins via gnuplot processor
Generates graph images (if possible) and copies them into
WWW-dir
predict.cgi
User interface
User assigns configured ‘subject‘ (e.g. host service) to ‘analysis
type‘ (e.g. monomial extrapolation)
All RRA specific graphs with chosen fits
are shown
Daniel Borkmann Anomaly detection and trend analysis
Data collection Data analysis Links & Q+A
REA-Framework
Daniel Borkmann Anomaly detection and trend analysis
Data collection Data analysis Links & Q+A
REA-Framework, plugin for Monomial extrapolation
#!/usr/bin/gnuplot
FIT_LIMIT = 1e-6
FIT_MAXITER = 80
f(x) = a * (x - b)**n + c
fit f(x) "exp.dat" using 2:3 via a, b, c, n
set grid
set title "RRD time series extrapolation"
set timefmt "%s"
set xdata time
set format x "%d.%m.%Y, %H/%M"
set xlabel " "
set ylabel " "
set xtics rotate by 90 scale 0
set key below
plot "< cat exp.dat fore.dat" using 1:(f($2)) title "best ’a * (x - b)^n + c’ fit" with lines, 
"exp.dat" using 1:3 title "time series data" with points
set term png size 1024, 768
set output "plot.png"
replot
set term dumb
Daniel Borkmann Anomaly detection and trend analysis
Data collection Data analysis Links & Q+A
REA-Framework, frontend
Daniel Borkmann Anomaly detection and trend analysis
Data collection Data analysis Links & Q+A
REA-Framework, Results (Traffic to webserver, KB/min)
Daniel Borkmann Anomaly detection and trend analysis
Data collection Data analysis Links & Q+A
REA-Framework, Results (Broadcast traffic, Frames/min)
Daniel Borkmann Anomaly detection and trend analysis
Data collection Data analysis Links & Q+A
REA-Framework, Results (SSH traffic, Frames/min)
Daniel Borkmann Anomaly detection and trend analysis
Data collection Data analysis Links & Q+A
Acknowledgement
Dr. Helmut Hayd, Max Planck Institute for Human Cognitive
and Brain Sciences
Prof. Dr.-Ing. Dietmar Reimann, Leipzig University of Applied
Science, Faculty of Computer Science, Mathematics, and
Natural Sciences
Daniel Borkmann Anomaly detection and trend analysis
Data collection Data analysis Links & Q+A
Links
Thesis: http://edoc.mpg.de/437809
netsniff-ng: http://netsniff-ng.googlecode.com
All the rest8: <dborkmann@acm.org>
8
It’s still a prototype ...
Daniel Borkmann Anomaly detection and trend analysis
Data collection Data analysis Links & Q+A
Q+A?
Daniel Borkmann Anomaly detection and trend analysis

More Related Content

What's hot

ODSC 2019: Sessionisation via stochastic periods for root event identification
ODSC 2019: Sessionisation via stochastic periods for root event identificationODSC 2019: Sessionisation via stochastic periods for root event identification
ODSC 2019: Sessionisation via stochastic periods for root event identification
Kuldeep Jiwani
 
Alex Smola, Director of Machine Learning, AWS/Amazon, at MLconf SF 2016
Alex Smola, Director of Machine Learning, AWS/Amazon, at MLconf SF 2016Alex Smola, Director of Machine Learning, AWS/Amazon, at MLconf SF 2016
Alex Smola, Director of Machine Learning, AWS/Amazon, at MLconf SF 2016
MLconf
 
Evaluating Classification Algorithms Applied To Data Streams Esteban Donato
Evaluating Classification Algorithms Applied To Data Streams   Esteban DonatoEvaluating Classification Algorithms Applied To Data Streams   Esteban Donato
Evaluating Classification Algorithms Applied To Data Streams Esteban Donato
Esteban Donato
 
Distributed Decision Tree Learning for Mining Big Data Streams
Distributed Decision Tree Learning for Mining Big Data StreamsDistributed Decision Tree Learning for Mining Big Data Streams
Distributed Decision Tree Learning for Mining Big Data Streams
Arinto Murdopo
 
5.1 mining data streams
5.1 mining data streams5.1 mining data streams
5.1 mining data streams
Krish_ver2
 
Mahoney mlconf-nov13
Mahoney mlconf-nov13Mahoney mlconf-nov13
Mahoney mlconf-nov13
MLconf
 
OpenML.org: Networked Science and IoT Data Streams by Jan van Rijn, Universit...
OpenML.org: Networked Science and IoT Data Streams by Jan van Rijn, Universit...OpenML.org: Networked Science and IoT Data Streams by Jan van Rijn, Universit...
OpenML.org: Networked Science and IoT Data Streams by Jan van Rijn, Universit...
EuroIoTa
 
Lowering the bar: deep learning for side-channel analysis
Lowering the bar: deep learning for side-channel analysisLowering the bar: deep learning for side-channel analysis
Lowering the bar: deep learning for side-channel analysis
Riscure
 
Learning visual representation without human label
Learning visual representation without human labelLearning visual representation without human label
Learning visual representation without human label
Kai-Wen Zhao
 
H2O Deep Learning at Next.ML
H2O Deep Learning at Next.MLH2O Deep Learning at Next.ML
H2O Deep Learning at Next.ML
Sri Ambati
 
Deep Stream Dynamic Graph Analytics with Grapharis - Massimo Perini
Deep Stream Dynamic Graph Analytics with Grapharis -  Massimo PeriniDeep Stream Dynamic Graph Analytics with Grapharis -  Massimo Perini
Deep Stream Dynamic Graph Analytics with Grapharis - Massimo Perini
Flink Forward
 
AWS re:Invent 2016: Using MXNet for Recommendation Modeling at Scale (MAC306)
AWS re:Invent 2016: Using MXNet for Recommendation Modeling at Scale (MAC306)AWS re:Invent 2016: Using MXNet for Recommendation Modeling at Scale (MAC306)
AWS re:Invent 2016: Using MXNet for Recommendation Modeling at Scale (MAC306)
Amazon Web Services
 
Object Detection (D2L5 Insight@DCU Machine Learning Workshop 2017)
Object Detection (D2L5 Insight@DCU Machine Learning Workshop 2017)Object Detection (D2L5 Insight@DCU Machine Learning Workshop 2017)
Object Detection (D2L5 Insight@DCU Machine Learning Workshop 2017)
Universitat Politècnica de Catalunya
 
Real-Time Big Data Stream Analytics
Real-Time Big Data Stream AnalyticsReal-Time Big Data Stream Analytics
Real-Time Big Data Stream Analytics
Albert Bifet
 
TensorFlow in 3 sentences
TensorFlow in 3 sentencesTensorFlow in 3 sentences
TensorFlow in 3 sentences
Barbara Fusinska
 
Distance oracle - Truy vấn nhanh khoảng cách giữa hai điểm bất kỳ trên đồ thị
Distance oracle - Truy vấn nhanh khoảng cách giữa hai điểm bất kỳ trên đồ thịDistance oracle - Truy vấn nhanh khoảng cách giữa hai điểm bất kỳ trên đồ thị
Distance oracle - Truy vấn nhanh khoảng cách giữa hai điểm bất kỳ trên đồ thị
Hong Ong
 
20110620 amst rdam_kpb
20110620 amst rdam_kpb20110620 amst rdam_kpb
20110620 amst rdam_kpb
Konrad Banachewicz
 
[241]large scale search with polysemous codes
[241]large scale search with polysemous codes[241]large scale search with polysemous codes
[241]large scale search with polysemous codes
NAVER D2
 
Deep Learning through Examples
Deep Learning through ExamplesDeep Learning through Examples
Deep Learning through Examples
Sri Ambati
 
Albert Bifet – Apache Samoa: Mining Big Data Streams with Apache Flink
Albert Bifet – Apache Samoa: Mining Big Data Streams with Apache FlinkAlbert Bifet – Apache Samoa: Mining Big Data Streams with Apache Flink
Albert Bifet – Apache Samoa: Mining Big Data Streams with Apache Flink
Flink Forward
 

What's hot (20)

ODSC 2019: Sessionisation via stochastic periods for root event identification
ODSC 2019: Sessionisation via stochastic periods for root event identificationODSC 2019: Sessionisation via stochastic periods for root event identification
ODSC 2019: Sessionisation via stochastic periods for root event identification
 
Alex Smola, Director of Machine Learning, AWS/Amazon, at MLconf SF 2016
Alex Smola, Director of Machine Learning, AWS/Amazon, at MLconf SF 2016Alex Smola, Director of Machine Learning, AWS/Amazon, at MLconf SF 2016
Alex Smola, Director of Machine Learning, AWS/Amazon, at MLconf SF 2016
 
Evaluating Classification Algorithms Applied To Data Streams Esteban Donato
Evaluating Classification Algorithms Applied To Data Streams   Esteban DonatoEvaluating Classification Algorithms Applied To Data Streams   Esteban Donato
Evaluating Classification Algorithms Applied To Data Streams Esteban Donato
 
Distributed Decision Tree Learning for Mining Big Data Streams
Distributed Decision Tree Learning for Mining Big Data StreamsDistributed Decision Tree Learning for Mining Big Data Streams
Distributed Decision Tree Learning for Mining Big Data Streams
 
5.1 mining data streams
5.1 mining data streams5.1 mining data streams
5.1 mining data streams
 
Mahoney mlconf-nov13
Mahoney mlconf-nov13Mahoney mlconf-nov13
Mahoney mlconf-nov13
 
OpenML.org: Networked Science and IoT Data Streams by Jan van Rijn, Universit...
OpenML.org: Networked Science and IoT Data Streams by Jan van Rijn, Universit...OpenML.org: Networked Science and IoT Data Streams by Jan van Rijn, Universit...
OpenML.org: Networked Science and IoT Data Streams by Jan van Rijn, Universit...
 
Lowering the bar: deep learning for side-channel analysis
Lowering the bar: deep learning for side-channel analysisLowering the bar: deep learning for side-channel analysis
Lowering the bar: deep learning for side-channel analysis
 
Learning visual representation without human label
Learning visual representation without human labelLearning visual representation without human label
Learning visual representation without human label
 
H2O Deep Learning at Next.ML
H2O Deep Learning at Next.MLH2O Deep Learning at Next.ML
H2O Deep Learning at Next.ML
 
Deep Stream Dynamic Graph Analytics with Grapharis - Massimo Perini
Deep Stream Dynamic Graph Analytics with Grapharis -  Massimo PeriniDeep Stream Dynamic Graph Analytics with Grapharis -  Massimo Perini
Deep Stream Dynamic Graph Analytics with Grapharis - Massimo Perini
 
AWS re:Invent 2016: Using MXNet for Recommendation Modeling at Scale (MAC306)
AWS re:Invent 2016: Using MXNet for Recommendation Modeling at Scale (MAC306)AWS re:Invent 2016: Using MXNet for Recommendation Modeling at Scale (MAC306)
AWS re:Invent 2016: Using MXNet for Recommendation Modeling at Scale (MAC306)
 
Object Detection (D2L5 Insight@DCU Machine Learning Workshop 2017)
Object Detection (D2L5 Insight@DCU Machine Learning Workshop 2017)Object Detection (D2L5 Insight@DCU Machine Learning Workshop 2017)
Object Detection (D2L5 Insight@DCU Machine Learning Workshop 2017)
 
Real-Time Big Data Stream Analytics
Real-Time Big Data Stream AnalyticsReal-Time Big Data Stream Analytics
Real-Time Big Data Stream Analytics
 
TensorFlow in 3 sentences
TensorFlow in 3 sentencesTensorFlow in 3 sentences
TensorFlow in 3 sentences
 
Distance oracle - Truy vấn nhanh khoảng cách giữa hai điểm bất kỳ trên đồ thị
Distance oracle - Truy vấn nhanh khoảng cách giữa hai điểm bất kỳ trên đồ thịDistance oracle - Truy vấn nhanh khoảng cách giữa hai điểm bất kỳ trên đồ thị
Distance oracle - Truy vấn nhanh khoảng cách giữa hai điểm bất kỳ trên đồ thị
 
20110620 amst rdam_kpb
20110620 amst rdam_kpb20110620 amst rdam_kpb
20110620 amst rdam_kpb
 
[241]large scale search with polysemous codes
[241]large scale search with polysemous codes[241]large scale search with polysemous codes
[241]large scale search with polysemous codes
 
Deep Learning through Examples
Deep Learning through ExamplesDeep Learning through Examples
Deep Learning through Examples
 
Albert Bifet – Apache Samoa: Mining Big Data Streams with Apache Flink
Albert Bifet – Apache Samoa: Mining Big Data Streams with Apache FlinkAlbert Bifet – Apache Samoa: Mining Big Data Streams with Apache Flink
Albert Bifet – Apache Samoa: Mining Big Data Streams with Apache Flink
 

Similar to OSMC 2009 | Anomalieerkennung und Trendvorhersagen an Hand von Daten aus NagiosGrapher by Daniel Borkmann

Ns fundamentals 1
Ns fundamentals 1Ns fundamentals 1
Ns fundamentals 1
narmada alaparthi
 
CIFAR-10 for DAWNBench: Wide ResNets, Mixup Augmentation and "Super Convergen...
CIFAR-10 for DAWNBench: Wide ResNets, Mixup Augmentation and "Super Convergen...CIFAR-10 for DAWNBench: Wide ResNets, Mixup Augmentation and "Super Convergen...
CIFAR-10 for DAWNBench: Wide ResNets, Mixup Augmentation and "Super Convergen...
Thom Lane
 
BWC Supercomputing 2008 Presentation
BWC Supercomputing 2008 PresentationBWC Supercomputing 2008 Presentation
BWC Supercomputing 2008 Presentation
lilyco
 
Synapse 2018 Guarding against failure in a hundred step pipeline
Synapse 2018 Guarding against failure in a hundred step pipelineSynapse 2018 Guarding against failure in a hundred step pipeline
Synapse 2018 Guarding against failure in a hundred step pipeline
Calvin French-Owen
 
Developing and Deploying Deep Learning Based Computer Vision Systems - Alka N...
Developing and Deploying Deep Learning Based Computer Vision Systems - Alka N...Developing and Deploying Deep Learning Based Computer Vision Systems - Alka N...
Developing and Deploying Deep Learning Based Computer Vision Systems - Alka N...
CodeOps Technologies LLP
 
Lens: Data exploration with Dask and Jupyter widgets
Lens: Data exploration with Dask and Jupyter widgetsLens: Data exploration with Dask and Jupyter widgets
Lens: Data exploration with Dask and Jupyter widgets
Víctor Zabalza
 
C2MON - A highly scalable monitoring platform for Big Data scenarios @CERN by...
C2MON - A highly scalable monitoring platform for Big Data scenarios @CERN by...C2MON - A highly scalable monitoring platform for Big Data scenarios @CERN by...
C2MON - A highly scalable monitoring platform for Big Data scenarios @CERN by...
J On The Beach
 
Real time-image-processing-applied-to-traffic-queue-detection-algorithm
Real time-image-processing-applied-to-traffic-queue-detection-algorithmReal time-image-processing-applied-to-traffic-queue-detection-algorithm
Real time-image-processing-applied-to-traffic-queue-detection-algorithm
ajayrampelli
 
How we use functional programming to find the bad guys @ Build Stuff LT and U...
How we use functional programming to find the bad guys @ Build Stuff LT and U...How we use functional programming to find the bad guys @ Build Stuff LT and U...
How we use functional programming to find the bad guys @ Build Stuff LT and U...
Richard Minerich
 
~Ns2~
~Ns2~~Ns2~
Detecting Hacks: Anomaly Detection on Networking Data
Detecting Hacks: Anomaly Detection on Networking DataDetecting Hacks: Anomaly Detection on Networking Data
Detecting Hacks: Anomaly Detection on Networking Data
James Sirota
 
The post release technologies of Crysis 3 (Slides Only) - Stewart Needham
The post release technologies of Crysis 3 (Slides Only) - Stewart NeedhamThe post release technologies of Crysis 3 (Slides Only) - Stewart Needham
The post release technologies of Crysis 3 (Slides Only) - Stewart Needham
Stewart Needham
 
Monitoring Big Data Systems Done "The Simple Way" - Demi Ben-Ari - Codemotion...
Monitoring Big Data Systems Done "The Simple Way" - Demi Ben-Ari - Codemotion...Monitoring Big Data Systems Done "The Simple Way" - Demi Ben-Ari - Codemotion...
Monitoring Big Data Systems Done "The Simple Way" - Demi Ben-Ari - Codemotion...
Codemotion
 
Monitoring Big Data Systems "Done the simple way" - Demi Ben-Ari - Codemotion...
Monitoring Big Data Systems "Done the simple way" - Demi Ben-Ari - Codemotion...Monitoring Big Data Systems "Done the simple way" - Demi Ben-Ari - Codemotion...
Monitoring Big Data Systems "Done the simple way" - Demi Ben-Ari - Codemotion...
Demi Ben-Ari
 
Detecting Hacks: Anomaly Detection on Networking Data
Detecting Hacks: Anomaly Detection on Networking DataDetecting Hacks: Anomaly Detection on Networking Data
Detecting Hacks: Anomaly Detection on Networking Data
DataWorks Summit
 
Large Infrastructure Monitoring At CERN by Matthias Braeger at Big Data Spain...
Large Infrastructure Monitoring At CERN by Matthias Braeger at Big Data Spain...Large Infrastructure Monitoring At CERN by Matthias Braeger at Big Data Spain...
Large Infrastructure Monitoring At CERN by Matthias Braeger at Big Data Spain...
Big Data Spain
 
Dpdk applications
Dpdk applicationsDpdk applications
Dpdk applications
Vipin Varghese
 
SDN approach.pptx
SDN approach.pptxSDN approach.pptx
SDN approach.pptx
TrongMinhHoang1
 
Tutorial-on-DNN-09A-Co-design-Sparsity.pdf
Tutorial-on-DNN-09A-Co-design-Sparsity.pdfTutorial-on-DNN-09A-Co-design-Sparsity.pdf
Tutorial-on-DNN-09A-Co-design-Sparsity.pdf
Duy-Hieu Bui
 
Data Summer Conf 2018, “How we build Computer vision as a service (ENG)” — Ro...
Data Summer Conf 2018, “How we build Computer vision as a service (ENG)” — Ro...Data Summer Conf 2018, “How we build Computer vision as a service (ENG)” — Ro...
Data Summer Conf 2018, “How we build Computer vision as a service (ENG)” — Ro...
Provectus
 

Similar to OSMC 2009 | Anomalieerkennung und Trendvorhersagen an Hand von Daten aus NagiosGrapher by Daniel Borkmann (20)

Ns fundamentals 1
Ns fundamentals 1Ns fundamentals 1
Ns fundamentals 1
 
CIFAR-10 for DAWNBench: Wide ResNets, Mixup Augmentation and "Super Convergen...
CIFAR-10 for DAWNBench: Wide ResNets, Mixup Augmentation and "Super Convergen...CIFAR-10 for DAWNBench: Wide ResNets, Mixup Augmentation and "Super Convergen...
CIFAR-10 for DAWNBench: Wide ResNets, Mixup Augmentation and "Super Convergen...
 
BWC Supercomputing 2008 Presentation
BWC Supercomputing 2008 PresentationBWC Supercomputing 2008 Presentation
BWC Supercomputing 2008 Presentation
 
Synapse 2018 Guarding against failure in a hundred step pipeline
Synapse 2018 Guarding against failure in a hundred step pipelineSynapse 2018 Guarding against failure in a hundred step pipeline
Synapse 2018 Guarding against failure in a hundred step pipeline
 
Developing and Deploying Deep Learning Based Computer Vision Systems - Alka N...
Developing and Deploying Deep Learning Based Computer Vision Systems - Alka N...Developing and Deploying Deep Learning Based Computer Vision Systems - Alka N...
Developing and Deploying Deep Learning Based Computer Vision Systems - Alka N...
 
Lens: Data exploration with Dask and Jupyter widgets
Lens: Data exploration with Dask and Jupyter widgetsLens: Data exploration with Dask and Jupyter widgets
Lens: Data exploration with Dask and Jupyter widgets
 
C2MON - A highly scalable monitoring platform for Big Data scenarios @CERN by...
C2MON - A highly scalable monitoring platform for Big Data scenarios @CERN by...C2MON - A highly scalable monitoring platform for Big Data scenarios @CERN by...
C2MON - A highly scalable monitoring platform for Big Data scenarios @CERN by...
 
Real time-image-processing-applied-to-traffic-queue-detection-algorithm
Real time-image-processing-applied-to-traffic-queue-detection-algorithmReal time-image-processing-applied-to-traffic-queue-detection-algorithm
Real time-image-processing-applied-to-traffic-queue-detection-algorithm
 
How we use functional programming to find the bad guys @ Build Stuff LT and U...
How we use functional programming to find the bad guys @ Build Stuff LT and U...How we use functional programming to find the bad guys @ Build Stuff LT and U...
How we use functional programming to find the bad guys @ Build Stuff LT and U...
 
~Ns2~
~Ns2~~Ns2~
~Ns2~
 
Detecting Hacks: Anomaly Detection on Networking Data
Detecting Hacks: Anomaly Detection on Networking DataDetecting Hacks: Anomaly Detection on Networking Data
Detecting Hacks: Anomaly Detection on Networking Data
 
The post release technologies of Crysis 3 (Slides Only) - Stewart Needham
The post release technologies of Crysis 3 (Slides Only) - Stewart NeedhamThe post release technologies of Crysis 3 (Slides Only) - Stewart Needham
The post release technologies of Crysis 3 (Slides Only) - Stewart Needham
 
Monitoring Big Data Systems Done "The Simple Way" - Demi Ben-Ari - Codemotion...
Monitoring Big Data Systems Done "The Simple Way" - Demi Ben-Ari - Codemotion...Monitoring Big Data Systems Done "The Simple Way" - Demi Ben-Ari - Codemotion...
Monitoring Big Data Systems Done "The Simple Way" - Demi Ben-Ari - Codemotion...
 
Monitoring Big Data Systems "Done the simple way" - Demi Ben-Ari - Codemotion...
Monitoring Big Data Systems "Done the simple way" - Demi Ben-Ari - Codemotion...Monitoring Big Data Systems "Done the simple way" - Demi Ben-Ari - Codemotion...
Monitoring Big Data Systems "Done the simple way" - Demi Ben-Ari - Codemotion...
 
Detecting Hacks: Anomaly Detection on Networking Data
Detecting Hacks: Anomaly Detection on Networking DataDetecting Hacks: Anomaly Detection on Networking Data
Detecting Hacks: Anomaly Detection on Networking Data
 
Large Infrastructure Monitoring At CERN by Matthias Braeger at Big Data Spain...
Large Infrastructure Monitoring At CERN by Matthias Braeger at Big Data Spain...Large Infrastructure Monitoring At CERN by Matthias Braeger at Big Data Spain...
Large Infrastructure Monitoring At CERN by Matthias Braeger at Big Data Spain...
 
Dpdk applications
Dpdk applicationsDpdk applications
Dpdk applications
 
SDN approach.pptx
SDN approach.pptxSDN approach.pptx
SDN approach.pptx
 
Tutorial-on-DNN-09A-Co-design-Sparsity.pdf
Tutorial-on-DNN-09A-Co-design-Sparsity.pdfTutorial-on-DNN-09A-Co-design-Sparsity.pdf
Tutorial-on-DNN-09A-Co-design-Sparsity.pdf
 
Data Summer Conf 2018, “How we build Computer vision as a service (ENG)” — Ro...
Data Summer Conf 2018, “How we build Computer vision as a service (ENG)” — Ro...Data Summer Conf 2018, “How we build Computer vision as a service (ENG)” — Ro...
Data Summer Conf 2018, “How we build Computer vision as a service (ENG)” — Ro...
 

Recently uploaded

APIs for Browser Automation (MoT Meetup 2024)
APIs for Browser Automation (MoT Meetup 2024)APIs for Browser Automation (MoT Meetup 2024)
APIs for Browser Automation (MoT Meetup 2024)
Boni García
 
AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI App
AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI AppAI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI App
AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI App
Google
 
LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOMLORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
lorraineandreiamcidl
 
Hand Rolled Applicative User Validation Code Kata
Hand Rolled Applicative User ValidationCode KataHand Rolled Applicative User ValidationCode Kata
Hand Rolled Applicative User Validation Code Kata
Philip Schwarz
 
Orion Context Broker introduction 20240604
Orion Context Broker introduction 20240604Orion Context Broker introduction 20240604
Orion Context Broker introduction 20240604
Fermin Galan
 
SWEBOK and Education at FUSE Okinawa 2024
SWEBOK and Education at FUSE Okinawa 2024SWEBOK and Education at FUSE Okinawa 2024
SWEBOK and Education at FUSE Okinawa 2024
Hironori Washizaki
 
GreenCode-A-VSCode-Plugin--Dario-Jurisic
GreenCode-A-VSCode-Plugin--Dario-JurisicGreenCode-A-VSCode-Plugin--Dario-Jurisic
GreenCode-A-VSCode-Plugin--Dario-Jurisic
Green Software Development
 
Energy consumption of Database Management - Florina Jonuzi
Energy consumption of Database Management - Florina JonuziEnergy consumption of Database Management - Florina Jonuzi
Energy consumption of Database Management - Florina Jonuzi
Green Software Development
 
Neo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
Neo4j - Product Vision and Knowledge Graphs - GraphSummit ParisNeo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
Neo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
Neo4j
 
socradar-q1-2024-aviation-industry-report.pdf
socradar-q1-2024-aviation-industry-report.pdfsocradar-q1-2024-aviation-industry-report.pdf
socradar-q1-2024-aviation-industry-report.pdf
SOCRadar
 
Vitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke Java Microservices Resume.pdfVitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke
 
Using Xen Hypervisor for Functional Safety
Using Xen Hypervisor for Functional SafetyUsing Xen Hypervisor for Functional Safety
Using Xen Hypervisor for Functional Safety
Ayan Halder
 
DDS-Security 1.2 - What's New? Stronger security for long-running systems
DDS-Security 1.2 - What's New? Stronger security for long-running systemsDDS-Security 1.2 - What's New? Stronger security for long-running systems
DDS-Security 1.2 - What's New? Stronger security for long-running systems
Gerardo Pardo-Castellote
 
UI5con 2024 - Boost Your Development Experience with UI5 Tooling Extensions
UI5con 2024 - Boost Your Development Experience with UI5 Tooling ExtensionsUI5con 2024 - Boost Your Development Experience with UI5 Tooling Extensions
UI5con 2024 - Boost Your Development Experience with UI5 Tooling Extensions
Peter Muessig
 
Transform Your Communication with Cloud-Based IVR Solutions
Transform Your Communication with Cloud-Based IVR SolutionsTransform Your Communication with Cloud-Based IVR Solutions
Transform Your Communication with Cloud-Based IVR Solutions
TheSMSPoint
 
May Marketo Masterclass, London MUG May 22 2024.pdf
May Marketo Masterclass, London MUG May 22 2024.pdfMay Marketo Masterclass, London MUG May 22 2024.pdf
May Marketo Masterclass, London MUG May 22 2024.pdf
Adele Miller
 
OpenMetadata Community Meeting - 5th June 2024
OpenMetadata Community Meeting - 5th June 2024OpenMetadata Community Meeting - 5th June 2024
OpenMetadata Community Meeting - 5th June 2024
OpenMetadata
 
A Study of Variable-Role-based Feature Enrichment in Neural Models of Code
A Study of Variable-Role-based Feature Enrichment in Neural Models of CodeA Study of Variable-Role-based Feature Enrichment in Neural Models of Code
A Study of Variable-Role-based Feature Enrichment in Neural Models of Code
Aftab Hussain
 
Revolutionizing Visual Effects Mastering AI Face Swaps.pdf
Revolutionizing Visual Effects Mastering AI Face Swaps.pdfRevolutionizing Visual Effects Mastering AI Face Swaps.pdf
Revolutionizing Visual Effects Mastering AI Face Swaps.pdf
Undress Baby
 
2024 eCommerceDays Toulouse - Sylius 2.0.pdf
2024 eCommerceDays Toulouse - Sylius 2.0.pdf2024 eCommerceDays Toulouse - Sylius 2.0.pdf
2024 eCommerceDays Toulouse - Sylius 2.0.pdf
Łukasz Chruściel
 

Recently uploaded (20)

APIs for Browser Automation (MoT Meetup 2024)
APIs for Browser Automation (MoT Meetup 2024)APIs for Browser Automation (MoT Meetup 2024)
APIs for Browser Automation (MoT Meetup 2024)
 
AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI App
AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI AppAI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI App
AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI App
 
LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOMLORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
 
Hand Rolled Applicative User Validation Code Kata
Hand Rolled Applicative User ValidationCode KataHand Rolled Applicative User ValidationCode Kata
Hand Rolled Applicative User Validation Code Kata
 
Orion Context Broker introduction 20240604
Orion Context Broker introduction 20240604Orion Context Broker introduction 20240604
Orion Context Broker introduction 20240604
 
SWEBOK and Education at FUSE Okinawa 2024
SWEBOK and Education at FUSE Okinawa 2024SWEBOK and Education at FUSE Okinawa 2024
SWEBOK and Education at FUSE Okinawa 2024
 
GreenCode-A-VSCode-Plugin--Dario-Jurisic
GreenCode-A-VSCode-Plugin--Dario-JurisicGreenCode-A-VSCode-Plugin--Dario-Jurisic
GreenCode-A-VSCode-Plugin--Dario-Jurisic
 
Energy consumption of Database Management - Florina Jonuzi
Energy consumption of Database Management - Florina JonuziEnergy consumption of Database Management - Florina Jonuzi
Energy consumption of Database Management - Florina Jonuzi
 
Neo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
Neo4j - Product Vision and Knowledge Graphs - GraphSummit ParisNeo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
Neo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
 
socradar-q1-2024-aviation-industry-report.pdf
socradar-q1-2024-aviation-industry-report.pdfsocradar-q1-2024-aviation-industry-report.pdf
socradar-q1-2024-aviation-industry-report.pdf
 
Vitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke Java Microservices Resume.pdfVitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke Java Microservices Resume.pdf
 
Using Xen Hypervisor for Functional Safety
Using Xen Hypervisor for Functional SafetyUsing Xen Hypervisor for Functional Safety
Using Xen Hypervisor for Functional Safety
 
DDS-Security 1.2 - What's New? Stronger security for long-running systems
DDS-Security 1.2 - What's New? Stronger security for long-running systemsDDS-Security 1.2 - What's New? Stronger security for long-running systems
DDS-Security 1.2 - What's New? Stronger security for long-running systems
 
UI5con 2024 - Boost Your Development Experience with UI5 Tooling Extensions
UI5con 2024 - Boost Your Development Experience with UI5 Tooling ExtensionsUI5con 2024 - Boost Your Development Experience with UI5 Tooling Extensions
UI5con 2024 - Boost Your Development Experience with UI5 Tooling Extensions
 
Transform Your Communication with Cloud-Based IVR Solutions
Transform Your Communication with Cloud-Based IVR SolutionsTransform Your Communication with Cloud-Based IVR Solutions
Transform Your Communication with Cloud-Based IVR Solutions
 
May Marketo Masterclass, London MUG May 22 2024.pdf
May Marketo Masterclass, London MUG May 22 2024.pdfMay Marketo Masterclass, London MUG May 22 2024.pdf
May Marketo Masterclass, London MUG May 22 2024.pdf
 
OpenMetadata Community Meeting - 5th June 2024
OpenMetadata Community Meeting - 5th June 2024OpenMetadata Community Meeting - 5th June 2024
OpenMetadata Community Meeting - 5th June 2024
 
A Study of Variable-Role-based Feature Enrichment in Neural Models of Code
A Study of Variable-Role-based Feature Enrichment in Neural Models of CodeA Study of Variable-Role-based Feature Enrichment in Neural Models of Code
A Study of Variable-Role-based Feature Enrichment in Neural Models of Code
 
Revolutionizing Visual Effects Mastering AI Face Swaps.pdf
Revolutionizing Visual Effects Mastering AI Face Swaps.pdfRevolutionizing Visual Effects Mastering AI Face Swaps.pdf
Revolutionizing Visual Effects Mastering AI Face Swaps.pdf
 
2024 eCommerceDays Toulouse - Sylius 2.0.pdf
2024 eCommerceDays Toulouse - Sylius 2.0.pdf2024 eCommerceDays Toulouse - Sylius 2.0.pdf
2024 eCommerceDays Toulouse - Sylius 2.0.pdf
 

OSMC 2009 | Anomalieerkennung und Trendvorhersagen an Hand von Daten aus NagiosGrapher by Daniel Borkmann

  • 1. Anomaly detection and trend analysis of critical system states based on Nagios payload Daniel Borkmann <dborkmann@acm.org> (Open Source Monitoring Conference 2009) Leipzig University of Applied Science, Faculty of Computer Science, Mathematics, and Natural Sciences Max Planck Institute for Human Cognitive and Brain Sciences, IT Department October 28, 2009
  • 3. Worst-Case: User detects failure within system and reports to IT-Hotline (frustration on both sides) Best-Case: Failure is detected and fixed before user notices anything (frustration on only one side)
  • 4. We face the situation ... Nagios can only detect failures via static thresholds1 Is perfect for requesting boolean values (e.g. host is up or not) But not so much in combination with numerical data from certain processes ... ... process behaviour changes over the time, our static thresholds do not ... what if behaviour is anomalous within thresholds? Network traffic, # Mail users, Temperature sensors, ... 1 OK, WARNING, CRITICAL, UNKNOWN
  • 5. We face the situation ... Can we predict the future?2 Nagios has no possibility for payload extrapolation (trend) Possible Use Cases Software licences (e.g. Matlab), Network: volume-based restrictions, HD capacity, Stock quotes ;) 2 ... rhetorical question
  • 6. 1 Data collection Sniffing bytes over the net ... netsniff-ng Integration into Nagios 2 Data analysis Assumptions about our data ... Anomaly detection techniques Holt-Winters-Forecasting (and some improvements) Clusteranalysis approach Interface to NagiosGrapher Trend analysis Levenberg-Marquardt REA-Framework 3 Links & Q+A
  • 8. Data collection Data analysis Links & Q+A Data collection For our analysis we need some numerical data ... ... as an example, we fetch network packets and generate statistics Let’s have a short look ... Daniel Borkmann Anomaly detection and trend analysis
  • 9. Sniffing bytes over the net ... netsniff-ng
  • 10. Data collection Data analysis Links & Q+A tcpdump, libpcap Lets evaluate what could be used ... tcpdump is a userspace network sniffer based on libpcap libpcap: libpcap is a system-independent interface for user-level packet capture. libpcap provides a portable framework for low-level network monitoring. Applications include network statistics collection, security monitoring, network debugging, etc.3 3 http://sourceforge.net/projects/libpcap/ Daniel Borkmann Anomaly detection and trend analysis
  • 11. Data collection Data analysis Links & Q+A tcpdump, libpcap libpcap programming isn’t hard, so here we go ... writing a sniffer for Nagios based on libpcap Sounds great, doesn’t it? Daniel Borkmann Anomaly detection and trend analysis
  • 12. Data collection Data analysis Links & Q+A tcpdump, libpcap tcpdump -i eth0 -n arp strace clarifies our question ... recvfrom(3, "377377377377377377032ME|2111060110064".. ., 96, MSG_TRUNC, {sa_family=AF_PACKET, proto=0x806, if50, pkttype= PACKET_BROADCAST, addr(6)={1, 001a4d457c89}, [18]) = 60 ioctl(3, SIOCGSTAMP, 0xbfb43e70) = 0 write(1, "16:14:50.538813 arp who-has 10.0"..., 5516:14:50.538813 arp who-has 10.0.53.26 tell 10.0.63.10) = 55 recvfrom(3, "37737737737737737704v24333024210601100".. ., 96, MSG_TRUNC, {sa_family=AF_PACKET, proto=0x806, if50, pkttype= PACKET_BROADCAST, addr(6)={1, 000476a3d8a2}, [18]) = 60 ioctl(3, SIOCGSTAMP, 0xbfb43e70) = 0 write(1, "16:14:50.624868 arp who-has 10.0"..., 5616:14:50.624868 arp who-has 10.0.63.53 tell 10.0.54.184) = 56 Daniel Borkmann Anomaly detection and trend analysis
  • 13. Data collection Data analysis Links & Q+A tcpdump, libpcap For every incoming frame a recvfrom-Syscall is executed What does that mean? recvfrom(...) Buffer will be copied from Userspace to Kernelspace4 Context switch (done by Scheduler / Dispatcher) Buffer will be copied from Kernelspace back to Userspace5 Context switch (done by Scheduler / Dispatcher) ... very time intensive if done for each frame! ... possible frame drops for socket during high traffic 4 copy from user() 5 copy to user() Daniel Borkmann Anomaly detection and trend analysis
  • 14. Data collection Data analysis Links & Q+A netsniff-ng High performance network sniffer Consists of netsniff-ng check packets (client for Nagios) Daniel Borkmann Anomaly detection and trend analysis
  • 15. Data collection Data analysis Links & Q+A netsniff-ng features The sniffer itself ... Runs in promiscuous mode Bypasses the complete network stack Uses Kernelspace Berkeley Packet Filter (BPF) Allocates 128 MB or less (probing) Kernelspace Receive Ring (RX RING) Ring is Memory-Mapped into Userspace (so no Syscalls like recvfrom() needed → Zero-Copy) Branchfree critical path (so we won’t smash the Pipeline) Tested on Gigabit without packet loss Can be run as Sysdaemon (silent, creates UDS Server for communication) or in foreground Daniel Borkmann Anomaly detection and trend analysis
  • 16. Data collection Data analysis Links & Q+A netsniff-ng features netsniff-ng -d eth0 -f /etc/netsniff-ng/rules/arp.bpf -C strace again, looks better now ... rt_sigprocmask(SIG_BLOCK, [USR1 ALRM], NULL, 8) = 0 rt_sigprocmask(SIG_UNBLOCK, [USR1 ALRM], NULL, 8) = 0 poll([{fd=3, events=POLLIN|POLLERR, revents=POLLIN}], 1, -1) = 1 write(2, "I: ", 3I: ) = 3 write(2, "60 bytes from 00:1a:4d:45:7c:89 "..., 5360 bytes from 00: 1a:4d:45:7c:89 to ff:ff:ff:ff:ff:ff) = 53 rt_sigprocmask(SIG_BLOCK, [USR1 ALRM], NULL, 8) = 0 rt_sigprocmask(SIG_UNBLOCK, [USR1 ALRM], NULL, 8) = 0 poll([{fd=3, events=POLLIN|POLLERR, revents=POLLIN}], 1, -1) = 1 write(2, "I: ", 3I: ) = 3 write(2, "60 bytes from 00:10:5a:d8:9a:a4 "..., 5360 bytes from 00:10: 5a:d8:9a:a4 to ff:ff:ff:ff:ff:ff) = 53 Daniel Borkmann Anomaly detection and trend analysis
  • 17. Data collection Data analysis Links & Q+A netsniff-ng features netsniff-ng -d eth0 -f /etc/netsniff-ng/rules/icmp.bpf ICMP-Flooding; only 0-3% CPU usage of netsniff-ng during tests I: elapsed time: 0 d, 0 h, 4 min, 45 s I: -----------+------------------+------------------+------------------ I: | per sec | per min | total I: -----------+------------------+------------------+------------------ I: frames | 80201 | 4696273 | 20149411 I: -----------+------------------+------------------+------------------ I: in B | 119622775 | 7003546464 | 30048067864 I: in KB | 116819 | 6839400 | 29343816 I: in MB | 114 | 6679 | 28656 I: in GB | 0 | 6 | 27 I: -----------+------------------+------------------+------------------ [...] I: 23724545 frames incoming I: 23724545 frames passed filter I: 0 frames failed filter (due to out of space) I: captured frames: 23724545, captured bytes: 35377999772 [34548827 KB, 33739 MB, 32 GB] Daniel Borkmann Anomaly detection and trend analysis
  • 18. Data collection Data analysis Links & Q+A check packets features Is a Unix Domain Socket Client for netsniff-ng Fetches collected network statistics at runtime via UDS inode -n option for creating Nagios one-liner → Performance data Simple Nagios integration with NRPE or check by ssh Daniel Borkmann Anomaly detection and trend analysis
  • 20. Data collection Data analysis Links & Q+A Integration into Nagios Runs 24x7 on MPI router (DMZ ⇔ Router ⇔ Internet) 6 instances running with following BPFs: All HTTP Broadcast SSH Webserver Mailserver traffic Data will be passed via check by ssh6 (Port 22) through our internal Firewall to our Nagios server Visualization realized by NagiosGrapher via Round Robin Databases 6 NRPE inappropriate in our case Daniel Borkmann Anomaly detection and trend analysis
  • 21. Data collection Data analysis Links & Q+A Some results ({Sec|}IMAP, {Sec|}SMTP, POP3, HTTP traffic to our Zimbra mailserver) Daniel Borkmann Anomaly detection and trend analysis
  • 22. Data collection Data analysis Links & Q+A Some results (Broadcast traffic) Daniel Borkmann Anomaly detection and trend analysis
  • 25. Data collection Data analysis Links & Q+A Assumptions Generally our monitored processes equal Stochastic processes Incoming anomalies itself are regarded as Poisson processes A single data point has ... Baseline ( ” intercept“) or irregular component Linear trend ( ” slope“) component Seasonal trend (at least one) We assume components are additive Daniel Borkmann Anomaly detection and trend analysis
  • 28. Data collection Data analysis Links & Q+A Holt-Winters-Forecasting Based on exponential smoothing (recent data have higher weights than older ones): ˆyt+1 = αyt + (1 − α)ˆyt with 0 < α < 1 Decomposition of time series into components with triple exponential smoothing technique Multiplicative and additive versions Forecast of the near future (with +/− deviation), check if actual value falls into expected interval (if not: anomaly after breaking thresholds) Daniel Borkmann Anomaly detection and trend analysis
  • 29. Data collection Data analysis Links & Q+A Holt-Winters-Forecasting What the math model looks like: Prediction: ˆyt+1 = at + bt + ct+1−m at = α(yt − ct−m) + (1 − α)(at−1 + bt−1) Baseline, bt = β(at − at−1) + (1 − β)bt−1 Linear trend, ct = γ(yt − at) + (1 − γ)ct−m Seasonal trend 0 < α, β, γ < 1 m: Len season Confidence band coefficient: dt = γ|yt − ˆyt| + (1 − γ)dt−m Confidence band itself: I(ˆyt − δ− ∗ dt−m, ˆyt + δ+ ∗ dt−m) 2 < δ−, δ+ < 3 Sliding window as threshold for anomalies Daniel Borkmann Anomaly detection and trend analysis
  • 30. Data collection Data analysis Links & Q+A Holt-Winters-Forecasting Possible improvements: Double seasonality (periods of week, day) Up to now only single seasonality (day) → parameter disturbances of passing business days into non-business days and vice versa Parameter stabilization via Kalman filter [Gelper et al. 2007] Will make parameters more robust towards interferences of anomalies Miller extension for improving prediction of low traffic values [Miller 2007] Longterm zero-values decreases confidence band to minimal width → slight payload variance will result in anomaly even though it isn’t Daniel Borkmann Anomaly detection and trend analysis
  • 31. Data collection Data analysis Links & Q+A Holt-Winters-Forecasting, Results (all traffic) Daniel Borkmann Anomaly detection and trend analysis
  • 32. Data collection Data analysis Links & Q+A Holt-Winters-Forecasting, Results (active Zimbra users) Daniel Borkmann Anomaly detection and trend analysis
  • 34. Data collection Data analysis Links & Q+A Clusteranalysis approach Idea: one-dimensional grouping of data points to interval bands in order to separate anomalous from normal behaviour Segregation of business days and non-business days Grouping threshold set by standard deviation of Poisson Process (adapted with coeffcient) Groups consist of at least 25 per cent of data points (as per definition) Daniel Borkmann Anomaly detection and trend analysis
  • 35. Data collection Data analysis Links & Q+A Clusteranalysis approach Daniel Borkmann Anomaly detection and trend analysis
  • 36. Data collection Data analysis Links & Q+A Clusteranalysis, Results (SSH traffic) Daniel Borkmann Anomaly detection and trend analysis
  • 37. Data collection Data analysis Links & Q+A Clusteranalysis, Results (Broadcast traffic) Daniel Borkmann Anomaly detection and trend analysis
  • 39. Data collection Data analysis Links & Q+A Interface to NagiosGrapher Three thread queues filled during NGs collect2.pl runtime (patched against nagiosgrapher (1.6.1rc5-6), Debian Lenny (stable)) Detached threads check for anomalies according to given algorithm (start baseline.pl delegate after RRD update) Module Baseline::Algorithm::CalcRRD with calc rrd() and check baseline() implemented for specific algorithm Daniel Borkmann Anomaly detection and trend analysis
  • 40. Data collection Data analysis Links & Q+A Interface to NagiosGrapher Algorithms swappable during runtime without payload loss! Anomaly information on Nagios ‘Service Detail‘ page Baseline::Util::Routines contain helper routines for CalcRRD implementation (as fetch stepping(), fetch lastupdate(), fetch table(), ...) Daniel Borkmann Anomaly detection and trend analysis
  • 41. Data collection Data analysis Links & Q+A Interface to NagiosGrapher Daniel Borkmann Anomaly detection and trend analysis
  • 42. Data collection Data analysis Links & Q+A NagiosGrapher GUI, config integration define ngraph{ service_name Netsniff * graph_log_regex .*persminute:s+([0-9.]+)sframes graph_value pktfr graph_units frames/min graph_legend frames per min rrd_plottype LINE2 rrd_color FF0000 hide no page data } define ngraph{ service_name Netsniff * type BASELINE <-- unknown, will be ignored within perfdata parsing graph_value pktfrbase graph_units health graph_legend health temperature rrd_plottype LINE2 rrd_color 00ff00 hide no page health_frames } Daniel Borkmann Anomaly detection and trend analysis
  • 43. Data collection Data analysis Links & Q+A Interface to NagiosGrapher Two (or more) pages per Service (‘data‘, ‘health *‘) Actual data (payload, anomaly) still separated Daniel Borkmann Anomaly detection and trend analysis
  • 44. Data collection Data analysis Links & Q+A Interface to NagiosGrapher Integration into Nagios ‘Service Detail‘ page check baseline() part of Baseline::Algorithm::CalcRRD called Daniel Borkmann Anomaly detection and trend analysis
  • 47. Data collection Data analysis Links & Q+A Levenberg-Marquardt Non-linear fitting algorithm Fits a math model (e.g. f (x) := acos(bx) + bsin(ax) + c) into a series of data points with minimal residuals (parameter search → {a, b, c}) More ‘stable‘ in finding local minimum (even with a bad chosen start vector) than Gauss-Newton method (with ‘lambda decay‘) Non-linearity approximated by iterative solving of linear equation systems (Taylor series) Note: quality of the fit depends on your defined model! Daniel Borkmann Anomaly detection and trend analysis
  • 49. Data collection Data analysis Links & Q+A REA-Framework NG-independet script collection (works with all possible RRDs) generate.pl Called via nightly cronjob Automatically extracts RRD payload (extract raw.pl) → triple: (timestamp, normalized idx, data value) Runs configured plugins via gnuplot processor Generates graph images (if possible) and copies them into WWW-dir predict.cgi User interface User assigns configured ‘subject‘ (e.g. host service) to ‘analysis type‘ (e.g. monomial extrapolation) All RRA specific graphs with chosen fits are shown Daniel Borkmann Anomaly detection and trend analysis
  • 50. Data collection Data analysis Links & Q+A REA-Framework Daniel Borkmann Anomaly detection and trend analysis
  • 51. Data collection Data analysis Links & Q+A REA-Framework, plugin for Monomial extrapolation #!/usr/bin/gnuplot FIT_LIMIT = 1e-6 FIT_MAXITER = 80 f(x) = a * (x - b)**n + c fit f(x) "exp.dat" using 2:3 via a, b, c, n set grid set title "RRD time series extrapolation" set timefmt "%s" set xdata time set format x "%d.%m.%Y, %H/%M" set xlabel " " set ylabel " " set xtics rotate by 90 scale 0 set key below plot "< cat exp.dat fore.dat" using 1:(f($2)) title "best ’a * (x - b)^n + c’ fit" with lines, "exp.dat" using 1:3 title "time series data" with points set term png size 1024, 768 set output "plot.png" replot set term dumb Daniel Borkmann Anomaly detection and trend analysis
  • 52. Data collection Data analysis Links & Q+A REA-Framework, frontend Daniel Borkmann Anomaly detection and trend analysis
  • 53. Data collection Data analysis Links & Q+A REA-Framework, Results (Traffic to webserver, KB/min) Daniel Borkmann Anomaly detection and trend analysis
  • 54. Data collection Data analysis Links & Q+A REA-Framework, Results (Broadcast traffic, Frames/min) Daniel Borkmann Anomaly detection and trend analysis
  • 55. Data collection Data analysis Links & Q+A REA-Framework, Results (SSH traffic, Frames/min) Daniel Borkmann Anomaly detection and trend analysis
  • 56. Data collection Data analysis Links & Q+A Acknowledgement Dr. Helmut Hayd, Max Planck Institute for Human Cognitive and Brain Sciences Prof. Dr.-Ing. Dietmar Reimann, Leipzig University of Applied Science, Faculty of Computer Science, Mathematics, and Natural Sciences Daniel Borkmann Anomaly detection and trend analysis
  • 57. Data collection Data analysis Links & Q+A Links Thesis: http://edoc.mpg.de/437809 netsniff-ng: http://netsniff-ng.googlecode.com All the rest8: <dborkmann@acm.org> 8 It’s still a prototype ... Daniel Borkmann Anomaly detection and trend analysis
  • 58. Data collection Data analysis Links & Q+A Q+A? Daniel Borkmann Anomaly detection and trend analysis