• No results found

Building Resilient Systems: The Secure Software Development Lifecycle

N/A
N/A
Protected

Academic year: 2021

Share "Building Resilient Systems: The Secure Software Development Lifecycle"

Copied!
29
0
0

Loading.... (view fulltext now)

Full text

(1)

22-Jul-2015

Building Resilient Systems:

The Secure Software Development

Lifecycle

Software Engineering Institute

Carnegie Mellon University

Pittsburgh, PA 15213

Mark Sherman, PhD

Technical Director, CERT

(2)

Copyright 2015 Carnegie Mellon University

This material is based upon work funded and supported by the Department of Defense under Contract No. FA8721-05-C-0003 with Carnegie Mellon University for the operation of the Software Engineering Institute, a federally funded research and development center.

Any opinions, findings and conclusions or recommendations expressed in this material are those of the author(s) and do not necessarily reflect the views of the United States Department of Defense.

References herein to any specific commercial product, process, or service by trade name, trade mark, manufacturer, or otherwise, does not necessarily constitute or imply its endorsement, recommendation, or favoring by Carnegie Mellon University or its Software Engineering Institute.

NO WARRANTY. THIS CARNEGIE MELLON UNIVERSITY AND SOFTWARE ENGINEERING INSTITUTE MATERIAL IS FURNISHED ON AN “AS-IS” BASIS. CARNEGIE MELLON UNIVERSITY MAKES NO WARRANTIES OF ANY KIND, EITHER EXPRESSED OR IMPLIED, AS TO ANY MATTER INCLUDING, BUT NOT LIMITED TO, WARRANTY OF FITNESS FOR PURPOSE OR MERCHANTABILITY, EXCLUSIVITY, OR RESULTS OBTAINED FROM USE OF THE MATERIAL. CARNEGIE MELLON UNIVERSITY DOES NOT MAKE ANY WARRANTY OF ANY KIND WITH RESPECT TO FREEDOM FROM PATENT, TRADEMARK, OR COPYRIGHT INFRINGEMENT.

This material has been approved for public release and unlimited distribution.

This material may be reproduced in its entirety, without modification, and freely distributed in written or electronic form without requesting formal permission. Permission is required for any other use. Requests for permission should be directed to the Software Engineering Institute at [email protected].

Carnegie Mellon®is registered in the U.S. Patent and Trademark Office by Carnegie Mellon University.

(3)

Software is advancing function and replacing

hardware

8% 80% 0% 20% 40% 60% 80% 100% 1960 2000

% Airplane Function in

Software

1,000 9,000,000 1.0E+02 1.0E+03 1.0E+04 1.0E+05 1.0E+06 1.0E+07 1960 2000

Avionics SLOC

Evolution of avionics size and function from F-4A (1960) to F-35 (2000)

Sources: Final Report, NASA Study on Flight Software Complexity

(4)
(5)

Automotive electronics following the same path

– and with vulnerabilities

2010 Jeep Cherokee

2014 Jeep Cherokee

Source: Miller and Valasek, A Survey of Remote Automotive Attack Surfaces, http://illmatics.com/remote%20attack%20surfaces.pdf

Common assertion that

modern high end cars have

over 100M lines of code

(6)

Catching software faults early saves money

(7)

An ounce of prevention ….

“We wouldn't have to

spend so much time,

money, and effort on

network security if we

didn't have such bad

software security.”

Bruce Schneier in Viega and McGraw,

“Building Secure Software,” 2001

Source: Washington Post, March 19, 2014,

http://www.washingtonpost.com/business/economy/toyota-reaches-12-billion-settlement-to-end-criminal-probe/2014/03/19/5738a3c4-af69-11e3-9627-c65021d6d572_story.html

(8)

Focus on the need to develop the theory, processes, practices and

technology to support the agile construction and maintenance of

secure software

(9)

Room for improvement

Mission thread (Business process)

19% fail to carry out

security requirement

definition

27% do not practice

