sdlc introduction and process models - schedschd.ws/hosted_files/secappdev2017/94/secappdev2017 -...

55
SDLC Introduction and Process Models Bart De Win www.pwc.com SecAppDev 2017

Upload: dohanh

Post on 23-May-2018

267 views

Category:

Documents


6 download

TRANSCRIPT

Page 1: SDLC Introduction and Process Models - Schedschd.ws/hosted_files/secappdev2017/94/SecAppDev2017 - SDLC Intro...Cloud Adaptability SDLC Introduction and Process models SecAppDev 2017

SDLC Introductionand Process Models

Bart De Win

www.pwc.com

SecAppDev 2017

Page 2: SDLC Introduction and Process Models - Schedschd.ws/hosted_files/secappdev2017/94/SecAppDev2017 - SDLC Intro...Cloud Adaptability SDLC Introduction and Process models SecAppDev 2017

Bart De Win ?

•20 years of Information Security Experience

•Ph.D. in Computer Science - Application Security

•Author of >60 scientific publications

•ISC2 CSSLP certified

•Senior Manager @ PwC Belgium:

•Expertise Center Leader Trusted Software

•(Web) Application tester (pentesting, arch. review, code review, ...)

•Proficiency in Secure Software Development Lifecycle (SDLC) and Software Quality

• OWASP SAMM co-leader

• Contact me at [email protected]

SDLC Introduction and Process models SecAppDev 2017

2

Page 3: SDLC Introduction and Process Models - Schedschd.ws/hosted_files/secappdev2017/94/SecAppDev2017 - SDLC Intro...Cloud Adaptability SDLC Introduction and Process models SecAppDev 2017

Agenda

1. Motivation

2. Process Models

3. Agile Development

4. Good Practices

5. Conclusion

•SecAppDev 2017

•3

Page 4: SDLC Introduction and Process Models - Schedschd.ws/hosted_files/secappdev2017/94/SecAppDev2017 - SDLC Intro...Cloud Adaptability SDLC Introduction and Process models SecAppDev 2017

Application Security Problem

75% of vulnerabilities are application related

Training

Growing connectivityMobile

Software complexity

Better

Faster

Technology stacks

Cloud

Adaptability

SecAppDev 2017SDLC Introduction and Process models

4

Quality

CostSpeed of Delivery

Page 5: SDLC Introduction and Process Models - Schedschd.ws/hosted_files/secappdev2017/94/SecAppDev2017 - SDLC Intro...Cloud Adaptability SDLC Introduction and Process models SecAppDev 2017

Application Security Symbiosis

SecAppDev 2017SDLC Introduction and Process models

5

Page 6: SDLC Introduction and Process Models - Schedschd.ws/hosted_files/secappdev2017/94/SecAppDev2017 - SDLC Intro...Cloud Adaptability SDLC Introduction and Process models SecAppDev 2017

Application Security during Software Development

Bugs Flaws Cost

Analyse Design Implement Test Deploy Maintain

SecAppDev 2017SDLC Introduction and Process models

6

Page 7: SDLC Introduction and Process Models - Schedschd.ws/hosted_files/secappdev2017/94/SecAppDev2017 - SDLC Intro...Cloud Adaptability SDLC Introduction and Process models SecAppDev 2017

The State-of-Practice in Secure Software Development

Problematic, since:

• Focus on bugs, not flaws

• Penetration can cause major harm

• Not cost efficient

• No security assurance

- All bugs found ?

- Bug fix fixes all occurences ? (also future ?)

- Bug fix might introduce new security vulnerabilities

Analyse Design Implement Test Deploy Maintain

(Arch review) Pentest Penetrate & Patch

SecAppDev 2017SDLC Introduction and Process models

7

Page 8: SDLC Introduction and Process Models - Schedschd.ws/hosted_files/secappdev2017/94/SecAppDev2017 - SDLC Intro...Cloud Adaptability SDLC Introduction and Process models SecAppDev 2017

SDLC ?

Enterprise-wide software security improvement program

• Strategic approach to assure software quality

• Goal is to increase systematicity

• Focus on security functionality and security hygiene

Analyse Design Implement Test Deploy Maintain

SDLC

SecAppDev 2017SDLC Introduction and Process models

