39
Validating defense mechanisms of cyber-physical systems via attack tools Francisco Furtado Salimah Liyakkathali

Validating defense mechanisms of cyber-physical systems ... · Mutation Operators Operator Description Example Add StaticDelta (ASD) Adds/subtracts an absolute, unchanging𝛿to state

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Validating defense mechanisms of cyber-physical systems ... · Mutation Operators Operator Description Example Add StaticDelta (ASD) Adds/subtracts an absolute, unchanging𝛿to state

Validating defense mechanisms of cyber-physical systems via attack toolsFrancisco Furtado

Salimah Liyakkathali

Page 2: Validating defense mechanisms of cyber-physical systems ... · Mutation Operators Operator Description Example Add StaticDelta (ASD) Adds/subtracts an absolute, unchanging𝛿to state

Agenda

iTrust

Cyber physical attacks & defense

A6 Tool

Demo

Findings & Conclusion

Page 3: Validating defense mechanisms of cyber-physical systems ... · Mutation Operators Operator Description Example Add StaticDelta (ASD) Adds/subtracts an absolute, unchanging𝛿to state

WHO WE ARE

Kaspersky Industrial Cybersecurity Conference 2019

FUNDING COLLABORATORS

Page 4: Validating defense mechanisms of cyber-physical systems ... · Mutation Operators Operator Description Example Add StaticDelta (ASD) Adds/subtracts an absolute, unchanging𝛿to state

WHO WE ARE

Kaspersky Industrial Cybersecurity Conference 2019

CPS

Enterprise Security

IoT

Applied Research

Testbeds

Multi-disciplinary

Students

Industry Collaboration

FOCUS AREAS DISTINCTIVE VALUES

Page 5: Validating defense mechanisms of cyber-physical systems ... · Mutation Operators Operator Description Example Add StaticDelta (ASD) Adds/subtracts an absolute, unchanging𝛿to state

TESTBEDS

Kaspersky Industrial Cybersecurity Conference 2019

(IoT) Automatic Security

Electric Power and Intelligent Control

(EPIC)

Secure Water Treatment

(SWaT)

Water Distribution (WADI)

Page 6: Validating defense mechanisms of cyber-physical systems ... · Mutation Operators Operator Description Example Add StaticDelta (ASD) Adds/subtracts an absolute, unchanging𝛿to state

iTrust Event

Kaspersky Industrial Cybersecurity Conference 2019

Page 7: Validating defense mechanisms of cyber-physical systems ... · Mutation Operators Operator Description Example Add StaticDelta (ASD) Adds/subtracts an absolute, unchanging𝛿to state

Maroochy shire sewage

Blaster worm

13 US auto plants

Offshore oil platform

Petro chemical plant

Discovery of Stuxnet

Ukraine power grids

TRITON attack

Cyber physical attacks

Kaspersky Industrial Cybersecurity Conference 2019

Page 8: Validating defense mechanisms of cyber-physical systems ... · Mutation Operators Operator Description Example Add StaticDelta (ASD) Adds/subtracts an absolute, unchanging𝛿to state

Attacks in ICS

Kaspersky Industrial Cybersecurity Conference 2019

Goh, Jonathan, et al. "A dataset to support research in the design of secure water treatment systems." International Conference on Critical Information Infrastructures Security. Springer, Cham, 2016.

Page 9: Validating defense mechanisms of cyber-physical systems ... · Mutation Operators Operator Description Example Add StaticDelta (ASD) Adds/subtracts an absolute, unchanging𝛿to state

Cyber physical defence mechanism

Kaspersky Industrial Cybersecurity Conference 2019

Anomaly Detection Mechanisms (ADM)

Design-based

Machine learning-based

Page 10: Validating defense mechanisms of cyber-physical systems ... · Mutation Operators Operator Description Example Add StaticDelta (ASD) Adds/subtracts an absolute, unchanging𝛿to state

Distributed Attack Detection (DAD)

• Design based ADM

• Uses invariants obtained from plant design

• Invariants cannot be compromised

• Attacks: 56 , Detected: 45

Kaspersky Industrial Cybersecurity Conference 2019

