APPLICATION PENETRATION TESTING Author: Herbert H. Thompson Presentation by: Nancy Cohen.

Slides:



Advertisements
Similar presentations
© Blackboard, Inc. All rights reserved. Developing Secure Software Bob Alcorn, Blackboard Inc.
Advertisements

Engineering Secure Software. Uses of Risk Thus Far  Start with the functionality Use cases  abuse/misuse cases p(exploit), p(vulnerability)  Start.
Using Your Knowledge – Security Threats
Taxonomy of Computer Security Incidents Yashodhan Fadnavis.
Lecture 1: Overview modified from slides of Lawrie Brown.
INDEX  Ethical Hacking Terminology.  What is Ethical hacking?  Who are Ethical hacker?  How many types of hackers?  White Hats (Ethical hackers)
Barracuda Web Application Firewall
Software Security Threats Threats have been an issue since computers began to be used widely by the general public.
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.
Assessing the Threat How much money is lost due to cyber crimes? –Estimates range from $100 million to $100s billions –Why the discrepancy? Companies don’t.
Operating System Security Chapter 9. Operating System Security Terms and Concepts An operating system manages and controls access to hardware components.
Software Security Course Course Outline Course Overview Introduction to Software Security Common Attacks and Vulnerabilities Overview of Security.
Security Architecture Dr. Gabriel. Security Database security: –degree to which data is fully protected from tampering or unauthorized acts –Full understanding.
Web Application Security
Threat Modeling for Cloud Computing (some slides are borrowed from Dr. Ragib Hasan) Keke Chen 1.
Security.NET Chapter 1. How Do Attacks Occur? Stages of attack Examples of attacker actions 1. FootprintRuns a port scan on the firewall 2. PenetrationExploits.
Architecting secure software systems
Security Security is a measure of the system’s ability to protect data and information from unauthorized access while still providing access to people.
Lecture 10 Intrusion Detection modified from slides of Lawrie Brown.
A Security Review Process for Existing Software Applications
Security Architecture
CSE 403 Lecture 14 Safety and Security Requirements.
Software Security Testing Vinay Srinivasan cell:
OSI and TCP/IP Models And Some Vulnerabilities AfNOG th May 2011 – 10 th June 2011 Tanzania By Marcus K. G. Adomey.
Operating System Security. OS manages and controls access to hardware components Older OSs focused on ensuring data confidentiality Modern operating systems.
FIREWALLS Vivek Srinivasan. Contents Introduction Need for firewalls Different types of firewalls Conclusion.
SEC835 Practical aspects of security implementation Part 1.
1.2 Security. Computer security is a branch of technology known as information security, it is applied to computers and networks. It is used to protect.
Top Five Web Application Vulnerabilities Vebjørn Moen Selmersenteret/NoWires.org Norsk Kryptoseminar Trondheim
Chapter 1 Overview The NIST Computer Security Handbook defines the term Computer Security as:
1 ITGD 2202 Supervision:- Assistant Professor Dr. Sana’a Wafa Al-Sayegh Dr. Sana’a Wafa Al-SayeghStudent: Anwaar Ahmed Abu-AlQumboz.
Database Security and Auditing: Protecting Data Integrity and Accessibility Chapter 1 Security Architecture.
Building Secure Web Applications With ASP.Net MVC.
Lecture slides prepared for “Computer Security: Principles and Practice”, 3/e, by William Stallings and Lawrie Brown, Chapter 1 “Overview”. © 2016 Pearson.
Module 11: Designing Security for Network Perimeters.
IT Security. What is Information Security? Information security describes efforts to protect computer and non computer equipment, facilities, data, and.
Practical Threat Modeling for Software Architects & System Developers
Database Security Cmpe 226 Fall 2015 By Akanksha Jain Jerry Mengyuan Zheng.
Database Security and Auditing: Protecting Data Integrity and Accessibility Chapter 1 Security Architecture.
Module 2: Designing Network Security
The Digital Crime Scene: A Software Perspective Written By: David Aucsmith Presented By: Maria Baron.
Computer Security By Duncan Hall.
14.1 Silberschatz, Galvin and Gagne ©2009 Operating System Concepts with Java – 8 th Edition Protection.
Chapter 23: Vulnerability Analysis Dr. Wayne Summers Department of Computer Science Columbus State University
INTRODUCTION TO COMPUTER & NETWORK SECURITY INSTRUCTOR: DANIA ALOMAR.
Computer Science, Software Engineering & Robotics Workshop, FGCU, April 27-28, 2012 RFID Security Nicholas Alteen Computer Science Program Florida Gulf.
C OMPUTER THREATS, ATTACKS AND ASSETS DONE BY NISHANT NARVEKAR TE COMP
Module 7: Designing Security for Accounts and Services.
Engineering Secure Software. A Ubiquitous Concern  You can make a security mistake at every step of the development lifecycle  Requirements that allow.
Vulnerability Analysis Dr. X. Computer system Design Implementation Maintenance Operation.
CS457 Introduction to Information Security Systems
Threat Modeling for Cloud Computing
Securing Network Servers
Brad Glisson and Ray Welland Department of Computing Science
Operating System Security
Web Application Protection Against Hackers and Vulnerabilities
Threat Modeling - An Overview All Your Data is Mine
Security Testing Methods
Secure Software Confidentiality Integrity Data Security Authentication
Evaluating Existing Systems
Evaluating Existing Systems
A Security Review Process for Existing Software Applications
Chapter 23: Vulnerability Analysis
WWW安全 國立暨南國際大學 資訊管理學系 陳彥錚.
Copyright Gupta Consulting, LLC.
Intrusion.
Engineering Secure Software
Presentation transcript:

