high-performance unsupervised anomaly detection for cyber ... · # packets scapy pyshark pcap 1000...

36
High-Performance Unsupervised Anomaly Detection for Cyber-Physical System Networks Peter Schneider , Konstantin Böttinger, October 19, 2018 / CPS-SPC

Upload: others

Post on 08-Oct-2020

10 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: High-Performance Unsupervised Anomaly Detection for Cyber ... · # packets scapy pyshark pcap 1000 0:38s 0 63s

High-Performance Unsupervised Anomaly Detectionfor Cyber-Physical System Networks

Peter Schneider, Konstantin Böttinger, October 19, 2018 / CPS-SPC

Page 2: High-Performance Unsupervised Anomaly Detection for Cyber ... · # packets scapy pyshark pcap 1000 0:38s 0 63s

Anomaly Detection for CPS NetworksIntro

Who Peter Schneider, Konstantin Böttinger

What Anomaly Detection

When Online Detection

Where Cyber-Physical System Networks

Why High-Performance, Unsupervised

How Stacked Denoising Autoencoders

For what Detection in proprietary and/or binary protocols

High-Performance Anomaly Detection for CPS | P. Schneider, K. Böttinger | October 19, 2018 / CPS-SPC | 1/26

© Fraunhofer

Page 3: High-Performance Unsupervised Anomaly Detection for Cyber ... · # packets scapy pyshark pcap 1000 0:38s 0 63s

Anomaly Detection for CPS NetworksMotivation

� Rising number of attacks on cyber-physical systems (CPS)

� 100%-secure systems are impossible

� Network-based Anomaly Detection widely suggested as solution

High-Performance Anomaly Detection for CPS | P. Schneider, K. Böttinger | October 19, 2018 / CPS-SPC | 2/26

© Fraunhofer

Page 4: High-Performance Unsupervised Anomaly Detection for Cyber ... · # packets scapy pyshark pcap 1000 0:38s 0 63s

Anomaly Detection for CPS NetworksThe Problem

� Detection systems for business IT already available

� Adaptation of systems to CPS domain still ongoing

� Including domain-specific knowledge should increase detectioncapabilities

High-Performance Anomaly Detection for CPS | P. Schneider, K. Böttinger | October 19, 2018 / CPS-SPC | 3/26

© Fraunhofer

Page 5: High-Performance Unsupervised Anomaly Detection for Cyber ... · # packets scapy pyshark pcap 1000 0:38s 0 63s

Anomaly Detection for CPS NetworksWhat happens now

Figure: Insecure manufacturing system.

High-Performance Anomaly Detection for CPS | P. Schneider, K. Böttinger | October 19, 2018 / CPS-SPC | 4/26

© Fraunhofer

Page 6: High-Performance Unsupervised Anomaly Detection for Cyber ... · # packets scapy pyshark pcap 1000 0:38s 0 63s

Anomaly Detection for CPS NetworksWhat happens now

Figure: Secure manufacturing system.

High-Performance Anomaly Detection for CPS | P. Schneider, K. Böttinger | October 19, 2018 / CPS-SPC | 5/26

© Fraunhofer

Page 7: High-Performance Unsupervised Anomaly Detection for Cyber ... · # packets scapy pyshark pcap 1000 0:38s 0 63s

Anomaly Detection for CPS NetworksChallenges

� slow updates

� long product lifetime

� once protected environments

� high damage potential

� specialized attacks

� binary/proprietary protocols

Figure: VDI, Cyber-Physical Systems: Chancen und Nutzen aus Sicht der Automation

High-Performance Anomaly Detection for CPS | P. Schneider, K. Böttinger | October 19, 2018 / CPS-SPC | 6/26

© Fraunhofer

Page 8: High-Performance Unsupervised Anomaly Detection for Cyber ... · # packets scapy pyshark pcap 1000 0:38s 0 63s

Anomaly Detection for CPS NetworksChallenges

� slow updates

� long product lifetime

� once protected environments

� high damage potential

� specialized attacks

� binary/proprietary protocols