8

Page 9: SDLC Introduction and Process Models - Schedschd.ws/hosted_files/secappdev2017/94/SecAppDev2017 - SDLC Intro...Cloud Adaptability SDLC Introduction and Process models SecAppDev 2017

SDLC Objectives & Principles

To develop (and maintain) software in a consistent and efficient way with a

demonstrable & standards-compliant security quality, inline with

the organizational risks.

SecAppDev 2017SDLC Introduction and Process models

9

Page 10: SDLC Introduction and Process Models - Schedschd.ws/hosted_files/secappdev2017/94/SecAppDev2017 - SDLC Intro...Cloud Adaptability SDLC Introduction and Process models SecAppDev 2017

SDLC Cornerstones

SecAppDev 2017SDLC Introduction and Process models

10SecAppDev 2013

• Roles & ResponsibilitiesPeople

• Activities• Deliverables• Control Gates

Process

• Standards & Guidelines• Compliance• Transfer methods

Knowledge

• Development support• Assessment tools• Management tools

Tools & Components

Risk Training

Page 11: SDLC Introduction and Process Models - Schedschd.ws/hosted_files/secappdev2017/94/SecAppDev2017 - SDLC Intro...Cloud Adaptability SDLC Introduction and Process models SecAppDev 2017

Strategic ?

Organizations with a proper SDLC will experiencean 80 percent decrease in critical vulnerabilities

Organizations that acquire products and services with just a 50 percent reduction in vulnerabilitieswill reduce configuration management and incident response costs by 75 percent each.

SecAppDev 2017SDLC Introduction and Process models

11

Page 12: SDLC Introduction and Process Models - Schedschd.ws/hosted_files/secappdev2017/94/SecAppDev2017 - SDLC Intro...Cloud Adaptability SDLC Introduction and Process models SecAppDev 2017

Does it really work ?

SecAppDev 2017SDLC Introduction and Process models

12

Page 13: SDLC Introduction and Process Models - Schedschd.ws/hosted_files/secappdev2017/94/SecAppDev2017 - SDLC Intro...Cloud Adaptability SDLC Introduction and Process models SecAppDev 2017

(Some) SDLC-related initiatives

•Microsoft SDL

•BSIMM

•SP800-64

•TouchPoints

•CLASP

•SAMM

•SSE-CMM

•TSP-Secure

•GASSPSecAppDev 2017SDLC Introduction and Process models

13

Page 14: SDLC Introduction and Process Models - Schedschd.ws/hosted_files/secappdev2017/94/SecAppDev2017 - SDLC Intro...Cloud Adaptability SDLC Introduction and Process models SecAppDev 2017

Agenda

1. Motivation

2. Process Models

3. Agile Development

4. Good Practices

5. Conclusion

•SecAppDev 2017

•14

Page 15: SDLC Introduction and Process Models - Schedschd.ws/hosted_files/secappdev2017/94/SecAppDev2017 - SDLC Intro...Cloud Adaptability SDLC Introduction and Process models SecAppDev 2017

Selected Example: Microsoft SDL (SD3+C)

SecAppDev 2017SDLC Introduction and Process models

15

Page 16: SDLC Introduction and Process Models - Schedschd.ws/hosted_files/secappdev2017/94/SecAppDev2017 - SDLC Intro...Cloud Adaptability SDLC Introduction and Process models SecAppDev 2017

Training

1. Training

2. Requirements

3. Design

4. Implementation

5. Verification

6. Release

7. Response

Content

• Secure design

• Threat modeling

• Secure coding

• Security testing

• Privacy

Why?

SecAppDev 2017SDLC Introduction and Process models

16

Page 17: SDLC Introduction and Process Models - Schedschd.ws/hosted_files/secappdev2017/94/SecAppDev2017 - SDLC Intro...Cloud Adaptability SDLC Introduction and Process models SecAppDev 2017

1. Training

2. Requirements

3. Design

4. Implementation

5. Verification

6. Release

7. Response

Requirements

When you consider security and privacy at a foundational level

Project inception

Cost analysis

Determine if development and support costs for improving

security and privacy are consistent with business

needs

SecAppDev 2017SDLC Introduction and Process models

17

