opensamm software assurance maturity model ://owasp.org/ · fortify/cigital building security in...

38
Copyright © 2008 - The OWASP Foundation Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License. The OWASP Foundation OWASP-Italy Day IV Milan 6th, November 2009 http://www.owasp.org OpenSAMM Software Assurance Maturity Model http://www.opensamm.org Claudio Merloni Software Security Consultant Fortify Software

Upload: others

Post on 25-Jun-2020

9 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: OpenSAMM Software Assurance Maturity Model ://owasp.org/ · Fortify/Cigital Building Security In Maturity Model (BSIMM) OWASP-Italy Day IV – 6th, Nov 09 OWASP

Copyright © 2008 - The OWASP FoundationPermission is granted to copy, distribute and/or modify this document

under the terms of the GNU Free Documentation License.

The OWASP Foundation

OWASP-Italy Day IVMilan

6th, November 2009

http://www.owasp.org

OpenSAMMSoftware Assurance Maturity Modelhttp://www.opensamm.org

Claudio Merloni

Software Security ConsultantFortify Software

Page 2: OpenSAMM Software Assurance Maturity Model ://owasp.org/ · Fortify/Cigital Building Security In Maturity Model (BSIMM) OWASP-Italy Day IV – 6th, Nov 09 OWASP

OWASP-Italy Day IV – 6th, Nov 09 OWASP

Agenda

Review of existing secure SDLC effortsUnderstanding the modelApplying the modelExploring the model’s levels and activitiesSAMM and the real world

Page 3: OpenSAMM Software Assurance Maturity Model ://owasp.org/ · Fortify/Cigital Building Security In Maturity Model (BSIMM) OWASP-Italy Day IV – 6th, Nov 09 OWASP

OWASP-Italy Day IV – 6th, Nov 09 OWASP

By the end, you’ll be able to...

Evaluate an organization’s existing software security practicesBuild a balanced software security assurance program in well-defined iterationsDemonstrate concrete improvements to a security assurance programDefine and measure security-related activities throughout an organization

Page 4: OpenSAMM Software Assurance Maturity Model ://owasp.org/ · Fortify/Cigital Building Security In Maturity Model (BSIMM) OWASP-Italy Day IV – 6th, Nov 09 OWASP

OWASP-Italy Day IV – 6th, Nov 09 OWASP

Review of existing secure SDLC efforts

Page 5: OpenSAMM Software Assurance Maturity Model ://owasp.org/ · Fortify/Cigital Building Security In Maturity Model (BSIMM) OWASP-Italy Day IV – 6th, Nov 09 OWASP

OWASP-Italy Day IV – 6th, Nov 09 OWASP

CLASP

Comprehensive, Lightweight Application Security ProcessCentered around 7 AppSec Best PracticesCover the entire software lifecycle (not just development)

Adaptable to any development processDefines roles across the SDLC24 role-based process componentsStart small and dial-in to your needs

Page 6: OpenSAMM Software Assurance Maturity Model ://owasp.org/ · Fortify/Cigital Building Security In Maturity Model (BSIMM) OWASP-Italy Day IV – 6th, Nov 09 OWASP

OWASP-Italy Day IV – 6th, Nov 09 OWASP

Microsoft SDL

Built internally for MS softwareExtended and made public for othersMS-only versions since public release

Page 7: OpenSAMM Software Assurance Maturity Model ://owasp.org/ · Fortify/Cigital Building Security In Maturity Model (BSIMM) OWASP-Italy Day IV – 6th, Nov 09 OWASP

OWASP-Italy Day IV – 6th, Nov 09 OWASP

Touchpoints

Gary McGraw’s and Cigital’s model

Page 8: OpenSAMM Software Assurance Maturity Model ://owasp.org/ · Fortify/Cigital Building Security In Maturity Model (BSIMM) OWASP-Italy Day IV – 6th, Nov 09 OWASP

OWASP-Italy Day IV – 6th, Nov 09 OWASP

Lessons Learned

Microsoft SDLHeavyweight, good for large ISVs

TouchpointsHigh-level, not enough details to execute against

CLASPLarge collection of activities, but no priority ordering

ALL: Good for experts to use as a guide, but hard for non-security folks to use off the shelf

Page 9: OpenSAMM Software Assurance Maturity Model ://owasp.org/ · Fortify/Cigital Building Security In Maturity Model (BSIMM) OWASP-Italy Day IV – 6th, Nov 09 OWASP

