opensamm best practices, lessons from the trenches seba deleersnyder [email protected] opensamm project...

31
OpenSAMM Best Practices, Lessons from the Trenches Seba Deleersnyder [email protected] OpenSAMM project co-leaders Bart De Win [email protected] AppSec Europe 2014 Project Talk

Upload: mae-melton

Post on 29-Dec-2015

219 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: OpenSAMM Best Practices, Lessons from the Trenches Seba Deleersnyder seba@owasp.org OpenSAMM project co-leaders Bart De Win bart.dewin@owasp.org AppSec

OpenSAMM Best Practices,Lessons from the Trenches

Seba [email protected]

OpenSAMM project co-leaders

Bart De [email protected]

AppSec Europe 2014 Project Talk

Page 2: OpenSAMM Best Practices, Lessons from the Trenches Seba Deleersnyder seba@owasp.org OpenSAMM project co-leaders Bart De Win bart.dewin@owasp.org AppSec

Bart / Seba ?

Sebastien Deleersnyder

15+ years developer / information security experience

Belgian OWASP chapter founder

OWASP volunteer

Co-organizer www.BruCON.org

Application security specialist Toreon

Bart De Win, Ph.D.

15+ years experience in secure software development

Belgian OWASP chapter co-leader

Author of >60 publications

Security consultant PwC

Page 3: OpenSAMM Best Practices, Lessons from the Trenches Seba Deleersnyder seba@owasp.org OpenSAMM project co-leaders Bart De Win bart.dewin@owasp.org AppSec

Agenda

• Integrating software assurance?• OpenSAMM• Quick Start• Lessons Learned• Resources & Self-Assessment• OpenSAMM Road Map

Page 4: OpenSAMM Best Practices, Lessons from the Trenches Seba Deleersnyder seba@owasp.org OpenSAMM project co-leaders Bart De Win bart.dewin@owasp.org AppSec

“Build in” software assurance

4

Design Build Test Production

vulnerabilityscanning -

WAF

security testingdynamic test

tools

coding guidelines code reviews

static test tools

security requirements /

threat modeling

reactiveproactive

Secure Development Lifecycle(SAMM)

Page 5: OpenSAMM Best Practices, Lessons from the Trenches Seba Deleersnyder seba@owasp.org OpenSAMM project co-leaders Bart De Win bart.dewin@owasp.org AppSec

We need a Maturity ModelAn organization’s behavior changes slowly over time

Changes must be iterative while

working toward long-term goals

There is no single recipe that works

for all organizations

A solution must enable risk-based choices tailored to the organization

Guidance related to security

activities must be prescriptive

A solution must provide enough details for non-security-people

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

OWASP Software Assurance

Maturity Model (SAMM)

Page 6: OpenSAMM Best Practices, Lessons from the Trenches Seba Deleersnyder seba@owasp.org OpenSAMM project co-leaders Bart De Win bart.dewin@owasp.org AppSec

SAMM users

6

• Dell Inc• KBC• ING Insurance• Gotham Digital Science• HP Fortify• ISG ...

Page 7: OpenSAMM Best Practices, Lessons from the Trenches Seba Deleersnyder seba@owasp.org OpenSAMM project co-leaders Bart De Win bart.dewin@owasp.org AppSec

SAMM Security Practices

• From each of the Business Functions, 3 Security Practices are defined

• The Security Practices cover all areas relevant to software security assurance

• Each one is a ‘silo’ for improvement

Page 8: OpenSAMM Best Practices, Lessons from the Trenches Seba Deleersnyder seba@owasp.org OpenSAMM project co-leaders Bart De Win bart.dewin@owasp.org AppSec

Example: Education & Guidance

8

Page 9: OpenSAMM Best Practices, Lessons from the Trenches Seba Deleersnyder seba@owasp.org OpenSAMM project co-leaders Bart De Win bart.dewin@owasp.org AppSec

Per Level, SAMM defines...

• Objective• Activities• Results• Success Metrics• Costs• Personnel• Related Levels

Page 10: OpenSAMM Best Practices, Lessons from the Trenches Seba Deleersnyder seba@owasp.org OpenSAMM project co-leaders Bart De Win bart.dewin@owasp.org AppSec

SAMM Quick Start

ASSES

questionnaireGOAL

gap analysis

PLAN roadmap

IMPLEMENT

