cybersecurityofindustrialsystems: applicativefiltering andgenerationofattackscenarios ·...

125
Cybersecurity of Industrial Systems: Applicative Filtering and Generation of Attack Scenarios Sécurité des systèmes industriels : filtrage applicatif et recherche de scénarios d’attaques Maxime Puys Ph.D Advisors: Marie-Laure Potet and Jean-Louis Roch VERIMAG, Université Grenoble Alpes / Grenoble-INP, France February 5 th , 2018 This thesis has been funded by project PIA ARAMIS (P3342-146798). Maxime Puys Cybersecurity of Industrial Systems Feb. 5, 2018 1 / 44

Upload: others

Post on 25-May-2020

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: CybersecurityofIndustrialSystems: ApplicativeFiltering andGenerationofAttackScenarios · 2020-04-01 · BlackoutinUkrain[LAC16] OccurredonDec. 23rd,2015,lastedupto6hours. Approximately225,000customersimpacted

Cybersecurity of Industrial Systems: Applicative Filteringand Generation of Attack Scenarios

Sécurité des systèmes industriels : filtrage applicatif et recherche descénarios d’attaques

Maxime Puys

Ph.D Advisors: Marie-Laure Potet and Jean-Louis Roch

VERIMAG, Université Grenoble Alpes / Grenoble-INP, France

February 5th, 2018

This thesis has been funded by project PIA ARAMIS (P3342-146798).

Maxime Puys Cybersecurity of Industrial Systems Feb. 5, 2018 1 / 44

Page 2: CybersecurityofIndustrialSystems: ApplicativeFiltering andGenerationofAttackScenarios · 2020-04-01 · BlackoutinUkrain[LAC16] OccurredonDec. 23rd,2015,lastedupto6hours. Approximately225,000customersimpacted

Blackout in Ukrain [LAC16]

Occurred on Dec. 23rd , 2015, lasted up to 6 hours.Approximately 225,000 customers impacted.

Maxime Puys Cybersecurity of Industrial Systems Feb. 5, 2018 2 / 44

Page 3: CybersecurityofIndustrialSystems: ApplicativeFiltering andGenerationofAttackScenarios · 2020-04-01 · BlackoutinUkrain[LAC16] OccurredonDec. 23rd,2015,lastedupto6hours. Approximately225,000customersimpacted

Advanced Persistent Threats and Industrial Systems

Definition (Wikipedia)Set of stealthy and continuous computer hacking processes, oftenorchestrated by a person or persons targeting a specific entity.

Critical infrastructures:⇒ Potentially important damages.

Less aware of cybersecurity risks:⇒ Easier initial compromising, less defences.

Legacy and proprietary (often customized) components:⇒ Wider attack surface.

Protection becoming a priority for governmentsLaws to ensure security (Opérateurs d’Importance Vitale).Documents from government agencies (e.g.: ANSSI in France).

Maxime Puys Cybersecurity of Industrial Systems Feb. 5, 2018 3 / 44

Page 4: CybersecurityofIndustrialSystems: ApplicativeFiltering andGenerationofAttackScenarios · 2020-04-01 · BlackoutinUkrain[LAC16] OccurredonDec. 23rd,2015,lastedupto6hours. Approximately225,000customersimpacted

Challenges for Industrial Systems Cybersecurity

Recently Targeted by CyberattacksHistorically isolated from networks:⇒ Secure by design.

Properties to be Ensured Differ from IT SystemsIndustrial systems require mainly:

Availability, integrity, authentication, dependability.No focus on confidentiality.

⇒ Security verification tools not always adapted.

Need to Combine Safety and SecuritySafety = Protection against identified/natural difficulties.Security = Protection against malicious adversaries.⇒ Independent, opposite, complementary [PC10].

Maxime Puys Cybersecurity of Industrial Systems Feb. 5, 2018 4 / 44

Page 5: CybersecurityofIndustrialSystems: ApplicativeFiltering andGenerationofAttackScenarios · 2020-04-01 · BlackoutinUkrain[LAC16] OccurredonDec. 23rd,2015,lastedupto6hours. Approximately225,000customersimpacted

Thesis Goal

Wide cyberattack surface:Vectors: social engineering, networks, mobile devices, softwares, etc.In case of networks, possible targeted OSI layers: physical, ...,security, applicative.

Goal

⇒ Provide risk and vulnerability analyzes combining safety and security.⇒ Provide verifications relying on formal methods.

Maxime Puys Cybersecurity of Industrial Systems Feb. 5, 2018 5 / 44

Page 6: CybersecurityofIndustrialSystems: ApplicativeFiltering andGenerationofAttackScenarios · 2020-04-01 · BlackoutinUkrain[LAC16] OccurredonDec. 23rd,2015,lastedupto6hours. Approximately225,000customersimpacted

Thesis Goal

Wide cyberattack surface:Vectors: social engineering, networks, mobile devices, softwares, etc.In case of networks, possible targeted OSI layers: physical, ...,security, applicative.

GoalUncover or block applicative network attacks mainly exploitingcommunication protocol weaknesses.

⇒ Provide risk and vulnerability analyzes combining safety and security.⇒ Provide verifications relying on formal methods.

Maxime Puys Cybersecurity of Industrial Systems Feb. 5, 2018 5 / 44

Page 7: CybersecurityofIndustrialSystems: ApplicativeFiltering andGenerationofAttackScenarios · 2020-04-01 · BlackoutinUkrain[LAC16] OccurredonDec. 23rd,2015,lastedupto6hours. Approximately225,000customersimpacted

Thesis Goal

Wide cyberattack surface:Vectors: social engineering, networks, mobile devices, softwares, etc.In case of networks, possible targeted OSI layers: physical, ...,security, applicative.

GoalUncover or block applicative network attacks mainly exploitingcommunication protocol weaknesses.

⇒ Provide risk and vulnerability analyzes combining safety and security.⇒ Provide verifications relying on formal methods.

Maxime Puys Cybersecurity of Industrial Systems Feb. 5, 2018 5 / 44

Page 8: CybersecurityofIndustrialSystems: ApplicativeFiltering andGenerationofAttackScenarios · 2020-04-01 · BlackoutinUkrain[LAC16] OccurredonDec. 23rd,2015,lastedupto6hours. Approximately225,000customersimpacted

Thesis Goal

Wide cyberattack surface:Vectors: social engineering, networks, mobile devices, softwares, etc.In case of networks, possible targeted OSI layers: physical, ...,security, applicative.

GoalUncover or block applicative network attacks mainly exploitingcommunication protocol weaknesses.

⇒ Provide risk and vulnerability analyzes combining safety and security.⇒ Provide verifications relying on formal methods.

Maxime Puys Cybersecurity of Industrial Systems Feb. 5, 2018 5 / 44

Page 9: CybersecurityofIndustrialSystems: ApplicativeFiltering andGenerationofAttackScenarios · 2020-04-01 · BlackoutinUkrain[LAC16] OccurredonDec. 23rd,2015,lastedupto6hours. Approximately225,000customersimpacted

Industrial Systems (ICS) Composition 1/2

SCADA PLC Process

SCADA: Supervisory Control And Data Acquisition, controls andmonitors the process.PLC: Programmable Logic Controller, interprets SCADA orders forthe process.Process: Actual industrial process managed by the system.

Maxime Puys Cybersecurity of Industrial Systems Feb. 5, 2018 6 / 44

Page 10: CybersecurityofIndustrialSystems: ApplicativeFiltering andGenerationofAttackScenarios · 2020-04-01 · BlackoutinUkrain[LAC16] OccurredonDec. 23rd,2015,lastedupto6hours. Approximately225,000customersimpacted

Industrial Systems (ICS) Composition 2/2Variables on PLC synchronized with process.Protocols used are specific (e.g., MODBUS, OPC-UA).

SCADAPLC

MotorStatus

Motor

Actuator

Requests

Responses

ElectricalSignals

SCADA PLC

READRequest,MotorStatus

READResponse,MotorStatus, false

WRITERequest,MotorStatus, true

WRITEResponse,MotorStatus, true

Maxime Puys Cybersecurity of Industrial Systems Feb. 5, 2018 7 / 44

Page 11: CybersecurityofIndustrialSystems: ApplicativeFiltering andGenerationofAttackScenarios · 2020-04-01 · BlackoutinUkrain[LAC16] OccurredonDec. 23rd,2015,lastedupto6hours. Approximately225,000customersimpacted

A Common Thread: Maroochy Shire

Real attack occurring in2000 in Australia.An insider spills ∼ 1M littersof raw sewage into nature.Attack over several months.

Pompe

Cuve

Capteur

In our context, at least 3 vulnerabilities:Vulnerability 1: Absence of safety mechanism to avoid the spill.Vulnerability 2: Absence of authentication mechanism incommunication protocols.Vulnerability 3: Absence of prevision of attacks.

Maxime Puys Cybersecurity of Industrial Systems Feb. 5, 2018 8 / 44

Page 12: CybersecurityofIndustrialSystems: ApplicativeFiltering andGenerationofAttackScenarios · 2020-04-01 · BlackoutinUkrain[LAC16] OccurredonDec. 23rd,2015,lastedupto6hours. Approximately225,000customersimpacted

Overview of the Thesis

Protocols

ARAMIS

Filter

Rules

Protocols ProtocolsARAMIS

Filter

Rules

Protocols ProtocolsProtocols Protocols

Model

Safety Properties Analysis

Maxime Puys Cybersecurity of Industrial Systems Feb. 5, 2018 9 / 44

Page 13: CybersecurityofIndustrialSystems: ApplicativeFiltering andGenerationofAttackScenarios · 2020-04-01 · BlackoutinUkrain[LAC16] OccurredonDec. 23rd,2015,lastedupto6hours. Approximately225,000customersimpacted

Overview of the Thesis

Protocols

ARAMIS

Filter

Rules

Protocols ProtocolsARAMIS

Filter

Rules

Protocols ProtocolsProtocols Protocols

Model

Safety Properties Analysis

Maxime Puys Cybersecurity of Industrial Systems Feb. 5, 2018 9 / 44

Page 14: CybersecurityofIndustrialSystems: ApplicativeFiltering andGenerationofAttackScenarios · 2020-04-01 · BlackoutinUkrain[LAC16] OccurredonDec. 23rd,2015,lastedupto6hours. Approximately225,000customersimpacted

Overview of the Thesis: 1 – Applicative Filtering

Protocols

ARAMIS

Filter

Rules

Protocols Protocols

ARAMIS

Filter

Rules

Protocols ProtocolsProtocols Protocols

Model

Safety Properties Analysis

Maxime Puys Cybersecurity of Industrial Systems Feb. 5, 2018 9 / 44

Page 15: CybersecurityofIndustrialSystems: ApplicativeFiltering andGenerationofAttackScenarios · 2020-04-01 · BlackoutinUkrain[LAC16] OccurredonDec. 23rd,2015,lastedupto6hours. Approximately225,000customersimpacted

Overview of the Thesis: 2 – Protocol Verification

ProtocolsARAMIS

Filter

Rules

Protocols ProtocolsARAMIS

Filter

Rules

Protocols Protocols

Protocols Protocols

Model

Safety Properties Analysis

Maxime Puys Cybersecurity of Industrial Systems Feb. 5, 2018 9 / 44

Page 16: CybersecurityofIndustrialSystems: ApplicativeFiltering andGenerationofAttackScenarios · 2020-04-01 · BlackoutinUkrain[LAC16] OccurredonDec. 23rd,2015,lastedupto6hours. Approximately225,000customersimpacted

Overview of the Thesis: 3 – Attack Scenarios Generation

ProtocolsARAMIS

Filter

Rules

Protocols Protocols

ARAMIS

Filter

Rules

Protocols Protocols

Protocols Protocols

Model

Safety Properties Analysis

Maxime Puys Cybersecurity of Industrial Systems Feb. 5, 2018 9 / 44

