owasp. to ensure that strong simple security controls are available to every developer in every...

27
The OWASP Enterprise Security API ( ESAPI )

Upload: moris-sullivan

Post on 17-Dec-2015

227 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: OWASP. To ensure that strong simple security controls are available to every developer in every environment ESAPI Mission

The OWASP Enterprise Security API( ESAPI )

OWASP

Page 2: OWASP. To ensure that strong simple security controls are available to every developer in every environment ESAPI Mission

To ensure thatstrong simple security

controls are available to every developer

in every environment

ESAPI Mission

Page 3: OWASP. To ensure that strong simple security controls are available to every developer in every environment ESAPI Mission

Where Do Vulnerabilities Come From?

Page 4: OWASP. To ensure that strong simple security controls are available to every developer in every environment ESAPI Mission

Controls Every Application Needs

Access Control

Authenti-cation and

Identity

App Firewall

Access Reference

Map

Output Escaping

Input Validation

LoggingException Handling

Secure Config

Intrusion Detection

HTTP Utilities

Encryption and Signing

Page 5: OWASP. To ensure that strong simple security controls are available to every developer in every environment ESAPI Mission

Security Controls

Are Hard

Page 6: OWASP. To ensure that strong simple security controls are available to every developer in every environment ESAPI Mission

Escaping Gone Wild Percent Encoding%3c%3C

 HTML Entity Encoding

&#60&#060&#0060&#00060&#000060&#0000060<<<<<<&#x3c&#x03c&#x003c&#x0003c&#x00003c&#x000003c<<<<<<&#X3c&#X03c&#X003c&#X0003c&#X00003c&#X000003c<<<

<<< &#x3C&#x03C&#x003C&#x0003C&#x00003C&#x000003C<<<<<<&#X3C&#X03C&#X003C&#X0003C&#X00003C&#X000003C<<<<<< &lt&lT&Lt&LT<&lT;≪<

JavaScript Escape\<\x3c\X3c\u003c\U003c\x3C\X3C\u003C\U003C 

CSS Escape\3c\03c\003c\0003c\00003c\3C\03C\003C\0003C\00003C

Overlong UTF-8%c0%bc%e0%80%bc%f0%80%80%bc%f8%80%80%80%bc%fc%80%80%80%80%bc

US-ASCII¼

UTF-7+ADw-

Punycode<-

<

Page 7: OWASP. To ensure that strong simple security controls are available to every developer in every environment ESAPI Mission

Cheaper, Better, Faster

Page 9: OWASP. To ensure that strong simple security controls are available to every developer in every environment ESAPI Mission

attacks

threats exploits

vulnerabilities

RiskWorld risks

controls

AssuranceWorld

accountability

pentest

scanning

assurance

patterns

verification architecture

policy

impact

flaws

metrics

visibility

completeness

Page 10: OWASP. To ensure that strong simple security controls are available to every developer in every environment ESAPI Mission

ESAPI Scorecard

Authentication Identity Access Control * * Input Validation Output Escaping Canonicalization Encryption Random Numbers Exceptions Logging IntrusionDetection Security Config App Firewall

Page 12: OWASP. To ensure that strong simple security controls are available to every developer in every environment ESAPI Mission

Deceptively Tricky Problems for Developers

1. Input Validation and Output Encoding2. Authentication and Identity3. URL Access Control4. Business Function Access Control5. Data Layer Access Control6. Presentation Layer Access Control7. Errors, Logging, and Intrusion Detection8. Encryption, Hashing, and Randomness

Lots more…

Page 13: OWASP. To ensure that strong simple security controls are available to every developer in every environment ESAPI Mission

Stopping InjectionQuick and Dirty

Ad Hoc Escaping

Generic Validation

Page 14: OWASP. To ensure that strong simple security controls are available to every developer in every environment ESAPI Mission

Stopping InjectionEnterprise

Automatic Escaping

Managed Specific Validation

Managed Generic Validation

Page 15: OWASP. To ensure that strong simple security controls are available to every developer in every environment ESAPI Mission

Jeff WilliamsAspect Security CEO

OWASP Foundation [email protected]://www.aspectsecurity.com

twitter @planetlevel410-707-1487

Questions?

Page 16: OWASP. To ensure that strong simple security controls are available to every developer in every environment ESAPI Mission
Page 17: OWASP. To ensure that strong simple security controls are available to every developer in every environment ESAPI Mission

Stopping InjectionQuick and Dirty

Ad Hoc Escaping

Generic Validation

Page 18: OWASP. To ensure that strong simple security controls are available to every developer in every environment ESAPI Mission

Stopping InjectionStrong Application

Mandatory Escaping

Specific Validation

Generic Validation (+can)

Page 19: OWASP. To ensure that strong simple security controls are available to every developer in every environment ESAPI Mission

ESAPI Web App Firewall (WAF)

attacker

userESAPI

WAF

Critical Application?

PCI requirement?3rd party

application?Legacy

application?Incident response?

Virtual patchesAuthentication rulesURL access control

Egress filteringAttack surface reduction

Real-time security

Page 20: OWASP. To ensure that strong simple security controls are available to every developer in every environment ESAPI Mission

AuthN and AuthZQuick and Dirty

User in Session

Simple Authentication Model

Ad Hoc Authorization

Page 21: OWASP. To ensure that strong simple security controls are available to every developer in every environment ESAPI Mission

AuthN and AuthZStrong Application

Identity Everywhere

Automatic CG Authorization

Alternate Authentication

Automatic FG Authorization

Page 22: OWASP. To ensure that strong simple security controls are available to every developer in every environment ESAPI Mission

AuthN and AuthZEnterprise

AuthZ Policy Management

AuthZ Entitlement Mgmt

Identity Management

Page 24: OWASP. To ensure that strong simple security controls are available to every developer in every environment ESAPI Mission

Accountability and DetectionQuick and Dirty

Ad Hoc Security Logging

Security Exceptions (2 msgs)

Ad Hoc Authorization

Page 25: OWASP. To ensure that strong simple security controls are available to every developer in every environment ESAPI Mission

Accountability and DetectionStrong Application

Intrusion Detection

Automatic Security Logging

Page 26: OWASP. To ensure that strong simple security controls are available to every developer in every environment ESAPI Mission

Accountability and DetectionEnterprise

Log Policy Management

Dynamic Incident Response

Centralized Logging

Page 27: OWASP. To ensure that strong simple security controls are available to every developer in every environment ESAPI Mission

ESAPI Swingset