Sridhar Adepu, and Aditya Mathur. "Distributed detection of single-stage multipoint cyber attacks in a water treatment plant." Proceedings of the 11th ACM on Asia Conference on Computer and Communications Security. ACM, 2016.

Sridhar Adepu, and Aditya Mathur. "Distributed Attack Detection in a Water Treatment Plant: Method and Case Study". IEEE Transactions on Dependable and Secure Computing,2018

Page 11: Validating defense mechanisms of cyber-physical systems ... · Mutation Operators Operator Description Example Add StaticDelta (ASD) Adds/subtracts an absolute, unchanging𝛿to state

Why is there a need for an

attack tool ?

Page 12: Validating defense mechanisms of cyber-physical systems ... · Mutation Operators Operator Description Example Add StaticDelta (ASD) Adds/subtracts an absolute, unchanging𝛿to state

SWaT Network Architecture

Switch Switch Switch

Switch

Firewall

Switch

Workstation Historian Server

Touch Panel Switch

Switch SwitchSwitch

Engineering workstation

Switch

SCADA workstation

Page 13: Validating defense mechanisms of cyber-physical systems ... · Mutation Operators Operator Description Example Add StaticDelta (ASD) Adds/subtracts an absolute, unchanging𝛿to state

Level 3 – Operation Management

Switch Switch Switch

Switch

Firewall

Switch

Workstation Historian Server

Touch Panel Switch

Switch SwitchSwitch

Engineering workstation

Switch

SCADA workstation

Page 14: Validating defense mechanisms of cyber-physical systems ... · Mutation Operators Operator Description Example Add StaticDelta (ASD) Adds/subtracts an absolute, unchanging𝛿to state

Level 2 – Supervisory Control

Switch Switch Switch

Switch

Firewall

Switch

Workstation Historian Server

Touch Panel Switch

Switch SwitchSwitch

Engineering workstation

Switch

SCADA workstation

Page 15: Validating defense mechanisms of cyber-physical systems ... · Mutation Operators Operator Description Example Add StaticDelta (ASD) Adds/subtracts an absolute, unchanging𝛿to state

Level 1 – Plant control network

Switch Switch Switch

Switch

Firewall

Switch

Workstation Historian Server

Touch Panel Switch

Switch SwitchSwitch

Engineering workstation

Switch

SCADA workstation

Page 16: Validating defense mechanisms of cyber-physical systems ... · Mutation Operators Operator Description Example Add StaticDelta (ASD) Adds/subtracts an absolute, unchanging𝛿to state

Level 0 - Process

Switch Switch Switch

Switch

Firewall

Switch

Workstation Historian Server

Touch Panel Switch

Switch SwitchSwitch

Engineering workstation

Switch

SCADA workstation

Page 17: Validating defense mechanisms of cyber-physical systems ... · Mutation Operators Operator Description Example Add StaticDelta (ASD) Adds/subtracts an absolute, unchanging𝛿to state

SWaT Plant Process Architecture

Kaspersky Industrial Cybersecurity Conference 2019

Page 18: Validating defense mechanisms of cyber-physical systems ... · Mutation Operators Operator Description Example Add StaticDelta (ASD) Adds/subtracts an absolute, unchanging𝛿to state

SWaT Plant Process Architecture

Kaspersky Industrial Cybersecurity Conference 2019

Page 19: Validating defense mechanisms of cyber-physical systems ... · Mutation Operators Operator Description Example Add StaticDelta (ASD) Adds/subtracts an absolute, unchanging𝛿to state

SWaT Plant Process Architecture

Kaspersky Industrial Cybersecurity Conference 2019

Page 20: Validating defense mechanisms of cyber-physical systems ... · Mutation Operators Operator Description Example Add StaticDelta (ASD) Adds/subtracts an absolute, unchanging𝛿to state

SWaT Plant Process Architecture

Kaspersky Industrial Cybersecurity Conference 2019

Page 21: Validating defense mechanisms of cyber-physical systems ... · Mutation Operators Operator Description Example Add StaticDelta (ASD) Adds/subtracts an absolute, unchanging𝛿to state