Page 17: CybersecurityofIndustrialSystems: ApplicativeFiltering andGenerationofAttackScenarios · 2020-04-01 · BlackoutinUkrain[LAC16] OccurredonDec. 23rd,2015,lastedupto6hours. Approximately225,000customersimpacted

Overview of the Thesis: 3 – Attack Scenarios Generation

ProtocolsARAMIS

Filter

Rules

Protocols Protocols

ARAMIS

Filter

Rules

Protocols Protocols

Protocols Protocols

Model

Safety Properties Analysis

Maxime Puys Cybersecurity of Industrial Systems Feb. 5, 2018 9 / 44

Page 18: CybersecurityofIndustrialSystems: ApplicativeFiltering andGenerationofAttackScenarios · 2020-04-01 · BlackoutinUkrain[LAC16] OccurredonDec. 23rd,2015,lastedupto6hours. Approximately225,000customersimpacted

Contributions

Applicative Filtering for Industrial SystemsDefine and embed applicative filtering for industrial systems.

Formal Verification of Industrial ProtocolsAnalysis of two sub-protocols of OPC-UA and integrity properties.

A2SPICS: Attack Scenarios GenerationGlobal approach to analyze safety properties in presence of attackers.Experimentations with multiple classes of verification tools.

Maxime Puys Cybersecurity of Industrial Systems Feb. 5, 2018 10 / 44

Page 19: CybersecurityofIndustrialSystems: ApplicativeFiltering andGenerationofAttackScenarios · 2020-04-01 · BlackoutinUkrain[LAC16] OccurredonDec. 23rd,2015,lastedupto6hours. Approximately225,000customersimpacted

Contributions

Applicative Filtering for Industrial SystemsDefine and embed applicative filtering for industrial systems.

Formal Verification of Industrial ProtocolsI Analysis of two sub-protocols of OPC-UA and integrity properties.

A2SPICS: Attack Scenarios GenerationI Global Approach to analyze safety properties in presence of attackers.I Experimentations with multiple classes of verification tools.

Maxime Puys Cybersecurity of Industrial Systems Feb. 5, 2018 10 / 44

Page 20: CybersecurityofIndustrialSystems: ApplicativeFiltering andGenerationofAttackScenarios · 2020-04-01 · BlackoutinUkrain[LAC16] OccurredonDec. 23rd,2015,lastedupto6hours. Approximately225,000customersimpacted

Applicative Filtering Device

PIA project lead by Atos Worldgrid, supervised by ANSSI.Objective: A transparent device to disrupt and filter industrial flows.

SCADA

SCADA

SCADA

Server

Server

Server

Filter

Memory

Loader

Client

Client

Client

PLC

PLC

PLC

LowerHatch

Core

UpperHatch

Trust anchor

Config.File

PythonAPI

PythonScript

Filtering Device

SCADA

SCADA

SCADA

Server

Server

Server

Filter

Memory

Loader

Client

Client

Client

PLC

PLC

PLC

LowerHatch

Core

UpperHatch

Trust anchor

Config.File

PythonAPI

PythonScript

Filtering Device

[WCICSS’17] B. Badrignans et al. Security Architecture for EmbeddedPoint-to-Points Splitting Protocols, 2017.

Maxime Puys Cybersecurity of Industrial Systems Feb. 5, 2018 11 / 44

Page 21: CybersecurityofIndustrialSystems: ApplicativeFiltering andGenerationofAttackScenarios · 2020-04-01 · BlackoutinUkrain[LAC16] OccurredonDec. 23rd,2015,lastedupto6hours. Approximately225,000customersimpacted

Rules Configuration

Design of a language to specify rules.Filter acts as interpreter.Several requirements on functionalities, performances, security.

Config.File

PythonAPI

PythonScript

Rules

Loader

Memory

Core

Filtering Device

Config.File

PythonAPI

PythonScript

Rules

Loader

Memory

Core

Filtering Device

Maxime Puys Cybersecurity of Industrial Systems Feb. 5, 2018 12 / 44

Page 22: CybersecurityofIndustrialSystems: ApplicativeFiltering andGenerationofAttackScenarios · 2020-04-01 · BlackoutinUkrain[LAC16] OccurredonDec. 23rd,2015,lastedupto6hours. Approximately225,000customersimpacted

Rules Verifications

Verifications on configuration file on loading:I Rules consistency.I Filter storage space (rules and process state).I Worst-case processing time for a message.

Config.File Loader

Memory

Verifications

Core

Filtering Device

Config.File Loader

Memory

Verifications

Core

Filtering Device

Maxime Puys Cybersecurity of Industrial Systems Feb. 5, 2018 13 / 44

Page 23: CybersecurityofIndustrialSystems: ApplicativeFiltering andGenerationofAttackScenarios · 2020-04-01 · BlackoutinUkrain[LAC16] OccurredonDec. 23rd,2015,lastedupto6hours. Approximately225,000customersimpacted

Rules Example

Stateless rules (e.g.: access control, permissions, values written).

Domain specific stateful rules:Temporal rules (e.g.: not receive more than 1 command per minute).Global process state (e.g.: pump must not be stopped if tank is full).

Case studies on real life examples:Demonstration of a prototype showed to ANSSI.

[CRITIS’16] M. Puys, J.-L. Roch, and M.-L. Potet. Domain specific statefulfiltering with worst-case bandwidth, 2016.

Maxime Puys Cybersecurity of Industrial Systems Feb. 5, 2018 14 / 44

Page 24: CybersecurityofIndustrialSystems: ApplicativeFiltering andGenerationofAttackScenarios · 2020-04-01 · BlackoutinUkrain[LAC16] OccurredonDec. 23rd,2015,lastedupto6hours. Approximately225,000customersimpacted

Back to the Common Thread: Maroochy Shire

Vulnerability 1: Absence ofsafety mechanism to avoidthe spill.

Pompe

Cuve

Capteur

rule = filter.Filter(chan , pumpState , filtre.Service.WRITE)rule.addSubRule(

condition=filter.And(filter.Equal(captor.currentValue , 1),filter.Equal(filter.NewValue(), 0)

),thenActions=filter.Reject("Tank full!")

)

Maxime Puys Cybersecurity of Industrial Systems Feb. 5, 2018 15 / 44

Page 25: CybersecurityofIndustrialSystems: ApplicativeFiltering andGenerationofAttackScenarios · 2020-04-01 · BlackoutinUkrain[LAC16] OccurredonDec. 23rd,2015,lastedupto6hours. Approximately225,000customersimpacted

Formal Verificationof Industrial Protocols

Maxime Puys Cybersecurity of Industrial Systems Feb. 5, 2018 16 / 44

Page 26: CybersecurityofIndustrialSystems: ApplicativeFiltering andGenerationofAttackScenarios · 2020-04-01 · BlackoutinUkrain[LAC16] OccurredonDec. 23rd,2015,lastedupto6hours. Approximately225,000customersimpacted

Overview of the Thesis

Aramis

Filter

Rules

Protocols Protocols

Maxime Puys Cybersecurity of Industrial Systems Feb. 5, 2018 17 / 44

Page 27: CybersecurityofIndustrialSystems: ApplicativeFiltering andGenerationofAttackScenarios · 2020-04-01 · BlackoutinUkrain[LAC16] OccurredonDec. 23rd,2015,lastedupto6hours. Approximately225,000customersimpacted

Overview of the Thesis

Aramis

Filter

Rules

Protocols Protocols

Maxime Puys Cybersecurity of Industrial Systems Feb. 5, 2018 17 / 44

Page 28: CybersecurityofIndustrialSystems: ApplicativeFiltering andGenerationofAttackScenarios · 2020-04-01 · BlackoutinUkrain[LAC16] OccurredonDec. 23rd,2015,lastedupto6hours. Approximately225,000customersimpacted

Cryptographic Protocols Verification

In Maroochy Shire attack, protocols provided no security against attackers:⇒ Even when providing security feature, crucial to assess security.

Numerous tools exist (e.g.: Tamarin [MSCB13] or ProVerif [Bla01]):Formally verify the protocol in presence of attacker (Dolev-Yao).Check secrecy and authentication properties.

⇒ Not currently applied to industrial protocols.

Maxime Puys Cybersecurity of Industrial Systems Feb. 5, 2018 18 / 44

Page 29: CybersecurityofIndustrialSystems: ApplicativeFiltering andGenerationofAttackScenarios · 2020-04-01 · BlackoutinUkrain[LAC16] OccurredonDec. 23rd,2015,lastedupto6hours. Approximately225,000customersimpacted

Related Works on Analysis of Industrial Protocols

Ref Year Studied Protocols Analysis[CRW04] 2004 DNP3, ICCP Informal

OPC, MMS, IEC 61850[DNvHC05] 2005

ICCP, EtherNet/IPInformal

[GP05] 2005 DNP3 Formal (OFMC)[IEC15] 2006 OPC-UA Informal[PY07] 2007 DNP3 Informal

[FCMT09] 2009 MODBUS Informal[HEK13] 2013 MODBUS Informal

[WWSY15] 2015 MODBUS, DNP3, OPC-UA Informal[Amo16] 2016 DNP3 Formal (Petri nets)

Maxime Puys Cybersecurity of Industrial Systems Feb. 5, 2018 19 / 44

Page 30: CybersecurityofIndustrialSystems: ApplicativeFiltering andGenerationofAttackScenarios · 2020-04-01 · BlackoutinUkrain[LAC16] OccurredonDec. 23rd,2015,lastedupto6hours. Approximately225,000customersimpacted

Related Works on Analysis of Industrial Protocols

Ref Year Studied Protocols Analysis[CRW04] 2004 DNP3, ICCP Informal

OPC, MMS, IEC 61850[DNvHC05] 2005

ICCP, EtherNet/IPInformal

[GP05] 2005 DNP3 Formal (OFMC)[IEC15] 2006 OPC-UA Informal[PY07] 2007 DNP3 Informal

[FCMT09] 2009 MODBUS Informal[HEK13] 2013 MODBUS Informal

[WWSY15] 2015 MODBUS, DNP3, OPC-UA Informal[Amo16] 2016 DNP3 Formal (Petri nets)

[PPL16] 2016 OPC-UA Formal (ProVerif)[DPP+17] 2017 MODBUS, OPC-UA Formal (Tamarin)

Maxime Puys Cybersecurity of Industrial Systems Feb. 5, 2018 19 / 44

Page 31: CybersecurityofIndustrialSystems: ApplicativeFiltering andGenerationofAttackScenarios · 2020-04-01 · BlackoutinUkrain[LAC16] OccurredonDec. 23rd,2015,lastedupto6hours. Approximately225,000customersimpacted

Motivations on Studying OPC-UA Security

Recent (2006), up to state-of-the-art, ongoing development.Probably next standard for industrial communications:

I Designed by a consortium of key stakeholders.

Official specifications: 1000 pages:Several terms redefined afterward.Highly context dependent.⇒ Unclear on the use of some security features.

Idea: Models from the specifications.

Maxime Puys Cybersecurity of Industrial Systems Feb. 5, 2018 20 / 44

Page 32: CybersecurityofIndustrialSystems: ApplicativeFiltering andGenerationofAttackScenarios · 2020-04-01 · BlackoutinUkrain[LAC16] OccurredonDec. 23rd,2015,lastedupto6hours. Approximately225,000customersimpacted

Details on OPC-UA

Handshake protocol followed bytransport protocol.Handshake composed of twosub-protocols.

Expected security propertiesdifferent for handshake andtransport.

Client Server

OpenSecureChannel

CreateSession

Transport

...

CloseSession

KCS KSC

KSigCS KSigSC

loginpasswd

Commands

Maxime Puys Cybersecurity of Industrial Systems Feb. 5, 2018 21 / 44

Page 33: CybersecurityofIndustrialSystems: ApplicativeFiltering andGenerationofAttackScenarios · 2020-04-01 · BlackoutinUkrain[LAC16] OccurredonDec. 23rd,2015,lastedupto6hours. Approximately225,000customersimpacted

Details on OPC-UA

