Software Security. Group project: application security verification using OWASP ASVS



Similar documents
Software Security. Group project: application security verification using OWASP ASVS

Automatic vs. Manual Code Analysis

Black Box versus White Box: Different App Testing Strategies John B. Dickson, CISSP

Passing PCI Compliance How to Address the Application Security Mandates

Learning objectives for today s session

Promoting Application Security within Federal Government. AppSec DC November 13, The OWASP Foundation

Magento Security and Vulnerabilities. Roman Stepanov

Adobe Systems Incorporated

Securing Your Web Application against security vulnerabilities. Ong Khai Wei, IT Specialist, Development Tools (Rational) IBM Software Group

(WAPT) Web Application Penetration Testing

Comparing the Effectiveness of Penetration Testing and Static Code Analysis

Web Application Security

What is Web Security? Motivation

Foreword. Copyright and License. ASVS 2009 Web Application Standard

Security Testing. Vulnerability Assessment vs Penetration Testing. Gabriel Mihai Tanase, Director KPMG Romania. 29 October 2014

Introduction to Web Application Security. Microsoft CSO Roundtable Houston, TX. September 13 th, 2006

Promoting Application Security within Federal Government. AppSec DC November 13, The OWASP Foundation

BUILDING AN OFFENSIVE SECURITY PROGRAM BUILDING AN OFFENSIVE SECURITY PROGRAM

Validation Procedure. ANNEX 4. Security Testing Basis

State of Web Application Security. Ralph Durkee Durkee Consulting, Inc. Rochester ISSA & OWASP Chapters rd@rd1.net

Web Application Security. Sajjad Pourali CERT of Ferdowsi University of Mashhad

Using Free Tools To Test Web Application Security

Penetration Testing in Romania

KASPERSKY SECURITY INTELLIGENCE SERVICES. EXPERT SERVICES.

SAST, DAST and Vulnerability Assessments, = 4

D. Best Practices D.1. Assurance The 5 th A

Web application security

Penetration Testing Getting the Most out of Your Assessment. Chris Wilkinson Crowe Horwath LLP September 22, 2010

Check list for web developers

Payment Card Industry (PCI) Data Security Standard. Summary of Changes from PCI DSS Version 2.0 to 3.0

Integrating Security Testing into Quality Control

White Paper. Guide to PCI Application Security Compliance for Merchants and Service Providers

BASELINE SECURITY TEST PLAN FOR EDUCATIONAL WEB AND MOBILE APPLICATIONS

TECHNICAL AUDITS FOR CERTIFYING EUROPEAN CITIZEN COLLECTION SYSTEMS

Web application testing

IoT Potential Risks and Challenges

New Zealand Company Six full time technical staff Offices in Auckland and Wellington

Security vulnerabilities in new web applications. Ing. Pavol Lupták, CISSP, CEH Lead Security Consultant

Open Web Application Security Project Open source advocacy group > web security Projects dedicated to security on the web

Development Processes (Lecture outline)

Where every interaction matters.

Pentests more than just using the proper tools

Columbia University Web Security Standards and Practices. Objective and Scope

Adobe ColdFusion. Secure Profile Web Application Penetration Test. July 31, Neohapsis 217 North Jefferson Street, Suite 200 Chicago, IL 60661

Web Application Security: Exercise Development Approaches

Getting software security Right

Intrusion detection for web applications

Secure development and the SDLC. Presented By Jerry

The Devils Behind Web Application Vulnerabilities

Threat Modeling for Secure Embedded Software

CONTENTS. PCI DSS Compliance Guide

JVA-122. Secure Java Web Development

PCI DSS Overview and Solutions. Anwar McEntee

FINAL DoIT v.4 PAYMENT CARD INDUSTRY DATA SECURITY STANDARDS APPLICATION DEVELOPMENT AND MAINTENANCE PROCEDURES

Secure Development Lifecycle. Eoin Keary & Jim Manico

Testing Your Security A Security Testing How To From Someone Who s Likely Broken Into An Organization Just Like Yours

Spyware. Michael Glenn Technology Management 2004 Qwest Communications International Inc.

Put into test the security of an environment and qualify its resistance to a certain level of attack.

SERENA SOFTWARE Serena Service Manager Security

Mike Zusman 3/7/2011. OWASP Goes Mobile SANS AppSec Summit 2011

Mobile & Security? Brice Mees Security Services Operations Manager

Excellence Doesn t Need a Certificate. Be an. Believe in You AMIGOSEC Consulting Private Limited

Making your web application. White paper - August secure

State of The Art: Automated Black Box Web Application Vulnerability Testing. Jason Bau, Elie Bursztein, Divij Gupta, John Mitchell

Web Application Report

Reducing Application Vulnerabilities by Security Engineering

The Top Web Application Attacks: Are you vulnerable?

ETHICAL HACKING APPLICATIO WIRELESS110 00NETWORK APPLICATION MOBILE MOBILE0001

elearning for Secure Application Development

Secure in 2010? Broken in 2011!

Bank Hacking Live! Ofer Maor CTO, Hacktics Ltd. ATC-4, 12 Jun 2006, 4:30PM

The New OWASP Testing Guide v4

RESILIENT. SECURE and SOFTWARE. Requirements, Test Cases, and Testing Methods. Mark S. Merkow and Lakshmikanth Raghavan. CRC Press

Out of the Fire - Adding Layers of Protection When Deploying Oracle EBS to the Internet

Designing and Coding Secure Systems

Building & Measuring Security in Web Applications. Fabio Cerullo Cycubix Limited 30 May Belfast

How To Write A Web Application Vulnerability Scanner And Security Auditor

Enterprise Application Security Program

Application Security and the SDLC. Dan Cornell Denim Group, Ltd.

