Model-Based Vulnerability Testing for Web Applications



Similar documents
Model-Based Vulnerability Testing for Web Applications

Adobe Systems Incorporated

WEB SECURITY CONCERNS THAT WEB VULNERABILITY SCANNING CAN IDENTIFY

Magento Security and Vulnerabilities. Roman Stepanov

Pentests more than just using the proper tools

Pentests more than just using the proper tools

Web Application Penetration Testing

How To Understand And Understand The Security Of A Web Browser (For Web Users)

Where every interaction matters.

METHODS TO TEST WEB APPLICATION SCANNERS

Overview of the Penetration Test Implementation and Service. Peter Kanters

Using Free Tools To Test Web Application Security

OWASP TOP 10 ILIA

Development Processes (Lecture outline)

OWASP Top Ten Tools and Tactics

SAST, DAST and Vulnerability Assessments, = 4

Application Code Development Standards

Testing the OWASP Top 10 Security Issues

VIDEO intypedia007en LESSON 7: WEB APPLICATION SECURITY - INTRODUCTION TO SQL INJECTION TECHNIQUES. AUTHOR: Chema Alonso

Web Application Vulnerability Testing with Nessus

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

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

Web Application Hacking (Penetration Testing) 5-day Hands-On Course

MANAGED SECURITY TESTING

Table of Contents. Page 2/13

Reducing Application Vulnerabilities by Security Engineering

Early Vulnerability Detection for Supporting Secure Programming

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

(WAPT) Web Application Penetration Testing

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

ETHICAL HACKING APPLICATIO WIRELESS110 00NETWORK APPLICATION MOBILE MOBILE0001

Intrusion detection for web applications

Web application testing

Detecting and Defending Against Security Vulnerabilities for Web 2.0 Applications

Web Application Report

Essential IT Security Testing

How To Write A Web Application Vulnerability Scanner And Security Auditor

Six Essential Elements of Web Application Security. Cost Effective Strategies for Defending Your Business

elearning for Secure Application Development

Security Assessment through Google Tools -Focusing on the Korea University Website

Mean Time to Fix (MTTF) IT Risk s Dirty Little Secret Joe Krull, CPP, CISSP, IAM, CISA, A.Inst.ISP, CRISC, CIPP

Res. J. Appl. Sci. Eng. Technol., 8(5): , 2014

Application Security: What Does it Take to Build and Test a Trusted App? John Dickson, CISSP Denim Group

WEB SITE SECURITY. Jeff Aliber Verizon Digital Media Services

WHITE PAPER. FortiWeb and the OWASP Top 10 Mitigating the most dangerous application security threats

Learning objectives for today s session

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

How To Fix A Web Application Security Vulnerability

ArcGIS Server Security Threats & Best Practices David Cordes Michael Young

An Analysis of the Effectiveness of Black-Box Web Application Scanners in Detection of Stored XSSI Vulnerabilities

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

Web Application Security Assessment and Vulnerability Mitigation Tests

WHITE PAPER FORTIWEB WEB APPLICATION FIREWALL. Ensuring Compliance for PCI DSS 6.5 and 6.6

Attack Vector Detail Report Atlassian

ensuring security the way how we do it

How to break in. Tecniche avanzate di pen testing in ambito Web Application, Internal Network and Social Engineering

Secure Coding in Node.js

Cracking the Perimeter via Web Application Hacking. Zach Grace, CISSP, CEH January 17, Mega Conference

How to Build a Trusted Application. John Dickson, CISSP

Web Engineering Web Application Security Issues

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

Rational AppScan & Ounce Products

ASSESSMENT OF OPEN SOURCE WEB APPLICATION SECURITY SCANNERS

The Top Web Application Attacks: Are you vulnerable?

SWAT PRODUCT BROCHURE

OWASP AND APPLICATION SECURITY

Integrating Security Testing into Quality Control

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

WHITE PAPER. FortiWeb Web Application Firewall Ensuring Compliance for PCI DSS 6.5 and 6.6