Figure: VDI, Cyber-Physical Systems: Chancen und Nutzen aus Sicht der Automation

High-Performance Anomaly Detection for CPS | P. Schneider, K. Böttinger | October 19, 2018 / CPS-SPC | 6/26

© Fraunhofer

Page 9: High-Performance Unsupervised Anomaly Detection for Cyber ... · # packets scapy pyshark pcap 1000 0:38s 0 63s

Anomaly Detection for CPS NetworksHow it is usually done

data

data acquisition phase

method modellearning phase

new datadetection phase method prediction

Offline

Online

High-Performance Anomaly Detection for CPS | P. Schneider, K. Böttinger | October 19, 2018 / CPS-SPC | 7/26

© Fraunhofer

Page 10: High-Performance Unsupervised Anomaly Detection for Cyber ... · # packets scapy pyshark pcap 1000 0:38s 0 63s

Anomaly Detection for CPS NetworksHow it is usually done

data

data acquisition phase

method modellearning phase

new datadetection phase method prediction

Offline

Online

High-Performance Anomaly Detection for CPS | P. Schneider, K. Böttinger | October 19, 2018 / CPS-SPC | 7/26

© Fraunhofer

Page 11: High-Performance Unsupervised Anomaly Detection for Cyber ... · # packets scapy pyshark pcap 1000 0:38s 0 63s

Anomaly Detection for CPS NetworksHow it is usually done

data

data acquisition phase

method modellearning phase

new datadetection phase method prediction

Offline

Online

High-Performance Anomaly Detection for CPS | P. Schneider, K. Böttinger | October 19, 2018 / CPS-SPC | 7/26

© Fraunhofer

Page 12: High-Performance Unsupervised Anomaly Detection for Cyber ... · # packets scapy pyshark pcap 1000 0:38s 0 63s

Anomaly Detection for CPS NetworksHow it is usually done

data

data acquisition phase

method modellearning phase

new datadetection phase method prediction

Offline

Online

High-Performance Anomaly Detection for CPS | P. Schneider, K. Böttinger | October 19, 2018 / CPS-SPC | 7/26

© Fraunhofer

Page 13: High-Performance Unsupervised Anomaly Detection for Cyber ... · # packets scapy pyshark pcap 1000 0:38s 0 63s

Anomaly Detection for CPS NetworksHow it (not) works

data acquisition

data preparation

anomaly detection

Online

High-Performance Anomaly Detection for CPS | P. Schneider, K. Böttinger | October 19, 2018 / CPS-SPC | 8/26

© Fraunhofer

Page 14: High-Performance Unsupervised Anomaly Detection for Cyber ... · # packets scapy pyshark pcap 1000 0:38s 0 63s

Anomaly Detection for CPS NetworksPerformance

0 10000 20000 30000 40000 50000#packets

0

5

10

15

20proc

essin

g tim

e [s]

scapypysharkpcap

Figure: Performance comparison using different data aggregation strategies.

High-Performance Anomaly Detection for CPS | P. Schneider, K. Böttinger | October 19, 2018 / CPS-SPC | 9/26

© Fraunhofer

Page 15: High-Performance Unsupervised Anomaly Detection for Cyber ... · # packets scapy pyshark pcap 1000 0:38s 0 63s

Anomaly Detection for CPS NetworksPerformance

# packets scapy pyshark pcap1000 0.38s 0.63s < 0.01s3000 1.17s 1.19s < 0.01s

10000 3.99s 3.15s < 0.01s50000 20.14s 13.79s 0.02s

Assumptions bandwidth: 100Mbit/s, average packet length: 100bytes

Result up to 131072 network packets per second

High-Performance Anomaly Detection for CPS | P. Schneider, K. Böttinger | October 19, 2018 / CPS-SPC | 10/26

© Fraunhofer

Page 16: High-Performance Unsupervised Anomaly Detection for Cyber ... · # packets scapy pyshark pcap 1000 0:38s 0 63s

Anomaly Detection for CPS NetworksPerformance

# packets scapy pyshark pcap1000 0.38s 0.63s < 0.01s3000 1.17s 1.19s < 0.01s