secure design

72% do not use code or

binary analysis

47% do not perform

acceptance tests for

third-party code

More than 81% do not coordinate their security practices

in various stages of the development life cycle.

Sources: Forrester Consulting, “State of Application Security,” January 2011; Wendy Nather, Research Director, 451 Research, “Dynamic testing: Why Tools Alone Aren't Enough, March 25, 2015”

(10)
(11)

Getting the right requirements: desire for

backdoors conflicts with secure operations

(12)

Exploit 1

Exploit 1 Vulnerability 1Vulnerability 1 Exploit 2

Exploit 2 Vulnerability 2Vulnerability 2

Exploit N

Exploit N Vulnerability NVulnerability N . . . . . .

Risk analysis is focused on a single system

Standalone (i.e., single system) models have been

developed

Risk analysis considers the exploit of an individual

vulnerability within a single system

Security risk identification techniques do not consider:

Compositions of multiple vulnerabilities

Cross-system security events/risks

Impacts beyond the exploit of a single system (to

the intended service and organization)

Need for systematic, multiple system evaluations

Notation for expressing a security events and risks

Take into account all context: operational and

physical, data, workflow, stakeholder, network

views

Expert Knowledge

Compliance

System Requirements

Vendor Solutions

Single system scope

(13)

System level cyber attacks on physical systems

Steelworks compromise causes massive damage to furnace.

One of the most concerning was a targeted APT attack on a German steelworks which ended in the attackers gaining

access to the business systems and through them to the production network (including SCADA). The effect was that

the attackers gained control of a steel furnace and this caused massive damages to the plant.

Dragonfly attacks a dozen companies

The Dragonfly hacker group attacked a number of companies’ SCADA systems and installed the malware ‘Havex’. This

was used to gather information about the systems. No damage was done, because the compromise was detected and

removed before the hackers had completed the observation and intelligence gathering phase.

Sources: https://www.bsi.bund.de/SharedDocs/Downloads/DE/BSI/Publikationen/Lageberichte/Lagebericht2014.pdf?__blob=publicationFile; http://www.resilienceoutcomes.com/state-ict-security/

(14)

Security Engineering Risk Analysis

1. Establish

operational context.

2. Identify risk.

3. Analyze risk.

4. Develop control

plan.

Process Thread Worksheet

Risk Identification Worksheet

Risk Evaluation Criteria Risk Analysis Worksheet

(15)
(16)

Integrating security into Agile development

1.

Code hygiene – introduce secure coding

2.

Secure DevOps – include security tools

3.

Threat modeling – represent a new role

4.

Risk analysis – prioritize in backlog

Persona nongrata Code hygiene Secure DevOps Threat modeling Risk analysis

