addressing future challenges in the development of safe ... · pdf filesimulink model of a...

30
1 © 2016 The MathWorks, Inc. Addressing Future Challenges in the Development of Safe and Secure Software Components

Upload: dinhtram

Post on 06-Feb-2018

216 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Addressing Future Challenges in the Development of Safe ... · PDF fileSimulink Model of a function Property proving (e.g., Simulink Design Verifier) ... PowerPoint-Präsentation Author:

1© 2016 The MathWorks, Inc.

Addressing Future Challenges in the Development

of Safe and Secure Software Components

Page 2: Addressing Future Challenges in the Development of Safe ... · PDF fileSimulink Model of a function Property proving (e.g., Simulink Design Verifier) ... PowerPoint-Präsentation Author:

2

Cybersecurity – Emerging Topic in the Auto Industry

Vehicle-to-Infrastructure

Vehicle-to-Vehicle

eCall

Wifi Hotspot

Wireless Key

Remote Start Internet Connection

Bluetooth Connection

Tire Pressure Monitor

Page 3: Addressing Future Challenges in the Development of Safe ... · PDF fileSimulink Model of a function Property proving (e.g., Simulink Design Verifier) ... PowerPoint-Präsentation Author:

3

Growing security concerns – rise in number and complexity

“In 2013, 2164 separate incidents, over 822 million records were exposed, nearly doubling

the previous highest year on record (2011).”

“Hacking accounted for almost 60% of incidents .. US has by far the biggest share of pain

with 48.7% of the total ..”

Continued to increase in 2014 and 2015

Researchers demonstrated a proof-of-concept attack where they managed to take control

of a vehicle remotely

Sources:

https://nakedsecurity.sophos.com/2014/02/19/2013-an-epic-year-for-data-breaches-with-over-800-million-records-

lost/

http://www.zdnet.com/pictures/2014-in-security-the-biggest-hacks-leaks-and-data-breaches

http://www.wired.com/2015/07/hackers-remotely-kill-jeep-highway/

http://www.cbsnews.com/news/u-s-officials-warn-medical-devices-are-vulnerable-to-hacking

Page 4: Addressing Future Challenges in the Development of Safe ... · PDF fileSimulink Model of a function Property proving (e.g., Simulink Design Verifier) ... PowerPoint-Präsentation Author:

4

Conflicting Safety & Security Goals

Source: https://www.cnet.com/roadshow/news/aston-martin-recalls-cars-for-door-locks-that-work-too-well/

http://www.carcomplaints.com/news/2016/aston-martin-recalls-door-locks.shtml

„When the full locking system is employed, the interior operations for

unlocking the door locking mechanism are disengaged, which makes the

locking system an effective anti-theft measure. However, if the doors

cannot be opened by an occupant from inside the vehicle, they may be

trapped inside.“

Resulted in recall of more than 6000 cars

Page 5: Addressing Future Challenges in the Development of Safe ... · PDF fileSimulink Model of a function Property proving (e.g., Simulink Design Verifier) ... PowerPoint-Präsentation Author:

5

Communication between Cybersecurity and Safety Process

Source: SAE 3061 Cyber Security Framework

Page 6: Addressing Future Challenges in the Development of Safe ... · PDF fileSimulink Model of a function Property proving (e.g., Simulink Design Verifier) ... PowerPoint-Präsentation Author:

6

Cybersecurity – Industry Activities & Standards

SAE – Vehicle Cybersecurity Systems Engineering Committee

SAE J3061 - Cybersecurity Guidebook for Cyber-Physical Vehicle Systems

SAE J3101 - Requirements for Hardware-Protected Security for Ground

Vehicle Applications (WIP)

SAE “Cybersecurity Assurance Testing Task Force” (TEVEES18A1)

Coding standards & practices that we observe at automotive customers

- CERT C

- ISO/IEC TS 17961 – C Secure Coding Rules

- CWE – Common Weakness Enumeration

