owasp delaware chapter july, 2014 the owasp foundation · current application security practice...

13
Building a Robust Application Security Model For Free Pradeep Chhabra - CISSP, CISA, CISM, CRISC Copyright © 2004 - 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 Delaware Chapter July, 2014 http://www.owasp.org - CISSP, CISA, CISM, CRISC [email protected]

Upload: others

Post on 17-Aug-2020

3 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: OWASP Delaware Chapter July, 2014 The OWASP Foundation · Current Application Security Practice –Reactive / Just a Band-Aid Coding Design Requirements • Fixing symptoms not the

Building a Robust Application Security Model For Free

Pradeep Chhabra

- CISSP, CISA, CISM, CRISC

Copyright © 2004 - 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 Delaware Chapter July, 2014

http://www.owasp.org

- CISSP, CISA, CISM, CRISC

[email protected]

Page 2: OWASP Delaware Chapter July, 2014 The OWASP Foundation · Current Application Security Practice –Reactive / Just a Band-Aid Coding Design Requirements • Fixing symptoms not the

Agenda� Recent Events

� Verizon 2014 Data Breach Investigations Report

� Current Practice – Reactive / Just a Band-aid

� Proactive Approach – Enable Development Teams (Waterfall)

� Proactive Approach – Build Security Controls (Waterfall)

OWASP

� Proactive Approach – Build Security Controls (Waterfall)

� What is Agile?

� Proactive Approach – Enable Development Teams (Agile)

� Proactive Approach – Build Security Controls (Agile)

� What to do with vulnerabilities besides fixing them?

� Questions

Page 3: OWASP Delaware Chapter July, 2014 The OWASP Foundation · Current Application Security Practice –Reactive / Just a Band-Aid Coding Design Requirements • Fixing symptoms not the

Recent Events

Security

Breaches

(money, data, identity)

Increasing Impact and Risk

Hackers infiltrated gaining access to

credit card and other personal data of 2.9 million customers *

October, 2013

70-110 million customer s effected.

“Target had the Chance to Stop

Breach”, Senators Say. Data Breach

Hurts Profit at Target. 46% drop in profit *

December, 2013

Potentially exposed payment card

information from transactions at 77 of 85

stores between July and October , 2013 **

January, 2014

More than 400,000 Yahoo Inc user names and passwords were stolen and published

on the Web **

January, 2014

OWASP

* NY Times, ** Reuters

Page 4: OWASP Delaware Chapter July, 2014 The OWASP Foundation · Current Application Security Practice –Reactive / Just a Band-Aid Coding Design Requirements • Fixing symptoms not the

Why? Verizon 2014 Data Breach Investigation Report *

OWASP* Source: Verizon 2014 Data Breach Investigations Report

Page 5: OWASP Delaware Chapter July, 2014 The OWASP Foundation · Current Application Security Practice –Reactive / Just a Band-Aid Coding Design Requirements • Fixing symptoms not the

Current Application Security Practice – Reactive / Just a Band-Aid

Coding

Design

Requirements

• Fixing symptoms not the root cause

• No clear guidance causing frustrationamong developers

• Finding vulnerabilities is as good as the usage of scanner.

• Different class of vulnerabilities are entirely missed.

Remediation becomes expensive

OWASP

Production

QA / UAT

Coding

Penetration Testing / Automated Scans

Passive Security Scans

• Remediation becomes expensive

• Very little security training

• Difficult to enforce compliance

Page 6: OWASP Delaware Chapter July, 2014 The OWASP Foundation · Current Application Security Practice –Reactive / Just a Band-Aid Coding Design Requirements • Fixing symptoms not the

Proactive Approach – Enable Development Teams

Coding

Design

Requirements

Improve Standards & Policies

Emerging Threats / Best Practices

Provide Security Requirements to Developers

Create & Maintain Security Design Patterns

Maintain & Enforce Secure Coding Practices

OWASP

Production

QA / UAT

Coding

Governance – Enforce your policy

Maintain & Enforce Secure Coding Practices

Educate QA to perform Negative Testing

Page 7: OWASP Delaware Chapter July, 2014 The OWASP Foundation · Current Application Security Practice –Reactive / Just a Band-Aid Coding Design Requirements • Fixing symptoms not the

Coding

Design

Requirements

Standards & Policies

Best Practices

Security Requirements Checklist

Threat Modeling / Architecture Risk Analysis

Manually compile & maintain spreadsheet(s)

Microsoft Threat Modeling Tool 2014

Risk Ranking

Security Spell CheckerOWASP ASIDE Project (in-progress)

Proactive Approach – Build Security Controls in Each SDLC Phase

OWASP

Production

QA / UAT

Coding

Security Code Analysis

Active Security Scans

Passive Security Scans