10000 3.99s 3.15s < 0.01s50000 20.14s 13.79s 0.02s

Assumptions bandwidth: 100Mbit/s, average packet length: 100bytes

Result up to 131072 network packets per second

High-Performance Anomaly Detection for CPS | P. Schneider, K. Böttinger | October 19, 2018 / CPS-SPC | 10/26

© Fraunhofer

Page 17: High-Performance Unsupervised Anomaly Detection for Cyber ... · # packets scapy pyshark pcap 1000 0:38s 0 63s

Anomaly Detection for CPS NetworksObservations

� packet parsing infeasible for larger CPS networks

� classic ML feature extraction not possible

We need a faster solution for feature extraction and anomalydetection!

High-Performance Anomaly Detection for CPS | P. Schneider, K. Böttinger | October 19, 2018 / CPS-SPC | 11/26

© Fraunhofer

Page 18: High-Performance Unsupervised Anomaly Detection for Cyber ... · # packets scapy pyshark pcap 1000 0:38s 0 63s

Anomaly Detection for CPS NetworksPipeline

Figure: High-Performance Pipeline

High-Performance Anomaly Detection for CPS | P. Schneider, K. Böttinger | October 19, 2018 / CPS-SPC | 12/26

© Fraunhofer

Page 19: High-Performance Unsupervised Anomaly Detection for Cyber ... · # packets scapy pyshark pcap 1000 0:38s 0 63s

Anomaly Detection for CPS NetworksPipeline

data acquisition real-time capturing

data preparation length cut-off or padding

anomaly detection stacked denoising autoencoders

High-Performance Anomaly Detection for CPS | P. Schneider, K. Böttinger | October 19, 2018 / CPS-SPC | 13/26

© Fraunhofer

Page 20: High-Performance Unsupervised Anomaly Detection for Cyber ... · # packets scapy pyshark pcap 1000 0:38s 0 63s

Anomaly Detection for CPS NetworksAutoencoder-based Detection

i1

i2

i3

i4

i5

h1

h2

h3

o2

o1

o3

o4

o5

0x45

0xce

0xff

0x18

0x27

0x45

0xce

0xff

0x18

0x27

δo1 = 0

δo2 = 0

δo3 = 0

δo4 = 0

δo5 = 0

0x45

0xce

0xff

0xff

0x27

0x45

0xce

0xff

0x18

0x27

δo1 = 0

δo2 = 0

δo3 = 0

δo4 = 231

δo5 = 0

High-Performance Anomaly Detection for CPS | P. Schneider, K. Böttinger | October 19, 2018 / CPS-SPC | 14/26

© Fraunhofer

Page 21: High-Performance Unsupervised Anomaly Detection for Cyber ... · # packets scapy pyshark pcap 1000 0:38s 0 63s

Anomaly Detection for CPS NetworksAutoencoder-based Detection

i1

i2

i3

i4

i5

h1

h2

h3

o2

o1

o3

o4

o5

0x45

0xce

0xff

0x18

0x27

0x45

0xce

0xff

0x18

0x27

δo1 = 0

δo2 = 0

δo3 = 0

δo4 = 0

δo5 = 0

0x45

0xce

0xff

0xff

0x27

0x45

0xce

0xff

0x18

0x27

δo1 = 0

δo2 = 0

δo3 = 0

δo4 = 231

δo5 = 0

High-Performance Anomaly Detection for CPS | P. Schneider, K. Böttinger | October 19, 2018 / CPS-SPC | 14/26

© Fraunhofer

Page 22: High-Performance Unsupervised Anomaly Detection for Cyber ... · # packets scapy pyshark pcap 1000 0:38s 0 63s

Anomaly Detection for CPS NetworksAutoencoder-based Detection

i1

i2

i3

i4

i5

h1

h2

h3

o2

o1

o3

o4

o5

0x45

0xce

0xff

0x18

0x27

0x45

0xce

0xff

0x18

0x27

δo1 = 0

δo2 = 0

δo3 = 0

δo4 = 0

δo5 = 0