Handshake protocol followed bytransport protocol.Handshake composed of twosub-protocols.

Secrecy of keys, authenticationof agents.

Client Server

OpenSecureChannel

CreateSession

Transport

...

CloseSession

KCS KSC

KSigCS KSigSC

loginpasswd

Commands

Maxime Puys Cybersecurity of Industrial Systems Feb. 5, 2018 21 / 44

Page 34: CybersecurityofIndustrialSystems: ApplicativeFiltering andGenerationofAttackScenarios · 2020-04-01 · BlackoutinUkrain[LAC16] OccurredonDec. 23rd,2015,lastedupto6hours. Approximately225,000customersimpacted

Details on OPC-UA

Handshake protocol followed bytransport protocol.Handshake composed of twosub-protocols.

Secrecy and authentication onpassword.

Client Server

OpenSecureChannel

CreateSession

Transport

...

CloseSession

KCS KSC

KSigCS KSigSC

loginpasswd

Commands

Maxime Puys Cybersecurity of Industrial Systems Feb. 5, 2018 21 / 44

Page 35: CybersecurityofIndustrialSystems: ApplicativeFiltering andGenerationofAttackScenarios · 2020-04-01 · BlackoutinUkrain[LAC16] OccurredonDec. 23rd,2015,lastedupto6hours. Approximately225,000customersimpacted

Details on OPC-UA

Handshake protocol followed bytransport protocol.Handshake composed of twosub-protocols.

Flow integrity of the commands.

Client Server

OpenSecureChannel

CreateSession

Transport

...

CloseSession

KCS KSC

KSigCS KSigSC

loginpasswd

Commands

Maxime Puys Cybersecurity of Industrial Systems Feb. 5, 2018 21 / 44

Page 36: CybersecurityofIndustrialSystems: ApplicativeFiltering andGenerationofAttackScenarios · 2020-04-01 · BlackoutinUkrain[LAC16] OccurredonDec. 23rd,2015,lastedupto6hours. Approximately225,000customersimpacted

OPC-UA Handshake Analysis

Two attacks found when security features are absentReuse of cryptographic signatures, password leaked.Results communicated to OPC Foundation (specifications later clarified).

ChallengesThree possible security modes.Combination of secure protocols may not be secure.

Modeling credentials with ProVerifverifyCreds(pk(S), Login(pk(C)),Passwd(sk(C), pk(S))) = true.User policy for password in models.

[Safecomp’16] M. Puys, M.-L. Potet, and P. Lafourcade, 2016.

Maxime Puys Cybersecurity of Industrial Systems Feb. 5, 2018 22 / 44

Page 37: CybersecurityofIndustrialSystems: ApplicativeFiltering andGenerationofAttackScenarios · 2020-04-01 · BlackoutinUkrain[LAC16] OccurredonDec. 23rd,2015,lastedupto6hours. Approximately225,000customersimpacted

OPC-UA Transport AnalysisModel properties required by (not limited to) industrial systems.

SA,B = M1 M2 M3 M4

RA,B = M1 M4 M3

Check inclusion between SA,B and RA,B :Classical network properties (e.g.: TCP sequence numbers)⇒ Never implemented in protocol verification tools

Can an intruder tamper with these sequence numbers?

[Secrypt’17] J. Dreier, M. Puys, M.-L. Potet, P. Lafourcade, and J.-L. Roch, 2017.

Maxime Puys Cybersecurity of Industrial Systems Feb. 5, 2018 23 / 44

Page 38: CybersecurityofIndustrialSystems: ApplicativeFiltering andGenerationofAttackScenarios · 2020-04-01 · BlackoutinUkrain[LAC16] OccurredonDec. 23rd,2015,lastedupto6hours. Approximately225,000customersimpacted

Flow Integrity PropertiesFA)(FD FI∧

IMA)(IMD IMI

NIMA)(NIMD NIMI

A⇒ B if a protocol ensuring Aalso ensures B.

Implementation in collaboration withdevelopers of Tamarin:

Models for sequences numbers (i.e.:counters) and resilient channels.

Property FA (Flow Authenticity)

« All messages are received in the same order they have been sent. »

∀i , j : time,A,B : agent,m,m2 : msg .(

Received(A,B,m)@i ∧ Received(A,B,m2)@j ∧ i l j

) ⇒ (∃k, l : time.

Sent(A,B,m)@k ∧ Sent(A,B,m2)@l ∧ k l l

)

Maxime Puys Cybersecurity of Industrial Systems Feb. 5, 2018 24 / 44

Page 39: CybersecurityofIndustrialSystems: ApplicativeFiltering andGenerationofAttackScenarios · 2020-04-01 · BlackoutinUkrain[LAC16] OccurredonDec. 23rd,2015,lastedupto6hours. Approximately225,000customersimpacted

Key Takeaways on Flow Integrity

Verification of MODBUS and OPC-UAProtocol MODBUS [FCMT09] [HEK13] OPC-UA

Vulnerability UNSAFE UNSAFE SAFE SAFE

ChallengesIn real life, machine integers are bounded and wrap over.If so, all protocols are vulnerable.

SA,B =M1

seq=1M2

seq=2M3

seq=3M4

seq=4M5

seq=1

RA,B =

M5seq=1

M2seq=2

Maxime Puys Cybersecurity of Industrial Systems Feb. 5, 2018 25 / 44

Page 40: CybersecurityofIndustrialSystems: ApplicativeFiltering andGenerationofAttackScenarios · 2020-04-01 · BlackoutinUkrain[LAC16] OccurredonDec. 23rd,2015,lastedupto6hours. Approximately225,000customersimpacted

Key Takeaways on Flow Integrity

Verification of MODBUS and OPC-UAProtocol MODBUS [FCMT09] [HEK13] OPC-UA

Vulnerability UNSAFE UNSAFE SAFE SAFE

ChallengesIn real life, machine integers are bounded and wrap over.If so, all protocols are vulnerable.

SA,B =M1

seq=1M2

seq=2M3

seq=3M4

seq=4M5

seq=1

RA,B =M5

seq=1

M2seq=2

Maxime Puys Cybersecurity of Industrial Systems Feb. 5, 2018 25 / 44

Page 41: CybersecurityofIndustrialSystems: ApplicativeFiltering andGenerationofAttackScenarios · 2020-04-01 · BlackoutinUkrain[LAC16] OccurredonDec. 23rd,2015,lastedupto6hours. Approximately225,000customersimpacted

Key Takeaways on Flow Integrity

Verification of MODBUS and OPC-UAProtocol MODBUS [FCMT09] [HEK13] OPC-UA

Vulnerability UNSAFE UNSAFE SAFE SAFE

ChallengesIn real life, machine integers are bounded and wrap over.If so, all protocols are vulnerable.

SA,B =M1

seq=1M2

seq=2M3

seq=3M4

seq=4M5

seq=1

RA,B =M5

seq=1M2

seq=2

Maxime Puys Cybersecurity of Industrial Systems Feb. 5, 2018 25 / 44

Page 42: CybersecurityofIndustrialSystems: ApplicativeFiltering andGenerationofAttackScenarios · 2020-04-01 · BlackoutinUkrain[LAC16] OccurredonDec. 23rd,2015,lastedupto6hours. Approximately225,000customersimpacted

Back to the Common Thread: Maroochy Shire

Vulnerability 2: Absence ofauthentication mechanism incommunication protocols.

Pompe

Cuve

Capteur

Methodology to catch properties required by industrial protocols.Proofs of security for OPC-UA:⇒ Provides authentication and integrity.

Maxime Puys Cybersecurity of Industrial Systems Feb. 5, 2018 26 / 44

Page 43: CybersecurityofIndustrialSystems: ApplicativeFiltering andGenerationofAttackScenarios · 2020-04-01 · BlackoutinUkrain[LAC16] OccurredonDec. 23rd,2015,lastedupto6hours. Approximately225,000customersimpacted

A2SPICS: Attack Scenarios Generation

Maxime Puys Cybersecurity of Industrial Systems Feb. 5, 2018 27 / 44

Page 44: CybersecurityofIndustrialSystems: ApplicativeFiltering andGenerationofAttackScenarios · 2020-04-01 · BlackoutinUkrain[LAC16] OccurredonDec. 23rd,2015,lastedupto6hours. Approximately225,000customersimpacted

Overview of the Thesis

ARAMIS

Filter

Rules

Protocols Protocols

Model

Safety Properties Analysis

Maxime Puys Cybersecurity of Industrial Systems Feb. 5, 2018 28 / 44

Page 45: CybersecurityofIndustrialSystems: ApplicativeFiltering andGenerationofAttackScenarios · 2020-04-01 · BlackoutinUkrain[LAC16] OccurredonDec. 23rd,2015,lastedupto6hours. Approximately225,000customersimpacted

Idea

Effects of Maroochy Shire attack lasted several months, meaning noprevision of attacks.

A2SPICSAnalyze safety properties in presence of attackers.⇒ Find applicative attacks on industrial systems.

Tailored AttackersAttackers resulting of risk analyzes and protocol verification.⇒ Apply only useful countermeasures.

[FPS’17] M. Puys, M.-L. Potet, and A. Khaled, 2016.

Maxime Puys Cybersecurity of Industrial Systems Feb. 5, 2018 29 / 44

Page 46: CybersecurityofIndustrialSystems: ApplicativeFiltering andGenerationofAttackScenarios · 2020-04-01 · BlackoutinUkrain[LAC16] OccurredonDec. 23rd,2015,lastedupto6hours. Approximately225,000customersimpacted

The A2SPICS Approach

6. CriticalProperties

5. Safety RiskAnalysis

8. Generationof attackscenarios

4. Risk AnalysisFocused onAttackers

9. ProcessModel

1. Topology 2. High LevelObjectives

3. SecurityFeatures

AttackTrace

PropertySafe Inconclusive

7. Attacker Models

Phase 1

Phase 2

Maxime Puys Cybersecurity of Industrial Systems Feb. 5, 2018 30 / 44

Page 47: CybersecurityofIndustrialSystems: ApplicativeFiltering andGenerationofAttackScenarios · 2020-04-01 · BlackoutinUkrain[LAC16] OccurredonDec. 23rd,2015,lastedupto6hours. Approximately225,000customersimpacted

The A2SPICS Approach

6. CriticalProperties

5. Safety RiskAnalysis

8. Generationof attackscenarios

4. Risk AnalysisFocused onAttackers

9. ProcessModel

1. Topology 2. High LevelObjectives

3. SecurityFeatures

AttackTrace

PropertySafe Inconclusive

7. Attacker Models

Phase 1

Phase 2Phase 2

Maxime Puys Cybersecurity of Industrial Systems Feb. 5, 2018 30 / 44

Page 48: CybersecurityofIndustrialSystems: ApplicativeFiltering andGenerationofAttackScenarios · 2020-04-01 · BlackoutinUkrain[LAC16] OccurredonDec. 23rd,2015,lastedupto6hours. Approximately225,000customersimpacted

The A2SPICS Approach

6. CriticalProperties

5. Safety RiskAnalysis

8. Generationof attackscenarios

4. Risk AnalysisFocused onAttackers

9. ProcessModel

1. Topology 2. High LevelObjectives

3. SecurityFeatures

AttackTrace

PropertySafe Inconclusive

7. Attacker Models

Phase 1

Phase 2

Maxime Puys Cybersecurity of Industrial Systems Feb. 5, 2018 30 / 44

Page 49: CybersecurityofIndustrialSystems: ApplicativeFiltering andGenerationofAttackScenarios · 2020-04-01 · BlackoutinUkrain[LAC16] OccurredonDec. 23rd,2015,lastedupto6hours. Approximately225,000customersimpacted

Topologies

Network topology of the system:Communication channels between components;Position of attackers.⇒ Impact on the variables they can attack.

Client

Attacker

MODBUS Server

motorbottleInPlaceprocessRun

nozzlelevelHit

Client

Attacker

MODBUS Server OPC-UA Server

motorbottleInPlaceprocessRun

nozzlelevelHit

Maxime Puys Cybersecurity of Industrial Systems Feb. 5, 2018 31 / 44

Page 50: CybersecurityofIndustrialSystems: ApplicativeFiltering andGenerationofAttackScenarios · 2020-04-01 · BlackoutinUkrain[LAC16] OccurredonDec. 23rd,2015,lastedupto6hours. Approximately225,000customersimpacted

Attackers 1/2

Characterized by:Position in the topology:

I On a channel (Man-In-The-Middle);I On a corrupted component (virus, malicious operator, etc).

Capacities:I Possible actions on messages (intercept, modify, replay, etc);I Deduction system (deduce new information from knowledge, e.g.:

encrypt/decrypt).

Initial knowledge:I Other components;I Process behavior;I Cryptographic keys, etc.

Maxime Puys Cybersecurity of Industrial Systems Feb. 5, 2018 32 / 44

Page 51: CybersecurityofIndustrialSystems: ApplicativeFiltering andGenerationofAttackScenarios · 2020-04-01 · BlackoutinUkrain[LAC16] OccurredonDec. 23rd,2015,lastedupto6hours. Approximately225,000customersimpacted

Attackers 2/2

Send

Intercept

Replay

Modify

A1

Copy

Security

Keys

Forge

chan!m

sg

chan?msg

msg:=

m∈KA1

mod

ify(m

sg,K

A1)

KA

1

⋃ {msg

}

enc|dec|sign|verify

k ∈ KA1

msg:=

forge(K

A 1)

Four attackers shows as examples:A1 = close to Dolev-Yao;A2, A3 and A4 are subsets of A1.In the global approach, attackermodels depending on riskanalyzes.

Attacker Modify Forge ReplayA1 3 3 3

A2 3 7 7

A3 7 3 7

A4 7 7 3

Maxime Puys Cybersecurity of Industrial Systems Feb. 5, 2018 33 / 44

Page 52: CybersecurityofIndustrialSystems: ApplicativeFiltering andGenerationofAttackScenarios · 2020-04-01 · BlackoutinUkrain[LAC16] OccurredonDec. 23rd,2015,lastedupto6hours. Approximately225,000customersimpacted

Behaviors and Safety Properties

Idle Moving

Pouring

Start moving

Stop moving

Start

pourin

gStop

pourin

g

Switch

topouring

Switch

tomoving

Automaton of the behavior of the process

Current State Next State Guard Actions

Idle Moving processRun = true ∧bottleInPlace = false

motor := true

Idle Pouring processRun = true ∧bottleInPlace = true

nozzle := true

Moving Pouring bottleInPlace = true motor := false ∧nozzle := true

Pouring Moving levelHit = true motor := true ∧nozzle := false

Moving Idle processRun = false motor := false ∧nozzle := false

Pouring Idle processRun = false motor := false ∧nozzle := false

Transitions Details

Properties: CTL formula:

Φ1: At all time and on each path, nozzle is never true if bottleInPlace is false).A�¬(nozzle = true and bottleInPlace = false)