Vulnerability Database

OWASP Orizon LAPSE+ , Code CrawlerYASCA, RIPS(PHP), Cling Static Analyzer , FindSecurityBugs

Burp Suite, OWASP ZAP (Zed Attack Proxy)Educate QA to perform –ve testing

ZAP, Rat Proxy

Governance

Security Spell Checker

ThreadFix

Page 8: OWASP Delaware Chapter July, 2014 The OWASP Foundation · Current Application Security Practice –Reactive / Just a Band-Aid Coding Design Requirements • Fixing symptoms not the

What is Agile?

Developers and

customer work

together throughout

Open to

changes Continuous

OWASP 8

Focus on small,

deliverable,

vertical chunks of

work – releasing

value earlier in the

process

Automation of

labor intensive

and error prone

activities, such as

builds, regression,

and deployments

changes

throughout life

cycles, as

prioritized by

customers

Continuous

delivery of

business

value

Page 9: OWASP Delaware Chapter July, 2014 The OWASP Foundation · Current Application Security Practice –Reactive / Just a Band-Aid Coding Design Requirements • Fixing symptoms not the

Proactive Approach – Enable Development Teams

Security Design Patterns

• Provide Security Requirements • Prioritize Security Stories

Governance

OWASP

Secure Coding Practices

Educate QA to perform Negative Testing

Source: Agile diagram is from https://www.owasp.org/images/b/b8/AppSecEU08-Agile_and_Secure.ppt

Page 10: OWASP Delaware Chapter July, 2014 The OWASP Foundation · Current Application Security Practice –Reactive / Just a Band-Aid Coding Design Requirements • Fixing symptoms not the

Risk Ranking (Sprint 0)

Architecture Risk Analysis

Inject Security Stories

Passive Security Scans

Threat Modeling

Proactive Approach – Build Security Controls

OWASP

10

Security Code Scanning

Active Security Scans Vulnerability Database

Source: Agile diagram is from https://www.owasp.org/images/b/b8/AppSecEU08-Agile_and_Secure.ppt

Page 11: OWASP Delaware Chapter July, 2014 The OWASP Foundation · Current Application Security Practice –Reactive / Just a Band-Aid Coding Design Requirements • Fixing symptoms not the

What to do with vulnerabilities besides fixing them?

Generate KPIs

Vulnerability Database

Generate Trends

• Improve Standards & Policies• Improve SDLC Processes

• Educate DevelopersBuild Guidance

Generate KRIs Secure Coding Practices

Manage Risk• Track open vulnerabilities• Drive Closure

OWASP

Generate Trends•• Build Guidance

Identify Weak Coding Platforms

Plan replace Coding Platforms

Identify bad coding behavior

• Set expectations in performance reviews• Educate developers

… Potential use is endless …

Page 12: OWASP Delaware Chapter July, 2014 The OWASP Foundation · Current Application Security Practice –Reactive / Just a Band-Aid Coding Design Requirements • Fixing symptoms not the

Appendix – URLs for the free toolsMicrosoft Threat Modeling Tool 2014 – http://www.microsoft.com/en-us/download/details.aspx?id=42518

OWASP Orizon Project (Java,PHP,C & JSP) - https://www.owasp.org/index.php/Category:OWASP_Orizon_Project

OWASP LAPSE+ (Java) - https://www.owasp.org/index.php/OWASP_LAPSE_Project

OWASP Code Crawler (.NET, Java) - https://www.owasp.org/index.php/Category:OWASP_Code_Crawler

YASCA - http://www.scovetta.com/yasca.html

RIPS(PHP) - http://sourceforge.net/projects/rips-scanner/

Clang Static Analyzer (C, Objective-C) - http://clang-analyzer.llvm.org/

FindSecurityBugs (Java, Groovy, Scala) - http://h3xstream.github.io/find-sec-bugs/

OWASP

FindSecurityBugs (Java, Groovy, Scala) - http://h3xstream.github.io/find-sec-bugs/

OWASP ASIDE Project (in-progress) - https://www.owasp.org/index.php/OWASP_ASIDE_Project

Burp Suite - http://portswigger.net/burp/

OWASP ZAP (Zed Attack Proxy) - https://www.owasp.org/index.php/OWASP_Zed_Attack_Proxy_Project

Threadfix (Software Vulnerability Aggregation and Management System) - https://github.com/denimgroup/threadfix

Note: You can find more tools at–

http://samate.nist.gov/index.php/Source_Code_Security_Analyzers.html

https://www.owasp.org/index.php/Static_Code_Analysis

Page 13: OWASP Delaware Chapter July, 2014 The OWASP Foundation · Current Application Security Practice –Reactive / Just a Band-Aid Coding Design Requirements • Fixing symptoms not the

OWASP

Questions ?