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



Similar documents
An Introduction to Application Security in J2EE Environments

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

How to Build a Trusted Application. John Dickson, CISSP

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

Threat Modeling. Categorizing the nature and severity of system vulnerabilities. John B. Dickson, CISSP

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

Learning objectives for today s session

Using Sprajax to Test AJAX. OWASP AppSec Seattle Oct The OWASP Foundation

Adobe Systems Incorporated

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

Vulnerability Management in an Application Security World. AppSec DC November 12 th, The OWASP Foundation

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

05.0 Application Development

Where every interaction matters.

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

Passing PCI Compliance How to Address the Application Security Mandates

The purpose of this report is to educate our prospective clients about capabilities of Hackers Locked.

Web Application Security. Vulnerabilities, Weakness and Countermeasures. Massimo Cotelli CISSP. Secure

Magento Security and Vulnerabilities. Roman Stepanov

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

Application Code Development Standards

What is Web Security? Motivation

WEB SECURITY CONCERNS THAT WEB VULNERABILITY SCANNING CAN IDENTIFY

Creating Stronger, Safer, Web Facing Code. JPL IT Security Mary Rivera June 17, 2011

Check list for web developers

Application Security Testing

Agile and Secure: OWASP AppSec Seattle Oct The OWASP Foundation

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

Agile and Secure Can We Be Both? Chicago OWASP. June 20 th, 2007

Web Application Penetration Testing

OWASP Top Ten Tools and Tactics

ISSECO Syllabus Public Version v1.0

Using Free Tools To Test Web Application Security

Using Foundstone CookieDigger to Analyze Web Session Management

Penetration Testing Service. By Comsec Information Security Consulting

Columbia University Web Security Standards and Practices. Objective and Scope

Threat Modeling/ Security Testing. Tarun Banga, Adobe 1. Agenda

Strategic Information Security. Attacking and Defending Web Services

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

(WAPT) Web Application Penetration Testing

Don t Get Burned! Are you Leaving your Critical Applications Defenseless?

Java Web Application Security

Web Application Threats and Vulnerabilities Web Server Hacking and Web Application Vulnerability

Thick Client Application Security

The Top Web Application Attacks: Are you vulnerable?

Web Engineering Web Application Security Issues

FINAL DoIT v.8 APPLICATION SECURITY PROCEDURE

elearning for Secure Application Development

Effective Software Security Management

The Weakest Link: Mitigating Web Application Vulnerabilities. webscurity White Paper. webscurity Inc. Minneapolis, Minnesota USA

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

Web application security Executive brief Managing a growing threat: an executive s guide to Web application security.

How to start a software security initiative within your organization: a maturity based and metrics driven approach OWASP

Pentests more than just using the proper tools

Integrated Network Vulnerability Scanning & Penetration Testing SAINTcorporation.com

8070.S000 Application Security

Web application testing

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

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

Web Vulnerability Detection and Security Mechanism

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

Enterprise Application Security Program

External Supplier Control Requirements

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

Security Test s i t ng Eileen Donlon CMSC 737 Spring 2008

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

Web Application Security

Web application security: automated scanning versus manual penetration testing.

white SECURITY TESTING WHITE PAPER

Pentests more than just using the proper tools

Software Security Touchpoint: Architectural Risk Analysis

CSUSB Web Application Security Standard CSUSB, Information Security & Emerging Technologies Office

North Dakota 2013 IT Security Audit Vulnerability Assessment & Penetration Test Project Briefing

CSE598i - Web 2.0 Security OWASP Top 10: The Ten Most Critical Web Application Security Vulnerabilities

Threat Modeling. Frank Piessens ) KATHOLIEKE UNIVERSITEIT LEUVEN

OWASP and OWASP Top 10 (2007 Update) OWASP. The OWASP Foundation. Dave Wichers. The OWASP Foundation. OWASP Conferences Chair

Development Processes (Lecture outline)

Integrating Security Testing into Quality Control

Is Drupal secure? A high-level perspective on web vulnerabilities, Drupal s solutions, and how to maintain site security

DFW INTERNATIONAL AIRPORT STANDARD OPERATING PROCEDURE (SOP)

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

Top Ten Most Critical Web Application Security Vulnerabilities

Secure Web Application Coding Team Introductory Meeting December 1, :00 2:00PM Bits & Pieces Room, Sansom West Room 306 Agenda

Penetration Testing in Romania

Transcription:

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

Overview Background What is Application Security and Why Is It Important? Examples Where Do We Go From Here? Assess Critical Infrastructure Integrate Security Into the Software Development Lifecycle Questions 1