OWASP resources

Page 11: OpenSAMM Best Practices, Lessons from the Trenches Seba Deleersnyder seba@owasp.org OpenSAMM project co-leaders Bart De Win bart.dewin@owasp.org AppSec

Assess•SAMM includes assessment worksheets for each Security Practice

Page 12: OpenSAMM Best Practices, Lessons from the Trenches Seba Deleersnyder seba@owasp.org OpenSAMM project co-leaders Bart De Win bart.dewin@owasp.org AppSec

Lessons Learned – Organisation Specific•Pre-screen general software development maturity

•Define assessment scope in organisation:–Organisation wide–Selected Business Units–Development Groups (internal, supplier)–IT infrastructure Groups (hosting internal, cloud)

•Involve key stakeholders Invaluable for awareness & education

•Apply CONSISTENT (same interviewers) within same organisation

Page 13: OpenSAMM Best Practices, Lessons from the Trenches Seba Deleersnyder seba@owasp.org OpenSAMM project co-leaders Bart De Win bart.dewin@owasp.org AppSec

Lessons Learned – Interview / Scoring•Adapt & select subset questionnaire per profile

(risk management, development, IT infrastructure, …)•Try different formats: interview style, workshops •Capture more details:

“Adjusted” scoringAsk percentage instead of Yes/No If Yes: request CMM level for activityAsk about strengths & weaknesses

•Validate results:Repeat questions to several peopleLightweight vs full approachAnonymous interviewsAggregate gathered information

Page 14: OpenSAMM Best Practices, Lessons from the Trenches Seba Deleersnyder seba@owasp.org OpenSAMM project co-leaders Bart De Win bart.dewin@owasp.org AppSec

Goal

• Gap analysis• Capturing scores from detailed

assessments versus expected performance levels

• Demonstrating improvement• Capturing scores from before and after

an iteration of assurance program build-out

• Ongoing measurement• Capturing scores over consistent time

frames for an assurance program that is already in place

Page 15: OpenSAMM Best Practices, Lessons from the Trenches Seba Deleersnyder seba@owasp.org OpenSAMM project co-leaders Bart De Win bart.dewin@owasp.org AppSec

Goal – Lessons Learned

•Link to the organisational context–Specific Business Case (ROI)–Organisation objectives / risk profile

•Think carefully about selection–So you want to achieve all 3’s. Hmm. Who are you, NSA ?–Link to industry level–Respect practice dependencies–It can make sense not to include particular low-level activities, or to lower a current level

Page 16: OpenSAMM Best Practices, Lessons from the Trenches Seba Deleersnyder seba@owasp.org OpenSAMM project co-leaders Bart De Win bart.dewin@owasp.org AppSec

Goal – Lessons Learned

•Get consensus, management support

•Be ready for budget questions (linked to Plan phase)–MD, CAPEX, OPEX–General stats about %’s

•Create & reuse own organisation template

Page 17: OpenSAMM Best Practices, Lessons from the Trenches Seba Deleersnyder seba@owasp.org OpenSAMM project co-leaders Bart De Win bart.dewin@owasp.org AppSec

Plan• Roadmaps: to make the “building blocks” usable• Roadmaps templates for typical kinds of

organizations• Independent Software Vendors• Online Service Providers• Financial Services Organizations• Government Organizations

• Tune these to your own targets / speed

Page 18: OpenSAMM Best Practices, Lessons from the Trenches Seba Deleersnyder seba@owasp.org OpenSAMM project co-leaders Bart De Win bart.dewin@owasp.org AppSec

Plan – Lessons Learned•Identify quick wins (focus on success cases)•Start with awareness / training•Adapt to upcoming release cycles / key projects•Spread effort & “gaps to close” over realistic iterations

•Spread work, roles & responsibilitiesSW security competence centre, development, security,

operationsFor instance service portfolio and guidelines: when and who ?

•Take into account dependencies

•Be ready to adapt planning

Page 19: OpenSAMM Best Practices, Lessons from the Trenches Seba Deleersnyder seba@owasp.org OpenSAMM project co-leaders Bart De Win bart.dewin@owasp.org AppSec

Plan – Budgeting•Average budget impact 5%-15% on project•Cost of tooling

Central procurement vs per development group•Cost of training

Do not forget internal/external time spent•Cost of external suppliers / outsourcing•Different technology stacks will impact budget

