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



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

An Introduction to Application Security in J2EE Environments

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

An Introduction to Application Security In ASP.NET Environments. Houston.NET User Group. February 23 rd, 2006

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

How to Build a Trusted Application. John Dickson, CISSP

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

Adobe Systems Incorporated

What is Web Security? Motivation

Magento Security and Vulnerabilities. Roman Stepanov

Web Application Report

Testing the OWASP Top 10 Security Issues

3. Broken Account and Session Management. 4. Cross-Site Scripting (XSS) Flaws. Web browsers execute code sent from websites. Account Management

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

Using Free Tools To Test Web Application Security

Web Application Penetration Testing

WEB SECURITY CONCERNS THAT WEB VULNERABILITY SCANNING CAN IDENTIFY

Passing PCI Compliance How to Address the Application Security Mandates

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

Security Code Review- Identifying Web Vulnerabilities

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

Secure Code Development

The Top Web Application Attacks: Are you vulnerable?

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

Where every interaction matters.

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

THE HACKERS NEXT TARGET

Web Application Attacks and Countermeasures: Case Studies from Financial Systems

Rational AppScan & Ounce Products

Implementation of Web Application Security Solution using Open Source Gaurav Gupta 1, B. K. Murthy 2, P. N. Barwal 3

Columbia University Web Security Standards and Practices. Objective and Scope

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

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

Web Engineering Web Application Security Issues

Web Application Remediation. OWASP San Antonio. March 28 th, 2007

Web Application Security

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

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

External Network & Web Application Assessment. For The XXX Group LLC October 2012

Integrated Network Vulnerability Scanning & Penetration Testing SAINTcorporation.com

The monsters under the bed are real World Tour

New IBM Security Scanning Software Protects Businesses From Hackers

Vulnerability Management in an Application Security World. January 29 th, 2009

Last update: February 23, 2004

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

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

Data Breaches and Web Servers: The Giant Sucking Sound

Why Web Applications are making a hackers life easy. Presented by Jon Grew BT SBS

WEB APPLICATION SECURITY

OWASP Top Ten Tools and Tactics

Web App Security Audit Services

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

SAST, DAST and Vulnerability Assessments, = 4

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

Annex B - Content Management System (CMS) Qualifying Procedure

Web Applications The Hacker s New Target

Application Code Development Standards

Learning objectives for today s session

Java Web Application Security

Check list for web developers

Integrating Security Testing into Quality Control

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

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

DISA's Application Security and Development STIG: How OWASP Can Help You. AppSec DC November 12, The OWASP Foundation

Conducting Web Application Pentests. From Scoping to Report For Education Purposes Only

Standard: Web Application Development

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

elearning for Secure Application Development

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

Web Application Security

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

Ethical Hacking as a Professional Penetration Testing Technique

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

Application Security Testing. Generic Test Strategy

Web Application Vulnerabilities and Avoiding Application Exposure

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

Web Application Security

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

KEN VAN WYK. Fundamentals of Secure Coding and how to break Software MARCH 19-23, 2007 RESIDENZA DI RIPETTA - VIA DI RIPETTA, 231 ROME (ITALY)

Using Foundstone CookieDigger to Analyze Web Session Management

Web Application Security

FINAL DoIT v.8 APPLICATION SECURITY PROCEDURE

Visa U.S.A Cardholder Information Security Program (CISP) Payment Application Best Practices

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

Detecting SQL Injection Vulnerabilities in Web Services

Simon Fraser University. Web Security. Dr. Abhijit Sen CMPT 470

Penetration Testing Service. By Comsec Information Security Consulting

Using Web Security Scanners to Detect Vulnerabilities in Web Services

(WAPT) Web Application Penetration Testing

Columbia University Web Application Security Standards and Practices. Objective and Scope

Web Application Security How to Minimize Prevalent Risk of Attacks

Still Aren't Doing. Frank Kim

Sample Report. Security Test Plan. Prepared by Security Innovation

90% of data breaches are caused by software vulnerabilities.

Application security testing: Protecting your application and data

Pentests more than just using the proper tools

Software Security Touchpoint: Architectural Risk Analysis

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

Network Security Audit. Vulnerability Assessment (VA)

Enterprise Application Security Program

Transcription:

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

Overview Background What is Application Security and Why is It Important? Specific Reference Examples Integrating Security into a Traditional Development Process Observations

