Application Security for the Masses - OWASP€¦ · software development projects. Include them in...

31
Copyright © The OWASP Foundation Permission is granted to copy, distribute and/or modify this document under the terms of the OWASP License. The OWASP Foundation OWASP http://www.owasp.org Application Security for the Masses Konstantinos Papapanagiotou OWASP Greek Chapter Leader Syntax IT Inc [email protected] Greek Chapter Meeting 16/3/2011

Transcript of Application Security for the Masses - OWASP€¦ · software development projects. Include them in...

Page 1: Application Security for the Masses - OWASP€¦ · software development projects. Include them in the RFP and Contract Contract Best Software Ever I need cool Software We can build

Copyright © The OWASP FoundationPermission is granted to copy, distribute and/or modify this document under the terms of the OWASP License.

The OWASP Foundation

OWASP

http://www.owasp.org

Application Security for the Masses

Konstantinos Papapanagiotou

OWASP Greek Chapter Leader

Syntax IT Inc

[email protected]

Greek ChapterMeeting

16/3/2011

Page 2: Application Security for the Masses - OWASP€¦ · software development projects. Include them in the RFP and Contract Contract Best Software Ever I need cool Software We can build

OWASP

OWASP Body of Knowledge

Core Application

Security

Knowledge Base

Acquiring and

Building

Secure

Applications

Verifying

Application

Security

Managing

Application

Security

Application

Security

Tools

AppSec

Education and

CBT

Research to

Secure New

Technologies Principles

Threat Agents,

Attacks,

Vulnerabilities,

Impacts, and

CountermeasuresOWASP Foundation 501c3

OWASP Community Platform

(wiki, forums, mailing lists)

Pro

ject

s

Ch

ap

ters

Ap

pS

ec C

on

fere

nce

s

Guide to Building

Secure Web

Applications and Web

Services

Guide to Application

Security Testing and

Guide to Application

Security Code Review

Tools for Scanning,

Testing, Simulating,

and Reporting Web

Application Security

Issues

Web Based Learning

Environment and

Guide for Learning

Application Security

Guidance and Tools

for Measuring and

Managing Application

Security

Research Projects to

Figure Out How to

Secure the Use of New

Technologies (like

Ajax)

3

Page 3: Application Security for the Masses - OWASP€¦ · software development projects. Include them in the RFP and Contract Contract Best Software Ever I need cool Software We can build

OWASP

OWASP Tools and Technology

4

• Vulnerability Scanners

• Static Analysis Tools

• Fuzzing

Automated Security Verification

• Penetration Testing Tools

• Code Review Tools

Manual Security Verification

• ESAPI

• AppSensor

Security Architecture

• AppSec Libraries

• ESAPI Reference Implementation

• Guards and Filters

Secure Coding

• Reporting Tools

AppSecManagement

• Flawed Apps

• Learning Environments

• Live CD

• SiteGenerator

AppSecEducation

Page 4: Application Security for the Masses - OWASP€¦ · software development projects. Include them in the RFP and Contract Contract Best Software Ever I need cool Software We can build

OWASP 5

Page 5: Application Security for the Masses - OWASP€¦ · software development projects. Include them in the RFP and Contract Contract Best Software Ever I need cool Software We can build

10+1 Projects you should know about

Page 6: Application Security for the Masses - OWASP€¦ · software development projects. Include them in the RFP and Contract Contract Best Software Ever I need cool Software We can build

OWASP

The OWASP Documentation Projects

Building Guide Code Review Guide Testing Guide

Application Security Desk Reference (ASDR)

ASVSTop 10

Prevention Cheat Sheet Series

7

Page 7: Application Security for the Masses - OWASP€¦ · software development projects. Include them in the RFP and Contract Contract Best Software Ever I need cool Software We can build

OWASP

1) OWASP Top 10 [2010]

8

Page 8: Application Security for the Masses - OWASP€¦ · software development projects. Include them in the RFP and Contract Contract Best Software Ever I need cool Software We can build

OWASP

OWASP Top Ten (2010 Edition)

http://www.owasp.org/index.php/Top_10

9

Page 9: Application Security for the Masses - OWASP€¦ · software development projects. Include them in the RFP and Contract Contract Best Software Ever I need cool Software We can build

OWASP

OWASP Top 10 Risk Rating Methodology

ThreatAgent

AttackVector

Weakness Prevalence

Weakness Detectability

Technical ImpactBusiness Impact

?Easy Widespread Easy Severe

?Average Common Average Moderate

Difficult Uncommon Difficult Minor

1 2 2 1

1.66 * 1

1.66 weighted risk rating

Injection Example

1

2

3

10

Page 10: Application Security for the Masses - OWASP€¦ · software development projects. Include them in the RFP and Contract Contract Best Software Ever I need cool Software We can build

OWASP

OWASP Prevention Cheat Sheet Series

How to avoid the most common web security problems

XSS Prevention Cheat Sheet www.owasp.org/index.php/XSS_(Cross_Site_Scripting)_Prevention_Cheat_Sheet

SQL Injection Prevention Cheat Sheet http://www.owasp.org/index.php/SQL_Injection_Prevention_Cheat_Sheet