- MISRA-C:2012 Amendment 1

Page 7: Addressing Future Challenges in the Development of Safe ... · PDF fileSimulink Model of a function Property proving (e.g., Simulink Design Verifier) ... PowerPoint-Präsentation Author:

7

Example Cybersecurity Lifecycle (SAE 3061)

Source: SAE 3061 Cyber Security Framework

Validation &

Verification

Phase

Product Development Phase

Design Phase

Requirements Phase

Concept Phase

Assets and

Attack

Potentials

Threat and

Risk

Assessment

Cybersecurity

Goals

Item Integration

& Testing

Implement

Security

Mechanism

Technical

Cybersecurity

Concept

System-level

Cybersecurity

Concept

Cybersecurity

Case

Validate

Security

Assumptions

Test Security

Mechanisms &

Penetration Tests

Secure Implementation of Nominal

Functions

Page 8: Addressing Future Challenges in the Development of Safe ... · PDF fileSimulink Model of a function Property proving (e.g., Simulink Design Verifier) ... PowerPoint-Präsentation Author:

8

Threat Modeling & Attack Tree Analysis

Identifying flaws as early as possible in the CPS design is 5× to 10× less expensive than

finding them during the detailed design stages.

Source: G. Fortney. “Model based systems engineering using validated executable specifications as an enabler for cost and risk reduction”.

Proceedings of the 2014 Ground Vehicle Systems Engineering and Technology Symposium (GVSETS), 2014.

*Referring to SAE J3061

Appendix A.1 OVERVIEW OF THREAT ANALYSIS & RISK ASSESSMENT AND

VULNERABILITY ANALYSIS METHODS:

“Vulnerability analysis can be performed at different levels; the system level,

hardware level, and software level. Some analysis methods, such as attack trees,

may be used across different levels”.

Page 9: Addressing Future Challenges in the Development of Safe ... · PDF fileSimulink Model of a function Property proving (e.g., Simulink Design Verifier) ... PowerPoint-Präsentation Author:

9

Simulink Model of a function

Property proving

(e.g., Simulink Design Verifier)

SatisfiedViolated

Counterexamples

Model-Based Safety/Security Analysis

„Maintain safe distance

by braking“

Page 10: Addressing Future Challenges in the Development of Safe ... · PDF fileSimulink Model of a function Property proving (e.g., Simulink Design Verifier) ... PowerPoint-Präsentation Author:

10

Model-Based Safety/Security Analysis

Assets and Attack

Potentials

Page 11: Addressing Future Challenges in the Development of Safe ... · PDF fileSimulink Model of a function Property proving (e.g., Simulink Design Verifier) ... PowerPoint-Präsentation Author:

11

Simulink Model of a function

Property proving

(e.g., Simulink Design Verifier)

SatisfiedViolated

Counterexamples

Model-Based Safety/Security Analysis

„Maintain safe distance

by braking“

Threat models

Threat and Risk

Assessment

Page 12: Addressing Future Challenges in the Development of Safe ... · PDF fileSimulink Model of a function Property proving (e.g., Simulink Design Verifier) ... PowerPoint-Präsentation Author:

12

Simulink Model of a function

Property proving

(e.g., Simulink Design Verifier)

SatisfiedViolated

Counterexamples

Model-Based Safety/Security Analysis

„Maintain safe distance

by braking“

• Interruption attack

• Man-in-the-middle attack

• Overflow attack

• Downsampling attack

Threat and Risk

Assessment

Page 13: Addressing Future Challenges in the Development of Safe ... · PDF fileSimulink Model of a function Property proving (e.g., Simulink Design Verifier) ... PowerPoint-Präsentation Author:

13

Model-Based Safety/Security Analysis

Page 14: Addressing Future Challenges in the Development of Safe ... · PDF fileSimulink Model of a function Property proving (e.g., Simulink Design Verifier) ... PowerPoint-Präsentation Author:

14