APPLICATION PENETRATION TESTING Author: Herbert H. Thompson Presentation by: Nancy Cohen

Overview What is penetration testing Why do penetration testing Examples of penetration tests Components of software security testing Conclusion Questions

What is Penetration Testing? Software testing that is specifically designed to hunt down security vulnerabilities In computer software, a security vulnerability is a software bug that can be used to violate security.

Why Do Penetration Testing? Software can be correct without being secure  Software can perform every specified action flawlessly and still be exploited by a malicious user  Security bugs are typically hidden in nature Companies need to protect information and business assets against hacking and data theft

Approaches for Penetration Testing Outsider with zero knowledge Insider with limited knowledge – valid account with restrictive privileges Insider with full knowledge – administrator account

Examples of Penetration Tests Parameter tampering Known vulnerabilities Brute force Session hijacking Information gathering

Creating a Security Testing Project Threat Models Test plan Test cases Problem reports Postmortem

*Threat Modeling A way of categorizing and analyzing the threats to an application What information will a threat model help to provide?  Which assets need protection  What threats is the application vulnerable to  How important or how likely is each threat  How can the threats be mitigated

STRIDE - Model of Threat Categories Spoofing identity - Illegal use of another person's authentication information, such as a user name or password. Tampering with data - malicious modification of data Repudiation - Users deny performing an action Information Disclosure - exposure of information to unauthorized individuals Denial of Service - explicit attempt to prevent legitimate users from using a service or system. Elevation of Privilege - an unprivileged user gains privileged access

Partial Threat Tree

*Build a Test Plan Includes high level overview of test cases Identifies components to be tested States how exploratory testing will be done  Test design and test execution at the same time Plan must also address  Logistics  Deliverables  Test cases and tools

*Execute Test Cases Dependency testing User interface testing Design testing Implementation testing

Dependency Testing Dependency testing exposes insecurities related to external resources  File systems  Registry  External libraries Types of insecurities that can arise  Denying the application access  Tampering with and corrupting data

User Interface Testing Parameter tampering testing  Changing the data within a parameter sent from one Web page to another Command injection testing  Manipulating input data sent to a Web server Buffer overflow testing  Data sent as input to the server that overflows the boundaries of the input area

Design Testing Helps to identify design errors  Unsecured ports  Default accounts

Implementation Testing TOCTOU – time-of-check-to-time-of-use  A time gaps exists between when an application checks security on a particular function or piece of data and when that privilege is exercised

*The Problem Report Must include  Reproduction steps List the steps that another tester/developer must follow to reproduce the failure  Severity What is the potential result of the failure  Exploit scenarios The specific sequence of things an attacker can do to take advantage of a security flaw and the consequences of doing so

*Postmortems Includes a discussion by the testing team of the bugs found Identifies improvements to the testing process so that bugs are found sooner in future security testing Performed after a project is complete Performed periodically for released products when bugs are uncovered in the field

Conclusion Functional software testing is not enough Security testing must be included in the software development process. Software quality and software security are intertwined - you can't have one without the other.

Questions