SWaT Plant Process Architecture

Kaspersky Industrial Cybersecurity Conference 2019

Page 22: Validating defense mechanisms of cyber-physical systems ... · Mutation Operators Operator Description Example Add StaticDelta (ASD) Adds/subtracts an absolute, unchanging𝛿to state

SWaT Plant Process Architecture

Kaspersky Industrial Cybersecurity Conference 2019

Page 23: Validating defense mechanisms of cyber-physical systems ... · Mutation Operators Operator Description Example Add StaticDelta (ASD) Adds/subtracts an absolute, unchanging𝛿to state

SWaT Plant Process Architecture

Kaspersky Industrial Cybersecurity Conference 2019

Page 24: Validating defense mechanisms of cyber-physical systems ... · Mutation Operators Operator Description Example Add StaticDelta (ASD) Adds/subtracts an absolute, unchanging𝛿to state

A6 Tool suite tool

Kaspersky Industrial Cybersecurity Conference 2019

A6-L1

Page 25: Validating defense mechanisms of cyber-physical systems ... · Mutation Operators Operator Description Example Add StaticDelta (ASD) Adds/subtracts an absolute, unchanging𝛿to state

A6 Tool suite tool

Kaspersky Industrial Cybersecurity Conference 2019

A6-L0

Urbina, David I., et al. "Attacking Fieldbus Communications in

ICS: Applications to the SWaT Testbed." SG-CRC. 2016.

Page 26: Validating defense mechanisms of cyber-physical systems ... · Mutation Operators Operator Description Example Add StaticDelta (ASD) Adds/subtracts an absolute, unchanging𝛿to state

Attack Design

Kaspersky Industrial Cybersecurity Conference 2019

A6 - L1

A6 – L0

StartBridge

network interfaces

Design attacks using mutation

operators

Launch attacks

End

StartBridge

network interfaces

Design attacks using command

validators

Launch attacks

End

Page 27: Validating defense mechanisms of cyber-physical systems ... · Mutation Operators Operator Description Example Add StaticDelta (ASD) Adds/subtracts an absolute, unchanging𝛿to state

Mutation Operators

Operator Description Example

Add Static Delta(ASD)

Adds/subtracts an absolute, unchanging 𝛿 to state measurements

ASD(500)⇒Before: LIT101=300

After: LIT101=800

Add Limits Delta (ALD)

Adds/subtracts random value between -𝛿 and +𝛿 to state measurements

ALD(10) ⇒Before: LIT101=300 After: LIT101=307

Add Random Delta(ARD)

Adds/subtracts a random value between 𝛿1 and 𝛿2 to state

measurements

ARD(100, 200) ⇒Before: LIT101=300 After: LIT101=450ARD(100, 200) ⇒

Before: LIT101=300 After: LIT101=450

Kaspersky Industrial Cybersecurity Conference 2019

Page 28: Validating defense mechanisms of cyber-physical systems ... · Mutation Operators Operator Description Example Add StaticDelta (ASD) Adds/subtracts an absolute, unchanging𝛿to state

Mutation Operators

Operator Description Example

Set to Zero Set state measurement to zeroBefore: MV101=1 After: MV101=0

Set to One Set state measurement to oneBefore: P101=0 After: P101=1

Set to Static Set state measurement to static valueSTS(756) ⇒

Before: LIT101=300 After: LIT101=756

Set to RandomSet state measurement to a random

value between 𝛿1 and 𝛿2

STR(100, 200) ⇒Before: LIT101=300 After: LIT101=179

Kaspersky Industrial Cybersecurity Conference 2019

Page 29: Validating defense mechanisms of cyber-physical systems ... · Mutation Operators Operator Description Example Add StaticDelta (ASD) Adds/subtracts an absolute, unchanging𝛿to state

Mutation Operators

Operator Description Example

Bit Shift LeftState measurement is bit-shifted to left

by 𝛿 bits

BSL(4) ⇒Before: LIT101=300

After: LIT101=5982.85

Bit Shift RightState measurement is bit-shifted to

right by 𝛿 bits

BSR(4)⇒Before: LIT101=300

