40
Copyright © 2009 - 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 http://www.owasp.org How to start a software security initiative within your organization: a maturity based and metrics driven approach Marco Morana OWASP Lead/ TISO Citigroup Application Security For E-Government

How to start a software security initiative within your ... · PDF fileHow to start a software security initiative within your organization: a ... $5,000 during coding - NIST 8. OWASP

  • Upload
    ledan

  • View
    214

  • Download
    2

Embed Size (px)

Citation preview

Page 1: How to start a software security initiative within your ... · PDF fileHow to start a software security initiative within your organization: a ... $5,000 during coding - NIST 8. OWASP

Copyright © 2009 - 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

http://www.owasp.org

How to start a software security initiative within your organization: a maturity based and metrics driven approach

Marco MoranaOWASP Lead/ TISO Citigroup

Application Security For E-Government

Page 2: How to start a software security initiative within your ... · PDF fileHow to start a software security initiative within your organization: a ... $5,000 during coding - NIST 8. OWASP

OWASP 2

Presentation AgendaRationale For Building Secure Software

Compliance, cyber-threats, defect management costs, analysts

Avenues to the Software Security InitiativeStep 1: From Info-Sec to App-Sec andStep 2: From App-Sec to Software-SecStep 3: From tactical activities to strategic plans

Software Security Initiative RoadmapSoftware security maturity, S-SDLCs, Metrics & Measurements

Questions & Answers

Page 3: How to start a software security initiative within your ... · PDF fileHow to start a software security initiative within your organization: a ... $5,000 during coding - NIST 8. OWASP

OWASP 3

The Rationale for Building Secure Software

Some good reasons:Compliance with technology security standards requires either secure code reviews or deployment of WAF (e.g. PCI-DSS section 6.6) Data breaches exploit vulnerabilities in applications with root causes in unsecure softwareSecure code reviews increase the level of software security assuranceCheaper to fix bugs then patchingFixing security bugs eliminates most of application security issues

Page 4: How to start a software security initiative within your ... · PDF fileHow to start a software security initiative within your organization: a ... $5,000 during coding - NIST 8. OWASP

OWASP 4

Factors Pointing To Fixing Insecure Software

Go Fix Security Bugs!

?

?

Page 5: How to start a software security initiative within your ... · PDF fileHow to start a software security initiative within your organization: a ... $5,000 during coding - NIST 8. OWASP

OWASP

What PCI-DSS Compliance say?

5

[PCI-DSS] 6 Develop and Maintain Secure Systems and Applications

All vulnerabilities must be corrected. The application must be re-evaluated after the corrections. The application firewall must detect and prevent web based attacks such as cross site scripting and SQL injection.

[PCI-DSS] 11 Regularly Test Security Systems and Processes[PCI-DSS] 11.3.2 External application layer penetration test.

For web applications, the tests should include, at a minimum, the following vulnerabilities: OWASP T10

Page 6: How to start a software security initiative within your ... · PDF fileHow to start a software security initiative within your organization: a ... $5,000 during coding - NIST 8. OWASP

OWASP

What Data Breaches Stats Say ?

6

Page 7: How to start a software security initiative within your ... · PDF fileHow to start a software security initiative within your organization: a ... $5,000 during coding - NIST 8. OWASP

OWASP

Which Vulnerabilities Are Most Exploited? (WHID)

7

SOURCE: Breach Security The WHID 2009, August 2009

Page 8: How to start a software security initiative within your ... · PDF fileHow to start a software security initiative within your organization: a ... $5,000 during coding - NIST 8. OWASP

OWASP

What the “experts” say ?

“75% of security breaches happen at the application”- Gartner “Over 70 percent of security vulnerabilities exist at the application layer, not the network layer” –Gartner“If only 50 percent of software vulnerabilities were removed prior to production … costs would be reduced by 75 percent” - Gartner 92 % of reported vulnerabilities are in applications not in networks - NISTThe cost of fixing a bug in the field is $30,000 vs. $5,000 during coding - NIST

8

