Security at the Speed of DevOps

25
Tony Rice Senior Application Security Engineer, Cisco Systems Security at the Speed of DevOps Research Triangle 2016

Transcript of Security at the Speed of DevOps

Page 1: Security at the Speed of DevOps

Tony RiceSenior Application Security Engineer, Cisco Systems

Security at the Speed of DevOps

Research Triangle 2016

Page 2: Security at the Speed of DevOps

2© 2015 Cisco and/or its affiliates. All rights reserved. Cisco Public

TL;DR: Agile development moves too fast, hire robots

Richard Sargent

Page 3: Security at the Speed of DevOps

3© 2015 Cisco and/or its affiliates. All rights reserved. Cisco Public

Agile vs. Waterfall

Sprint 2

Waterfall

Sprint 1 Sprint 3

“The Homer” courtesy of Fox

Backlog Backlog Backlog

Page 4: Security at the Speed of DevOps

4© 2015 Cisco and/or its affiliates. All rights reserved. Cisco Public

Does Agile promote Security?

Security in the Software Lifecycle (1.2) - Department of Homeland Security

Our highest priority is to satisfy the customer through early and continuous delivery of software.

Welcome changing requirements, even late in development.

Deliver working software frequently on a shorter timescale.

Developers will be trusted by both management and customers to get the job done.

Hire motivated individuals and trust them to get the job done.

The most efficient and effective communication method is face-to-face conversation.

Working software is the primary measure of progress.

Sponsors, developers, and users should be able to maintain a constant pace indefinitely.

Continuous attention to technical excellence and good design enhances agility.

Simplicity--the art of maximizing the amount of work not done--is essential.

The best architectures, requirements, and designs emerge from self-organizing teams.

The team must reflect on its efficacy at regular intervals and adjust its behavior accordingly.

Page 5: Security at the Speed of DevOps

5© 2015 Cisco and/or its affiliates. All rights reserved. Cisco Public

Does Agile promote Security?

Security in the Software Lifecycle (1.2) - Department of Homeland Security

Our highest priority is to satisfy the customer through early and continuous delivery of software.

Welcome changing requirements, even late in development.

Deliver working software frequently on a shorter timescale.

Developers will be trusted by both management and customers to get the job done.

Hire motivated individuals and trust them to get the job done.

The most efficient and effective communication method is face-to-face conversation.

Working software is the primary measure of progress.

Sponsors, developers, and users should be able to maintain a constant pace indefinitely.

Continuous attention to technical excellence and good design enhances agility.

Simplicity--the art of maximizing the amount of work not done--is essential.

The best architectures, requirements, and designs emerge from self-organizing teams.

The team must reflect on its efficacy at regular intervals and adjust its behavior accordingly.

Page 6: Security at the Speed of DevOps

6© 2015 Cisco and/or its affiliates. All rights reserved. Cisco Public

Requirements Design Coding Test Deploy

Software Delivery Life Cycle

Page 7: Security at the Speed of DevOps

7© 2015 Cisco and/or its affiliates. All rights reserved. Cisco Public

Cost to Fix

$1

$100-1000

$15

$30

Source: Software Engineering Economics, Barry W. Boehm

Cost to Fix

$1

$100-1000

$15

$30

Requirements Design Coding Test Deploy

Page 8: Security at the Speed of DevOps

8© 2015 Cisco and/or its affiliates. All rights reserved. Cisco Public

Cost to Fix

$1

$100-1000

$15

$30

Source: Software Engineering Economics, Barry W. Boehm

Defect Introduction

30%

18%

Requirements Design Coding Test Deploy

Page 9: Security at the Speed of DevOps

9© 2015 Cisco and/or its affiliates. All rights reserved. Cisco Public

Cost to Fix

$1

$100-1000

$15

$30

Source: Software Engineering Economics, Barry W. Boehm

Vulnerability Introduction

Requirements Design Coding Test Deploy

Page 10: Security at the Speed of DevOps

10© 2015 Cisco and/or its affiliates. All rights reserved. Cisco Public

Cost to Fix

$1

$100-1000

$15

$30

Source: Software Engineering Economics, Barry W. Boehm

86%Defect Discovery

Requirements Design Coding Test Deploy

Page 11: Security at the Speed of DevOps

11© 2015 Cisco and/or its affiliates. All rights reserved. Cisco Public

The Solution1. Introduce fewer bugs2. Discover them earlier

