OWASP SAMM Best Practices, Lessons from the Trenches Seba Deleersnyder [email protected] OpenSAMM...

35
OWASP SAMM Best Practices, Lessons from the Trenches Seba Deleersnyder [email protected] OpenSAMM project co-leader presentation created together with Bart De Win for AppSecEU14 OWASP Delhi NCR meeting 2015 Talk

Transcript of OWASP SAMM Best Practices, Lessons from the Trenches Seba Deleersnyder [email protected] OpenSAMM...

Page 1: OWASP SAMM Best Practices, Lessons from the Trenches Seba Deleersnyder seba@owasp.org OpenSAMM project co-leader presentation created together with Bart.

OWASP SAMM Best Practices,Lessons from the Trenches

Seba [email protected]

OpenSAMM project co-leader

presentation created together with Bart De Win for AppSecEU14

OWASP Delhi NCR meeting 2015 Talk

Page 2: OWASP SAMM Best Practices, Lessons from the Trenches Seba Deleersnyder seba@owasp.org OpenSAMM project co-leader presentation created together with Bart.

Sebastien Deleersnyder

15+ years developer / information security experience

Belgian OWASP chapter founder

OWASP volunteer

Co-organizer www.BruCON.org

Co-Founder & Application security specialist Toreon

be.linkedin.com/in/sebadele/

Page 3: OWASP SAMM Best Practices, Lessons from the Trenches Seba Deleersnyder seba@owasp.org OpenSAMM project co-leader presentation created together with Bart.

Agenda

• Integrating software assurance?• OWASP SAMM• Quick start• Lessons learned• Resources & self-assessment• OWASP SAMM – get involved

Page 4: OWASP SAMM Best Practices, Lessons from the Trenches Seba Deleersnyder seba@owasp.org OpenSAMM project co-leader presentation created together with Bart.

“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: OWASP SAMM Best Practices, Lessons from the Trenches Seba Deleersnyder seba@owasp.org OpenSAMM project co-leader presentation created together with Bart.

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: OWASP SAMM Best Practices, Lessons from the Trenches Seba Deleersnyder seba@owasp.org OpenSAMM project co-leader presentation created together with Bart.

SAMM users

6

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

B

Page 7: OWASP SAMM Best Practices, Lessons from the Trenches Seba Deleersnyder seba@owasp.org OpenSAMM project co-leader presentation created together with Bart.

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: OWASP SAMM Best Practices, Lessons from the Trenches Seba Deleersnyder seba@owasp.org OpenSAMM project co-leader presentation created together with Bart.

Example: Education & Guidance

8

Page 9: OWASP SAMM Best Practices, Lessons from the Trenches Seba Deleersnyder seba@owasp.org OpenSAMM project co-leader presentation created together with Bart.

Per Level, SAMM defines...

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

Page 10: OWASP SAMM Best Practices, Lessons from the Trenches Seba Deleersnyder seba@owasp.org OpenSAMM project co-leader presentation created together with Bart.

SAMM Quick Start

ASSES

questionnaireGOAL

gap analysis

PLAN roadmap

IMPLEMENT

OWASP resources

S

Page 11: OWASP SAMM Best Practices, Lessons from the Trenches Seba Deleersnyder seba@owasp.org OpenSAMM project co-leader presentation created together with Bart.

Assess

SAMM includes assessment worksheets for each Security Practice

Page 12: OWASP SAMM Best Practices, Lessons from the Trenches Seba Deleersnyder seba@owasp.org OpenSAMM project co-leader presentation created together with Bart.

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: OWASP SAMM Best Practices, Lessons from the Trenches Seba Deleersnyder seba@owasp.org OpenSAMM project co-leader presentation created together with Bart.

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: OWASP SAMM Best Practices, Lessons from the Trenches Seba Deleersnyder seba@owasp.org OpenSAMM project co-leader presentation created together with Bart.

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

B

Page 15: OWASP SAMM Best Practices, Lessons from the Trenches Seba Deleersnyder seba@owasp.org OpenSAMM project co-leader presentation created together with Bart.

Goal – Lessons Learned

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

•Think carefully about target SAMM level–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: OWASP SAMM Best Practices, Lessons from the Trenches Seba Deleersnyder seba@owasp.org OpenSAMM project co-leader presentation created together with Bart.

Goal – Lessons Learned

•Get consensus, management support

•Be ready for budget questions (linked to Plan phase)–man days, CAPEX, OPEX–General stats about % impact overall budget

•Create & reuse own organisation template GOAL

Page 17: OWASP SAMM Best Practices, Lessons from the Trenches Seba Deleersnyder seba@owasp.org OpenSAMM project co-leader presentation created together with Bart.

Plan• Roadmaps: to make the “building blocks” usable