CSRF Prevention Cheat Sheet http://www.owasp.org/index.php/Cross-Site_Request_Forgery_(CSRF)_Prevention_Cheat_Sheet

Transport Layer Protection Cheat Sheet http://www.owasp.org/index.php/Transport_Layer_Protection_Cheat_Sheet

Cryptographic Storage Cheat Sheet http://www.owasp.org/index.php/Cryptographic_Storage_Cheat_Sheet

Authentication Cheat Sheet http://www.owasp.org/index.php/Authentication_Cheat_Sheet

Page 11: Application Security for the Masses - OWASP€¦ · software development projects. Include them in the RFP and Contract Contract Best Software Ever I need cool Software We can build

OWASP

2) OWASP [Developers] Guide

Describes how to develop secure web applications

Covers

Secure Coding

Threat Modeling

New Technologies (Web Services, AJAX)

16 Security Areas

293 Pages

12

http://www.owasp.org/index.php/Guide

Page 12: Application Security for the Masses - OWASP€¦ · software development projects. Include them in the RFP and Contract Contract Best Software Ever I need cool Software We can build

OWASP

3) Secure Coding Practices Quick Reference

Technology agnostic coding practices

What to do, not how to do it

Compact, but comprehensive checklist format

Focuses on secure coding requirements, rather than on vulnerabilities and exploits

Includes a cross referenced glossary to get developers and security folks talking the same language

13

Page 13: Application Security for the Masses - OWASP€¦ · software development projects. Include them in the RFP and Contract Contract Best Software Ever I need cool Software We can build

OWASP 15

Checklist Sections

Input Validation

Output Encoding

Authentication and Password Management

Session Management

Access Control

Cryptographic Practices

Error Handling and Logging

Data Protection

Communication Security

System Configuration

Database Security

File Management

Memory Management

General Coding Practices

- Only 9 pages long

Page 14: Application Security for the Masses - OWASP€¦ · software development projects. Include them in the RFP and Contract Contract Best Software Ever I need cool Software We can build

OWASP 16

Using the guide

Scenario #1: Developing Guidance Documents

Coding Practices

General

Security

Policies

Application

Security

Procedures

Application

Security

Coding

Standards

Guiding Principles What to do How to do it

Page 15: Application Security for the Masses - OWASP€¦ · software development projects. Include them in the RFP and Contract Contract Best Software Ever I need cool Software We can build

OWASP 17

Using the guide continued

Scenario #2: Support Secure Development Lifecycle

Application Security Requirements

Secure Development Processes

Standardized Libraries

Standard Guidance for non-Library Solutions

Review Solutions

Test Solution Implementation

What to do How you should do it What you did Did it work

Coding Practices

Page 16: Application Security for the Masses - OWASP€¦ · software development projects. Include them in the RFP and Contract Contract Best Software Ever I need cool Software We can build

OWASP 18

RFPBest

Software Ever

Using the guide continued

Scenario #3: Contracted Development

Identify security requirements to be added to outsourced software development projects.

Include them in the RFP and Contract

ContractBest

Software Ever

I need cool

Software

We can build

anythingHow do I

make it work

CustomerSalesmanProgrammer

Coding Practices

Page 17: Application Security for the Masses - OWASP€¦ · software development projects. Include them in the RFP and Contract Contract Best Software Ever I need cool Software We can build

OWASP

4) Secure Software Contract Annex

Part of OWASP Legal Project

Starting point for negotiation between customer and developer

Clearly explains possible flaws to the customer

High level of rigor - can be used in larger enterprise or government projects

Helps contractors to suit the security part of contract for their needs

19

Page 18: Application Security for the Masses - OWASP€¦ · software development projects. Include them in the RFP and Contract Contract Best Software Ever I need cool Software We can build

OWASP

5) Application Security Verification Standard (ASVS)

OWASP’s 1st Standard Requires Positive Reporting!

Defines 4 Verification Levels Level 1: Automated Verification

Level 1A: Dynamic Scan

Level 1B: Source Code Scan

Level 2: Manual Verification Level 2A: Penetration Test

Level 2B: Code Review

Level 3: Design Verification

Level 4: Internal Verification

42 Pages

http://www.owasp.org/index.php/ASVS

20

Page 19: Application Security for the Masses - OWASP€¦ · software development projects. Include them in the RFP and Contract Contract Best Software Ever I need cool Software We can build

OWASP

What Questions Does ASVS Answer?

How can I compare verification efforts?

What security features should be built into the required set of security controls?

What are reasonable increases in coverage and level of rigor when verifying the security of a web application?

How much trust can be placed in a web application?

Also a GREAT source of web application security requirements 21

Page 20: Application Security for the Masses - OWASP€¦ · software development projects. Include them in the RFP and Contract Contract Best Software Ever I need cool Software We can build

OWASP

6) Testing Guide

Massive document

Over 100 contributors

OWASP Testing Approach

Covers 10 Categories

66 Specific Controls

347 Pages

http://www.owasp.org/index.php/Testing_Guide 22

Page 21: Application Security for the Masses - OWASP€¦ · software development projects. Include them in the RFP and Contract Contract Best Software Ever I need cool Software We can build