Page 18: SDLC Introduction and Process Models - Schedschd.ws/hosted_files/secappdev2017/94/SecAppDev2017 - SDLC Intro...Cloud Adaptability SDLC Introduction and Process models SecAppDev 2017

1. Training

2. Requirements

3. Design

4. Implementation

5. Verification

6. Release

7. Response

Design

Establish and follow best practices for Design

≠ secure-coding best practices

Risk analysis

Threat modeling

STRIDE

SecAppDev 2017SDLC Introduction and Process models

18

Page 19: SDLC Introduction and Process Models - Schedschd.ws/hosted_files/secappdev2017/94/SecAppDev2017 - SDLC Intro...Cloud Adaptability SDLC Introduction and Process models SecAppDev 2017

1. Training

2. Requirements

3. Design

4. Implementation

5. Verification

6. Release

7. Response

Implementation

Creating documentation and tools for users that address security and privacy

Establish and follow best practices for development

1. Review available information resources

2. Review recommended development tools

3. Define, communicate and document all bestpractices and policies

SecAppDev 2017SDLC Introduction and Process models

19

Page 20: SDLC Introduction and Process Models - Schedschd.ws/hosted_files/secappdev2017/94/SecAppDev2017 - SDLC Intro...Cloud Adaptability SDLC Introduction and Process models SecAppDev 2017

1. Training

2. Requirements

3. Design

4. Implementation

5. Verification

6. Release

7. Response

Verification

Security and privacy testing

1. Confidentiality, integrity and availability of thesoftware and data processed by the software

2. Freedom from issues that could result insecurity vulnerabilities

Security push

SecAppDev 2017SDLC Introduction and Process models

20

Page 21: SDLC Introduction and Process Models - Schedschd.ws/hosted_files/secappdev2017/94/SecAppDev2017 - SDLC Intro...Cloud Adaptability SDLC Introduction and Process models SecAppDev 2017

1. Training

2. Requirements

3. Design

4. Implementation

5. Verification

6. Release

7. Response

Release

Public pre-release review

Planning

Preparation for

incident response

1. Privacy

2. Security

SecAppDev 2017SDLC Introduction and Process models

21

Page 22: SDLC Introduction and Process Models - Schedschd.ws/hosted_files/secappdev2017/94/SecAppDev2017 - SDLC Intro...Cloud Adaptability SDLC Introduction and Process models SecAppDev 2017

1. Training

2. Requirements

3. Design

4. Implementation

5. Verification

6. Release

7. Response

Release

Sign-off process to ensure security, privacy and other policy compliance

Release to manufacturing/release to web

Outcomes:

- Passed FSR

- Passed FSR with exceptions

- FSR escalation

Final security and privacy review

SecAppDev 2017SDLC Introduction and Process models

22

Page 23: SDLC Introduction and Process Models - Schedschd.ws/hosted_files/secappdev2017/94/SecAppDev2017 - SDLC Intro...Cloud Adaptability SDLC Introduction and Process models SecAppDev 2017

Response

1. Training

2. Requirements

3. Design

4. Implementation

5. Verification

6. Release

7. Response

=> able to respond appropriately to reports of vulnerabilities in their software products, and to attempted exploitation of those vulnerabilities.

Execute Incident Response Plan

SecAppDev 2017SDLC Introduction and Process models

23

Page 24: SDLC Introduction and Process Models - Schedschd.ws/hosted_files/secappdev2017/94/SecAppDev2017 - SDLC Intro...Cloud Adaptability SDLC Introduction and Process models SecAppDev 2017

Process Models: wrapup

Microsoft SDL:

Mature, long-term practical experience

Heavyweight, ISV flavour

Several supporting tools and methods

Other process models exist, with their pro’s and con’s

In general, no process will fit your organization perfectly

Mix-and-Match + adaptation are necessary

SecAppDev 2017SDLC Introduction and Process models

24

Page 25: SDLC Introduction and Process Models - Schedschd.ws/hosted_files/secappdev2017/94/SecAppDev2017 - SDLC Intro...Cloud Adaptability SDLC Introduction and Process models SecAppDev 2017

•PwC

Agenda

1. Motivation

2. Process Models

3. Agile Development

4. Good Practices