Page 9: How to start a software security initiative within your ... · PDF fileHow to start a software security initiative within your organization: a ... $5,000 during coding - NIST 8. OWASP

OWASP 9

What do you say ? What is Your Company Culture?

Page 10: How to start a software security initiative within your ... · PDF fileHow to start a software security initiative within your organization: a ... $5,000 during coding - NIST 8. OWASP

OWASP 10

What we covered so far..

Rationale For Building Secure SoftwareCompliance, cyber-threats, defect management costs, analysts

Avenues to the Software Security InitiativeStep1: From Info-Sec to App-Sec andStep 2: From App-Sec to Software-SecStep 3: From tactical activities to strategic plans

Software Security Initiative RoadmapSoftware security maturity, S-SDLCs, Metrics & Measurements

Questions & Answers

Page 11: How to start a software security initiative within your ... · PDF fileHow to start a software security initiative within your organization: a ... $5,000 during coding - NIST 8. OWASP

OWASP

Step 1: From Information Security To Application Security

Provision Applications Security In Compliance With Information Security Standards, Processes and IS Risk Management

Protection of Confidentiality, Integrity and Availability leads to enforcement of application security controls (e.g. encryption, auditing and logging, authentication, authorization)Validate that are no gaps in implementation of security lead to vulnerability assessmentsHigh and Medium risk vulnerabilities remediated before are released in the production environment lead to risk mitigation, acceptance, transfer

11

Page 12: How to start a software security initiative within your ... · PDF fileHow to start a software security initiative within your organization: a ... $5,000 during coding - NIST 8. OWASP

OWASP 12

Step 2: From Application Security to Software Security Assessments

AutomatedVulnerabilityScanning

AutomatedStatic Code

Analysis

ManualPenetrationTesting

ManualCode

Review

Page 13: How to start a software security initiative within your ... · PDF fileHow to start a software security initiative within your organization: a ... $5,000 during coding - NIST 8. OWASP

OWASP 13

Step 3 : From Tactical To Strategic Activities

From: Reactive Security, Pen Tests, Catch and Patch

To: Issue Analysis, Risk Analysis, Holistic Security

Page 14: How to start a software security initiative within your ... · PDF fileHow to start a software security initiative within your organization: a ... $5,000 during coding - NIST 8. OWASP

OWASP 14

Examples of Vulnerability Management Metrics

Process MetricsIs code validated against security coding standards?Is design of developers trained, using organizational security best practice technology, architecture and processes

Management Metrics% of applications rated “business-critical” that have been security tested% of projects that where developed with the SDL% of security issues identified by lifecycle phase% of issues whose risk has been accepted% of security issues being fixedAverage time to correct vulnerabilitiesBusiness impact of critical security incidents.

Page 15: How to start a software security initiative within your ... · PDF fileHow to start a software security initiative within your organization: a ... $5,000 during coding - NIST 8. OWASP

OWASP 15

Software Security Engineering & Risk Management

Page 16: How to start a software security initiative within your ... · PDF fileHow to start a software security initiative within your organization: a ... $5,000 during coding - NIST 8. OWASP

OWASP 16

Systemic Solution To Unsecure Software: People, Process and Technology

Train developers with software securityImplement secure coding standards and design patternsDeploy software security assessment and management tools

Page 17: How to start a software security initiative within your ... · PDF fileHow to start a software security initiative within your organization: a ... $5,000 during coding - NIST 8. OWASP

OWASP 17

What we covered so far..

Rationale For Building Secure SoftwareCompliance, cyber-threats, defect management costs, analysts

Avenues to the Software Security InitiativeStep1: From Info-Sec to App-Sec andStep 2: From App-Sec to Software-SecStep 3: From tactical activities to strategic plans

Software Security Initiative RoadmapSoftware security maturity, S-SDLCs, Metrics & Measurements

Questions & Answers

Page 18: How to start a software security initiative within your ... · PDF fileHow to start a software security initiative within your organization: a ... $5,000 during coding - NIST 8. OWASP