OWASP-Italy Day IV – 6th, Nov 09 OWASP

Drivers for a Maturity Model

An organization’s behavior changes slowly over timeChanges must be iterative while working toward long-term goals

There is no single recipe that works for all organizationsA solution must enable risk-based choices tailor to the organization

Guidance related to security activities must be prescriptiveA solution must provide enough details for non-security-people

Overall, must be simple, well-defined, and measurable

Page 10: OpenSAMM Software Assurance Maturity Model ://owasp.org/ · Fortify/Cigital Building Security In Maturity Model (BSIMM) OWASP-Italy Day IV – 6th, Nov 09 OWASP

OWASP-Italy Day IV – 6th, Nov 09 OWASP

Therefore, a viable model must...

Define building blocks for an assurance programDelineate all functions within an organization that could be improved over time

Define how building blocks should be combinedMake creating change in iterations a no-brainer

Define details for each building block clearlyClarify the security-relevant parts in a widely applicable way (for any org doing software dev)

Page 11: OpenSAMM Software Assurance Maturity Model ://owasp.org/ · Fortify/Cigital Building Security In Maturity Model (BSIMM) OWASP-Italy Day IV – 6th, Nov 09 OWASP

OWASP-Italy Day IV – 6th, Nov 09 OWASP

Understanding the model

Page 12: OpenSAMM Software Assurance Maturity Model ://owasp.org/ · Fortify/Cigital Building Security In Maturity Model (BSIMM) OWASP-Italy Day IV – 6th, Nov 09 OWASP

OWASP-Italy Day IV – 6th, Nov 09 OWASP

SAMM Business Functions

Start with the core activities tied to any organization performing software developmentNamed generically, but should resonate with any developer or manager

Page 13: OpenSAMM Software Assurance Maturity Model ://owasp.org/ · Fortify/Cigital Building Security In Maturity Model (BSIMM) OWASP-Italy Day IV – 6th, Nov 09 OWASP

OWASP-Italy Day IV – 6th, Nov 09 OWASP

SAMM Security Practices

From each of the Business Functions, 3 Security Practices are definedThe Security Practices cover all areas relevant to software security assuranceEach one is a ‘silo’ for improvement

Page 14: OpenSAMM Software Assurance Maturity Model ://owasp.org/ · Fortify/Cigital Building Security In Maturity Model (BSIMM) OWASP-Italy Day IV – 6th, Nov 09 OWASP

OWASP-Italy Day IV – 6th, Nov 09 OWASP

Under each Security Practice

Three successive Objectives under each Practice define how it can be improved over time

This establishes a notion of a Level at which an organization fulfills a given Practice

The three Levels for a Practice generally correspond to:(0: Implicit starting point with the Practice unfulfilled)1: Initial understanding and ad hoc provision of the Practice2: Increase efficiency and/or effectiveness of the Practice3: Comprehensive mastery of the Practice at scale

Page 15: OpenSAMM Software Assurance Maturity Model ://owasp.org/ · Fortify/Cigital Building Security In Maturity Model (BSIMM) OWASP-Italy Day IV – 6th, Nov 09 OWASP

OWASP-Italy Day IV – 6th, Nov 09 OWASP

Check out this one...

Page 16: OpenSAMM Software Assurance Maturity Model ://owasp.org/ · Fortify/Cigital Building Security In Maturity Model (BSIMM) OWASP-Italy Day IV – 6th, Nov 09 OWASP

OWASP-Italy Day IV – 6th, Nov 09 OWASP

Per Level, SAMM defines...

ObjectiveActivitiesResultsSuccess MetricsCostsPersonnelRelated Levels

Page 17: OpenSAMM Software Assurance Maturity Model ://owasp.org/ · Fortify/Cigital Building Security In Maturity Model (BSIMM) OWASP-Italy Day IV – 6th, Nov 09 OWASP

OWASP-Italy Day IV – 6th, Nov 09 OWASP

Approach to iterative improvement

Since the twelve Practices are each a maturity area, the successive Objectives represent the “building blocks” for any assurance program

Simply put, improve an assurance program in phases by:1. Select security Practices to improve in next phase of

assurance program2.Achieve the next Objective in each Practice by

performing the corresponding Activities at the specified Success Metrics

Page 18: OpenSAMM Software Assurance Maturity Model ://owasp.org/ · Fortify/Cigital Building Security In Maturity Model (BSIMM) OWASP-Italy Day IV – 6th, Nov 09 OWASP