5. Conclusion

•SecAppDev 2017

•25

•SDLC Introduction and Process models

Page 26: SDLC Introduction and Process Models - Schedschd.ws/hosted_files/secappdev2017/94/SecAppDev2017 - SDLC Intro...Cloud Adaptability SDLC Introduction and Process models SecAppDev 2017

Agile Models: Rationale and Fundamentals

• Many traditional, large-scale software development projects are going wrong

• Combination of business and technical causes

• Software is delivered late in the lifecycle

• Little flexibility during the process

Agile models focus on:

• Frequent interaction with stakeholders

• Short cycles

=> to increase flexibility and reduce risk

SecAppDev 2017SDLC Introduction and Process models

26

Page 27: SDLC Introduction and Process Models - Schedschd.ws/hosted_files/secappdev2017/94/SecAppDev2017 - SDLC Intro...Cloud Adaptability SDLC Introduction and Process models SecAppDev 2017

Agile Models: Scrum

SecAppDev 2017SDLC Introduction and Process models

27

Page 28: SDLC Introduction and Process Models - Schedschd.ws/hosted_files/secappdev2017/94/SecAppDev2017 - SDLC Intro...Cloud Adaptability SDLC Introduction and Process models SecAppDev 2017

Agile & Secure development: a mismatch ?

SecAppDev 2017SDLC Introduction and Process models

28

Agile Dev. Security

Speed & Flexibility Stable & Rigorous

Short cycles Extra activities

Limited documentation Extensive analysis

Functionality-driven Non-functional

Page 29: SDLC Introduction and Process Models - Schedschd.ws/hosted_files/secappdev2017/94/SecAppDev2017 - SDLC Intro...Cloud Adaptability SDLC Introduction and Process models SecAppDev 2017

Secure Agile is …

enablement, rather than control

SecAppDev 2017SDLC Introduction and Process models

29

Page 30: SDLC Introduction and Process Models - Schedschd.ws/hosted_files/secappdev2017/94/SecAppDev2017 - SDLC Intro...Cloud Adaptability SDLC Introduction and Process models SecAppDev 2017

Secure Agile – Where’s the difference ?

SecAppDev 2017SDLC Introduction and Process models

30SecAppDev 2013

• Roles & ResponsibilitiesPeople

• Activities• Deliverables• Control Gates

Process

• Standards & Guidelines• Compliance• Transfer methods

Knowledge

• Development support• Assessment tools• Management tools

Tools & Components

Risk Training

Page 31: SDLC Introduction and Process Models - Schedschd.ws/hosted_files/secappdev2017/94/SecAppDev2017 - SDLC Intro...Cloud Adaptability SDLC Introduction and Process models SecAppDev 2017

Secure Agile: general principles

• Make security a natural part of the process, but don’t overdo

• lightweight, in-phase and iterative

• preventative and detective controls

• Be involved at key moments in the process

• Leverage important agile concepts

• Small steps at a time (i.e. continuous improvement)

SecAppDev 2017SDLC Introduction and Process models

31

Page 32: SDLC Introduction and Process Models - Schedschd.ws/hosted_files/secappdev2017/94/SecAppDev2017 - SDLC Intro...Cloud Adaptability SDLC Introduction and Process models SecAppDev 2017

User Stories

• Capture security requirements, policies and regulations in user stories

• Simple, concrete and actionable

• Reusable?

• Mark all user stories with security labels

• Integrate security into user stories as:

• Definition of Done

• Acceptance criteria

SecAppDev 2017SDLC Introduction and Process models

32

Page 33: SDLC Introduction and Process Models - Schedschd.ws/hosted_files/secappdev2017/94/SecAppDev2017 - SDLC Intro...Cloud Adaptability SDLC Introduction and Process models SecAppDev 2017

Threat Modelling & Abuser Stories

Consider writing application security risks as stories

• Security stories: “As a developer, I want to prevent SQLi into my application”

• Not a real user story (not relevant for product owner, but to help the development team)

• Never really finished

• Thinking like the bad guy: “User X should not have access to this type of data”

• Think about what users don’t want to and can’t do, how to trust users, what data is involved, …

SecAppDev 2017SDLC Introduction and Process models

33

