2013 michael coates-javaone

35
Scaling Web Security - Tools, Processes and Techniques to Enable Security At Scale

description

 

Transcript of 2013 michael coates-javaone

Page 1: 2013 michael coates-javaone

Scaling Web Security - Tools, Processes and Techniques to Enable Security At Scale

Page 2: 2013 michael coates-javaone

About Me

[email protected]

Page 3: 2013 michael coates-javaone

“The global cost of cybercrime is greater than the combined effect on the global economy of trafficking in marijuana, heroin and cocaine”

theregister.co.ukSept 7, 2011

Page 4: 2013 michael coates-javaone

Reality

Page 5: 2013 michael coates-javaone

Data Loss & Breaches

Verizon Data Breach Report 2013 datalossdb.org/statistics

Page 6: 2013 michael coates-javaone

Data Loss & Breaches

Verizon Data Breach Report 2013 datalossdb.org/statistics

Page 7: 2013 michael coates-javaone

The Supposed Security Program• “Security is everyone’s job…”• “Security training is the answer…”• “It’s easy, just use encoding…”• “Companies that care about security wouldn’t

have those vulnerabilities…”

Page 8: 2013 michael coates-javaone

Two Facts about Security Programs

Page 9: 2013 michael coates-javaone

1) Fixing a single security bug:

Page 10: 2013 michael coates-javaone

1) Fixing a single security bug:Easy

Page 11: 2013 michael coates-javaone

1) Fixing a single security bug:Easy (generally)

Page 12: 2013 michael coates-javaone

2) Ensuring no critical bugs are introduced to software

Page 13: 2013 michael coates-javaone

2) Ensuring no critical bugs are introduced to software

• While moving fast

Page 14: 2013 michael coates-javaone

2) Ensuring no critical bugs are introduced to software

• While moving fast• With minimal impact to developers

Page 15: 2013 michael coates-javaone

2) Ensuring no critical bugs are introduced to software

• While moving fast• With minimal impact to developers• Within an agile or constant deployment model

Page 16: 2013 michael coates-javaone

2) Ensuring no critical bugs are introduced to software

• While moving fast• With minimal impact to developers• Within an agile or constant deployment model• Across thousands of developers, multiple sites

and services, and numerous new lines of code

Page 17: 2013 michael coates-javaone

2) Ensuring no critical bugs are introduced to software

• While moving fast• With minimal impact to developers• Within an agile or constant deployment model• Across thousands of developers, multiple sites

and services, and numerous new lines of code

Hard

Page 18: 2013 michael coates-javaone

The Goal• Eliminate all possible security bugs?• Keep company out of the headlines?• Protect data?• Ensure uptime?• The real goal – manage risk

Page 19: 2013 michael coates-javaone

RETHINKING SECURITY PROGRAMSEliminate the Security Professional

Page 20: 2013 michael coates-javaone

You can’t solve security by throwing bodies at the problem

Security Professionals– Expensive– Hard to find– Competition for employment

Page 21: 2013 michael coates-javaone

Humans Don’t Scale Well

Page 22: 2013 michael coates-javaone

Security Throughout SDLC

Page 23: 2013 michael coates-javaone

Development• Developer Training• Coding Guidelines– Cheat Sheets– Concise, Usable

owasp.org/index.php/Cheat_Sheets

Page 24: 2013 michael coates-javaone

Development• Security Libraries & Services– Abstract away internals of security code– Standardized security libraries• OWASP ESAPI – an example of what you should build

within your organization

– Web services for security

Page 25: 2013 michael coates-javaone

Automation• Dynamic security analysis

built for developers– Report what can be found

>95% accuracy– Skip issues where

accuracy is low– Accurate Tool > Tool which

requires security team

wiki.mozilla.org/Security/Projects/Minion

Page 26: 2013 michael coates-javaone

Automation• Static / Dynamic Analysis – Careful – security resource may be required– Can scale if homogenous environment

• Security X as a Service– Yes! The Future!

Page 27: 2013 michael coates-javaone

QA• Security validation within QA• Functional testing of forms + basic sec tests

• Follow patterns of current QA– Pass / Fail– Self contained testing – no need for security evaluation

“><script>alert(‘problem’)</script>

Page 28: 2013 michael coates-javaone

Organizational Strategy• Embedding security

inside dev team– team effort to ship– real time collaboration– eliminates “us” vs

“them”– build alliance

Dev Team

Dev Team

Dev Team

Page 29: 2013 michael coates-javaone

Organizational Strategy• Scaling via Security Champions• Primary Role: Developer

Secondary: Security • Scales Effectively• Liaison to security team

Dev Team

Dev Team

Page 30: 2013 michael coates-javaone

Post Release - Bounty Programs!• Engage Security Community

https://bugcrowd.com/list-of-bug-bounty-programs/

Page 31: 2013 michael coates-javaone

Post Release – Defend That App• Detect and repel common

attacks – Web Application Firewall

• Detect and repel custom attacks at business layer – Integrated application defense– OWASP AppSensor

owasp.org/index.php/OWASP_AppSensor_Projectcrosstalkonline.org/storage/issue-archives/2011/201109/201109-Watson.pdf

Page 32: 2013 michael coates-javaone

Post Release – Defend That App• Scale!– Attack blocking?

Automated only– No human analysis in

critical path.

Page 33: 2013 michael coates-javaone

How to Use Security Expertise• Security strategy, risk programs, architecture &

design

• Tackle new problems, determine how to automate them

• Build scalable security resources & services

Page 34: 2013 michael coates-javaone

Key Points• Security is not just an activity conducted by a

single team• A strategic security program gains incremental

wins at every step• Build everything for scaling• Automate first, human SMEs only when required

Page 35: 2013 michael coates-javaone

Thanks

@[email protected]

[email protected]://lists.owasp.org/mailman/listinfo/security101