OWASP-Italy Day IV – 6th, Nov 09 OWASP

Applying the model

Page 19: OpenSAMM Software Assurance Maturity Model ://owasp.org/ · Fortify/Cigital Building Security In Maturity Model (BSIMM) OWASP-Italy Day IV – 6th, Nov 09 OWASP

OWASP-Italy Day IV – 6th, Nov 09 OWASP

Conducting assessments

SAMM includes assessment worksheets for each Security Practice

Page 20: OpenSAMM Software Assurance Maturity Model ://owasp.org/ · Fortify/Cigital Building Security In Maturity Model (BSIMM) OWASP-Italy Day IV – 6th, Nov 09 OWASP

OWASP-Italy Day IV – 6th, Nov 09 OWASP

Assessment process

Supports both lightweight and detailed assessmentsOrganizations may fall in between levels (+)

Page 21: OpenSAMM Software Assurance Maturity Model ://owasp.org/ · Fortify/Cigital Building Security In Maturity Model (BSIMM) OWASP-Italy Day IV – 6th, Nov 09 OWASP

OWASP-Italy Day IV – 6th, Nov 09 OWASP

Creating Scorecards

Gap analysisCapturing scores from detailed assessments versus expected performance levels

Demonstrating improvementCapturing scores from before and after an iteration of assurance program build-out

Ongoing measurementCapturing scores over consistent time frames for an assurance program that is already in place

Page 22: OpenSAMM Software Assurance Maturity Model ://owasp.org/ · Fortify/Cigital Building Security In Maturity Model (BSIMM) OWASP-Italy Day IV – 6th, Nov 09 OWASP

OWASP-Italy Day IV – 6th, Nov 09 OWASP

Roadmap templates

To make the “building blocks” usable, SAMM defines Roadmaps templates for typical kinds of organizations

Independent Software VendorsOnline Service ProvidersFinancial Services OrganizationsGovernment Organizations

Organization types chosen becauseThey represent common use-casesEach organization has variations in typical software-induced riskOptimal creation of an assurance program is different for each

Page 23: OpenSAMM Software Assurance Maturity Model ://owasp.org/ · Fortify/Cigital Building Security In Maturity Model (BSIMM) OWASP-Italy Day IV – 6th, Nov 09 OWASP

OWASP-Italy Day IV – 6th, Nov 09 OWASP

Building Assurance Programs

Page 24: OpenSAMM Software Assurance Maturity Model ://owasp.org/ · Fortify/Cigital Building Security In Maturity Model (BSIMM) OWASP-Italy Day IV – 6th, Nov 09 OWASP

OWASP-Italy Day IV – 6th, Nov 09 OWASP

Case Studies

A full walkthrough with prose explanations of decision-making as an organization improvesEach Phase described in detail

Organizational constraintsBuild/buy choices

One case study exists today, several more in progress using industry partners

Page 25: OpenSAMM Software Assurance Maturity Model ://owasp.org/ · Fortify/Cigital Building Security In Maturity Model (BSIMM) OWASP-Italy Day IV – 6th, Nov 09 OWASP

OWASP-Italy Day IV – 6th, Nov 09 OWASP

Exploring the model’s levels and activities

Page 26: OpenSAMM Software Assurance Maturity Model ://owasp.org/ · Fortify/Cigital Building Security In Maturity Model (BSIMM) OWASP-Italy Day IV – 6th, Nov 09 OWASP

OWASP-Italy Day IV – 6th, Nov 09 OWASP

The SAMM 1.0 release

Page 27: OpenSAMM Software Assurance Maturity Model ://owasp.org/ · Fortify/Cigital Building Security In Maturity Model (BSIMM) OWASP-Italy Day IV – 6th, Nov 09 OWASP

OWASP-Italy Day IV – 6th, Nov 09 OWASP

SAMM and the real world

Page 28: OpenSAMM Software Assurance Maturity Model ://owasp.org/ · Fortify/Cigital Building Security In Maturity Model (BSIMM) OWASP-Italy Day IV – 6th, Nov 09 OWASP

OWASP-Italy Day IV – 6th, Nov 09 OWASP

SAMM history

Beta released August 20081.0 released March 2009

Originally funded by FortifyStill actively involved and using this model

Released under a Creative Commons Attribution Share-Alike licenseDonated to OWASP and is currently an OWASP project