(See also: Bellomo and Woody, DoD Information Assurance and Agile: Challenges and Recommendations Gathered Through Interviews with Agile Program Managers and DoD Accreditation

(17)

Coding rules

Collected wisdom of programmers and

tools vendors

Fed by community wiki started in

Spring 2006

1,576 registered contributors

Basis for ISO Standard

(18)

Adoption of secure coding rules

Training

Integrated

development

environments

Automated

transformation

and remediation

Batch

analyzers

(19)

Embedded Systems (ES) represent new classes of

vulnerabilities

Characteristics of Embedded Systems

ECU designed for a specific purpose – architecture

could be unique for each ES

Size, Weight, Power and Latency concerns

Watchdog and filtering processes may not fit in

operational envelop

Designing ES and code is a special field

• Subject matter expertise of unique system

• Autonomous systems have physical resources,

navigation needs and Safety-Critical Real-time

OS

• Intermittent communications and multiple

command-and-control masters

• Embedded firmware, unique internal busses &

controllers

• Can require specific skills at the bit and clock

cycle level

ES cyber defenses differ from PC/IT

network cyber defenses

Network-centric cyber defenses have limited

applicability to embedded systems

• Virus definitions and operating guidelines don’t

always apply

• Centralized account control not possible

• Network tools and assessment techniques

have limited relevance to embedded systems

architecture and interfaces

Threat Mitigation for ES and PC/IT are quite

different

• Larger number and more diverse attack

surfaces

• Back doors (maintenance), hardcoded

credentials, insecure protocols, unplanned

connectivity and upgrades

(20)

Programming for security is not the same as

programming for safety

Safety strategy

Security view

Rely on physical models in fault trees

Attackers do not obey the laws of

physics

Redundancy mitigates single failures

Attackers are not independent events

Shared, global state improves

behavior

Attackers use leaked information

beyond intended purposes

Shared service containers to meet

space, power and weight constraints

Coupled services enable denial of

service attacks

Microcontrollers and air gaps

implement boundaries

(21)

Vulnerabilities emerge in existing code

New operating

environments are a major

cause of vulnerabilities

Software supply chain

delivers components of

unknown provenance

(22)

Need security in depth to mitigate risk

Compartmentalization

helps contain damage

Perform checks at

interfaces

(23)

Future (CHERI) architectures improve

compartmentalization

Designed from ground up for security and safety

Fine grained containers

Breach of one container is isolated

Backward compatibility

Existing modules can be containers

Prototypes constructed

Transition activities on-going

Source: Watson, et al, CHERI: A Hybrid Capability-System Architecture for Scalable Software Compartmentalization, IEEE Symposium on Security and Privacy, May 2015

(24)

Need to get the right skills to write secure code

Moral: Need embedded, security mindset, processes, technology and support

(25)

Software Assurance Framework (SAF)

What

• Defines software assurance practices for acquiring and developing assured

software products

Why

• Improve software assurance practices

in acquisition programs

• Enhance software assurance services

provided by third parties

Benefits

• Establish confidence in a program’s ability to acquire software-reliant systems

across the life cycle and supply chain

(26)

SAF: Nine Practice Areas

2. Materiel Solution Analysis (MSA) Practices 3. Technology Development (TD) Practices 4. Engineering and Manufacturing Development (EMD) Practices 5. Production and Deployment (PD) Practices 6. Operations and Support (O&S) Practices

1. Governance Infrastructure Practices

9. Software Security Infrastructure Practices

7. Secure Software Development Practices 8. Secure Software Operation Practices

Focus

Governance

Infrastructure

Acquisition

Lifecycle

Assurance

Software Security

Software Security

Infrastructure

(27)
(28)

Contact Information

Mark Sherman

(412) 268-9223

mssherman

@sei.cmu.edu

Web Resources (CERT/SEI)

http://www.cert.org/

http://www.sei.cmu.edu/

(29)

References

Related documents

Ø An application would not be acted on if, within the previous two years, the same site or one within 500 feet of it has been pro- posed for the same type of license and the

THIS CARNEGIE MELLON UNIVERSITY AND SOFTWARE ENGINEERING INSTITUTE MATERIAL IS FURNISHED ON AN "AS-IS" BASIS.. CARNEGIE MELLON UNIVERSITY MAKES NO WARRANTIES OF ANY

The household-level data showed that the major strategies that farmers have been using to adapt to climate change are controlled grazing, water management, new crop varieties,

FA8702-15-D-0002 with Carnegie Mellon University for the operation of the Software Engineering Institute, a federally funded research and development center.. The view,

Paulk95 Carnegie Mellon University, Software Engineering Institute (Principal Contributors and Editors: Mark C. Weber, Bill Curtis, and Mary Beth Chrissis), The Capability

FA8721-05-C- 0003 with Carnegie Mellon University for the operation of the Software Engineering Institute, a federally funded research and development center. Any opinions,

The study provided a comprehensive nationwide prevalence and health risk awareness of smoking in Nigeria as a distinct addition to limited data on cigarette

Managing COVID-19 Vaccine Inventory Using the Citywide Immunization Registry.. This module allows providers to place and manage COVID-19