A Framework for Automated Web Application Security Evaluation

Slides:



Advertisements
Similar presentations
Webgoat.
Advertisements

Cryptography and Network Security 2 nd Edition by William Stallings Note: Lecture slides by Lawrie Brown and Henric Johnson, Modified by Andrew Yang.
Ossi Taipale, Lappeenranta University of Technology
© Blackboard, Inc. All rights reserved. Developing Secure Software Bob Alcorn, Blackboard Inc.
Creating Stronger, Safer, Web Facing Code JPL IT Security Mary Rivera June 17, 2011.
Abhinn Kothari, 2009CS10172 Parth Jaiswal 2009CS10205 Group: 3 Supervisor : Huzur Saran.
1 Cryptography and Network Security Third Edition by William Stallings Lecturer: Dr. Saleem Al_Zoubi.
Application Security: What Does it Take to Build and Test a “Trusted” App? John Dickson, CISSP Denim Group.
Information Networking Security and Assurance Lab National Chung Cheng University The Ten Most Critical Web Application Security Vulnerabilities Ryan J.W.
Information Networking Security and Assurance Lab National Chung Cheng University 1 Top Vulnerabilities in Web Applications (I) Unvalidated Input:  Information.
Security+ Guide to Network Security Fundamentals, Third Edition Chapter 9 Performing Vulnerability Assessments.
Security Engineering II. Problem Sources 1.Requirements definitions, omissions, and mistakes 2.System design flaws 3.Hardware implementation flaws, such.
Leveraging User Interactions for In-Depth Testing of Web Applications Sean McAllister, Engin Kirda, and Christopher Kruegel RAID ’08 1 Seoyeon Kang November.
Cryptography and Network Security Chapter 1. Chapter 1 – Introduction The art of war teaches us to rely not on the likelihood of the enemy's not coming,
Cryptography and Network Security Third Edition by William Stallings Lecture slides by Lawrie Brown.
Risk Management.
“Today over 70% of attacks against a company’s network come at the ‘Application Layer’ not the Network or System layer.” - Gartner Is Your Web Application.
BUILDING A SECURE STANDARD LIBRARY Information Assurance Project I MN Tajuddin hj. Tappe Supervisor Mdm. Rasimah Che Mohd Yusoff ASP.NET TECHNOLOGY.
This is a work of the U.S. Government and is not subject to copyright protection in the United States. The OWASP Foundation OWASP AppSec DC October 2005.
Software Security Course Course Outline Course Overview Introduction to Software Security Common Attacks and Vulnerabilities Overview of Security.
Presenter Deddie Tjahjono.  Introduction  Website Application Layer  Why Web Application Security  Web Apps Security Scanner  About  Feature  How.
Test Design Techniques
By: Razieh Rezaei Saleh.  Security Evaluation The examination of a system to determine its degree of compliance with a stated security model, security.
Software Dependability CIS 376 Bruce R. Maxim UM-Dearborn.
W3af LUCA ALEXANDRA ADELA – MISS 1. w3af  Web Application Attack and Audit Framework  Secures web applications by finding and exploiting web application.
1 Security Risk Analysis of Computer Networks: Techniques and Challenges Anoop Singhal Computer Security Division National Institute of Standards and Technology.
Dr. Pedro Mejia Alvarez Software Testing Slide 1 Software Testing: Building Test Cases.
SEC835 Database and Web application security Information Security Architecture.
Dr. Lo’ai Tawalbeh 2007 INCS 741: Cryptography Chapter 1:Introduction Dr. Lo’ai Tawalbeh New York Institute of Technology (NYIT) Jordan’s Campus
Testing Tools. Categories of testing tools Black box testing, or functional testing Testing performed via GUI. The tool helps in emulating end-user actions.
CSCE 548 Secure Software Development Risk-Based Security Testing.
Approaches to Application Security – DSM
Cryptography and Network Security
Eng. Wafaa Kanakri Second Semester 1435 CRYPTOGRAPHY & NETWORK SECURITY Chapter 1:Introduction Eng. Wafaa Kanakri UMM AL-QURA UNIVERSITY
A Security Review Process for Existing Software Applications
Introduction Telerik Software Academy Software Quality Assurance.
Application Security
Copyright 2007 © The OWASP Foundation Permission is granted to copy, distribute and/or modify this document under the terms of the OWASP License. The OWASP.
Web Application Security Testing Automation.. Copyright © 2008 Deloitte Touche Tohmatsu. All rights reserved.1 What types of automated testing are there?
Copyright © The OWASP Foundation Permission is granted to copy, distribute and/or modify this document under the terms of the OWASP License. The OWASP.
nd Joint Workshop between Security Research Labs in JAPAN and KOREA Profile-based Web Application Security System Kyungtae Kim High Performance.
Current and Future Applications of the Generic Statistical Business Process Model at Statistics Canada Laurie Reedman and Claude Julien May 5, 2010.
1 Vulnerability Assessment of Grid Software James A. Kupsch Computer Sciences Department University of Wisconsin Condor Week 2007 May 2, 2007.
An Ad Hoc Writable Rule Language for White-Box Security Scanners Author:Sebastian Schinzel Referent:Prof. Dr. Alexander del Pino Korreferent:Prof. Dr.
Engineering Essential Characteristics Security Engineering Process Overview.
1 ITGD 2202 Supervision:- Assistant Professor Dr. Sana’a Wafa Al-Sayegh Dr. Sana’a Wafa Al-SayeghStudent: Anwaar Ahmed Abu-AlQumboz.
Copyright © The OWASP Foundation Permission is granted to copy, distribute and/or modify this document under the terms of the OWASP License. The OWASP.
nd Joint Workshop between Security Research Labs in JAPAN and KOREA Marking Scheme for Semantic- aware Web Application Security HPC.
Topic 1 – Introduction Huiqun Yu Information Security Principles & Applications.
MANUAL TESTING KS SESSION PRESENTED BY 26/11/015 VISHAL KUMAR.
CSCE 201 Secure Software Development Best Practices.
OWASP Building Secure Web Applications And the OWASP top 10 vulnerabilities.
Copyright © The OWASP Foundation Permission is granted to copy, distribute and/or modify this document under the terms of the OWASP License. The OWASP.
Web Application (In)security Note: Unless noted differently, all scanned figures were from the textbook, Stuttard & Pinto, 2011.
Cryptography and Network Security Chapter 1. Background  Information Security requirements have changed in recent times  traditionally provided by physical.
1 Network Security Maaz bin ahmad.. 2 Outline Attacks, services and mechanisms Security attacks Security services Security Mechanisms A model for Internetwork.
Smashing WebGoat for Fun and Research: Static Code Scanner Evaluation Josh Windsor & Dr. Josh Pauli.
Tool Support for Testing
SOFTWARE TESTING Date: 29-Dec-2016 By: Ram Karthick.
CSCE 548 Secure Software Development Risk-Based Security Testing
Security Testing Methods
^ About the.
A Security Review Process for Existing Software Applications
Marking Scheme for Semantic-aware Web Application Security
Risk Assessment = Risky Business
IBM GTS Storage Security and Compliance overview.
OWASP Application Security Verification Standard
Exploring DOM-Based Cross Site Attacks
OWASP Application Security Verification Standard
OWASP Application Security Verification Standard
Presentation transcript:

A Framework for Automated Web Application Security Evaluation Razieh Rezaei Saleh Supervisor: Dr. Mohsen Kahani

A Framework for Automated Web Application Security Evaluation This framework: Tests a web application from the viewpoint of security issues. Uses the result of security test is for security evaluation of web application Optimizes security metric for automated security evaluation. Gives a security level to the web application.

Security Evaluation Is the process of determining how much a system is secure. Security evaluation needs information gathered from human and testing tools. First step in security evaluation is security testing.

Security Testing The Process to determine that an IS (Information System) protects data and maintains functionality as intended. The six basic security concepts that need to be covered by security testing are: Confidentiality Integrity Authentication Authorization Availability non-repudiation

Why Web Applications? Because of globalization of web and being of internet as the major tool for international information exchange, security of web application is becoming more and more important. Web applications are very much vulnerable to DOS attacks or security and access compromise. Automated testing tools are vital because of growth in web application’s extension and complication.

Types of security test There are two types for security test: Static: Analyzes the source code for security defects Known as white box security test Needs source code Dynamic: Elicits vulnerabilities by sending malicious requests, and investigating replies When source code is not available Tester looks at the application from the attacker’s perspective Analyzes only applications deployed in test or production environments

Security testing tools There is eight security tool categories: source code analyzers, web application (black-box) scanners, database scanners, binary analysis tools, runtime analysis tools, configuration management tools, HTTP proxies, miscellaneous tools.

Web Application (black-box) Scanners

Automated security testing tool In an automated security test, there are three fundamental steps: Discovering new URLs and forms by crawling Creating test script with crafted data Sending malicious request to the web application Analyzing response to detecting vulnerabilities Exploit vulnerabilities

Security evaluation Is the process of determining how much a system is secure. Security evaluation needs information gathered from human and testing tools. For evaluation we need security metrics and measures.

Related works Web application security consortium: Threat Classification (WACS TC) Web Application Security Statistics Project (WASSP) A Metrics Framework to Drive Application Security Improvement Common Vulnerability Scoring System (CVSS) ISO/IEC 15408: Evaluation criteria for IT security ISO/IEC 18045: Methodology for IT security evaluation

Threat Classification Identify all known web application security classes of attack. Agree on naming for each class of attack. Develop a structured manner to organize the classes of attack. Develop documentation that provides generic descriptions of each class of attack. Web Application Security Consortium: Threat Classification, version 1.00