Φ2: A�¬(motor = true and levelHit = false)

Φ3: A�¬(nozzle = true and motor = true)

Maxime Puys Cybersecurity of Industrial Systems Feb. 5, 2018 34 / 44

Page 53: CybersecurityofIndustrialSystems: ApplicativeFiltering andGenerationofAttackScenarios · 2020-04-01 · BlackoutinUkrain[LAC16] OccurredonDec. 23rd,2015,lastedupto6hours. Approximately225,000customersimpacted

Instrumentation using Different Tools

Implementation of A2SPICS using 3 different tools:UPPAAL, Uppsala University, Aalborg University [YPD94], 1994:

I Model-checker.I Mainly designed for timed automata.

⇒ Safety oriented verification tool.

ProVerif, Inria [Bla01], 2001:I Protocol verification tool.

⇒ Security oriented verification tool.I Relying on π-calculus and Horn clauses.

Tamarin, ETH Zurich, Loria, Oxford Univeristy [SMCB12], 2012:I Protocol verification tool.

⇒ Security oriented verification tool.I Relying on Maude-NPA rewriting tool.I Fine modeling of temporal properties.

Maxime Puys Cybersecurity of Industrial Systems Feb. 5, 2018 35 / 44

Page 54: CybersecurityofIndustrialSystems: ApplicativeFiltering andGenerationofAttackScenarios · 2020-04-01 · BlackoutinUkrain[LAC16] OccurredonDec. 23rd,2015,lastedupto6hours. Approximately225,000customersimpacted

Limitations and Difficulties

UPPAAL: Attacker behavior is too wide and deepNumber of actions per attack is bounded (configurable, classicallimitation of model-checking).

ProVerif: Very tedious state modelingRequires resilient channels, value enumeration, etc.

Tamarin: Impossible state modelingBackward search loops if behaviors have cycles.

Key TakeawaysI UPPAAL: Enhance attacker model.I Protocol Verification Tools: Not adapted at the moment.

Maxime Puys Cybersecurity of Industrial Systems Feb. 5, 2018 36 / 44

Page 55: CybersecurityofIndustrialSystems: ApplicativeFiltering andGenerationofAttackScenarios · 2020-04-01 · BlackoutinUkrain[LAC16] OccurredonDec. 23rd,2015,lastedupto6hours. Approximately225,000customersimpacted

Related Works

Survey on assessment of security in industrial system([PCB13, KPCBH15, CBB+15]).Comparison criteria from [KPCBH15, CBB+15]:

Ref. Type Focus Process model Probabilistic Automated[BFM04] Model Atk No No No[MBFB06] Model Atk No Yes No[PGR08] Model Atk No Yes No[TML10] Model Atk No Yes Yes[KBL15] Model Atk No Yes Yes[RT17] Model Atk,Goal Yes No YesA2SPICS Model Atk,Goal Yes No Yes

[RT17] rely on Cl-Atse (protocol verification tool):I Dolev-Yao intruder ⇒ less precise control on attacker capacities.

A2SPICS aims at modeling attackers resulting on risk analysis.

Maxime Puys Cybersecurity of Industrial Systems Feb. 5, 2018 37 / 44

Page 56: CybersecurityofIndustrialSystems: ApplicativeFiltering andGenerationofAttackScenarios · 2020-04-01 · BlackoutinUkrain[LAC16] OccurredonDec. 23rd,2015,lastedupto6hours. Approximately225,000customersimpacted

Related Works

Survey on assessment of security in industrial system([PCB13, KPCBH15, CBB+15]).Comparison criteria from [KPCBH15, CBB+15]:

Ref. Type Focus Process model Probabilistic Automated[BFM04] Model Atk No No No[MBFB06] Model Atk No Yes No[PGR08] Model Atk No Yes No[TML10] Model Atk No Yes Yes[KBL15] Model Atk No Yes Yes[RT17] Model Atk,Goal Yes No YesA2SPICS Model Atk,Goal Yes No Yes

[RT17] rely on Cl-Atse (protocol verification tool):I Dolev-Yao intruder ⇒ less precise control on attacker capacities.

A2SPICS aims at modeling attackers resulting on risk analysis.

Maxime Puys Cybersecurity of Industrial Systems Feb. 5, 2018 37 / 44

Page 57: CybersecurityofIndustrialSystems: ApplicativeFiltering andGenerationofAttackScenarios · 2020-04-01 · BlackoutinUkrain[LAC16] OccurredonDec. 23rd,2015,lastedupto6hours. Approximately225,000customersimpacted

Related Works

Survey on assessment of security in industrial system([PCB13, KPCBH15, CBB+15]).Comparison criteria from [KPCBH15, CBB+15]:

Ref. Type Focus Process model Probabilistic Automated[BFM04] Model Atk No No No[MBFB06] Model Atk No Yes No[PGR08] Model Atk No Yes No[TML10] Model Atk No Yes Yes[KBL15] Model Atk No Yes Yes[RT17] Model Atk,Goal Yes No YesA2SPICS Model Atk,Goal Yes No Yes

[RT17] rely on Cl-Atse (protocol verification tool):I Dolev-Yao intruder ⇒ less precise control on attacker capacities.

A2SPICS aims at modeling attackers resulting on risk analysis.

Maxime Puys Cybersecurity of Industrial Systems Feb. 5, 2018 37 / 44

Page 58: CybersecurityofIndustrialSystems: ApplicativeFiltering andGenerationofAttackScenarios · 2020-04-01 · BlackoutinUkrain[LAC16] OccurredonDec. 23rd,2015,lastedupto6hours. Approximately225,000customersimpacted

Related Works

Survey on assessment of security in industrial system([PCB13, KPCBH15, CBB+15]).Comparison criteria from [KPCBH15, CBB+15]:

Ref. Type Focus Process model Probabilistic Automated[BFM04] Model Atk No No No[MBFB06] Model Atk No Yes No[PGR08] Model Atk No Yes No[TML10] Model Atk No Yes Yes[KBL15] Model Atk No Yes Yes[RT17] Model Atk,Goal Yes No YesA2SPICS Model Atk,Goal Yes No Yes

[RT17] rely on Cl-Atse (protocol verification tool):I Dolev-Yao intruder ⇒ less precise control on attacker capacities.

A2SPICS aims at modeling attackers resulting on risk analysis.

Maxime Puys Cybersecurity of Industrial Systems Feb. 5, 2018 37 / 44

Page 59: CybersecurityofIndustrialSystems: ApplicativeFiltering andGenerationofAttackScenarios · 2020-04-01 · BlackoutinUkrain[LAC16] OccurredonDec. 23rd,2015,lastedupto6hours. Approximately225,000customersimpacted

Related Works

Survey on assessment of security in industrial system([PCB13, KPCBH15, CBB+15]).Comparison criteria from [KPCBH15, CBB+15]:

Ref. Type Focus Process model Probabilistic Automated[BFM04] Model Atk No No No[MBFB06] Model Atk No Yes No[PGR08] Model Atk No Yes No[TML10] Model Atk No Yes Yes[KBL15] Model Atk No Yes Yes[RT17] Model Atk,Goal Yes No YesA2SPICS Model Atk,Goal Yes No Yes

[RT17] rely on Cl-Atse (protocol verification tool):I Dolev-Yao intruder ⇒ less precise control on attacker capacities.

A2SPICS aims at modeling attackers resulting on risk analysis.

Maxime Puys Cybersecurity of Industrial Systems Feb. 5, 2018 37 / 44

Page 60: CybersecurityofIndustrialSystems: ApplicativeFiltering andGenerationofAttackScenarios · 2020-04-01 · BlackoutinUkrain[LAC16] OccurredonDec. 23rd,2015,lastedupto6hours. Approximately225,000customersimpacted

Back to the Common Thread: Maroochy Shire

Vulnerability 3: Absence ofprevision of attacks.

Pompe

Cuve

Capteur

A2SPICS allows to discover possible attack scenarios:⇒ Counter-measures could have been installed.

Maxime Puys Cybersecurity of Industrial Systems Feb. 5, 2018 38 / 44

Page 61: CybersecurityofIndustrialSystems: ApplicativeFiltering andGenerationofAttackScenarios · 2020-04-01 · BlackoutinUkrain[LAC16] OccurredonDec. 23rd,2015,lastedupto6hours. Approximately225,000customersimpacted

Conclusion

Maxime Puys Cybersecurity of Industrial Systems Feb. 5, 2018 39 / 44

Page 62: CybersecurityofIndustrialSystems: ApplicativeFiltering andGenerationofAttackScenarios · 2020-04-01 · BlackoutinUkrain[LAC16] OccurredonDec. 23rd,2015,lastedupto6hours. Approximately225,000customersimpacted

Contributions & Perspectives: Applicative Filtering

Applicative Filtering for Industrial SystemsDefine and embed applicative filtering for industrial systems.

Hot TopicSegregation and filters are among most required security measures.

Handle expressiveness of recent protocolsMethod calls: simulate if method call violates rules ?Custom data structures ?Notifications

Maxime Puys Cybersecurity of Industrial Systems Feb. 5, 2018 40 / 44