Background Denim Group is a San Antonio based software development firm specializing in: Custom software development Business systems integration Application-level security J2EE and.net environments Management team has breadth of experience working in and servicing: Air Force information warfare DoD software development Big 4 consulting experience Fortune 500 to SMB

What is Application Security? Ensuring that custom application code performs as expected under the entire range of possible inputs Software development focus Traditional InfoSec focuses at the TCP/IP layer Many traditional InfoSec practitioners are ill-equipped to work in the application security space

Cultural Differences Traditional InfoSec tends to have a measure culture Determine what is in place Audit configurations Application development tends to have a build culture Create something that did not exist before Project-based deadline environment Certainly the case for custom software development; also largely the case for systems integration work

Why Does AppSec Matter? Business critical web apps are Internet-facing New laws and regulations govern how data is stored and made available HIPAA Sarbanes Oxley GLB 70+% of applications have serious design or coding flaws Studies performed by @Stake and Foundstone

Top 10 Critical Web App Vulnerabilities Unvalidated Parameters Broken Access Controls Broken Account and Session Management Cross-site Scripting Flaws Buffer Overflows Command Injection Flaws Error Handling Problems Insecure Use of Cryptography Remote Administration Flaws Web and Application Server Misconfiguration ** The Open Web Application Security Project www.owasp.org

Example Vulnerabilities Hidden HTML Field Manipulation Cookie Poisoning SQL Injection

Hidden HTML Field Manipulation Price information is stored in hidden HTML field with assigned $ value Assumption: hidden field won t be edited Attacker edits $ value of product in HTML Attacker submits altered web page with new price Still widespread in many web stores

Price Changes via Hidden HTML tags

Price Changes via Hidden HTML tags

Cookie Poisoning Browser cookie is used to store user identity information Assumption: cookies are set by server side code and not manipulated by users Attacker changes cookie and impersonates another user

Cookie Poisoning

Cookie Poisoning

Cookie Poisoning

Cookie Poisoning

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

An Example: Insecure Design/Code 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) {}

Possible Exploit Specially crafted input contains SQL control characters

Possible Exploit 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 Cracker breaks into database and has cleartext access to usernames and passwords, which may be reused on other sites Malicious user finds a way to cause an error condition and exploits the unexpected behavior in some manner

An Example: More Secure Design/Code try { string username = request.getparameter( username ); string password = request.getparameter( password ); string passwordhash = MD5.hash(password); PreparedStatement stmt = con.preparestatement( SELECT * FROM User WHERE username =? AND passwordhash =?); stmt.setstring(1, username); stmt.setstring(2, passwordhash); ResultSet rs = stmt.executequery(); } catch(sqlexception sqlex) { // Actually handle error condition ]

What to Do? To build better/more secure software, build a better software development process Security bugs are 100x more expensive to fix in deployment versus in design IBM Systems Sciences Institute

Traditional Development SDLC Requirements Architecture/Design Coding Integration Testing Deployment Maintenance Maintenance Requirements Deployment Architecture/Design Integration Testing Coding

Requirements Make security requirements explicit Sometimes difficult to state positively Are simultaneous logins allowed for the same account? What data should not be cached in a user s browser? Perform threat modeling when doing use case analysis

Architecture/Design Centralizing security-critical functions into subsystems can make auditing and verification easier User input validation Data store access Explicitly define which messages between subsystems are trusted and which are not What facilities in the operating system can be used to implement security requirements? Evaluate the use of cryptography to protect data in case of a system compromise Defense in depth

Development Often secure coding issues and quality coding issues overlap Verifying user inputs Proper error handling Perform code reviews with security in mind Reference the threat models developed during use case analysis Integrate verification of security measures into unit testing

Integration Testing Use automated application scanners to test major functional areas of applications Do not let this be the only effort made to develop the application securely Application penetration testing Be evil. Try to break the application.

Deployment Use automated server and application scanners to verify deployment servers are correctly secured Web servers Application servers Application configuration This is the phase that has the greatest cross-over with traditional InfoSec

Maintenance Periodic reviews New exploits and tests are added to automated scanners How often do you need to re-certify applications? Depends on scope of changes and experience of team doing maintenance Integrate security impact reviews into normal change management procedures Analyze configuration management procedures for security implications Attacks on configuration management infrastructure Management of files in production environments

Observations Organizations need to focus on application level security in an increasingly webenabled world Integrating application security into the SDLC will produce better, more consistent results Increased coordination between info security and development groups a must

Potential Areas of Assistance Application security assessments Black box and white box testing Secure application development Paired/mentored development Outsourced security QA Secure development training