Page 20: OpenSAMM Best Practices, Lessons from the Trenches Seba Deleersnyder seba@owasp.org OpenSAMM project co-leaders Bart De Win bart.dewin@owasp.org AppSec

Implement: 150+ OWASP resources

PROTECT

Tools: Enterprise Security API (ESAPI), CSRFGuard, AppSensor, ModSecurity Core Rule Set Project

Docs: Development Guide, Cheat Sheets, Secure Coding Practices - Quick Reference Guide

DETECT

Tools: OWTF, Broken Web Applications Project, Zed Attack Proxy

Docs: Code Review Guide, Testing Guide, Top Ten Project

LIFE CYCLE

SAMM, Application Security Verification Standard, Legal Project, WebGoat, Education Project, Cornucopia

Page 21: OpenSAMM Best Practices, Lessons from the Trenches Seba Deleersnyder seba@owasp.org OpenSAMM project co-leaders Bart De Win bart.dewin@owasp.org AppSec

Implement – Lessons Learned

•Adapt & reuse SAMM to your organisation•Categorize applications: High, Medium, Low

based on risk: e.g. Internet facing, transactions, …•Recheck progress & derive lessons learned at each iteration•Create & improve reporting dashboard

Application & process metrics•Treat new & legacy code bases differently

•Agile: differentiate between Every Sprint, Bucket & one-time AppSec activities

•Balance planning on people, process, knowledge and tools

Page 22: OpenSAMM Best Practices, Lessons from the Trenches Seba Deleersnyder seba@owasp.org OpenSAMM project co-leaders Bart De Win bart.dewin@owasp.org AppSec

Lessons Learned – AppSec Competence Centre

•Inject & spread best practices•“market & promote” – do not become risk/audit function•Do not become operational bottle-neck•Spread/hand-over knowledge to champions throughout

organisation•Create & nurture AppSec community

Page 23: OpenSAMM Best Practices, Lessons from the Trenches Seba Deleersnyder seba@owasp.org OpenSAMM project co-leaders Bart De Win bart.dewin@owasp.org AppSec

SAMM Resourceswww.opensamm.org

• Presentations• Quick Start (to be released)• Assessment worksheets / templates• Roadmap templates• Translations (Spanish, Japanese, …)• SAMM mappings to ISO/EIC 27034 – BSIMM – PCI (to be

released)• NEW: Training material

23

Page 24: OpenSAMM Best Practices, Lessons from the Trenches Seba Deleersnyder seba@owasp.org OpenSAMM project co-leaders Bart De Win bart.dewin@owasp.org AppSec

NEW: Self-Assessment Online

https://ssa.asteriskinfosec.com.au24

Page 25: OpenSAMM Best Practices, Lessons from the Trenches Seba Deleersnyder seba@owasp.org OpenSAMM project co-leaders Bart De Win bart.dewin@owasp.org AppSec

SAMM RoadmapBuild the SAMM community:•Grow list of SAMM adopters•Workshops at conferences•Dedicated SAMM summit

V1.1:•Incorporate Quick Start / tools / guidance / OWASP projects•Revamp SAMM wikiV2.0:•Revise scoring model•Model revision necessary ? (12 practices, 3 levels, ...)•Application to agile•Roadmap planning: how to measure effort ?•Presentations & teaching material•…

25

Page 26: OpenSAMM Best Practices, Lessons from the Trenches Seba Deleersnyder seba@owasp.org OpenSAMM project co-leaders Bart De Win bart.dewin@owasp.org AppSec

Get involved

• Project mailing list / work packages• Use and donate (feed)back!• Donate resources• Sponsor SAMM

Page 27: OpenSAMM Best Practices, Lessons from the Trenches Seba Deleersnyder seba@owasp.org OpenSAMM project co-leaders Bart De Win bart.dewin@owasp.org AppSec

Critical Success Factors

• Get initiative buy-in from all stakeholders• Adopt a risk-based approach• Awareness / education is the foundation• Integrate security in your development /

acquisition and deployment processes• Measure: Provide management visibility

27

Page 28: OpenSAMM Best Practices, Lessons from the Trenches Seba Deleersnyder seba@owasp.org OpenSAMM project co-leaders Bart De Win bart.dewin@owasp.org AppSec

Measure & Improve!

OpenSAMM.org