Page 34: SDLC Introduction and Process Models - Schedschd.ws/hosted_files/secappdev2017/94/SecAppDev2017 - SDLC Intro...Cloud Adaptability SDLC Introduction and Process models SecAppDev 2017

Sprint Planning

• Features to be implemented per sprint are selected during sprint planning.

• Ensure security tasks are not “stuck” on the backlog

• Presence of security-savvy person during sprint planning

• Establish rules to deal with security stories

• Security labels can be used to drive selection

SecAppDev 2017SDLC Introduction and Process models

34

Page 35: SDLC Introduction and Process Models - Schedschd.ws/hosted_files/secappdev2017/94/SecAppDev2017 - SDLC Intro...Cloud Adaptability SDLC Introduction and Process models SecAppDev 2017

Example: MS SDL-Agile

Basic approach: Fit SDL tasks to the backlog as non-functional stories

Non-Technical vs. Technical

Requirement vs. Recommendation

Each SDL task goes in one of three types of requirements:

SecAppDev 2017SDLC Introduction and Process models

35

Every Sprint

BucketOne-Time

Page 36: SDLC Introduction and Process Models - Schedschd.ws/hosted_files/secappdev2017/94/SecAppDev2017 - SDLC Intro...Cloud Adaptability SDLC Introduction and Process models SecAppDev 2017

Example: Every-Sprint Requirements (excerpt)

• All team members must have had security training in the past year

• All database access via parameterized queries

• Fix security issues identified by static analysis

• Mitigate against Cross-Site Request Forgery

• Update Threat models for new features

• Use Secure cookies over HTTPS

• Link all code with the /nxcompat linker option

• Encrypt all secrets such as credentials, keys and passwords

• Conduct internal security design review

SecAppDev 2017SDLC Introduction and Process models

36

Page 37: SDLC Introduction and Process Models - Schedschd.ws/hosted_files/secappdev2017/94/SecAppDev2017 - SDLC Intro...Cloud Adaptability SDLC Introduction and Process models SecAppDev 2017

Example: Bucket Requirements (excerpt)

Bucket A: Security Verification

• Perform fuzzing (network/ActiveX/File/RPC/…)

• Manual and automated code review for high-risk code

• Penetration testing

Bucket B: Design Review

• Conduct a privacy review

• Complete threat model training

Bucket C: Planning

• Define or update the security/privacy bug bar

• Define a BC/DR plan

SecAppDev 2017SDLC Introduction and Process models

37

Page 38: SDLC Introduction and Process Models - Schedschd.ws/hosted_files/secappdev2017/94/SecAppDev2017 - SDLC Intro...Cloud Adaptability SDLC Introduction and Process models SecAppDev 2017

Example: One-Time Requirements (excerpt)

• Create a baseline threat model

• Establish a security response plan

• Identify your team’s security expert

• Use latest compiler versions

SecAppDev 2017SDLC Introduction and Process models

38

Page 39: SDLC Introduction and Process Models - Schedschd.ws/hosted_files/secappdev2017/94/SecAppDev2017 - SDLC Intro...Cloud Adaptability SDLC Introduction and Process models SecAppDev 2017

Security testing

• Automated testing is an important element in agile quality control

• For security, this can be realized by:

• Unit testing (e.g., authorisation checks, logging, …)

• Regression testing

• Static analysis (SAST) based on coding guidelines

• Dynamic analysis (DAST) based on scenarios and/or vulnerability tests

• Fuzzing

SecAppDev 2017SDLC Introduction and Process models

39

Page 40: SDLC Introduction and Process Models - Schedschd.ws/hosted_files/secappdev2017/94/SecAppDev2017 - SDLC Intro...Cloud Adaptability SDLC Introduction and Process models SecAppDev 2017

Thou shall use Iteration Zero

Many agile projects start with an “Iteration Zero” to

• Get the team together

• Choose tools and frameworks

• Get to know the domain

This is an opportunity for security too, to

• Assign security responsibles

• Select security tools

• Determine risk levels

SecAppDev 2017SDLC Introduction and Process models

40

Page 41: SDLC Introduction and Process Models - Schedschd.ws/hosted_files/secappdev2017/94/SecAppDev2017 - SDLC Intro...Cloud Adaptability SDLC Introduction and Process models SecAppDev 2017