Effectiveness of Automated Application Penetration Testing Tools

Web Services Vulnerability Testing Using Open source Security Scanners : An experimental Study

What is Web Security? Motivation

A6- Sensitive Data Exposure

Application Layer Encryption: Protecting against Application Logic and Session Theft Attacks. Whitepaper

Why Johnny Can t Pentest: An Analysis of Black-box Web Vulnerability Scanners

Web applications. Web security: web basics. HTTP requests. URLs. GET request. Myrto Arapinis School of Informatics University of Edinburgh

Web Vulnerability Scanner by Using HTTP Method

Passing PCI Compliance How to Address the Application Security Mandates

From the Bottom to the Top: The Evolution of Application Monitoring

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

Cloud Security:Threats & Mitgations

SERENA SOFTWARE Serena Service Manager Security

The Web AppSec How-to: The Defenders Toolbox

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

2015 Vulnerability Statistics Report

Evaluation of Web Security Mechanisms Using Inline Scenario & Online Scenario

Ethical Hacking as a Professional Penetration Testing Technique

PCI-DSS and Application Security Achieving PCI DSS Compliance with Seeker

National Endowment for the Arts Evaluation Report. Table of Contents. Results of Evaluation Areas for Improvement Exit Conference...

Coverity Scan. Big Data Spotlight

Columbia University Web Security Standards and Practices. Objective and Scope

Hardening Moodle. Concept and Realization of a Security Component in Moodle. a project by

Effectiveness of Web Application Security Scanners at Detecting Vulnerabilities behind AJAX/JSON

Transcription:

Model-Based Vulnerability Testing for Web Applications F. Lebeau, B. Legeard, F. Peureux, A. VERNOTTE FEMTO-ST Institute / University of Franche-Comté UMR CNRS 6174, 25030 Besancon, France. Smartesting R&D Center, 25000 Besancon, France. SecTest 2013, Luxembourg March 22, 2013 A. Vernotte et al. MBVT for Web Applications - SecTest 13 1 / 22

Table of contents Introduction Current Dynamic Application Security Testing Techniques Model-Based Vulnerability Testing Detailed Process with Example Discussion Conclusion A. Vernotte et al. MBVT for Web Applications - SecTest 13 2 / 22

Web evolution and Security Continued growth and complexity of the internet: increasing ubiquity of uses (banking, e-commerce, social...) increasing combination of technologies (server, client) maintaining security is a real challenge An urgent issue: Web Application vulnerabilities The later a vulnerability is found, the more expensive it is to fix. Vulnerability discovery part of the development process. Two main techniques: SAST: Static Application Security Testing DAST: Dynamic Application Security Testing A. Vernotte et al. MBVT for Web Applications - SecTest 13 3 / 22

Web evolution and Security Continued growth and complexity of the internet: increasing ubiquity of uses (banking, e-commerce, social...) increasing combination of technologies (server, client) maintaining security is a real challenge An urgent issue: Web Application vulnerabilities The later a vulnerability is found, the more expensive it is to fix. Vulnerability discovery part of the development process. Two main techniques: SAST: Static Application Security Testing DAST: Dynamic Application Security Testing Penetration Testing Scanners Fuzzing Model-Based Security Testing A. Vernotte et al. MBVT for Web Applications - SecTest 13 3 / 22

Current DAST techniques Manual/Tool-Based Penetration testing Strengths Precise and Reliable to detect design flaws Based on insights and experience Weaknesses Fastidious (thorough testing for XSS) Constant need of manpower and expertise Based on insights and experience D. Allan, Web application security: automated scanning versus manual penetration testing, Somers, IBM White Paper, 2008 A. Vernotte et al. MBVT for Web Applications - SecTest 13 4 / 22