Page 29: OpenSAMM Best Practices, Lessons from the Trenches Seba Deleersnyder seba@owasp.org OpenSAMM project co-leaders Bart De Win bart.dewin@owasp.org AppSec

Mapping Projects / SAMM

29

Project Type Level SAMM Practice RemarksBroken Web Applications Tools Labs EG1CSRFTester Tools Labs ST1EnDe Tools Labs ST1Fiddler Addons for Security Testing Tools Labs ST1Forward Exploit Tool Tools Labs ST1Hackademic Challenges Tools Labs EG1Hatkit Datafiddler Tools Labs ST1Hatkit Proxy Tools Labs ST1HTTP POST Tools Labs ST1Java XML Templates Tools Labs SA2JavaScript Sandboxes Tools Labs not applicableJoomla Vulnerability Scanner Tools Labs ST1LAPSE Tools Labs CR2Mantra Security Framework Tools Labs ST1Multilidea Tools Labs EG1O2 Tools Labs ST2Orizon Tools Labs CR2Srubbr Tools Labs ST1Security Assurance Testing of Virtual Worlds Tools Labs ST1Vicnum Tools Labs EG1Wapiti Tools Labs ST1Web Browser Testing System Tools Labs ST1WebScarab Tools Labs ST1Webslayer Tools Labs ST1WSFuzzer Tools Labs ST1Yasca Tools Labs CR2AppSec Tutorials Documentation Labs EG1AppSensor Documentation Labs EH3AppSensor Documentation Labs SA2Cloud 10 Documentation Labs EG1CTF Documentation Labs EG1Fuzzing Code Documentation Labs ST1Legal Documentation Labs SR3Podcast Documentation Labs EG1Virtual Patching Best Practices Documentation Labs EH3

Project Type Level SAMM Practice RemarksAntiSamy Code Flagship SA2Enterprise Security API Code Flagship SA3ModSecurity Core Rule Set Code Flagship EH3CSRFGuard Code Flagship SA2Web Testing Environment Tools Flagship ST2WebGoat Tools Flagship EG2Zed Attack Proxy Tools Flagship ST2Application Security Verification Standard Documentation Flagship DR2 ASVS-L4Application Security Verification Standard Documentation Flagship CR3 ASVS-L4Application Security Verification Standard Documentation Flagship ST3 ASVS-L4Code Review Guide Documentation Flagship CR1Codes of Conduct Documentation Flagship not applicableDevelopment Guide Documentation Flagship EG1Secure Coding Practices - Quick Reference Guide Documentation Flagship SR1Software Assurance Maturity Model Documentation Flagship SM1 Recursiveness :-)Testing Guide Documentation Flagship ST1Top Ten Documentation Flagship EG1

Page 30: OpenSAMM Best Practices, Lessons from the Trenches Seba Deleersnyder seba@owasp.org OpenSAMM project co-leaders Bart De Win bart.dewin@owasp.org AppSec

OWASP Projects Coverage

30

SM1 1 PC1 0 EG1 10SM2 0 PC2 0 EG2 1SM3 0 PC3 0 EG3 0

1 0 11 12

TA1 0 SR1 1 SA1 0TA2 0 SR2 0 SA2 4TA3 0 SR3 1 SA3 1

0 2 5 7

DR1 0 CR1 1 ST1 18DR2 1 CR2 3 ST2 3DR3 0 CR3 1 ST3 1

1 5 22 28

VM1 0 EH1 0 OE1 0VM2 0 EH2 0 OE2 0VM3 0 EH3 3 OE3 0

0 3 0 3

Governance

Construction

Verification

Deployment

Design Review Code Review Security Testing

Vulnerability Management Environment Hardening Operational Hardening

Strategy & Metrics Policy & Compliance Education & Guidance

Threat Assessment Security Requirements Security Architecture

Page 31: OpenSAMM Best Practices, Lessons from the Trenches Seba Deleersnyder seba@owasp.org OpenSAMM project co-leaders Bart De Win bart.dewin@owasp.org AppSec

SDLC Cornerstones (recap)

SDLC Workshop Feb 201431SecAppDev 2013

• Roles & ResponsibilitiesPeople

• Activities• Deliverables• Control Gates

Process

• Standards & Guidelines• Compliance• Transfer methods

Knowledge

• Development support• Assessment tools• Management tools

Tools & Components

Risk Training