OWASP

Making the Case for Software Security

Make executives aware of how software security effort compares to everyone else’s

Assess capabilities and make them visiblePoint to goals and activity needs to reach themProvide the context for software security activities

Use available metrics to articulate software security needs/opportunities

Analyze vulnerability assessment processes and dataPoint to software security root causesIdentify historical vulnerability gaps and trendsPrepare a plan for software security improvements

Page 19: How to start a software security initiative within your ... · PDF fileHow to start a software security initiative within your organization: a ... $5,000 during coding - NIST 8. OWASP

OWASP 19

What Your Defect Management Metrics Say?

Process MetricsIs code validated against security coding standards?Is design of developers trained, using organizational security best practice technology, architecture and processes

Management Metrics% of applications rated “business-critical” that have been security tested% of projects that where developed with the SDL% of security issues identified by lifecycle phase% of issues whose risk has been accepted% of security issues being fixedAverage time to correct vulnerabilitiesBusiness impact of critical security incidents.

Most of my vulnerabilities are coding and design issues

But are mostly found during pen test in UAT

The cost of fixing them in UAT is 10 X during coding (unit tests)

Page 20: How to start a software security initiative within your ... · PDF fileHow to start a software security initiative within your organization: a ... $5,000 during coding - NIST 8. OWASP

OWASP 20

Prepare a Roadmap For Software Security

1. Assess the maturity of the organization software security development processes, people and tools

2. Define the software security process: security enhanced SDLCs, frameworks and checkpoints

3. Start software security engineering push1. Security Requirements2. Secure Design and Threat Modeling3. Secure Coding Guidelines and Security Code Review4. Security Testing 5. Secure Deployment

4. Collect defect and vulnerability metrics5. Optimize and improve software security

processes

Page 21: How to start a software security initiative within your ... · PDF fileHow to start a software security initiative within your organization: a ... $5,000 during coding - NIST 8. OWASP

OWASP 21

Software Security Mapped to CMMInitial to Repeatable: From CMM Level 1 to Level 2

Penetrate and patch ad-hoc approachSome applications undergo penetration tests before production release and every year after release

Defined to Managed: From CMM Level 2 to Level 3Vulnerability assessments are tracked and managedSource code is reviewed for securityPenetration tests validate issues dealt with earlier in the

SDLC with source code analysisManaged to Optimizing: From CCM Level 4 to Level 5

Software risks assessed in each phase of the SDLCRisk metrics and measurements are used for improving security engineering and risk management processes

Page 22: How to start a software security initiative within your ... · PDF fileHow to start a software security initiative within your organization: a ... $5,000 during coding - NIST 8. OWASP

OWASP 22

Capability Maturity Models (CMM)

Page 23: How to start a software security initiative within your ... · PDF fileHow to start a software security initiative within your organization: a ... $5,000 during coding - NIST 8. OWASP

OWASP

Software Security Maturity Models: SAMM, BSIMM

23

Page 24: How to start a software security initiative within your ... · PDF fileHow to start a software security initiative within your organization: a ... $5,000 during coding - NIST 8. OWASP

OWASP

Code Review Activities And Capability Levels: BSIMM

24

I am here

Page 25: How to start a software security initiative within your ... · PDF fileHow to start a software security initiative within your organization: a ... $5,000 during coding - NIST 8. OWASP

OWASP

Software Security Maturity Curve

25

Time

CMM Level 1Initial

(Ad Hoc)

CMM Level 2Repeatable(Reactive

Processes)

CMM Level 3Defined

(Proactive)

CMM Level 4Managed(Product Driven)

CMM Level 5Optimizing

(Service Driven)

Catch & Patch

Ethical HackingSecure Code Reviews

on existing Applications

Software Security Risks Identified and Managed At Different Checkpoints During the SDLC

Improve Coverage of Software Security Risk Assessments, Identify Gaps and Opportunities

Softw

are

Secu

rity

Cap

abili

ty L

evel

Vulnerability AssessmentsSource Code Analysis