Threat Classification Six security classes of attack: Authentication Authorization Client-side Attacks Command Execution Information Disclosure Logical Attacks Web Application Security Consortium: Threat Classification, version 1.00

Web Application Security Statistics Project Identify the prevalence and probability of different vulnerability classes Compare testing methodologies against that types of vulnerabilities they are likely to identify. The statistics includes two different data sets: automated testing results security assessment results made using black and white box methodology Web Application Security Consortium: Web Application Security Statistics Project, 2007

Web Application Security Statistics Project Consequently 3 data sets were obtained: 1. Overall statistics 2. Automated scanning statistics 3. Black and white box methods security assessment statistics Web Application Security Consortium: Web Application Security Statistics Project, 2007

Web Application Security Statistics Project The probability distribution of vulnerabilities detection according to WASC TCv1 classes (BlackBox & WhiteBox)

Web Application Security Statistics Project The probability distribution of vulnerabilities detection according to WASC TCv1 classes

A Metrics Framework to Drive Application Security Improvement Break an application’s lifecycle into three main phases: design, deployment, runtime. Organize metrics according to life cycle in addition to OWASP type Nichols, E.A., Peterson, G., A Metrics Framework to Drive Application Security Improvement, IEEE Symp. Security and Privacy, Volume 5, Issue 2, March-April 2007

OWASP Top Ten Vulnerabilities OWASP Most serious web application vulnerabilities: Unvalidated input Broken access control Broken authentication and session management Cross-site scripting Buffer overflow Injection flaws Improper error handling Insecure storage Application denial of service Insecure configuration management Open Web Application Security Project (OWASP)- The ten most critical web application security vulnerabilities,2007

Common Vulnerability Scoring System (CVSS) The Common Vulnerability Scoring System (CVSS) is an open framework that offers the following benefits: Standardized Vulnerability Scores Open Framework Prioritized Risk Common Vulnerability Scoring System, Version 2.0, June 2007

Common Vulnerability Scoring System (CVSS) CVSS is composed of three metric groups: Base, Temporal, and Environmental, each consisting of a set of metrics. Represents the characteristics of a vulnerability that are relevant and unique to a particular user’s environment. Represents the intrinsic and fundamental characteristics of a vulnerability that are constant over time and user environments. Represents the characteristics of a vulnerability that change over time but not among user environments.

Common Vulnerability Scoring System (CVSS) When the base metrics are assigned values, the base equation calculates a score ranging from 0 to 10

ISO/IEC 15408: Evaluation criteria for IT security This standard consists of the following parts: Part 1: Introduction and general model Part 2: Security functional requirements Part 3: Security assurance requirements It contains criteria for evaluation of security requirements. ISO/IEC 15408-1, Information technology — Security techniques — Evaluation criteria for IT security — Part 1,2,3, Second edition, 2005-10-01

ISO/IEC 15408: Evaluation criteria for IT security Provides a common set of requirements for the security functions of IT products and systems and for assurance measures applied to them during a security evaluation. Defines classes of requirement and dependencies between them. ISO/IEC 15408-1, Information technology — Security techniques — Evaluation criteria for IT security — Part 1,2,3, Second edition, 2005-10-01

ISO/IEC 18045: Methodology for IT security evaluation Defines methodology for IT security evaluation based on Evaluation Assurance Level(EAL) defined in ISO/IEC 15408. This International Standard recognizes three mutually exclusive verdict states: Conditions for a pass verdict Conditions for an inconclusive verdict Conditions for a fail verdict ISO/IEC 18045, Information technology — Security techniques — Methodology for IT security evaluation, Second edition 2008-08-15

My framework Performs security test of web application under test automatically. Uses automatic scanners for testing. Uses the result of security test is for security evaluation of web application Optimizes security metric for automated security evaluation. Gives a security level to the web application.

Framework Architecture Agent based architecture is selected for distributing tasks between agents. Result analyzer agent, gets the total results, analyze it and assess security level of web application Test Runtime Environment Agent is the central part of architecture. It is responsible for managing and coordinating other agents Test Executer Agent, gets the executable script and runs it. Then returns the results to TREA. Test Script Generator Agent, crawls the web application under test. Generates test Script for every injection point. Test code Generator agent, develops and compiles the test scripts.

Evaluation … After performing security test, results are used for evaluating. The steps of evaluating is as follows: Study web application characteristics. Study previous works for choosing or adapting metrics.

Evaluation ... Metrics must have two characteristics: Be relevant to the security of web applications Be measurable with the results of testing. Determine how to measure selected metrics Assign weights to these metrics based on published statistical results and experts' viewpoint Specify number of security levels

Evaluation Give a definition for each security level and specify security requirements of each level Specify the set of metrics relevant to each level and the required range of them. Assign a security level to the system under test.

Thanks for your attention.