OWASP

7) Code Review Guide

World’s first open source security code review guide

Discusses approaches to code review, reporting, metrics, risk

Approach is "by example". (Examples of good and bad code)

Covers: Java, ASP, php, XML, C/C++

By vulnerability and (more useful) by technical control

216 Pages

http://www.owasp.org/index.php/Code_Review_Guide

23

Page 22: Application Security for the Masses - OWASP€¦ · software development projects. Include them in the RFP and Contract Contract Best Software Ever I need cool Software We can build

OWASP

8) OpenSAMM

24

Page 23: Application Security for the Masses - OWASP€¦ · software development projects. Include them in the RFP and Contract Contract Best Software Ever I need cool Software We can build

OWASP

SAMM Business Functions

Start with the core activities tied to any organization performing software development

Named generically, but should resonate with any developer or manager

25

Page 24: Application Security for the Masses - OWASP€¦ · software development projects. Include them in the RFP and Contract Contract Best Software Ever I need cool Software We can build

OWASP

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

26

Page 25: Application Security for the Masses - OWASP€¦ · software development projects. Include them in the RFP and Contract Contract Best Software Ever I need cool Software We can build

OWASP 27

9) WebGoat

OWASP project with ~115,000 downloads

Deliberately insecure Java EE web application

Teaches common application vulnerabilities via a series of individual lessons

Page 26: Application Security for the Masses - OWASP€¦ · software development projects. Include them in the RFP and Contract Contract Best Software Ever I need cool Software We can build

OWASP

10) ESAPI

28

Custom Enterprise Web Application

Enterprise Security API

Au

the

nti

ca

tor

Use

r

Acce

ssC

on

tro

lle

r

Acce

ssR

efe

ren

ce

Ma

p

Va

lid

ato

r

En

co

de

r

HT

TP

Uti

liti

es

En

cry

pto

r

En

cry

pte

dP

rop

ert

ies

Ra

nd

om

ize

r

Ex

ce

pti

on

Ha

nd

lin

g

Lo

gg

er

Intr

usio

nD

ete

cto

r

Se

cu

rity

Co

nfi

gu

rati

on

Existing Enterprise Security Services/Libraries

http://www.owasp.org/index.php/ESAPI

Page 27: Application Security for the Masses - OWASP€¦ · software development projects. Include them in the RFP and Contract Contract Best Software Ever I need cool Software We can build

OWASP

10+1) AppSensor

Detect INSIDE the Application

Automatic Detection

Comprehensive

Minimize False Positives

Understand Business Logic

Immediate Response

No Manual Efforts Required

29

Page 28: Application Security for the Masses - OWASP€¦ · software development projects. Include them in the RFP and Contract Contract Best Software Ever I need cool Software We can build

OWASP

How do you address AppSec problems?

Develop Secure Code

Follow the best practices in OWASP’s Guide to Building Secure Web Applications

http://www.owasp.org/index.php/Guide

Use OWASP’s Application Security Verification Standard as a guide to what an application needs to be secure

http://www.owasp.org/index.php/ASVS

Use standard security components that are a fit for your organization

Use OWASP’s ESAPI as a basis for your standard components

http://www.owasp.org/index.php/ESAPI

Review Your Applications

Have an expert team review your applications

Review your applications yourselves following OWASP Guidelines

OWASP Code Review Guide: http://www.owasp.org/index.php/Code_Review_Guide

OWASP Testing Guide: http://www.owasp.org/index.php/Testing_Guide

30

Page 29: Application Security for the Masses - OWASP€¦ · software development projects. Include them in the RFP and Contract Contract Best Software Ever I need cool Software We can build

OWASP

OWASP Industry Citations

Έργα ηοσ OWASP ποσ τρηζιμοποιούνηαι από οργανιζμούς ζε παγκόζμιο επίπεδο.

Χρηζιμοποιείηε έργα ηοσ OWASP; Επικοινωνήζηε μαζί μας για να προζηεθεί ο οργανιζμός/εηαιρείας ζας ζηη λίζηα

http://www.owasp.org/index.php/Industry:Citations

31

Page 30: Application Security for the Masses - OWASP€¦ · software development projects. Include them in the RFP and Contract Contract Best Software Ever I need cool Software We can build

OWASP

Join, Support, and Take Advantage of the Resources Supplied by OWASP

DCSep 2009

Nov 2010

BrusselsMay 2008

PolandMay 2009

TaiwanOct 07-08

PortugalNov 2008 Israel

Sep 07-08

IndiaAug 2008Nov 2009

AustraliaFeb 08-09

MinnesotaOct 08-11

DenverSpring 08-10

SwedenJune 2010

IrelandSept 08-09June 2011

GreeceJune 2012

New YorkNov 2008 Oct 2012 China

Oct 2010

New ZealandJuly 09-10

BrazilOct 09-10

Sampling of OWASP Conferences around the World!

GermanyOct 08-10

32

Page 31: Application Security for the Masses - OWASP€¦ · software development projects. Include them in the RFP and Contract Contract Best Software Ever I need cool Software We can build

OWASP

Thank You

33