Background Denim Group San Antonio-based consultancy Custom software development Systems integration Application security Management Team Experience Large-scale software development Air Force information warfare Client service for DoD, Big 4, Fortune 500 Presenter: Dan Cornell Software developer (MCSD, Java 2 Certified Programmer) 2

What is Application Security and Why is it Important? Application Security Defined Fit with General Information Security Landscape Why Does Application Security Matter 3

Application Security Defined Ensuring that custom application code performs as expected under the entire range of possible inputs Goals: Confidentiality Integrity Availability Relationship to Software Quality Assurance Really a sub-area of SQA SQA typically verifies that software does what it is supposed to do Application security is concerned that software does not do what it should not do 4

Software Implementation Perfect World Actual Functionality Intended Functionality 5

Software Implementation Real World Actual Functionality Intended Functionality Built Features Bugs Unintended And Undocumented Functionality 6

Infrastructure Security Software Development: Features, functions and timelines Traditional Information Security: Audit, measure and maintain Application security applies information security principles to custom software development efforts Many traditional information security practitioners are ill-equipped to mitigate application security issues Little to no experience coding No experience coding in modern enterprise environments like.net and J2EE Understand that there are risks, but not in a position to address them 7

Why Does This Matter? Business-critical web applications are Internet-facing An increasing number of assets are exposed Most applications have serious flaws Foundstone and @Stake studies The regulatory environment has changed Sarbanes Oxley GLB California SB-1386 PCI 8

Types of Vulnerabilities Technical Vulnerabilities Surface due to insecure programming techniques Typically due to poor input handling and input validation Most scanner tools primarily find technical vulnerabilities Remediation: coding changes Logical Vulnerabilities Surface due to insecure program logic Typically due to poor decisions about trust Most scanner tools are powerless to find logical vulnerabilities Most scanner tools are powerless to find logical vulnerabilities Remediation: architecture and design changes 9

OWASP Top 10 Critical Web Application Security Vulnerabilities Unvalidated Input Broken Access Control Broken Authentication and Session Management Cross Site Scripting (XSS) Buffer Overflows Injection Flaws Improper Error Handling Insecure Storage Application Denial of Service Insecure Configuration Management (source: http://www.owasp.org/index.php/owasp_top_ten_project) 10

Examples Hidden parameter tampering Cookie manipulation SQL injection 11

Hidden Parameter Tampering Price information is stored in hidden HTML form field Assumption: hidden field won t be edited Attacker edits price parameter Attacker submits altered web page with new price Application trusts the price parameter from the user Still widespread in many web stores 12

The Attack 13

The Result 14

Cookie Manipulation Browser cookie is used to store user identity information Assumption: cookies are set by server side code, handled by the browser automatically and not manipulated by users Attacker alters cookie Application trusts the browser cookie and allows attacker to assume identity of another user 15

The Attack 16

The Attack 17

The Result 18

SQL Injection SQL statements are created from a combination of static text and user inputs Assumption: users will enter well-formed inputs Attacker crafts a custom input to hijack control of the SQL interpreter and execute arbitrary code Very common flaw with tremendous security implications 19

The Attack try { string username = request.getparameter( username ); string password = request.getparameter( password ); string ssql = SELECT * FROM User WHERE username = + username + AND password = + password + ; Statement stmt = con.createstatement(); ResultSet rs = stmt.executequery(ssql); } catch(exception ex) {} 20

The Attack Specially crafted input contains SQL control characters 21

The Attack Malicious user sends in a username parameter of: Dcornell ; DROP DATABASE Ecommerce; -- SQL Executed is: SELECT * FROM User WHERE username = Dcornell ; DROP DATABASE Ecommerce; -- AND password = whocares Attacker can execute arbitrary database queries with the same permissions as the application View sensitive data (Confidentiality breach) Modify data (Integrity breach) Destroy data (Integrity, Availability breach) 22

Where Do We Go From Here Assess critical infrastructure applications Integrate security into the software development lifecycle If you want to reliably produce secure applications, you must create a secure application development process Running a scanner at the end of the process is NOT a security program Limited scope of vulnerabilities detected Finding vulnerabilities late 23

Assess Critical Infrastructure Automated scanning tools Help find technical vulnerabilities Very poor (often powerless) to find design and architecture flaws Assessments and penetration tests to better evaluate the security state of applications Black box White box 24

Integrate Security Into the Lifecycle Train personnel on application security issues: Business analysts Architects Developers Quality assurance Integrate security into application requirements Threat modeling STRIDE: threat classification DREAD: vulnerability severity Secure coding Peer review Architecture Design Code Periodic penetration testing 25

Questions Dan Cornell dan@denimgroup.com John Dickson john@denimgroup.com Denim Group, Ltd. Web: www.denimgroup.com Blog: denimgroup.typepad.com 26