Page 63: CybersecurityofIndustrialSystems: ApplicativeFiltering andGenerationofAttackScenarios · 2020-04-01 · BlackoutinUkrain[LAC16] OccurredonDec. 23rd,2015,lastedupto6hours. Approximately225,000customersimpacted

Contributions & Perspectives: Protocol Verification

Formal Verification of Industrial ProtocolsAnalysis of two sub-protocols of OPC-UA and integrity properties.

Protocol EncapsulationE.g.: MODBUS through OPC-UA, shared keys, parts notencapsulated, etc.

Observational EquivalenceCurrently used for e-vote protocol, interesting for customer data.

Maxime Puys Cybersecurity of Industrial Systems Feb. 5, 2018 41 / 44

Page 64: CybersecurityofIndustrialSystems: ApplicativeFiltering andGenerationofAttackScenarios · 2020-04-01 · BlackoutinUkrain[LAC16] OccurredonDec. 23rd,2015,lastedupto6hours. Approximately225,000customersimpacted

Contributions & Perspectives: Attack Scenarios

A2SPICS: Attack Scenarios GenerationGlobal Approach to analyze safety properties in presence of attackers.Experimentations with multiple classes of verification tools.

Refine ModelAttacker capacities depending on safety properties (only generateuseful messages.)

Enhance ModelAttacker collusions, resilience properties.

Maxime Puys Cybersecurity of Industrial Systems Feb. 5, 2018 42 / 44

Page 65: CybersecurityofIndustrialSystems: ApplicativeFiltering andGenerationofAttackScenarios · 2020-04-01 · BlackoutinUkrain[LAC16] OccurredonDec. 23rd,2015,lastedupto6hours. Approximately225,000customersimpacted

Deeper Combining Contributions

Joint Use of ContributionsTest filtering device using A2SPICS method.Include protocol modeling in A2SPICS method.

Transversal View of CybersecurityFocus on multiple linked security mechanisms:⇒ Idea of defence in depth.

Maxime Puys Cybersecurity of Industrial Systems Feb. 5, 2018 43 / 44

Page 66: CybersecurityofIndustrialSystems: ApplicativeFiltering andGenerationofAttackScenarios · 2020-04-01 · BlackoutinUkrain[LAC16] OccurredonDec. 23rd,2015,lastedupto6hours. Approximately225,000customersimpacted

Conclusion

Thanks for your attention!

Applicative Filtering for Industrial Systems:B. Badrignans, V. Danjean, J.-G. Dumas, P. Elbaz-Vincent, S. Machenaud, J.-B. Orfila, F. Pebay-Peyroula,F. Pebay-Peyroula, M.-L. Potet, M. Puys, J.-L. Richier, and J.-L. Roch. Security Architecture for EmbeddedPoint-to-Points Splitting Protocols. WCICSS’17, 2017.M. Puys, J.-L. Roch, and M.-L. Potet. Domain specific stateful filtering with worst-case bandwidth.CRITIS’16, 2016

Industrial Protocol Verification:J. Dreier, M. Puys, M.-L. Potet, P. Lafourcade, and J.-L. Roch. Formally verifying flow integrity propertiesin industrial systems. SECRYPT’17, 2017. Best Student Paper Award.M. Puys, M.-L. Potet, and P. Lafourcade. Formal analysis of security properties on the OPC-UA SCADAprotocol. SAFECOMP’16, 2016.

A2SPICS– Attack Scenarios Generation:M. Puys, M.-L. Potet, and A. Khaled. Generation of applicative attacks scenarios against industrial systems.FPS’17, 2017.M. Puys, M.-L. Potet, and J.-L. Roch. Génération systématique de scénarios d’attaques contre des systèmesindustriels. AFADL’16, 2016

Other topics:J.-G. Dumas, P. Lafourcade, J.-B. Orfila, and M. Puys. Dual protocols for private multi-party matrixmultiplication and trust computations. Computers & Security, 2017.J.-G. Dumas, P. Lafourcade, J.-B. Orfila, and M. Puys. Private multi-party matrix multiplication and trustcomputations. SECRYPT’16, 2016. Best Paper Award.P. Lafourcade and M. Puys. Performance evaluations of cryptographic protocols verification tools dealingwith algebraic properties. FPS’15, 2015.

Maxime Puys Cybersecurity of Industrial Systems Feb. 5, 2018 44 / 44

Page 67: CybersecurityofIndustrialSystems: ApplicativeFiltering andGenerationofAttackScenarios · 2020-04-01 · BlackoutinUkrain[LAC16] OccurredonDec. 23rd,2015,lastedupto6hours. Approximately225,000customersimpacted

References I

Raphael Amoah, Formal security analysis of the dnp3-secureauthentication protocol, Ph.D. thesis, Queensland University ofTechnology, 2016.

Eric J Byres, Matthew Franz, and Darrin Miller, The use of attacktrees in assessing vulnerabilities in scada systems, Proceedings of theinternational infrastructure survivability workshop, 2004.

Bruno Blanchet, An efficient cryptographic protocol verifier based onProlog rules, Proceedings of the 14th IEEE Workshop on ComputerSecurity Foundations (Washington, DC, USA), CSFW ’01, IEEEComputer Society, 2001, pp. 82–.

Yulia Cherdantseva, Pete Burnap, Andrew Blyth, Peter Eden, KevinJones, Hugh Soulsby, and Kristan Stoddart, A review of cyber securityrisk assessment methods for SCADA systems, Computers & Security56 (2015), 1 – 27.

Maxime Puys Cybersecurity of Industrial Systems Feb. 5, 2018 45 / 44

Page 68: CybersecurityofIndustrialSystems: ApplicativeFiltering andGenerationofAttackScenarios · 2020-04-01 · BlackoutinUkrain[LAC16] OccurredonDec. 23rd,2015,lastedupto6hours. Approximately225,000customersimpacted

References II

Gordon R Clarke, Deon Reynders, and Edwin Wright, Practical modernscada protocols: Dnp3, 60870.5 and related systems, Newnes, 2004.

D. Dzung, M. Naedele, T.P. von Hoff, and M. Crevatin, Security forindustrial communication systems, Proceedings of the IEEE 93 (2005),no. 6, 1152–1177.

Jannik Dreier, Maxime Puys, Marie-Laure Potet, Pascal Lafourcade,and Jean-Louis Roch, Formally verifying flow integrity properties inindustrial systems, SECRYPT 2017 - 14th International Conference onSecurity and Cryptography (Madrid, Spain), July 2017, p. 12.

IgorNai Fovino, Andrea Carcano, Marcelo Masera, and AlbertoTrombetta, Design and implementation of a secure MODBUS protocol,Critical Infrastructure Protection III (Charles Palmer and Sujeet Shenoi,eds.), IFIP Advances in Information and Communication Technology,vol. 311, Springer Berlin Heidelberg, 2009, pp. 83–96 (English).

Maxime Puys Cybersecurity of Industrial Systems Feb. 5, 2018 46 / 44

Page 69: CybersecurityofIndustrialSystems: ApplicativeFiltering andGenerationofAttackScenarios · 2020-04-01 · BlackoutinUkrain[LAC16] OccurredonDec. 23rd,2015,lastedupto6hours. Approximately225,000customersimpacted

References III

Jérémie Guiochet and David Powell, Etude et analyse de différentsdispositifs externes de sécurité-innocuité de type safety bag, Ph.D.thesis, LAAS-CNRS, 2005.

G. Hayes and K. El-Khatib, Securing MODBUS transactions usinghash-based message authentication codes and stream transmissioncontrol protocol, Communications and Information Technology(ICCIT), 2013 Third International Conference on, June 2013,pp. 179–184.

IEC-62541, OPC Unified Architecture, International ElectrotechnicalCommission, August 2015.

S Kriaa, M Bouissou, and Y Laarouchi, A model based approach forSCADA safety and security joint modelling: S-Cube, IET SystemSafety and Cyber Security, IET Digital Library, 2015.

Maxime Puys Cybersecurity of Industrial Systems Feb. 5, 2018 47 / 44

Page 70: CybersecurityofIndustrialSystems: ApplicativeFiltering andGenerationofAttackScenarios · 2020-04-01 · BlackoutinUkrain[LAC16] OccurredonDec. 23rd,2015,lastedupto6hours. Approximately225,000customersimpacted

References IV

Siwar Kriaa, Ludovic Pietre-Cambacedes, Marc Bouissou, and YoranHalgand, A survey of approaches combining safety and security forindustrial control systems, Reliability Engineering & System Safety 139(2015), 156–178.

Robert M Lee, Michael J Assante, and Tim Conway, Analysis of thecyber attack on the ukrainian power grid, SANS Industrial ControlSystems (2016).

Miles A McQueen, Wayne F Boyer, Mark A Flynn, and George ABeitel, Quantitative cyber risk reduction estimation methodology for asmall scada control system, System Sciences, 2006. HICSS’06.Proceedings of the 39th Annual Hawaii International Conference on,vol. 9, IEEE, 2006, pp. 226–226.

Maxime Puys Cybersecurity of Industrial Systems Feb. 5, 2018 48 / 44

Page 71: CybersecurityofIndustrialSystems: ApplicativeFiltering andGenerationofAttackScenarios · 2020-04-01 · BlackoutinUkrain[LAC16] OccurredonDec. 23rd,2015,lastedupto6hours. Approximately225,000customersimpacted

References V

Simon Meier, Benedikt Schmidt, Cas Cremers, and David Basin, Thetamarin prover for the symbolic analysis of security protocols,Computer Aided Verification (Natasha Sharygina and Helmut Veith,eds.), Lecture Notes in Computer Science, vol. 8044, Springer BerlinHeidelberg, 2013, pp. 696–701 (English).

Ludovic Piètre-Cambacédès, The relationships between safety andsecurity, Theses, Télécom ParisTech, November 2010.

Ludovic Piètre-Cambacédès and Marc Bouissou, Cross-fertilizationbetween safety and security engineering, Reliability Engineering &System Safety 110 (2013), 110–126.

Maxime Puys Cybersecurity of Industrial Systems Feb. 5, 2018 49 / 44

Page 72: CybersecurityofIndustrialSystems: ApplicativeFiltering andGenerationofAttackScenarios · 2020-04-01 · BlackoutinUkrain[LAC16] OccurredonDec. 23rd,2015,lastedupto6hours. Approximately225,000customersimpacted

References VI

Sandip C Patel, James H Graham, and Patricia AS Ralston,Quantitatively assessing the vulnerability of critical informationsystems: A new method for evaluating security enhancements,International Journal of Information Management 28 (2008), no. 6,483–491.

Maxime Puys, Marie-Laure Potet, and Pascal Lafourcade, Formalanalysis of security properties on the OPC-UA SCADA protocol,Computer Safety, Reliability, and Security - 35th InternationalConference, SAFECOMP 2016, Trondheim, Norway, September 21-23,2016, Proceedings, 2016, pp. 67–75.

Sandip C Patel and Yingbing Yu, Analysis of SCADA security models,International Management Review 3 (2007), no. 2, 68.

Maxime Puys Cybersecurity of Industrial Systems Feb. 5, 2018 50 / 44

Page 73: CybersecurityofIndustrialSystems: ApplicativeFiltering andGenerationofAttackScenarios · 2020-04-01 · BlackoutinUkrain[LAC16] OccurredonDec. 23rd,2015,lastedupto6hours. Approximately225,000customersimpacted

References VII

Marco Rocchetto and Nils Ole Tippenhauer, Towards formal securityanalysis of industrial control systems, Proceedings of the 2017 ACM onAsia Conference on Computer and Communications Security, ACM,2017, pp. 114–126.

B. Schmidt, S. Meier, C. Cremers, and D. Basin, Automated analysisof diffie-hellman protocols and advanced security properties, ComputerSecurity Foundations Symposium (CSF), 2012 IEEE 25th, June 2012,pp. 78–94.