Page 29: OpenSAMM Software Assurance Maturity Model ://owasp.org/ · Fortify/Cigital Building Security In Maturity Model (BSIMM) OWASP-Italy Day IV – 6th, Nov 09 OWASP

OWASP-Italy Day IV – 6th, Nov 09 OWASP

Expert contributions

Built based on collected experiences with 100’s of organizations

Including security experts, developers, architects, development managers, IT managers

Page 30: OpenSAMM Software Assurance Maturity Model ://owasp.org/ · Fortify/Cigital Building Security In Maturity Model (BSIMM) OWASP-Italy Day IV – 6th, Nov 09 OWASP

OWASP-Italy Day IV – 6th, Nov 09 OWASP

Industry support

Several more case studies underway

Page 31: OpenSAMM Software Assurance Maturity Model ://owasp.org/ · Fortify/Cigital Building Security In Maturity Model (BSIMM) OWASP-Italy Day IV – 6th, Nov 09 OWASP

OWASP-Italy Day IV – 6th, Nov 09 OWASP

The OpenSAMM Project

http://www.opensamm.orgDedicated to defining, improving, and testing the SAMM frameworkAlways vendor-neutral, but lots of industry participation

Open and community drivenTargeting new releases every 6-12 monthsChange management process

SAMM Enhancement Proposals (SEP)

Page 32: OpenSAMM Software Assurance Maturity Model ://owasp.org/ · Fortify/Cigital Building Security In Maturity Model (BSIMM) OWASP-Italy Day IV – 6th, Nov 09 OWASP

OWASP-Italy Day IV – 6th, Nov 09 OWASP

Future plans

Mappings to existing standards and regulations (many underway currently)

PCI, COBIT, ISO-17799/27002, ISM3, etc.Additional roadmaps where need is identifiedAdditional case studiesFeedback for refinement of the modelTranslations into other languages

Page 33: OpenSAMM Software Assurance Maturity Model ://owasp.org/ · Fortify/Cigital Building Security In Maturity Model (BSIMM) OWASP-Italy Day IV – 6th, Nov 09 OWASP

OWASP-Italy Day IV – 6th, Nov 09 OWASP

Other “modern” approachs

Microsoft SDL Optimization ModelFortify/Cigital Building Security In Maturity Model (BSIMM)

Page 34: OpenSAMM Software Assurance Maturity Model ://owasp.org/ · Fortify/Cigital Building Security In Maturity Model (BSIMM) OWASP-Italy Day IV – 6th, Nov 09 OWASP

OWASP-Italy Day IV – 6th, Nov 09 OWASP

SDL Optimization Model

Built by MS to make SDL adoption easier

Page 35: OpenSAMM Software Assurance Maturity Model ://owasp.org/ · Fortify/Cigital Building Security In Maturity Model (BSIMM) OWASP-Italy Day IV – 6th, Nov 09 OWASP

OWASP-Italy Day IV – 6th, Nov 09 OWASP

BSIMM

Framework derived from SAMM BetaBased on collected data from 9 large firms

Page 36: OpenSAMM Software Assurance Maturity Model ://owasp.org/ · Fortify/Cigital Building Security In Maturity Model (BSIMM) OWASP-Italy Day IV – 6th, Nov 09 OWASP

OWASP-Italy Day IV – 6th, Nov 09 OWASP

Quick re-cap on using SAMM

Evaluate an organization’s existing software security practicesBuild a balanced software security assurance program in well-defined iterationsDemonstrate concrete improvements to a security assurance programDefine and measure security-related activities throughout an organization

Page 37: OpenSAMM Software Assurance Maturity Model ://owasp.org/ · Fortify/Cigital Building Security In Maturity Model (BSIMM) OWASP-Italy Day IV – 6th, Nov 09 OWASP

OWASP-Italy Day IV – 6th, Nov 09 OWASP

Get involved

Use SAMM and tell us about itBlog, email, etc.

Latest news at http://www.opensamm.orgSign up for the mailing list

Pravir Chandra - OpenSAMM Project Lead [email protected]

Page 38: OpenSAMM Software Assurance Maturity Model ://owasp.org/ · Fortify/Cigital Building Security In Maturity Model (BSIMM) OWASP-Italy Day IV – 6th, Nov 09 OWASP

OWASP-Italy Day IV – 6th, Nov 09 OWASP

Thanks for your time! Questions?

Claudio Merloni – Fortify Software – [email protected]