Current DAST techniques (2) Vulnerability Scanners Strengths Point-and-shoot solutions Efficient for a majority of technical vulnerabilities Weaknesses Suffer from a fair amount of false positives Struggle with complex vulnerabilities (Multi-step XSS) Struggle with vulnerabilities related to business logic A. Doupé et. al., Why Johnny can t pentest: An analysis of black-box web vulnerability scanners, Journal of Detection of Intrusions and Malware, and Vulnerability Assessment, pp 111 131, Springer, 2010 A. Vernotte et al. MBVT for Web Applications - SecTest 13 5 / 22

Current DAST techniques (3) Black-box Fuzzing Strengths Low cost solution Efficient to spot unattended behaviors (or black swans ) Weaknesses Weak Oracle (crashes, freezes) Improving the Oracle is challenging R. McNally et. al., Fuzzing: The State of the Art: DSTO-TN-1043, DSTO Formal Reports, 2012 A. Vernotte et al. MBVT for Web Applications - SecTest 13 6 / 22

Existing DAST techniques (4) Model-Based Security Testing Strengths Efficient to address functional security properties Automation capacity Handle well application evolution Weaknesses Needed effort to provide models Needed effort to develop a concretization layer I. Schieferdecker, Model-Based Fuzz Testing, Invited talk of the 5 th IEEE Int. Conf. on Software Testing, Verification and Validation, 2012 A. Vernotte et al. MBVT for Web Applications - SecTest 13 7 / 22

Model-Based Vulnerability Testing (MBVT) MBVT: Vulnerability testing based on models and test patterns. Goal: Improve the accuracy and precision of vulnerability testing. Accuracy Capability to focus on the relevant part of the software (e.g. from a risk assessment point of view) depending on the targeted vulnerability types. Precision Capability to avoid both false positive and false negative. A. Vernotte et al. MBVT for Web Applications - SecTest 13 8 / 22

MBVT Overall Process This MBVT approach is composed of 4 activities: 1. Test purpose definition 2. Model design 3. Test generation 4. Concretization, test execution and verdict assignment A. Vernotte et al. MBVT for Web Applications - SecTest 13 9 / 22

Challenge: Multi-step XSS Discovery OWASP TOP 10 2013 A1 - Injection A2 - Broken A3 - Cross-Site A4 - Insecure Authentication Scripting (XSS) Direct Object and Session References Management A6 - Sensitive A7 - Missing A8 - Cross-Site A9 - Using Data Exposure Function Level Request Forgery Components Access Control (CSRF) with Known Vulnerabilities A5 - Security Misconfiguration A10 - Unvalidated Redirects and Forwards Multi-step XSS is a challenging vulnerability for automated tools 1. It requires knowledge from the targeted application. This MBVT approach deals with this class of vulnerability, by applying a Def/Use approach (All-def criterion). Experiments have been conducted on WackoPicko. 1 J Bau et. al., State of the Art: Automated Black-Box Web Application Vulnerability Testing, 2010. A. Vernotte et al. MBVT for Web Applications - SecTest 13 10 / 22

1 - Test Purpose Definition Vulnerability Test Patterns (vtp) are the entry-point of MBVT: Based on a study from the ITEA2 DIAMONDS project Express testing needs and procedure to highlight a breach The goal is to translate vtp into a machine-readable language. Reuse of the Smartesting Test Purpose Language 2 : Designed for security means Textual language based on regular expressions Reasons in term of states to be reach and operations to be called 2 J Botella et. al., MBT of Cryptographic Components, Lessons Learned from Experience, ICST 2013. A. Vernotte et al. MBVT for Web Applications - SecTest 13 11 / 22

Test Purpose for Multi-step XSS Translation from vtp to test purposes Name Multi-step XSS Description... Objective(s) Detect if an input can embed malicious datum enabling a Multi-step XSS attack. Prerequisites N/A Procedure Identify a sensible user input, inject the malicious datum <script>alert(rxss)</script>. Oracle Find the page where the input is rendered, and check if a message box rxss appears. Variant(s)... Known Issue(s)... Affiliated vtp Reflected XSS Reference(s)... A. Vernotte et al. MBVT for Web Applications - SecTest 13 12 / 22