Chee-Wooi Ten, Govindarasu Manimaran, and Chen-Ching Liu,Cybersecurity for critical infrastructures: Attack and defense modeling,IEEE Transactions on Systems, Man, and Cybernetics-Part A: Systemsand Humans 40 (2010), no. 4, 853–865.

Maxime Puys Cybersecurity of Industrial Systems Feb. 5, 2018 51 / 44

Page 74: CybersecurityofIndustrialSystems: ApplicativeFiltering andGenerationofAttackScenarios · 2020-04-01 · BlackoutinUkrain[LAC16] OccurredonDec. 23rd,2015,lastedupto6hours. Approximately225,000customersimpacted

References VIII

Theodore J Williams, A reference model for computer integratedmanufacturing (cim): A description from the viewpoint of industrialautomation: Prepared by cim reference model committee internationalpurdue workshop on industrial computer systems, Instrument Societyof America, 1991.

Qu Wanying, Wei Weimin, Zhu Surong, and Zhao Yan, The study ofsecurity issues for the industrial control systems communicationprotocols, Joint International Mechanical, Electronic and InformationTechnology Conference (JIMET 2015) (2015).

Wang Yi, Paul Pettersson, and Mats Daniels, Automatic Verification ofReal-Time Communicating Systems By Constraint-Solving, Proc. ofthe 7th Int. Conf. on Formal Description Techniques (Dieter Hogrefeand Stefan Leue, eds.), North–Holland, 1994, pp. 223–238.

Maxime Puys Cybersecurity of Industrial Systems Feb. 5, 2018 52 / 44

Page 75: CybersecurityofIndustrialSystems: ApplicativeFiltering andGenerationofAttackScenarios · 2020-04-01 · BlackoutinUkrain[LAC16] OccurredonDec. 23rd,2015,lastedupto6hours. Approximately225,000customersimpacted

TOC

5 ARAMIS

6 ASSI

7 ASPICS

Maxime Puys Cybersecurity of Industrial Systems Feb. 5, 2018 53 / 44

Page 76: CybersecurityofIndustrialSystems: ApplicativeFiltering andGenerationofAttackScenarios · 2020-04-01 · BlackoutinUkrain[LAC16] OccurredonDec. 23rd,2015,lastedupto6hours. Approximately225,000customersimpacted

Industrial Systems are Ubiquitous

Electricity Water Treatment Chemistry

Food Production Transportation Healthcare

Maxime Puys Cybersecurity of Industrial Systems Feb. 5, 2018 54 / 44

Page 77: CybersecurityofIndustrialSystems: ApplicativeFiltering andGenerationofAttackScenarios · 2020-04-01 · BlackoutinUkrain[LAC16] OccurredonDec. 23rd,2015,lastedupto6hours. Approximately225,000customersimpacted

Industrial Systems are Ubiquitous

Electricity Water Treatment Chemistry

Food Production Transportation Healthcare

Maxime Puys Cybersecurity of Industrial Systems Feb. 5, 2018 54 / 44

Page 78: CybersecurityofIndustrialSystems: ApplicativeFiltering andGenerationofAttackScenarios · 2020-04-01 · BlackoutinUkrain[LAC16] OccurredonDec. 23rd,2015,lastedupto6hours. Approximately225,000customersimpacted

Industrial Internet of Things

Rio Tinto Mine, Australia Oil Platform, North Sea « Smart » Buildings

Autonomous Industrial Systems

Maxime Puys Cybersecurity of Industrial Systems Feb. 5, 2018 55 / 44

Page 79: CybersecurityofIndustrialSystems: ApplicativeFiltering andGenerationofAttackScenarios · 2020-04-01 · BlackoutinUkrain[LAC16] OccurredonDec. 23rd,2015,lastedupto6hours. Approximately225,000customersimpacted

Industrial Internet of Things

Rio Tinto Mine, Australia Oil Platform, North Sea « Smart » Buildings

Autonomous Industrial Systems

Maxime Puys Cybersecurity of Industrial Systems Feb. 5, 2018 55 / 44

Page 80: CybersecurityofIndustrialSystems: ApplicativeFiltering andGenerationofAttackScenarios · 2020-04-01 · BlackoutinUkrain[LAC16] OccurredonDec. 23rd,2015,lastedupto6hours. Approximately225,000customersimpacted

Purdue Model

0. Physical process

1. Automata controling the process

2. SCADA: supervision and control

3. Production management

4. Business level, classical IT

Figure : Purdue model [Wil91]

Maxime Puys Cybersecurity of Industrial Systems Feb. 5, 2018 56 / 44

Page 81: CybersecurityofIndustrialSystems: ApplicativeFiltering andGenerationofAttackScenarios · 2020-04-01 · BlackoutinUkrain[LAC16] OccurredonDec. 23rd,2015,lastedupto6hours. Approximately225,000customersimpacted

Norms and Guides on Industrial Systems Security

GenericISA-99/IEC-62443 (2007, 2013), ENISA (2011), ISO-27019 (2013),IEC-62541 (2015), etc.

Government AgencyCPNI (2008), BSI (2009), NIST (2011), ANSSI (2012), etc.

Domain SpecificOil/Gaz (AGA, 2006), Electricity (IEC-62351, 2007]), Nuclear (IEC-62645,2008), Air Traffic (CSFI, 2015), Railways (RSSB, 2016), etc.

Key Takeaways⇒ Lots of documents, mainly released since 2006. Balanced partition

between industry and governments, often in collaboration.

Maxime Puys Cybersecurity of Industrial Systems Feb. 5, 2018 57 / 44

Page 82: CybersecurityofIndustrialSystems: ApplicativeFiltering andGenerationofAttackScenarios · 2020-04-01 · BlackoutinUkrain[LAC16] OccurredonDec. 23rd,2015,lastedupto6hours. Approximately225,000customersimpacted

Properties to Ensure

For the processAvailability: System keepsrunning.

Integrity: Preservation of thecoherence of a data over time.

Authenticity: An entity is whohe/she pretends.

Non-repudiation: One cannotdeny its actions.

Dependability: Domain specificproperties.

For customer dataConfidentiality: Only authorizedentities can access designateddata.

Anonymity: Prevent linking adata with its owner.

Maxime Puys Cybersecurity of Industrial Systems Feb. 5, 2018 58 / 44

Page 83: CybersecurityofIndustrialSystems: ApplicativeFiltering andGenerationofAttackScenarios · 2020-04-01 · BlackoutinUkrain[LAC16] OccurredonDec. 23rd,2015,lastedupto6hours. Approximately225,000customersimpacted

Different Attackers

Various ProfilesDifferent objectives, skills, money andhuman resources.

Maxime Puys Cybersecurity of Industrial Systems Feb. 5, 2018 59 / 44

Page 84: CybersecurityofIndustrialSystems: ApplicativeFiltering andGenerationofAttackScenarios · 2020-04-01 · BlackoutinUkrain[LAC16] OccurredonDec. 23rd,2015,lastedupto6hours. Approximately225,000customersimpacted

Different Attackers

Various ProfilesDifferent objectives, skills, money andhuman resources.

Maxime Puys Cybersecurity of Industrial Systems Feb. 5, 2018 59 / 44

Page 85: CybersecurityofIndustrialSystems: ApplicativeFiltering andGenerationofAttackScenarios · 2020-04-01 · BlackoutinUkrain[LAC16] OccurredonDec. 23rd,2015,lastedupto6hours. Approximately225,000customersimpacted

Different Attackers

Various ProfilesDifferent objectives, skills, money andhuman resources.

Maxime Puys Cybersecurity of Industrial Systems Feb. 5, 2018 59 / 44

Page 86: CybersecurityofIndustrialSystems: ApplicativeFiltering andGenerationofAttackScenarios · 2020-04-01 · BlackoutinUkrain[LAC16] OccurredonDec. 23rd,2015,lastedupto6hours. Approximately225,000customersimpacted

Different Attackers

Various ProfilesDifferent objectives, skills, money andhuman resources.

Maxime Puys Cybersecurity of Industrial Systems Feb. 5, 2018 59 / 44

Page 87: CybersecurityofIndustrialSystems: ApplicativeFiltering andGenerationofAttackScenarios · 2020-04-01 · BlackoutinUkrain[LAC16] OccurredonDec. 23rd,2015,lastedupto6hours. Approximately225,000customersimpacted

Different Attackers

Various ProfilesDifferent objectives, skills, money andhuman resources.

Maxime Puys Cybersecurity of Industrial Systems Feb. 5, 2018 59 / 44

Page 88: CybersecurityofIndustrialSystems: ApplicativeFiltering andGenerationofAttackScenarios · 2020-04-01 · BlackoutinUkrain[LAC16] OccurredonDec. 23rd,2015,lastedupto6hours. Approximately225,000customersimpacted

Different Attackers

Various ProfilesDifferent objectives, skills, money andhuman resources.

Maxime Puys Cybersecurity of Industrial Systems Feb. 5, 2018 59 / 44

Page 89: CybersecurityofIndustrialSystems: ApplicativeFiltering andGenerationofAttackScenarios · 2020-04-01 · BlackoutinUkrain[LAC16] OccurredonDec. 23rd,2015,lastedupto6hours. Approximately225,000customersimpacted

Different Attackers

Various ProfilesDifferent objectives, skills, money andhuman resources.

Maxime Puys Cybersecurity of Industrial Systems Feb. 5, 2018 59 / 44

Page 90: CybersecurityofIndustrialSystems: ApplicativeFiltering andGenerationofAttackScenarios · 2020-04-01 · BlackoutinUkrain[LAC16] OccurredonDec. 23rd,2015,lastedupto6hours. Approximately225,000customersimpacted

Different Attackers

Various ProfilesDifferent objectives, skills, money andhuman resources.

Maxime Puys Cybersecurity of Industrial Systems Feb. 5, 2018 59 / 44

Page 91: CybersecurityofIndustrialSystems: ApplicativeFiltering andGenerationofAttackScenarios · 2020-04-01 · BlackoutinUkrain[LAC16] OccurredonDec. 23rd,2015,lastedupto6hours. Approximately225,000customersimpacted

Open Challenges

Availability RequirementRising concern with IOT (DynDNS attack, 2016).Also a requirement for IT systems.Yet among most important requirements for industrial systems.

Software Updates/PatchesApplying patches often requires to stop/reboot system.How to ensure backwards compatibility.

I Much more easier for IT systems (e.g.: virtualization).

Skill Transfers from Academia to IndustryStrong bonds with industry through ARAMIS.Also thanks to projects PEPS CNRS ASSI and ASTRID SACADE.

Maxime Puys Cybersecurity of Industrial Systems Feb. 5, 2018 60 / 44

Page 92: CybersecurityofIndustrialSystems: ApplicativeFiltering andGenerationofAttackScenarios · 2020-04-01 · BlackoutinUkrain[LAC16] OccurredonDec. 23rd,2015,lastedupto6hours. Approximately225,000customersimpacted

Worst-Case Bandwidth

Both conditions and actions have to be processed in constant time:Conditions are O(1) boolean predicates.Actions are : (i) Block or transmit the message, (ii) Log information,(iii) Update a local variable,

Thus processing one command only depends on the number of rules:For all predicates P , worst case processing time T of a message isT =

∑τini

With τi the processing time of predicate Pi

And ni number of occurrences of predicate Pi

In practice, as only relevant rules are tested for a message.Worst-case happens for an accepted message.

Maxime Puys Cybersecurity of Industrial Systems Feb. 5, 2018 61 / 44

Page 93: CybersecurityofIndustrialSystems: ApplicativeFiltering andGenerationofAttackScenarios · 2020-04-01 · BlackoutinUkrain[LAC16] OccurredonDec. 23rd,2015,lastedupto6hours. Approximately225,000customersimpacted

Open Secure Channel Sub-Protocol

C DiscoveryEndpoint S

1.GEReq

2.GERes, pk(S), SignEnc, SP, UP

Generates NC

3.pk(C), {OSCReq, pk(C), NC}pk(S), {h(OSCReq, pk(C), NC )}sk(C)