Smart Fuzz Testing – Identifying System Vulnerabilities

Leverage smart fuzz testing to identify vulnerabilities

Define intended cybersecurity violation

Automated test/attack case generation

System

under Test

Define Violation

Criterion

Smart fuzz test

stimuli

Fuzzing is a technique

whereby an application is fed

malformed input data with the

aim to detect anomalies in the

processing of unexpected data

entry

Page 15: Addressing Future Challenges in the Development of Safe ... · PDF fileSimulink Model of a function Property proving (e.g., Simulink Design Verifier) ... PowerPoint-Präsentation Author:

15

Automation to handle design Trade-offs

Code generation

C CodeImprovement Suggestions

Check

Modified

Design

Page 16: Addressing Future Challenges in the Development of Safe ... · PDF fileSimulink Model of a function Property proving (e.g., Simulink Design Verifier) ... PowerPoint-Präsentation Author:

16

Coding Standards Overview

Coding Standard C Standard Security

Standard

Safety

Standard

International

Standard

Whole

Language

CWE None/all Yes No No N/A

MISRA C:2004 C89 No Yes No No

MISRA C:2012* C99 No Yes No No

CERT C99 C99 Yes No No Yes

CERT C11 C11 Yes Yes No Yes

ISO/IEC TS 17961 C11 Yes No Yes Yes

Source: Table is based on the book:

*) 04/2016: Additional security guidelines for MISRA-C:2012 Amendment 1

Page 17: Addressing Future Challenges in the Development of Safe ... · PDF fileSimulink Model of a function Property proving (e.g., Simulink Design Verifier) ... PowerPoint-Präsentation Author:

18

CWE : Common Weakness Enumeration

Not limited to the C programing language

Not limited to potential issues caused by source code

– E.g.: CWE-5: J2EE Misconfiguration: Data Transmission

Without Encryption

Includes CERT C

Page 18: Addressing Future Challenges in the Development of Safe ... · PDF fileSimulink Model of a function Property proving (e.g., Simulink Design Verifier) ... PowerPoint-Präsentation Author:

19

SEI CERT C Coding Standard

This coding standard consists of rules and recommendations,

collectively referred to as guidelines.

Rules are meant to provide normative requirements for code, whereas

– Actual: 98 Rules (depending on applicable categories)

Recommendations are meant to provide guidance that, when followed,

should improve the safety, reliability, and security of software systems.

– Actual: 178 Recommendations (depending on applicable categories)

Page 19: Addressing Future Challenges in the Development of Safe ... · PDF fileSimulink Model of a function Property proving (e.g., Simulink Design Verifier) ... PowerPoint-Präsentation Author:

21

L2 Example: Rule 05. Floating Point (FLP)

Page 20: Addressing Future Challenges in the Development of Safe ... · PDF fileSimulink Model of a function Property proving (e.g., Simulink Design Verifier) ... PowerPoint-Präsentation Author:

22

Mapping to MISRA C:2012

Page 21: Addressing Future Challenges in the Development of Safe ... · PDF fileSimulink Model of a function Property proving (e.g., Simulink Design Verifier) ... PowerPoint-Präsentation Author:

23

Potential Cert C issues *

FLP30-C 2

– Do not use floating-point variables as loop counters

FLP34-C 41

– Ensure that floating-point conversions are within range of the new type

INT30-C 72

– Ensure that unsigned integer operations do not wrap

INT31-C 343

– Ensure that integer conversions do not result in lost or misinterpreted data

*) all user made; found in C code generated from 50 industry models

Page 22: Addressing Future Challenges in the Development of Safe ... · PDF fileSimulink Model of a function Property proving (e.g., Simulink Design Verifier) ... PowerPoint-Präsentation Author:

24

Potential Cert C issues *

Reason: models have not been designed to comply with Cert C

(issues are specifically relevant if taint data is involved)

FLP30-C 2

– Do not use floating-point variables as loop counters

FLP34-C 41