Turning the Battleship: How to Build Secure Software in Large Organizations. Dan Cornell May 11 th, 2006

Penetration Testing: Lessons from the Field

! Resident of Kauai, Hawaii

Application Security Testing How to find software vulnerabilities before you ship or procure code

Integrating Web Application Security into the IT Curriculum

2015 Vulnerability Statistics Report

Detecting and Defending Against Security Vulnerabilities for Web 2.0 Applications

Entire contents 2011 Praetorian. All rights reserved. Information Security Provider and Research Center

Architectural Design Patterns. Design and Use Cases for OWASP. Wei Zhang & Marco Morana OWASP Cincinnati, U.S.A.

Detecting Web Application Vulnerabilities Using Open Source Means. OWASP 3rd Free / Libre / Open Source Software (FLOSS) Conference 27/5/2008

Kenna Platform Security. A technical overview of the comprehensive security measures Kenna uses to protect your data

ensuring security the way how we do it

Joint Universities Computer Centre Limited ( JUCC ) Information Security Awareness Training- Session One

Weak Spots in Enterprise Mobility Management Dennis Schröder

VICTORIA UNIVERSITY OF WELLINGTON Te Whare Wānanga o te Ūpoko o te Ika a Māui

Introduction to Penetration Testing Graham Weston

HP ESP Partner Enablement Fortify Proof of Concept Boot Camp Training

Web Application Penetration Testing

Web Application Vulnerability Scanning. VITA Commonwealth Security & Risk Management. April 8, 2016

A Network Administrator s Guide to Web App Security

Application Code Development Standards

Transcription:

Software Security Group project: application security verification using OWASP ASVS

Brainstorm What would you do if you if someone asked you to check if some piece of software that they use (and possibly bought) is secure?

Assurance Big challenge: how can we provide assurance that an application is secure? NB: it is much easier to demonstrate that an application is not secure than it is to guarantee that it is secure

Assurance Why is the question below silly? how can we provide assurance that an application is secure? The question is meaningless. We only hope to answer this meaningfully if we know what the security requirements are what kinds of attacks we are consider

Assuring security of software Before trying to get some assurance about the security of any piece of software 1. What does it mean for this application to be secure? 2. How important is it? ie how big is the impact if it is insecure? Does the application involve the crown jewels of the organisation? 3. What is the attacker model? ie what can attackers do to attack the system? Thinking about abuse cases can be useful in all this. You may decide after all this that it s not worth the effort to try and provide some assurance.

Group Project We do a security code review of a web-application following the OWASP standard Application Security Verification Standard (ASVS) 2014 edition trying out some source code analysis tools Time for this +/- 30 hours, ie afternoon/morning per week for next months

7 (white box) code review vs (black box) pen test

Goals experiencing a software security review process ie white-box code review, rather than a black-box pen test how useful are existing standards and approaches? esp OWASP Application Security Verification Standard how good are tools we can use? eg Fortify, RATS, CheckMarx how should security design and implementation decisions wrt security have been made and documented?

Non-goals For some, this is throwing you in at the deep end. I I realise your experience varies a lot! Don t be tempted in copying results from other groups whether or not find any security problems is not important, it s about forming an well-argued opinion about code reviews, the ASVS as guide for this, static analysis tools, etc. My hidden agenda: getting some empirical data on doing code reviews

OWASP ASVS Application Security Verification Standard (2014) aims to normalise the range in coverage & level of rigour in performing web application security verifcation NB not verification in the mathematical or even testing sense

sadas OWASP ASVS Process

OWASP ASVS Levels

Categories of Verification Requirements V1 Security Architecture V2. Authentication V3. Session Management V4. Access Control V5. Input Validation V6. Output Encoding/Escaping V7. Cryptography V8. Error Handling & Logging V9. Data Protection V10. Communication Security V11. HTTP Security V12. Security Configuration V13. Malicious Code Search V15. Business Logic V16 Files and Recourses V17 Mobile V1 & V12 removed in 2014 edition V10, V15, V17 out of scope

ASVS Security Requirements ASVS provides checklists of security requirements to check clustered in categories where security requirements are stated in a positive way, eg negative there are no XSS attacks positive all HTML output that contains user-supplied input is properly escaped Note: checking positive instead of negative statements is very different

Verification Techniques Dynamic using running application aka (penetration) testing This can be manual application penetration testing automated application penetration testing Static using source code aka code review This can be manual automated using code analysis tools Focus of the group project

static source code analyzers RATS basic old tool glorified GREP/CTRL-F Fortify SCA & CheckMarx modern state-of-the-art commercial tools RIPS open source tool, but RIP? Any other tools you know or have experience with? Yasca, PHPLint, FindSecurityBugs... 16

Caveat: tools cover at best 45%? [study by MITRE] All application security tool vendors claims put together cover only 45% of the 695 known vulnerability types Very little overlap between tools, so to get 45% you need them all (assuming their claims are true) More generally: it is hard to get objective evidence about quality & usefulness of these tools really are. You have to experience using them to get an idea. 17

To start Form groups Fix a weekly morning/afternoon/night to work on this? Keep a log what you are doing, and who does what Read the AVSV Look at the code Install the code to get a feel for functionality? Try some of the code analysis tools? Think about you divide the work & organise this 18

Remember: we re skipping the most important steps By jumping straight to look at the code using the ASVS we skip the most important first steps of any security analysis: 1. identifying security requirements and their importance ie. threats and impacts, for a good risk assessment 2. defining attacker model eg `standard online attacker, insiders, vandals, hacktivists, mafia, NSA, should also consider capabilities & motivation even if your site has little value, an attacker might still be interested in using it to break into the machine hosting it, or to use it as an attack vector to attack your visitors, to steal re-used passwords,