Generates NS

4.{OSCRes, NS , ST, TTL}pk(C), {h(OSCRes, NS , ST, TTL)}sk(S)

Figure : OPC-UA OpenSecureChannel

Nonce: random value for freshness or challenges/responses.Maxime Puys Cybersecurity of Industrial Systems Feb. 5, 2018 62 / 44

Page 94: CybersecurityofIndustrialSystems: ApplicativeFiltering andGenerationofAttackScenarios · 2020-04-01 · BlackoutinUkrain[LAC16] OccurredonDec. 23rd,2015,lastedupto6hours. Approximately225,000customersimpacted

Modeling Hypotheses

Normally, several responses to a GetEnpointRequest.I We suppose that the client receives and accepts a single one.I We tried all possible combinations.

Client’s and server’s certificates are modeled by their public keys.I Common practice since other fields are out of the scope of tools.

The intruder can be legitimate clients or servers (e.g.: corrupteddevices, malicious operators, etc).

I Increasing the power of the intruder.

Objectives:I Secrecy of the generated keys (KCS , KSC ) from NC and NS .I Authentication on exchanged nonces NC and NS .

Maxime Puys Cybersecurity of Industrial Systems Feb. 5, 2018 63 / 44

Page 95: CybersecurityofIndustrialSystems: ApplicativeFiltering andGenerationofAttackScenarios · 2020-04-01 · BlackoutinUkrain[LAC16] OccurredonDec. 23rd,2015,lastedupto6hours. Approximately225,000customersimpacted

Attack on Authentication on NC in SignAndEncrypt

C I S

GEReq

GERes, pk(I), SignAndEncrypt, SP, UP

Generates NC

pk(C), {OSCReq, pk(C), NC}pk(I), {h(OSCReq, pk(C), NC )}sk(C)

pk(C), {OSCReq, pk(C), NC}pk(S), {h(OSCReq, pk(C), NC )}sk(C)

Figure : Attack on OPC-UA OpenSecureChannel

A message can be replayed because receiver is not mentioned in signature.

Maxime Puys Cybersecurity of Industrial Systems Feb. 5, 2018 64 / 44

Page 96: CybersecurityofIndustrialSystems: ApplicativeFiltering andGenerationofAttackScenarios · 2020-04-01 · BlackoutinUkrain[LAC16] OccurredonDec. 23rd,2015,lastedupto6hours. Approximately225,000customersimpacted

Create Session Sub-ProtocolC S

{CSReq, pk(C), N ′

C}KCS, MAC(KSigCS , (CSReq, pk(C), N ′

C ))

SigN′

C

= Sigsk(S)(N′

C )

{

CSRes, pk(S), SigN′

C

, N ′

S

}

KSC

, MAC(KSigSC , (CSRes, pk(S), SigN′

C

, N ′

S))

Validates SigN′

C

SigN′

S

= Sigsk(C)(N′

S)

{

ASReq, SigN′

S

, pk(C), Login, Passwd

}

KCS

, MAC(KSigCS , (ASReq, SigN′

S

, pk(C), Login, Passwd))

Validates SigN′

S

Validates (Login, Passwd)

{ASRes, N ′

S2}KSC, MAC(KSigSC , (ASRes, N ′

S2))

Figure : OPC-UA CreateSession

Maxime Puys Cybersecurity of Industrial Systems Feb. 5, 2018 65 / 44

Page 97: CybersecurityofIndustrialSystems: ApplicativeFiltering andGenerationofAttackScenarios · 2020-04-01 · BlackoutinUkrain[LAC16] OccurredonDec. 23rd,2015,lastedupto6hours. Approximately225,000customersimpacted

Non-Injective Message Authenticity (NIMA)

Property

« All messages received have been sent. »A protocol ensures Non-Injective Message Authenticity (NIMA) betweensender A and receiver B if set(RA,B) ⊆ set(SA,B).

SA,B = M1 M2 M3 M4

RA,B =

3 NIMA verified7 NIMA not verified

Maxime Puys Cybersecurity of Industrial Systems Feb. 5, 2018 66 / 44

Page 98: CybersecurityofIndustrialSystems: ApplicativeFiltering andGenerationofAttackScenarios · 2020-04-01 · BlackoutinUkrain[LAC16] OccurredonDec. 23rd,2015,lastedupto6hours. Approximately225,000customersimpacted

Non-Injective Message Authenticity (NIMA)

Property

« All messages received have been sent. »A protocol ensures Non-Injective Message Authenticity (NIMA) betweensender A and receiver B if set(RA,B) ⊆ set(SA,B).

SA,B = M1 M2 M3 M4

RA,B = M1

3 NIMA verified7 NIMA not verified

Maxime Puys Cybersecurity of Industrial Systems Feb. 5, 2018 66 / 44

Page 99: CybersecurityofIndustrialSystems: ApplicativeFiltering andGenerationofAttackScenarios · 2020-04-01 · BlackoutinUkrain[LAC16] OccurredonDec. 23rd,2015,lastedupto6hours. Approximately225,000customersimpacted

Non-Injective Message Authenticity (NIMA)

Property

« All messages received have been sent. »A protocol ensures Non-Injective Message Authenticity (NIMA) betweensender A and receiver B if set(RA,B) ⊆ set(SA,B).

SA,B = M1 M2 M3 M4

RA,B = M1 M4

3 NIMA verified7 NIMA not verified

Maxime Puys Cybersecurity of Industrial Systems Feb. 5, 2018 66 / 44

Page 100: CybersecurityofIndustrialSystems: ApplicativeFiltering andGenerationofAttackScenarios · 2020-04-01 · BlackoutinUkrain[LAC16] OccurredonDec. 23rd,2015,lastedupto6hours. Approximately225,000customersimpacted

Non-Injective Message Authenticity (NIMA)

Property

« All messages received have been sent. »A protocol ensures Non-Injective Message Authenticity (NIMA) betweensender A and receiver B if set(RA,B) ⊆ set(SA,B).

SA,B = M1 M2 M3 M4

RA,B = M1 M4 M1

3 NIMA verified7 NIMA not verified

Maxime Puys Cybersecurity of Industrial Systems Feb. 5, 2018 66 / 44

Page 101: CybersecurityofIndustrialSystems: ApplicativeFiltering andGenerationofAttackScenarios · 2020-04-01 · BlackoutinUkrain[LAC16] OccurredonDec. 23rd,2015,lastedupto6hours. Approximately225,000customersimpacted

Non-Injective Message Authenticity (NIMA)

Property

« All messages received have been sent. »A protocol ensures Non-Injective Message Authenticity (NIMA) betweensender A and receiver B if set(RA,B) ⊆ set(SA,B).

SA,B = M1 M2 M3 M4

RA,B = M1 M4 M1

3 NIMA verified

7 NIMA not verified

Maxime Puys Cybersecurity of Industrial Systems Feb. 5, 2018 66 / 44

Page 102: CybersecurityofIndustrialSystems: ApplicativeFiltering andGenerationofAttackScenarios · 2020-04-01 · BlackoutinUkrain[LAC16] OccurredonDec. 23rd,2015,lastedupto6hours. Approximately225,000customersimpacted

Non-Injective Message Authenticity (NIMA)

Property

« All messages received have been sent. »A protocol ensures Non-Injective Message Authenticity (NIMA) betweensender A and receiver B if set(RA,B) ⊆ set(SA,B).

SA,B = M1 M2 M3 M4

RA,B = M1 M4 M42 M1

3 NIMA verified7 NIMA not verified

Maxime Puys Cybersecurity of Industrial Systems Feb. 5, 2018 66 / 44

Page 103: CybersecurityofIndustrialSystems: ApplicativeFiltering andGenerationofAttackScenarios · 2020-04-01 · BlackoutinUkrain[LAC16] OccurredonDec. 23rd,2015,lastedupto6hours. Approximately225,000customersimpacted

Non-Injective Message Authenticity (NIMA)

Property

« All messages received have been sent. »A protocol ensures Non-Injective Message Authenticity (NIMA) betweensender A and receiver B if set(RA,B) ⊆ set(SA,B).

SA,B = M1 M2 M3 M4

RA,B = M1 M4 M42 M1

3 NIMA verified

7 NIMA not verified

Maxime Puys Cybersecurity of Industrial Systems Feb. 5, 2018 66 / 44

Page 104: CybersecurityofIndustrialSystems: ApplicativeFiltering andGenerationofAttackScenarios · 2020-04-01 · BlackoutinUkrain[LAC16] OccurredonDec. 23rd,2015,lastedupto6hours. Approximately225,000customersimpacted

Injective Message Authenticity (IMA)

Property

« All messages received n times have been sent n times. »A protocol ensures Injective Message Authenticity (IMA) between sender Aand receiver B if multiset(RA,B) ⊆ multiset(SA,B).

SA,B = M1 M2 M3 M4

RA,B =

3 IMA verified7 IMA not verified

Maxime Puys Cybersecurity of Industrial Systems Feb. 5, 2018 67 / 44

Page 105: CybersecurityofIndustrialSystems: ApplicativeFiltering andGenerationofAttackScenarios · 2020-04-01 · BlackoutinUkrain[LAC16] OccurredonDec. 23rd,2015,lastedupto6hours. Approximately225,000customersimpacted

Injective Message Authenticity (IMA)

Property

« All messages received n times have been sent n times. »A protocol ensures Injective Message Authenticity (IMA) between sender Aand receiver B if multiset(RA,B) ⊆ multiset(SA,B).

SA,B = M1 M2 M3 M4

RA,B = M1

3 IMA verified7 IMA not verified

Maxime Puys Cybersecurity of Industrial Systems Feb. 5, 2018 67 / 44

Page 106: CybersecurityofIndustrialSystems: ApplicativeFiltering andGenerationofAttackScenarios · 2020-04-01 · BlackoutinUkrain[LAC16] OccurredonDec. 23rd,2015,lastedupto6hours. Approximately225,000customersimpacted

Injective Message Authenticity (IMA)

Property

« All messages received n times have been sent n times. »A protocol ensures Injective Message Authenticity (IMA) between sender Aand receiver B if multiset(RA,B) ⊆ multiset(SA,B).

SA,B = M1 M2 M3 M4

RA,B = M1 M4

3 IMA verified7 IMA not verified

Maxime Puys Cybersecurity of Industrial Systems Feb. 5, 2018 67 / 44

Page 107: CybersecurityofIndustrialSystems: ApplicativeFiltering andGenerationofAttackScenarios · 2020-04-01 · BlackoutinUkrain[LAC16] OccurredonDec. 23rd,2015,lastedupto6hours. Approximately225,000customersimpacted

Injective Message Authenticity (IMA)

Property

« All messages received n times have been sent n times. »A protocol ensures Injective Message Authenticity (IMA) between sender Aand receiver B if multiset(RA,B) ⊆ multiset(SA,B).

SA,B = M1 M2 M3 M4

RA,B = M1 M4 M2

3 IMA verified7 IMA not verified

Maxime Puys Cybersecurity of Industrial Systems Feb. 5, 2018 67 / 44

Page 108: CybersecurityofIndustrialSystems: ApplicativeFiltering andGenerationofAttackScenarios · 2020-04-01 · BlackoutinUkrain[LAC16] OccurredonDec. 23rd,2015,lastedupto6hours. Approximately225,000customersimpacted

Injective Message Authenticity (IMA)

Property

« All messages received n times have been sent n times. »A protocol ensures Injective Message Authenticity (IMA) between sender Aand receiver B if multiset(RA,B) ⊆ multiset(SA,B).

SA,B = M1 M2 M3 M4

RA,B = M1 M4 M2

3 IMA verified

7 IMA not verified

Maxime Puys Cybersecurity of Industrial Systems Feb. 5, 2018 67 / 44

Page 109: CybersecurityofIndustrialSystems: ApplicativeFiltering andGenerationofAttackScenarios · 2020-04-01 · BlackoutinUkrain[LAC16] OccurredonDec. 23rd,2015,lastedupto6hours. Approximately225,000customersimpacted