• 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: OWASP SAMM Best Practices, Lessons from the Trenches Seba Deleersnyder seba@owasp.org OpenSAMM project co-leader presentation created together with Bart.

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: OWASP SAMM Best Practices, Lessons from the Trenches Seba Deleersnyder seba@owasp.org OpenSAMM project co-leader presentation created together with Bart.

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: OWASP SAMM Best Practices, Lessons from the Trenches Seba Deleersnyder seba@owasp.org OpenSAMM project co-leader presentation created together with Bart.

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

S

Page 21: OWASP SAMM Best Practices, Lessons from the Trenches Seba Deleersnyder seba@owasp.org OpenSAMM project co-leader presentation created together with Bart.

Resources: Education & Guidance

21

Development GuideCheat SheetsQuick Reference Guide

WebGoatiGoat, GoatDroidAppSec TutorialsTop Ten

EducationTesting Guide Hackademic Challenges

Red Book

Page 22: OWASP SAMM Best Practices, Lessons from the Trenches Seba Deleersnyder seba@owasp.org OpenSAMM project co-leader presentation created together with Bart.

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 23: OWASP SAMM Best Practices, Lessons from the Trenches Seba Deleersnyder seba@owasp.org OpenSAMM project co-leader presentation created together with Bart.

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 24: OWASP SAMM Best Practices, Lessons from the Trenches Seba Deleersnyder seba@owasp.org OpenSAMM project co-leader presentation created together with Bart.

SAMM Resourcesowasp.org/index.php/samm

• Presentations• Quick Start (part of SAMM v1.1)• Assessment worksheets / templates• Roadmap templates• Translations (Spanish, Japanese, …) GERMAN upcoming• SAMM mappings to ISO/EIC 27034 – BSIMM – PCI (to be

released)• NEW: Training material (Cambridge)

24

Page 25: OWASP SAMM Best Practices, Lessons from the Trenches Seba Deleersnyder seba@owasp.org OpenSAMM project co-leader presentation created together with Bart.

Self-Assessment Online

https://ssa.asteriskinfosec.com.au25

Page 26: OWASP SAMM Best Practices, Lessons from the Trenches Seba Deleersnyder seba@owasp.org OpenSAMM project co-leader presentation created together with Bart.

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 ?•…

26

Page 27: OWASP SAMM Best Practices, Lessons from the Trenches Seba Deleersnyder seba@owasp.org OpenSAMM project co-leader presentation created together with Bart.

Critical Success Factors

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

development / acquisition and deployment processes

• Measure: Provide management visibility

27

B

Page 28: OWASP SAMM Best Practices, Lessons from the Trenches Seba Deleersnyder seba@owasp.org OpenSAMM project co-leader presentation created together with Bart.

Get involved

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

Page 29: OWASP SAMM Best Practices, Lessons from the Trenches Seba Deleersnyder seba@owasp.org OpenSAMM project co-leader presentation created together with Bart.

SAMM Roadmap

Friday – User DaySpeakers, trainers and round table chairs• Pravir Chandra, Bloomberg• Michael Craigue, HP• Justin Clarke, Gotham Digital Science• Yan Kravchenko, NetSpi• Sebastien Deleersnyder, Toreon• Bart De Win, PWC• Kuai Hinojosa, McAfee Foundstone• Jerry Hoff, WhiteHat Security

29

Saturday – Project Day• Publish SAMM v1.1• Workshops• Road map

owasp.org/index.php/OWASP_SAMM_Summit_2015

Page 30: OWASP SAMM Best Practices, Lessons from the Trenches Seba Deleersnyder seba@owasp.org OpenSAMM project co-leader presentation created together with Bart.

Follow OWASP SAMM

twitter.com/OwaspSAMM

Page 31: OWASP SAMM Best Practices, Lessons from the Trenches Seba Deleersnyder seba@owasp.org OpenSAMM project co-leader presentation created together with Bart.

Measure & Improve!

owasp.org/index.php/SAMM

Page 32: OWASP SAMM Best Practices, Lessons from the Trenches Seba Deleersnyder seba@owasp.org OpenSAMM project co-leader presentation created together with Bart.

Thank you!

Page 33: OWASP SAMM Best Practices, Lessons from the Trenches Seba Deleersnyder seba@owasp.org OpenSAMM project co-leader presentation created together with Bart.

Mapping Projects / SAMM

33

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 34: OWASP SAMM Best Practices, Lessons from the Trenches Seba Deleersnyder seba@owasp.org OpenSAMM project co-leader presentation created together with Bart.

OWASP Projects Coverage

34

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 35: OWASP SAMM Best Practices, Lessons from the Trenches Seba Deleersnyder seba@owasp.org OpenSAMM project co-leader presentation created together with Bart.

SDLC Cornerstones (recap)

SDLC Workshop Feb 201435SecAppDev 2013

•Roles & ResponsibilitiesPeople

•Activities•Deliverables•Control Gates

Process

•Standards & Guidelines•Compliance•Transfer methods

Knowledge

•Development support•Assessment tools•Management tools

Tools & Components

Risk Training