Secure Coding StandardsBefore Product Release

Page 26: How to start a software security initiative within your ... · PDF fileHow to start a software security initiative within your organization: a ... $5,000 during coding - NIST 8. OWASP

OWASP

Pre-requisite for Software Security Initiative: Hiring The Right People

26

Page 27: How to start a software security initiative within your ... · PDF fileHow to start a software security initiative within your organization: a ... $5,000 during coding - NIST 8. OWASP

OWASP 27

Security-enhanced lifecycle process (S-SDLC) models: MS-SDL, Cigital TP and CLASP

Page 28: How to start a software security initiative within your ... · PDF fileHow to start a software security initiative within your organization: a ... $5,000 during coding - NIST 8. OWASP

OWASP

Application Threat Modeling

28

Injection flaws CSRF,Weak Session Mgmt,Weak business rule and authorizationMalicious file executionInsecure Object reference

XSS, XFS, SQL Injection, Weak AUTHN AUTHZ FlawsForceful browsingInformation Disclosure Via errors & Files

Broken Authentication, Connection with DB PWD in clear

Broken Authentication/ AuthZLack of Synch Session Management

Insecure Storage, poor or non-existent cryptographic controls

I. Phishing,II. Privacy

Violations,III. Financial LossIV. Identity TheftV. System

Compromise, Data Alteration, Destruction

VI. Reputation loss

Insecure TransitURL Parameter Tampering

Insecure Storage, poor or non-existent cryptographic controls

Page 29: How to start a software security initiative within your ... · PDF fileHow to start a software security initiative within your organization: a ... $5,000 during coding - NIST 8. OWASP

OWASP 29

Application Security Defect Tracking and Metrics

Define where and how security metrics is collected Tracking security defects throughout the SDLC

Report the root causes: requirements, design, code, applicationReport the type of the issues, the severity and whether

has been fixed or no

MetricsWhat lifecycle stage are most flaws originating in?What security mechanisms/controls are we having trouble

implementing?What security vulnerabilities are we having trouble fixing?

Page 30: How to start a software security initiative within your ... · PDF fileHow to start a software security initiative within your organization: a ... $5,000 during coding - NIST 8. OWASP

OWASP 30

Vulnerability Root Cause Analysis

The source of vulnerabilities can be lack of requirements, design flaw, coding error, mis-configurationRoot causes are identified with different assessments and support focused remediation, risk prioritization and tracking:

Security Design FlawsIntroduced because of errors in designCan be identified with threat modeling and manual code reviews

Security Coding BugsCoding errors that result in vulnerabilitiesCan be identified with secure code reviews and/or tools

Page 31: How to start a software security initiative within your ... · PDF fileHow to start a software security initiative within your organization: a ... $5,000 during coding - NIST 8. OWASP

OWASP 31

Examples of Application Security Metrics

Process MetricsIs a SDL is used are security gates enforced?Is code validated against security standards?Security posture of a new application before delivery

Security Officers Sign Off?Test For Security Vulnerabilities Executed?All high risk issues closed?Risk assessments completed?

% of developers trained, using organizational security best practice technology, architecture and processes

Management Metrics% of applications rated “business-critical” that have been security tested% of projects that where developed with the SDL% of security issues identified by lifecycle phase% of issues whose risk has been accepted% of security issues being fixedAverage time to correct vulnerabilitiesBusiness impact of critical security incidents.

Page 32: How to start a software security initiative within your ... · PDF fileHow to start a software security initiative within your organization: a ... $5,000 during coding - NIST 8. OWASP

OWASP 32

Examples of Software Security Metrics: OWASP T10

Security Metrics – The Latest From Metric 2.0, Korelogic: http://www.issa-centralva.org/presentations/SecurityMetrics09122007.pdf

Page 33: How to start a software security initiative within your ... · PDF fileHow to start a software security initiative within your organization: a ... $5,000 during coding - NIST 8. OWASP

OWASP 33

Security Metrics Goals The Good and The Bad