0x45

0xce

0xff

0xff

0x27

0x45

0xce

0xff

0x18

0x27

δo1 = 0

δo2 = 0

δo3 = 0

δo4 = 231

δo5 = 0

High-Performance Anomaly Detection for CPS | P. Schneider, K. Böttinger | October 19, 2018 / CPS-SPC | 14/26

© Fraunhofer

Page 23: High-Performance Unsupervised Anomaly Detection for Cyber ... · # packets scapy pyshark pcap 1000 0:38s 0 63s

Anomaly Detection for CPS NetworksSDA

Figure: Stacked auto-encoders.

High-Performance Anomaly Detection for CPS | P. Schneider, K. Böttinger | October 19, 2018 / CPS-SPC | 15/26

© Fraunhofer

Page 24: High-Performance Unsupervised Anomaly Detection for Cyber ... · # packets scapy pyshark pcap 1000 0:38s 0 63s

Anomaly Detection for CPS NetworksExperiments

Modbus dataset� labeled network packets

� several traces with and without attacks

SWaT dataset� large dataset (~500GB)

� traces from several days with and without attacks

� pcap traces not labeled

High-Performance Anomaly Detection for CPS | P. Schneider, K. Böttinger | October 19, 2018 / CPS-SPC | 16/26

© Fraunhofer

Page 25: High-Performance Unsupervised Anomaly Detection for Cyber ... · # packets scapy pyshark pcap 1000 0:38s 0 63s

Anomaly Detection for CPS NetworksModbus dataset – training data

Figure: RMSE on the run1_3rtu_2s trace.

High-Performance Anomaly Detection for CPS | P. Schneider, K. Böttinger | October 19, 2018 / CPS-SPC | 17/26

© Fraunhofer

Page 26: High-Performance Unsupervised Anomaly Detection for Cyber ... · # packets scapy pyshark pcap 1000 0:38s 0 63s

Anomaly Detection for CPS NetworksModbus dataset – validation data

Figure: RMSE on the exploit_ms08_netapi_modbus_6RTU_with_operate trace.

High-Performance Anomaly Detection for CPS | P. Schneider, K. Böttinger | October 19, 2018 / CPS-SPC | 18/26

© Fraunhofer

Page 27: High-Performance Unsupervised Anomaly Detection for Cyber ... · # packets scapy pyshark pcap 1000 0:38s 0 63s

Anomaly Detection for CPS NetworksModbus dataset – validation data

Figure: RMSE on the run1_6rtu trace.

High-Performance Anomaly Detection for CPS | P. Schneider, K. Böttinger | October 19, 2018 / CPS-SPC | 19/26

© Fraunhofer

Page 28: High-Performance Unsupervised Anomaly Detection for Cyber ... · # packets scapy pyshark pcap 1000 0:38s 0 63s

Anomaly Detection for CPS NetworksSWaT dataset

Figure: Results on SWaT dataset.

High-Performance Anomaly Detection for CPS | P. Schneider, K. Böttinger | October 19, 2018 / CPS-SPC | 20/26

© Fraunhofer

Page 29: High-Performance Unsupervised Anomaly Detection for Cyber ... · # packets scapy pyshark pcap 1000 0:38s 0 63s

Anomaly Detection for CPS NetworksLabel Estimation

High-Performance Anomaly Detection for CPS | P. Schneider, K. Böttinger | October 19, 2018 / CPS-SPC | 21/26

© Fraunhofer

Page 30: High-Performance Unsupervised Anomaly Detection for Cyber ... · # packets scapy pyshark pcap 1000 0:38s 0 63s

Anomaly Detection for CPS NetworksLabels Estimated

dupack duplicated acknowledgementstcp.analysis.duplicate_ack

retransmit retransmitted packetstcp.analysis.retransmission or tcp.analysis.fast_retransmission

unknownproto-tls newly introduced TLS layersmanual analysis

tcpreset connection resets using TCP RST flagtcp.flags.reset==1

synflood flooding using TCP SYN packetstransum.status==“Response missing” and tcp.connection.syn