– Ensure that floating-point conversions are within range of the new type

INT30-C 72

– Ensure that unsigned integer operations do not wrap

INT31-C 343

– Ensure that integer conversions do not result in lost or misinterpreted data

*) all user made; found in C code generated from 50 industry models

Page 23: Addressing Future Challenges in the Development of Safe ... · PDF fileSimulink Model of a function Property proving (e.g., Simulink Design Verifier) ... PowerPoint-Präsentation Author:

25

Automated analysisDefects related to Code elements from an unsecure source (e.g. parameters, globals, etc.)

Example: Array access with tainted index/* Use Index to Return Buffer Value */

#define SIZE100 100

extern int tab[SIZE100];

int taintedarrayindex(int num) {

return tab[num];

}

Page 24: Addressing Future Challenges in the Development of Safe ... · PDF fileSimulink Model of a function Property proving (e.g., Simulink Design Verifier) ... PowerPoint-Präsentation Author:

26

Automated analysis: e.g. Static Taint Analysis detects issuesDefects related to Code elements from an unsecure source

Example: Array access with tainted index/* Use Index to Return Buffer Value */

#define SIZE100 100

extern int tab[SIZE100];

int taintedarrayindex(int num) {

return tab[num];

}

Page 25: Addressing Future Challenges in the Development of Safe ... · PDF fileSimulink Model of a function Property proving (e.g., Simulink Design Verifier) ... PowerPoint-Präsentation Author:

27

Automated analysis: e.g. Static Taint Analysis satisfies standardsDefects related to Code elements from an unsecure source

Example: Array access with tainted index/* Use Index to Return Buffer Value */

#define SIZE100 100

extern int tab[SIZE100];

int taintedarrayindex(int num) {

return tab[num];

}

Page 26: Addressing Future Challenges in the Development of Safe ... · PDF fileSimulink Model of a function Property proving (e.g., Simulink Design Verifier) ... PowerPoint-Präsentation Author:

28

Automated analysis: e.g. Static Taint Analysis on the fix...Defects related to Code elements from an unsecure source

Example: Array access with tainted index/* Use Index to Return Buffer Value */

#define SIZE100 100

extern int tab[SIZE100];

int taintedarrayindex(int num) {

if (num >= 0 && num < SIZE100) {

return tab[num];

} else {

return -9999;

}

}

Page 27: Addressing Future Challenges in the Development of Safe ... · PDF fileSimulink Model of a function Property proving (e.g., Simulink Design Verifier) ... PowerPoint-Präsentation Author:

29

Automated analysis: e.g. Analysis with Formal Proof Defects related to Code elements from an unsecure source

Example: Array access with tainted index/* Use Index to Return Buffer Value */

#define SIZE100 100

extern int tab[SIZE100];

int taintedarrayindex(int num) {

if (num >= 0 && num < SIZE100) {

return tab[num];

} else {

return -9999;

}

}

Page 28: Addressing Future Challenges in the Development of Safe ... · PDF fileSimulink Model of a function Property proving (e.g., Simulink Design Verifier) ... PowerPoint-Präsentation Author:

30

A static and semantic code analysis tool helps you to....

Produce and monitor

quality metrics

Enforce coding rules

Identify defects

Page 29: Addressing Future Challenges in the Development of Safe ... · PDF fileSimulink Model of a function Property proving (e.g., Simulink Design Verifier) ... PowerPoint-Präsentation Author:

31

Key Takeaways and call to action

Adressing cyber-security uses processes, methods and tools

known from functional safety domain, with different scope

Static and semantic code analysis provides a quick start to identify

security vulnerabilities and assess coding standard compliance

Model-based design streamlines efforts for meeting existing and

emerging safety & security standard compliance

Page 30: Addressing Future Challenges in the Development of Safe ... · PDF fileSimulink Model of a function Property proving (e.g., Simulink Design Verifier) ... PowerPoint-Präsentation Author:

32

Questions!?!

Thank

You!