Good: if goals when are “SMART” that is Specific, Measurable, Attainable, Realistic, Traceable and Appropriate

Example: reducing the overall number of vulnerabilities by 30% by fixing all low hanging fruits with source code analysis during construction

Bad: if the goals justify the means to obtain the goals

Page 34: How to start a software security initiative within your ... · PDF fileHow to start a software security initiative within your organization: a ... $5,000 during coding - NIST 8. OWASP

OWASP 34

Ensure Support For The Initiative Moving Forward

Tie the metrics to the business cases and support the project stakeholders agendas:

Developer Leads: show that developers are getting better to write secure softwareProject Managers: shows hat projects are on schedule and moving on target and testing cycles for vulnerabilities are shorter translating in cost savingsInformation Security Officers: show that we are getting better on reporting compliance and manage risk reduction

Page 35: How to start a software security initiative within your ... · PDF fileHow to start a software security initiative within your organization: a ... $5,000 during coding - NIST 8. OWASP

OWASP 35

In summary..Rationale For Building Secure Software

Compliance, cyber-threats, defect management costs, analysts

Avenues to the Software Security InitiativeStep1: From Info-Sec to App-Sec andStep 2: From App-Sec to Software-SecStep 3: From tactical activities to strategic plans

Software Security Initiative RoadmapSoftware security maturity, S-SDLCs, Metrics & Measurements

Questions & Answers

Page 36: How to start a software security initiative within your ... · PDF fileHow to start a software security initiative within your organization: a ... $5,000 during coding - NIST 8. OWASP

OWASP 36

Q U E S T I O N SA N S W E R S

Page 37: How to start a software security initiative within your ... · PDF fileHow to start a software security initiative within your organization: a ... $5,000 during coding - NIST 8. OWASP

OWASP 37

Thanks for listening, further references

Applied Software Measurement: Assuring Productivity and Quality

http://www.amazon.com/Applied-Software-Measurement-Assuring-Productivity/dp/0070328269

PCI-Data Security Standard (PCI DSS)https://www.pcisecuritystandards.org/security_standards/pci_dss.shtml

A CISO’s Guide to Application Securityhttp://www.nysforum.org/committees/security/051409_pdfs/A%20CISO'S%20Guide%20to%20Application%20Security.pdf

Page 38: How to start a software security initiative within your ... · PDF fileHow to start a software security initiative within your organization: a ... $5,000 during coding - NIST 8. OWASP

OWASP

Further references con’t

Gartner 2004 Press Releasehttp://www.gartner.com/press_releases/asset_106327_11.html

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

The Software Security Framework (SSF)http://www.bsi-mm.com/ssf/

SEI Capability Maturity Model Integration CMMihttp://www.sei.cmu.edu/cmmi/

The Microsoft Security Development LifeCyclehttp://msdn.microsoft.com/en-us/security/cc448177.aspx

38

Page 39: How to start a software security initiative within your ... · PDF fileHow to start a software security initiative within your organization: a ... $5,000 during coding - NIST 8. OWASP

OWASP

Further references con’t

The Seven Touchpoints of Software Securityhttp://www.buildsecurityin.com/concepts/touchpoints/

OWASP CLASPhttp://www.owasp.org/index.php/Category:OWASP_CLASP_Project

ITARC Software Security Assurancehttp://iac.dtic.mil/iatac/download/security.pdf

Internet Crime Compliant Centerhttp://www.ic3.gov/default.aspx

39

Page 40: How to start a software security initiative within your ... · PDF fileHow to start a software security initiative within your organization: a ... $5,000 during coding - NIST 8. OWASP

OWASP

Further references con’t

OWASP Education Module Embed within SDLChttp://www.owasp.org/index.php/Education_Module_Embed_within_SDLC

Producing Secure Software With Software Security Enhanced Processes

http://www.net-security.org/dl/insecure/INSECURE-Mag-16.pdf

Security Flaws Identification and Technical Risk Analysis Through Threat Modeling

http://www.net-security.org/dl/insecure/INSECURE-Mag-17.pdf

40