After: LIT101=3356044.00

Kaspersky Industrial Cybersecurity Conference 2019

Page 30: Validating defense mechanisms of cyber-physical systems ... · Mutation Operators Operator Description Example Add StaticDelta (ASD) Adds/subtracts an absolute, unchanging𝛿to state

Command Validators

Operator Description Example

Valid Set state measurement to valid inputBefore: P101 = 1 (On) After: P101 = 0 (Off)

Invalid Set state measurement to invalid inputBefore: P101 = 0 (Off)

After: P101 = -5 (Invalid)

Kaspersky Industrial Cybersecurity Conference 2019

Page 31: Validating defense mechanisms of cyber-physical systems ... · Mutation Operators Operator Description Example Add StaticDelta (ASD) Adds/subtracts an absolute, unchanging𝛿to state

L1 Attack Demo

Stage 1 strategy is to have P101 and P102 be interlocked with LIT301

• Low Setpoint: 800mm ⇒ P101/P102 START

• High Setpoint: 1000mm ⇒ P101/P102 STOP

SSPMS Attack: Mutating of LIT301 value to LOW from PLC3 to PLC1

Kaspersky Industrial Cybersecurity Conference 2019

Page 32: Validating defense mechanisms of cyber-physical systems ... · Mutation Operators Operator Description Example Add StaticDelta (ASD) Adds/subtracts an absolute, unchanging𝛿to state

Kaspersky Industrial Cybersecurity Conference 2019

Page 33: Validating defense mechanisms of cyber-physical systems ... · Mutation Operators Operator Description Example Add StaticDelta (ASD) Adds/subtracts an absolute, unchanging𝛿to state

L0 Attack Demo

Stage 1 strategy is to have MV101 be activated by LIT101

a) Low Low Setpoint: 250mm & P101/P102 STOP AND MV101 OPEN

b) Low Setpoint: 500mm MV101 OPEN

c) High Setpoint: 800mm MV101 CLOSE

d) High High Setpoint: 1200mm Alarm

SSSMP Attack: Mutating P101 & MV101 status to PLC1 and command to actuators

Kaspersky Industrial Cybersecurity Conference 2019

Page 34: Validating defense mechanisms of cyber-physical systems ... · Mutation Operators Operator Description Example Add StaticDelta (ASD) Adds/subtracts an absolute, unchanging𝛿to state

Kaspersky Industrial Cybersecurity Conference 2019

Page 35: Validating defense mechanisms of cyber-physical systems ... · Mutation Operators Operator Description Example Add StaticDelta (ASD) Adds/subtracts an absolute, unchanging𝛿to state

Findings

1. Out of range values and commands

2. Corelated Invariants across PLCs

3. False positives

Kaspersky Industrial Cybersecurity Conference 2019

Page 36: Validating defense mechanisms of cyber-physical systems ... · Mutation Operators Operator Description Example Add StaticDelta (ASD) Adds/subtracts an absolute, unchanging𝛿to state

Current Work

Kaspersky Industrial Cybersecurity Conference 2019

1. Automated generation of attacks

2. Creating a test suite for ADMs to be tested against and

given a benchmark

Page 37: Validating defense mechanisms of cyber-physical systems ... · Mutation Operators Operator Description Example Add StaticDelta (ASD) Adds/subtracts an absolute, unchanging𝛿to state

Specials thanks to

Kaspersky Industrial Cybersecurity Conference 2019

Sridhar Adepu

Gayathri Sugumar

Nils Ole Tippenhauer

Aditya P. Mathur

Page 38: Validating defense mechanisms of cyber-physical systems ... · Mutation Operators Operator Description Example Add StaticDelta (ASD) Adds/subtracts an absolute, unchanging𝛿to state

Questions?

Francisco Furtado

[email protected]

Salimah Liyakkathali

[email protected]

Kaspersky Industrial Cybersecurity Conference 2019

Page 39: Validating defense mechanisms of cyber-physical systems ... · Mutation Operators Operator Description Example Add StaticDelta (ASD) Adds/subtracts an absolute, unchanging𝛿to state

Thank you!