Secure Agile process: key take-aways

Ensure that security-savvy people are involved at important phases:

• Planning game (to enhance/verify requirements)

• Development (daily follow-up)

• Review (to support acceptance)

• Retrospective (to improve dev. Practices for security)

Different profiles can be distinguished:

• Security architect

• Security engineer

• Risk Manager/Governance

SecAppDev 2017SDLC Introduction and Process models

42

Page 42: SDLC Introduction and Process Models - Schedschd.ws/hosted_files/secappdev2017/94/SecAppDev2017 - SDLC Intro...Cloud Adaptability SDLC Introduction and Process models SecAppDev 2017

Secure Agile – Where’s the difference ?

SecAppDev 2017SDLC Introduction and Process models

43SecAppDev 2013

• Roles & ResponsibilitiesPeople

• Activities• Deliverables• Control Gates

Process

• Standards & Guidelines• Compliance• Transfer methods

Knowledge

• Development support• Assessment tools• Management tools

Tools & Components

Risk Training

Page 43: SDLC Introduction and Process Models - Schedschd.ws/hosted_files/secappdev2017/94/SecAppDev2017 - SDLC Intro...Cloud Adaptability SDLC Introduction and Process models SecAppDev 2017

Secure Agile Tool Chain: general principles

• Secure agile is about enabling, rather than controlling

• Embedding security tools to support development

• Given short sprint cycles, automation is important.

• Good tools do:

• Work continuously (to avoid developers being blocked)

• Integrate well into developer’s world

• Avoid causing too much overhead or confusion

• Evaluate carefully which tools to implement (and which to avoid)

SecAppDev 2017SDLC Introduction and Process models

44

Page 44: SDLC Introduction and Process Models - Schedschd.ws/hosted_files/secappdev2017/94/SecAppDev2017 - SDLC Intro...Cloud Adaptability SDLC Introduction and Process models SecAppDev 2017

Secure Coding

Integrate security tools in the development IDE’s:

• Support for secure coding guidelines

• Static analysis tools

Ensure common development environment:

• Programming run-time

• Security components (e.g., SSO IdP’s, ...)

Proper source control and versioning

SecAppDev 2017SDLC Introduction and Process models

45

Page 45: SDLC Introduction and Process Models - Schedschd.ws/hosted_files/secappdev2017/94/SecAppDev2017 - SDLC Intro...Cloud Adaptability SDLC Introduction and Process models SecAppDev 2017

Security testing

• Integrated with backlogs where appropriate

SecAppDev 2017SDLC Introduction and Process models

46

Daily

• Unit tests• Regression

tests• Peer

reviews

Per sprint

• Static Analysis

• Dynamic Analysis

• Fuzzing

Before release

• Penetration testing

Page 46: SDLC Introduction and Process Models - Schedschd.ws/hosted_files/secappdev2017/94/SecAppDev2017 - SDLC Intro...Cloud Adaptability SDLC Introduction and Process models SecAppDev 2017

Secure Build

Central build, using central configuration files

Consider:

• Code signing

• Obfuscation

• …

SecAppDev 2017SDLC Introduction and Process models

47

Page 47: SDLC Introduction and Process Models - Schedschd.ws/hosted_files/secappdev2017/94/SecAppDev2017 - SDLC Intro...Cloud Adaptability SDLC Introduction and Process models SecAppDev 2017

Secure Deploy / DevOps

• Automated deploy, using central configuration files

• Consider:

• Random key generation

• Appropriate key/certificate protection (config files, key stores, …)

• Proper hardening of application servers

• Security appliance configuration (e.g., WAF)

• Security monitoring

• …

SecAppDev 2017SDLC Introduction and Process models

48

Page 48: SDLC Introduction and Process Models - Schedschd.ws/hosted_files/secappdev2017/94/SecAppDev2017 - SDLC Intro...Cloud Adaptability SDLC Introduction and Process models SecAppDev 2017

Hybrid models

• Many companies are combining waterfall and agile

• Studies indicate better resulting quality

• For security, easier to hook into

• E.g., full architecture cycle

SecAppDev 2017SDLC Introduction and Process models

49