High-Performance Anomaly Detection for CPS | P. Schneider, K. Böttinger | October 19, 2018 / CPS-SPC | 22/26

© Fraunhofer

Page 31: High-Performance Unsupervised Anomaly Detection for Cyber ... · # packets scapy pyshark pcap 1000 0:38s 0 63s

Anomaly Detection for CPS NetworksSWaT dataset, detailed results

Line dupack retransmit unknownproto-tls1 precision 6.38% 2.22% 4.35%2 recall 3.95% 1.00% 0.38%3 f1 4.88% 1.38% 0.70%

Table: Anomaly detection performance in problematic scenarios.

High-Performance Anomaly Detection for CPS | P. Schneider, K. Böttinger | October 19, 2018 / CPS-SPC | 23/26

© Fraunhofer

Page 32: High-Performance Unsupervised Anomaly Detection for Cyber ... · # packets scapy pyshark pcap 1000 0:38s 0 63s

Anomaly Detection for CPS NetworksSWaT dataset, detailed results

Line tcpreset synflood1 precision 99.80% 99.80%2 recall 99.77% 99.99%3 f1 99.78% 99.89%

Table: Anomaly detection performance in well-working scenarios.

Naive classifier Using packet length → 0% f1-score

High-Performance Anomaly Detection for CPS | P. Schneider, K. Böttinger | October 19, 2018 / CPS-SPC | 24/26

© Fraunhofer

Page 33: High-Performance Unsupervised Anomaly Detection for Cyber ... · # packets scapy pyshark pcap 1000 0:38s 0 63s

Anomaly Detection for CPS NetworksConclusion

Where Cyber-Physical System Networks→ SWaT (EtherNet/IP) and Modbus datasets for validation

Why High-Performance→ fast data acquisition omitting packet parsingUnsupervised→ feature learning using SDAs

For what Detection in proprietary and/or binary protocols→ up to 99% f1-scores

High-Performance Anomaly Detection for CPS | P. Schneider, K. Böttinger | October 19, 2018 / CPS-SPC | 25/26

© Fraunhofer

Page 34: High-Performance Unsupervised Anomaly Detection for Cyber ... · # packets scapy pyshark pcap 1000 0:38s 0 63s

Anomaly Detection for CPS NetworksConclusion

Where Cyber-Physical System Networks→ SWaT (EtherNet/IP) and Modbus datasets for validation

Why High-Performance→ fast data acquisition omitting packet parsingUnsupervised→ feature learning using SDAs

For what Detection in proprietary and/or binary protocols→ up to 99% f1-scores

High-Performance Anomaly Detection for CPS | P. Schneider, K. Böttinger | October 19, 2018 / CPS-SPC | 25/26

© Fraunhofer

Page 35: High-Performance Unsupervised Anomaly Detection for Cyber ... · # packets scapy pyshark pcap 1000 0:38s 0 63s

Anomaly Detection for CPS NetworksConclusion

Where Cyber-Physical System Networks→ SWaT (EtherNet/IP) and Modbus datasets for validation

Why High-Performance→ fast data acquisition omitting packet parsingUnsupervised→ feature learning using SDAs

For what Detection in proprietary and/or binary protocols→ up to 99% f1-scores

High-Performance Anomaly Detection for CPS | P. Schneider, K. Böttinger | October 19, 2018 / CPS-SPC | 25/26

© Fraunhofer

Page 36: High-Performance Unsupervised Anomaly Detection for Cyber ... · # packets scapy pyshark pcap 1000 0:38s 0 63s

Contact Information

Peter Schneider, Konstantin Böttinger

Product Protection & Industrial Security

Fraunhofer-Institute forApplied and Integrated Security (AISEC)

Address: Parkring 485748 Garching (near Munich)Germany

Internet: http://www.aisec.fraunhofer.de

Phone: +49 89 3229986-142Fax: +49 89 3229986-222E-Mail: [email protected]

High-Performance Anomaly Detection for CPS | P. Schneider, K. Böttinger | October 19, 2018 / CPS-SPC | 26/26

© Fraunhofer