Addressing Future Challenges in the Development of Safe ...€¦ · 3 Growing security concerns...

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

Transcript of Addressing Future Challenges in the Development of Safe ...€¦ · 3 Growing security concerns...

Page 1: Addressing Future Challenges in the Development of Safe ...€¦ · 3 Growing security concerns –rise in number and complexity “In 2013, 2164 separate incidents, over 822 million

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 ...€¦ · 3 Growing security concerns –rise in number and complexity “In 2013, 2164 separate incidents, over 822 million

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 ...€¦ · 3 Growing security concerns –rise in number and complexity “In 2013, 2164 separate incidents, over 822 million

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 ...€¦ · 3 Growing security concerns –rise in number and complexity “In 2013, 2164 separate incidents, over 822 million

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 ...€¦ · 3 Growing security concerns –rise in number and complexity “In 2013, 2164 separate incidents, over 822 million

5

Communication between Cybersecurity and Safety Process

Source: SAE 3061 Cyber Security Framework

Page 6: Addressing Future Challenges in the Development of Safe ...€¦ · 3 Growing security concerns –rise in number and complexity “In 2013, 2164 separate incidents, over 822 million

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 ...€¦ · 3 Growing security concerns –rise in number and complexity “In 2013, 2164 separate incidents, over 822 million

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 ...€¦ · 3 Growing security concerns –rise in number and complexity “In 2013, 2164 separate incidents, over 822 million

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 ...€¦ · 3 Growing security concerns –rise in number and complexity “In 2013, 2164 separate incidents, over 822 million

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 ...€¦ · 3 Growing security concerns –rise in number and complexity “In 2013, 2164 separate incidents, over 822 million

10

Model-Based Safety/Security Analysis

Assets and Attack

Potentials

Page 11: Addressing Future Challenges in the Development of Safe ...€¦ · 3 Growing security concerns –rise in number and complexity “In 2013, 2164 separate incidents, over 822 million

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 ...€¦ · 3 Growing security concerns –rise in number and complexity “In 2013, 2164 separate incidents, over 822 million

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 ...€¦ · 3 Growing security concerns –rise in number and complexity “In 2013, 2164 separate incidents, over 822 million

13

Model-Based Safety/Security Analysis

Page 14: Addressing Future Challenges in the Development of Safe ...€¦ · 3 Growing security concerns –rise in number and complexity “In 2013, 2164 separate incidents, over 822 million

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 ...€¦ · 3 Growing security concerns –rise in number and complexity “In 2013, 2164 separate incidents, over 822 million

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 ...€¦ · 3 Growing security concerns –rise in number and complexity “In 2013, 2164 separate incidents, over 822 million

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 ...€¦ · 3 Growing security concerns –rise in number and complexity “In 2013, 2164 separate incidents, over 822 million

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 ...€¦ · 3 Growing security concerns –rise in number and complexity “In 2013, 2164 separate incidents, over 822 million

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 ...€¦ · 3 Growing security concerns –rise in number and complexity “In 2013, 2164 separate incidents, over 822 million

21

L2 Example: Rule 05. Floating Point (FLP)

Page 20: Addressing Future Challenges in the Development of Safe ...€¦ · 3 Growing security concerns –rise in number and complexity “In 2013, 2164 separate incidents, over 822 million

22

Mapping to MISRA C:2012

Page 21: Addressing Future Challenges in the Development of Safe ...€¦ · 3 Growing security concerns –rise in number and complexity “In 2013, 2164 separate incidents, over 822 million

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 ...€¦ · 3 Growing security concerns –rise in number and complexity “In 2013, 2164 separate incidents, over 822 million

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 ...€¦ · 3 Growing security concerns –rise in number and complexity “In 2013, 2164 separate incidents, over 822 million

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 ...€¦ · 3 Growing security concerns –rise in number and complexity “In 2013, 2164 separate incidents, over 822 million

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 ...€¦ · 3 Growing security concerns –rise in number and complexity “In 2013, 2164 separate incidents, over 822 million

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 ...€¦ · 3 Growing security concerns –rise in number and complexity “In 2013, 2164 separate incidents, over 822 million

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 ...€¦ · 3 Growing security concerns –rise in number and complexity “In 2013, 2164 separate incidents, over 822 million

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 ...€¦ · 3 Growing security concerns –rise in number and complexity “In 2013, 2164 separate incidents, over 822 million

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 ...€¦ · 3 Growing security concerns –rise in number and complexity “In 2013, 2164 separate incidents, over 822 million

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 ...€¦ · 3 Growing security concerns –rise in number and complexity “In 2013, 2164 separate incidents, over 822 million

32

Questions!?!

Thank

You!