Injective Message Authenticity (IMA)

Property

« All messages received n times have been sent n times. »A protocol ensures Injective Message Authenticity (IMA) between sender Aand receiver B if multiset(RA,B) ⊆ multiset(SA,B).

SA,B = M1 M2 M3 M4

RA,B = M1 M4 M1

3 IMA verified7 IMA not verified

Maxime Puys Cybersecurity of Industrial Systems Feb. 5, 2018 67 / 44

Page 110: CybersecurityofIndustrialSystems: ApplicativeFiltering andGenerationofAttackScenarios · 2020-04-01 · BlackoutinUkrain[LAC16] OccurredonDec. 23rd,2015,lastedupto6hours. Approximately225,000customersimpacted

Injective Message Authenticity (IMA)

Property

« All messages received n times have been sent n times. »A protocol ensures Injective Message Authenticity (IMA) between sender Aand receiver B if multiset(RA,B) ⊆ multiset(SA,B).

SA,B = M1 M2 M3 M4

RA,B = M1 M4 M1

3 IMA verified

7 IMA not verified

Maxime Puys Cybersecurity of Industrial Systems Feb. 5, 2018 67 / 44

Page 111: CybersecurityofIndustrialSystems: ApplicativeFiltering andGenerationofAttackScenarios · 2020-04-01 · BlackoutinUkrain[LAC16] OccurredonDec. 23rd,2015,lastedupto6hours. Approximately225,000customersimpacted

Flow Authenticity (FA)

Property

« All messages are received in the order they have been sent. »A protocol ensures Flow Authenticity (FA) between sender A and receiverB if RA,B is a sub-chain of SA,B .

SA,B = M1 M2 M3 M4

RA,B =

3 FA verified7 FA not verified

Maxime Puys Cybersecurity of Industrial Systems Feb. 5, 2018 68 / 44

Page 112: CybersecurityofIndustrialSystems: ApplicativeFiltering andGenerationofAttackScenarios · 2020-04-01 · BlackoutinUkrain[LAC16] OccurredonDec. 23rd,2015,lastedupto6hours. Approximately225,000customersimpacted

Flow Authenticity (FA)

Property

« All messages are received in the order they have been sent. »A protocol ensures Flow Authenticity (FA) between sender A and receiverB if RA,B is a sub-chain of SA,B .

SA,B = M1 M2 M3 M4

RA,B = M1

3 FA verified7 FA not verified

Maxime Puys Cybersecurity of Industrial Systems Feb. 5, 2018 68 / 44

Page 113: CybersecurityofIndustrialSystems: ApplicativeFiltering andGenerationofAttackScenarios · 2020-04-01 · BlackoutinUkrain[LAC16] OccurredonDec. 23rd,2015,lastedupto6hours. Approximately225,000customersimpacted

Flow Authenticity (FA)

Property

« All messages are received in the order they have been sent. »A protocol ensures Flow Authenticity (FA) between sender A and receiverB if RA,B is a sub-chain of SA,B .

SA,B = M1 M2 M3 M4

RA,B = M1 M3

3 FA verified7 FA not verified

Maxime Puys Cybersecurity of Industrial Systems Feb. 5, 2018 68 / 44

Page 114: CybersecurityofIndustrialSystems: ApplicativeFiltering andGenerationofAttackScenarios · 2020-04-01 · BlackoutinUkrain[LAC16] OccurredonDec. 23rd,2015,lastedupto6hours. Approximately225,000customersimpacted

Flow Authenticity (FA)

Property

« All messages are received in the order they have been sent. »A protocol ensures Flow Authenticity (FA) between sender A and receiverB if RA,B is a sub-chain of SA,B .

SA,B = M1 M2 M3 M4

RA,B = M1 M3 M4

3 FA verified7 FA not verified

Maxime Puys Cybersecurity of Industrial Systems Feb. 5, 2018 68 / 44

Page 115: CybersecurityofIndustrialSystems: ApplicativeFiltering andGenerationofAttackScenarios · 2020-04-01 · BlackoutinUkrain[LAC16] OccurredonDec. 23rd,2015,lastedupto6hours. Approximately225,000customersimpacted

Flow Authenticity (FA)

Property

« All messages are received in the order they have been sent. »A protocol ensures Flow Authenticity (FA) between sender A and receiverB if RA,B is a sub-chain of SA,B .

SA,B = M1 M2 M3 M4

RA,B = M1 M3 M4

3 FA verified

7 FA not verified

Maxime Puys Cybersecurity of Industrial Systems Feb. 5, 2018 68 / 44

Page 116: CybersecurityofIndustrialSystems: ApplicativeFiltering andGenerationofAttackScenarios · 2020-04-01 · BlackoutinUkrain[LAC16] OccurredonDec. 23rd,2015,lastedupto6hours. Approximately225,000customersimpacted

Flow Authenticity (FA)

Property

« All messages are received in the order they have been sent. »A protocol ensures Flow Authenticity (FA) between sender A and receiverB if RA,B is a sub-chain of SA,B .

SA,B = M1 M2 M3 M4

RA,B = M1 M4 M3

3 FA verified7 FA not verified

Maxime Puys Cybersecurity of Industrial Systems Feb. 5, 2018 68 / 44

Page 117: CybersecurityofIndustrialSystems: ApplicativeFiltering andGenerationofAttackScenarios · 2020-04-01 · BlackoutinUkrain[LAC16] OccurredonDec. 23rd,2015,lastedupto6hours. Approximately225,000customersimpacted

Flow Authenticity (FA)

Property

« All messages are received in the order they have been sent. »A protocol ensures Flow Authenticity (FA) between sender A and receiverB if RA,B is a sub-chain of SA,B .

SA,B = M1 M2 M3 M4

RA,B = M1 M4 M3

3 FA verified

7 FA not verified

Maxime Puys Cybersecurity of Industrial Systems Feb. 5, 2018 68 / 44

Page 118: CybersecurityofIndustrialSystems: ApplicativeFiltering andGenerationofAttackScenarios · 2020-04-01 · BlackoutinUkrain[LAC16] OccurredonDec. 23rd,2015,lastedupto6hours. Approximately225,000customersimpacted

Non-Injective Message Authenticity (NIMA)

Property

« All messages received have been sent. »

∀i : time,A,B : agent,m : msg .Received(A,B,m)@i ⇒ (

∃j : time.Sent(A,B,m)@j ∧ j l i)

Maxime Puys Cybersecurity of Industrial Systems Feb. 5, 2018 69 / 44

Page 119: CybersecurityofIndustrialSystems: ApplicativeFiltering andGenerationofAttackScenarios · 2020-04-01 · BlackoutinUkrain[LAC16] OccurredonDec. 23rd,2015,lastedupto6hours. Approximately225,000customersimpacted

Injective Message Authenticity (IMA)

Property

« All messages received n times have been sent n times. »

∀i : time,A,B : agent,m : msg .Received(A,B,m)@i ⇒ (

∃j .Sent(A,B,m)@j ∧ j l i ∧ ¬(∃i2 : time,A2,B2 : agent.Received(A2,B2,m)@i2 ∧ ¬(i2 .

= i))

)

Maxime Puys Cybersecurity of Industrial Systems Feb. 5, 2018 70 / 44

Page 120: CybersecurityofIndustrialSystems: ApplicativeFiltering andGenerationofAttackScenarios · 2020-04-01 · BlackoutinUkrain[LAC16] OccurredonDec. 23rd,2015,lastedupto6hours. Approximately225,000customersimpacted

Flow Authenticity (FA)

Property

« All messages are received in the same order they have been sent. »

∀i , j : time,A,B : agent,m,m2 : msg .(Received(A,B,m)@i ∧ Received(A,B,m2)@j ∧ i l j

)⇒ (∃k , l : time.Sent(A,B,m)@k ∧ Sent(A,B,m2)@l ∧ k l l

)

Maxime Puys Cybersecurity of Industrial Systems Feb. 5, 2018 71 / 44

Page 121: CybersecurityofIndustrialSystems: ApplicativeFiltering andGenerationofAttackScenarios · 2020-04-01 · BlackoutinUkrain[LAC16] OccurredonDec. 23rd,2015,lastedupto6hours. Approximately225,000customersimpacted

Resilient Channels

Dolev-Yao intruder can block message, thus delivery is always false!Enforce intruder that all messages are eventually delivered.Security properties do not hold vacuously (still allows duplicating,reordering, delaying, forging).

∀i :time,m : msg .Ch_Sent(m)@i⇒ (∃j .Ch_Received(m)@j ∧ i l j)

Maxime Puys Cybersecurity of Industrial Systems Feb. 5, 2018 72 / 44

Page 122: CybersecurityofIndustrialSystems: ApplicativeFiltering andGenerationofAttackScenarios · 2020-04-01 · BlackoutinUkrain[LAC16] OccurredonDec. 23rd,2015,lastedupto6hours. Approximately225,000customersimpacted

Phase 1: Attacker Models

Risk analysis focused on attackers.

Based on:I Topology of the system;I Attacker objectives;I Security properties of protocols.

Objectives are security vuln., e.g.:I Modify a message;I Circumvent authentication.

Yields attacker models in terms of:I Position in the topology;I Capacities (actions and deduction).

Intruders Top-Down

Attackers Objectives

Scenarios

Capacities

Attack vectors

Security Prop.

Protocols

Bottom-Up

[AFADL’16] M. Puys, M.-L. Potet, and J.-L. Roch, 2016.

Maxime Puys Cybersecurity of Industrial Systems Feb. 5, 2018 73 / 44

Page 123: CybersecurityofIndustrialSystems: ApplicativeFiltering andGenerationofAttackScenarios · 2020-04-01 · BlackoutinUkrain[LAC16] OccurredonDec. 23rd,2015,lastedupto6hours. Approximately225,000customersimpacted

Top-Down Example

ClientA

Client1

RouterA

Server2

Server1

Figure : Infrastructure example

Possible security objectives:IdTh = Identity theft,AuthBP = Authentication by-pass,

RObj IdTh AuthBPClientA 7 3

RouterA 3 7

Table : Objectives for each attacker

Maxime Puys Cybersecurity of Industrial Systems Feb. 5, 2018 74 / 44

Page 124: CybersecurityofIndustrialSystems: ApplicativeFiltering andGenerationofAttackScenarios · 2020-04-01 · BlackoutinUkrain[LAC16] OccurredonDec. 23rd,2015,lastedupto6hours. Approximately225,000customersimpacted

Bottom-Up ExamplePossible realization of objectives:

Real(IdTh) = {{Spy}}Real(AuthBP) = {{Usurp}, {Replay}}

Atk .vectors Spy Usurp ReplayFTPAuth 3 7 3

OPC-UASignEnc 7 7 7

Table : Atk. vectors for each protocol

Results:SClientA,FTPAuth = {(AuthBP,Replay)}SClientA,OPC-UASignEnc = ∅

SRouterA,FTPAuth = {(IdTh, Spy)}SRouterA,OPC-UASignEnc = ∅

Maxime Puys Cybersecurity of Industrial Systems Feb. 5, 2018 75 / 44

Page 125: CybersecurityofIndustrialSystems: ApplicativeFiltering andGenerationofAttackScenarios · 2020-04-01 · BlackoutinUkrain[LAC16] OccurredonDec. 23rd,2015,lastedupto6hours. Approximately225,000customersimpacted

Clients and Servers

For a transport protocol:Encapsulate and decapsulate applicative message into packets.Reusable for a model to another.BehaviorClient generates applicative messages.SecurityLayer performs cryptographic operations.

BehaviorClient SecurityLayer Client Server

req

req{req,mac((req),KSigCS

)}KCS

{req,mac((req),KSigCS

)}KCS

{resp,mac((resp),KSigCS

)}KCS

{resp,mac((resp),KSigCS

)}KCS

resp, Signature OK

resp

Maxime Puys Cybersecurity of Industrial Systems Feb. 5, 2018 76 / 44