2 - Model Design MBVT behavioral notation is based on UML4MBT 3. A generic class diagram depicts the structure of the SUT: pages, actions, and in/out data (following the def/use concept). MBVT also requires: Class Diagrams: defines the static aspect of the SUT Object Diagrams: defines the initial state of the SUT State Diagrams: defines the dynamic of the SUT 3 F Bouquet et. al., A subset of precise UML for model-based testing, 2007. A. Vernotte et al. MBVT for Web Applications - SecTest 13 13 / 22

Modeling: WackoPicko Example Class Diagram Statemachine A. Vernotte et al. MBVT for Web Applications - SecTest 13 14 / 22

3 - Test Generation Test cases are generated using Smartesting CertifyIt. Test generation process is driven by test purposes and models: Test generator unfolds test purposes Models give the path to follow in order to reach each stages of a given test purpose Result: A suite of abstract vulnerability test cases A. Vernotte et al. MBVT for Web Applications - SecTest 13 15 / 22

4 - Execution and Verdict Assignment Human Intervention during concretization: List of malicious vectors (xml file) Body of the SUT s operations (HTTP level, Browser level) Observation Technique for XSS: crawl the source page to see if the injected vector has been sanitized. Test terminology dedicated to Vulnerability Testing: Test verdict is OK Attack-pass: System is vulnerable Test verdict is KO Attack-fail: System is resistant A. Vernotte et al. MBVT for Web Applications - SecTest 13 16 / 22

Early Results on WackoPicko Experiment on Multi-Step XSS testing: 1 test purpose 2 abstract test cases: login input comment input 210 test executions: 105 variants retrieved from OWASP s XSS Cheat Sheet Results: All failed for login input 85 Successes / 20 fails for comment input Concordant with our manual experiments. 0 false positive, 0 false negative A. Vernotte et al. MBVT for Web Applications - SecTest 13 17 / 22

Early Results on a real application Application Under Test presentation: Virtual Learning Environment Highly used by french learning academies (> 90%) More than 15000 users Experiment on Multi-Step XSS testing: 1 test purpose 11 abstract test cases 1155 test executions: 105 variants retrieved from OWASP s XSS Cheat Sheet 16 steps per test case 8 steps between injection and observation Concordant with our manual experiments. 0 false positive, 0 false negative A. Vernotte et al. MBVT for Web Applications - SecTest 13 18 / 22

Discussion MBVT appears as an accurate and precise technique. It also has its limitations, inherited from MBT: Needed effort to provide Models Needed effort to design Adaptation Potential solutions: Use of a behavioral crawler to infer most parts of models Use of User traces to complement the results of the crawler Identify the reusability capacity of each artifact A. Vernotte et al. MBVT for Web Applications - SecTest 13 19 / 22

Discussion MBVT does not suit every vulnerability type. MBVT Scope based on OWASP TOP 10 2013: A1 - Injection Legend Done Doable Out of scope Under study A2 - Broken Authentication and Session Management A3 - Cross-Site Scripting (XSS) A4 - Insecure Direct Object References A5 - Security Misconfiguration A6 - Sensitive Data Exposure A7 - Missing Function Level Access Control A8 - Cross-Site Request Forgery (CSRF) A9 - Using Components with Known Vulnerabilities A10 - Unvalidated Redirects and Forwards A. Vernotte et al. MBVT for Web Applications - SecTest 13 20 / 22

Conclusion and Future Works MBVT is a novel technique for Dynamic Application Security Testing. Goal To improve the precision and accuracy of vulnerability testing. Limitations Needed effort to provide models and design adaptation layer. First Approach vtp into Test purposes Modeling of the SUT Test cases fed with a vectors battery Work in Progress Model inference, User traces, generic artefacts, test purposes extensions, real-life applications experiments. A. Vernotte et al. MBVT for Web Applications - SecTest 13 21 / 22

Thank you for your attention Source - http://model-based-testing.info A. Vernotte et al. MBVT for Web Applications - SecTest 13 22 / 22