Page 49: SDLC Introduction and Process Models - Schedschd.ws/hosted_files/secappdev2017/94/SecAppDev2017 - SDLC Intro...Cloud Adaptability SDLC Introduction and Process models SecAppDev 2017

Best Practices / Lessons Learned

• Use small steps at a time – the agile way

• Build on agile concepts (backlog, retrospective)

• Find a way to prioritize security in the planning

• Use automation as much as possible

• Review samples independent of project sprints

• Rely on security champions

• E.g., security requirements, design review, code review

• Agile should not be an excuse for not having documentation

SecAppDev 2017SDLC Introduction and Process models

50

Page 50: SDLC Introduction and Process Models - Schedschd.ws/hosted_files/secappdev2017/94/SecAppDev2017 - SDLC Intro...Cloud Adaptability SDLC Introduction and Process models SecAppDev 2017

Agenda

1. Motivation

2. Process Models

3. Agile Development

4. Good Practices

5. Conclusion

•51

•SecAppDev 2017

Page 51: SDLC Introduction and Process Models - Schedschd.ws/hosted_files/secappdev2017/94/SecAppDev2017 - SDLC Intro...Cloud Adaptability SDLC Introduction and Process models SecAppDev 2017

Good Practices

•SecAppDev 2017•SDLC Introduction and Process models

•Application

Security

•Architecture &

Design•Secure Coding

•Testing•Process

•Development

Environment

•Knowledge &

Training

Keep it small and simple

Secure by design

Least privilege

Defense in depth

Threat Modelling

It’s everybody’s responsibility

Clear roles & agreements

Good documentation is important,

also in Agile

Sign your applications

Standardized dev. environment

Central code repository

Central build system

Controlled promotion mechanism

Continuous integration

Screen & scan external libraries

Regularly update tools & libraries

Host third-party libraries locally

Define a company standard

Validate input & encode output

Default deny

Avoid hardcoded passwords

Obfuscate client-side code

Protect against automated

attacks

Automated quality scanning

Peer review

Automated static analysis

Automated dynamic testing

Intelligent fuzzing can help

Integrate with bug tracking

systems

Security awareness training

Appoint security champions

Establish a central knowledge

portal

Use Google wisely

Don’t post internal code on Github

Reuse proven crypto

•52

Page 52: SDLC Introduction and Process Models - Schedschd.ws/hosted_files/secappdev2017/94/SecAppDev2017 - SDLC Intro...Cloud Adaptability SDLC Introduction and Process models SecAppDev 2017

SDLC impact

Difficult to predict, but:

• Projects are estimated to increase with 5 – 15% for security

• ROI is achievable taking maintenance and incident management into account

• SDLC capability costs approx. 1 FTE/100 developers

SecAppDev 2017SDLC Introduction and Process models

53

Page 53: SDLC Introduction and Process Models - Schedschd.ws/hosted_files/secappdev2017/94/SecAppDev2017 - SDLC Intro...Cloud Adaptability SDLC Introduction and Process models SecAppDev 2017

Agenda

1. Motivation

2. Process Models

3. Agile Development

4. Good Practices

5. Conclusion

•SecAppDev 2017

•54

Page 54: SDLC Introduction and Process Models - Schedschd.ws/hosted_files/secappdev2017/94/SecAppDev2017 - SDLC Intro...Cloud Adaptability SDLC Introduction and Process models SecAppDev 2017

Conclusions

SDLC is the framework for most of this week’s sessions

No model is perfect, but they provide good guidance

Take into account all cornerstones

Risk Management is key for rationalizing effort

SecAppDev 2017SDLC Introduction and Process models

55

Page 55: SDLC Introduction and Process Models - Schedschd.ws/hosted_files/secappdev2017/94/SecAppDev2017 - SDLC Intro...Cloud Adaptability SDLC Introduction and Process models SecAppDev 2017

SDLC Cornerstones

SecAppDev 2017SDLC Introduction and Process models

56SecAppDev 2013

• Roles & ResponsibilitiesPeople

• Activities• Deliverables• Control Gates

Process

• Standards & Guidelines• Compliance• Transfer methods

Knowledge

• Development support• Assessment tools• Management tools

Tools & Components

Risk Training