xkcd#327

Page 12: Security at the Speed of DevOps

12© 2015 Cisco and/or its affiliates. All rights reserved. Cisco Public

Requirements Design Coding Test Deploy

Defect Discovery YesterdayTomorrow

Page 13: Security at the Speed of DevOps

13© 2015 Cisco and/or its affiliates. All rights reserved. Cisco Public

Requirements & Design Coding Integration Test Deploy

Source NASA JSC

Send the Robots

Page 14: Security at the Speed of DevOps

15© 2015 Cisco and/or its affiliates. All rights reserved. Cisco Public

Requirements & Design Coding Integration Test Deploy

Manual Everything

✗ Code merged by hand (senior developer)✗ Ad hoc manual builds, manual tests✗ Measurement: customer complaints

Page 15: Security at the Speed of DevOps

16© 2015 Cisco and/or its affiliates. All rights reserved. Cisco Public

Requirements & Design Coding Integration Test Deploy

Source NASA JSC

Hire a Chief Robot

Page 16: Security at the Speed of DevOps

17© 2015 Cisco and/or its affiliates. All rights reserved. Cisco Public

Requirements & Design Coding Integration Test Deploy

Continuous Integration

✔ Automated builds✔ Automated integration testingMeasurement: build quality

Page 17: Security at the Speed of DevOps

18© 2015 Cisco and/or its affiliates. All rights reserved. Cisco Public

Requirements & Design Coding Integration Test Deploy

Secure by Design

✔ Security included in requirements✔ Common security librariesMeasurement: adoption

Page 18: Security at the Speed of DevOps

19© 2015 Cisco and/or its affiliates. All rights reserved. Cisco Public

Requirements & Design Coding Integration Test Deploy

Vulnerability Scanning

✔ Automated Vulnerability Scanning✔ Code quality testsMeasurement: vulnerability counts

Page 19: Security at the Speed of DevOps

“ “constantly think about how you could be doing things better and questioning yourself Elon Musk

Page 20: Security at the Speed of DevOps

21© 2015 Cisco and/or its affiliates. All rights reserved. Cisco Public

Requirements & Design Coding Integration Test Deploy

Developer Culture Shift

✔ Test driven development, unit test reuse✔ Dynamic & Static Automated Vulnerability Scanning✔ Code Review / Pair ProgrammingMeasurement: vulnerability counts, code review records

Page 21: Security at the Speed of DevOps

22© 2015 Cisco and/or its affiliates. All rights reserved. Cisco Public

TESTING

TESTING!!

xkcd#303

Page 22: Security at the Speed of DevOps

23© 2015 Cisco and/or its affiliates. All rights reserved. Cisco Public

Requirements & Design Coding Integration Test Deploy

Continuous Deployment

✔ Version control for all artifacts✔ Proactive Monitoring✔ Stable, reproducible development environmentMeasurement: deployments per day

Page 23: Security at the Speed of DevOps

24© 2015 Cisco and/or its affiliates. All rights reserved. Cisco Public

Requirements & Design Coding Integration Test Deploy

Continuous Security

✔ Zero manual intervention from check-in to deployment✔ Only inputs: code, configs and tests✔ Development priority on refactoring legacy code, testsMeasurement: code coverage

Page 24: Security at the Speed of DevOps

25© 2015 Cisco and/or its affiliates. All rights reserved. Cisco Public

• Haskins, Bill, Jonette Stecklein, Brandon Dick, Gregory Moroney, Randy Lovell, and James Dabney. "8.4.2 Error Cost Escalation Through the Project Life Cycle." INCOSE International Symposium 14.1 (2004): 1723-737. NASA Technical Reports Server. NASA Johnson Space Center.

• Boehm, Barry W. Software Engineering Economics. Englewood Cliffs, NJ: Prentice-Hall, 1981. ISBN 0138221227

• Puppet Labs. State of DevOps Report (2014):.

• Martin, James. An Information Systems Manifesto. Englewood Cliffs, NJ: Prentice-Hall, 1984. ISBN 0134647696.

• Security in the Software Lifecycle, Department of Homeland Security (August 2006)

• Moving Targets: Security and Rapid-Release in Firefox, Sandy Clark, et al.

Additional Reading

http://www.slideshare.net/tony_rice

Page 25: Security at the Speed of DevOps

http://www.slideshare.net/tony_rice