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



Similar documents
Web Application Security

What is Web Security? Motivation

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

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

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

Top Ten Web Application Vulnerabilities in J2EE. Vincent Partington and Eelco Klaver Xebia

Web application security

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

Passing PCI Compliance How to Address the Application Security Mandates

Web Engineering Web Application Security Issues

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

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

ArcGIS Server Security Threats & Best Practices David Cordes Michael Young

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

Chapter 7. Web Application Firewall

OWASP Web Application Penetration Checklist. Version 1.1

Web Application Vulnerability Testing with Nessus

WEB SECURITY CONCERNS THAT WEB VULNERABILITY SCANNING CAN IDENTIFY

Where every interaction matters.

Java Web Application Security

Members of the UK cyber security forum. Soteria Health Check. A Cyber Security Health Check for SAP systems

elearning for Secure Application Development

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

Web Application Security Assessment and Vulnerability Mitigation Tests

Sitefinity Security and Best Practices

The Top Web Application Attacks: Are you vulnerable?

(WAPT) Web Application Penetration Testing

OWASP Top Ten Tools and Tactics

Magento Security and Vulnerabilities. Roman Stepanov

Last update: February 23, 2004

FINAL DoIT v.8 APPLICATION SECURITY PROCEDURE

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

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

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

Development. Resilient Software. Secure and. Mark S. Merkow Lakshmikanth Raghavan. CRC Press. Taylor& Francis Croup. Taylor St Francis Group,

Web Application Security Considerations

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

Application Security Testing. Erez Metula (CISSP), Founder Application Security Expert

Using Foundstone CookieDigger to Analyze Web Session Management

Barracuda Web Site Firewall Ensures PCI DSS Compliance

Application security testing: Protecting your application and data

Criteria for web application security check. Version

Top 10 Web Application Security Vulnerabilities - with focus on PHP

Web App Security Audit Services

Web Application Report

Nuclear Regulatory Commission Computer Security Office Computer Security Standard

Integrated Network Vulnerability Scanning & Penetration Testing SAINTcorporation.com

Attack and Penetration Testing 101

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

Essential IT Security Testing

Adobe Systems Incorporated

External Vulnerability Assessment. -Technical Summary- ABC ORGANIZATION

Application Security Vulnerabilities, Mitigation, and Consequences

Data Breaches and Web Servers: The Giant Sucking Sound

Using Nessus In Web Application Vulnerability Assessments

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

Web Application Attacks and Countermeasures: Case Studies from Financial Systems

Web Application Security

Check list for web developers

Using Free Tools To Test Web Application Security

Web Application Penetration Testing

Cloud Security:Threats & Mitgations

THE SMARTEST WAY TO PROTECT WEBSITES AND WEB APPS FROM ATTACKS

Rational AppScan & Ounce Products

Thick Client Application Security

An Introduction to Application Security in J2EE Environments

MANAGED SECURITY TESTING

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

WEB APPLICATION SECURITY

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

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

Common Security Vulnerabilities in Online Payment Systems

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

JOOMLA SECURITY. ireland website design. by Oliver Hummel. ADDRESS Unit 12D, Six Cross Roads Business Park, Waterford City

Advanced Web Technology 10) XSS, CSRF and SQL Injection 2

1. Introduction. 2. Web Application. 3. Components. 4. Common Vulnerabilities. 5. Improving security in Web applications

Information Technology Policy

White Paper BMC Remedy Action Request System Security

OWASP AND APPLICATION SECURITY

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

Sichere Software- Entwicklung für Java Entwickler

Introduction:... 1 Security in SDLC:... 2 Penetration Testing Methodology: Case Study... 3

Chapter 4 Application, Data and Host Security

Chapter 1 Web Application (In)security 1

Designing and Coding Secure Systems

Security in Network-Based Applications. ITIS 4166/5166 Network Based Application Development. Network Security. Agenda. References

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

Guidelines for Website Security and Security Counter Measures for e-e Governance Project

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

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

Testing the OWASP Top 10 Security Issues

MIGRATIONWIZ SECURITY OVERVIEW

Web Application Guidelines

Web Application Security

Secure Web Application Coding Team February 23, :00 2:00PM Bits & Pieces Room, Sansom West Room 306 Agenda

Application Security Policy

Transcription:

What is an? s Ten Most Critical Web Application Security Vulnerabilities Anthony LAI, CISSP, CISA Chapter Leader (Hong Kong) anthonylai@owasp.org Open Web Application Security Project http://www.owasp.org Open group focused on understanding and improving the security of web applications and web services! Hundreds of volunteer experts from around the world Copyright 2004 - The Foundation Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License. http://aspectsecurity.com/topten Top Ten Project Raise awareness with a simple message Lead by Aspect Security aspect The Foundation http://www.owasp.org Go download The Guide right now! Introduction of (Hong Kong Chapter) About us http://www.owasp.org/local/hongkong.ht ml Aim to promote security awareness in application development to professionals and quality of the deployed systems. Platform/Technology-neutral party With reference to global security best practice Committee comprises with various areas of professionals including project manager, security professionals, system architect in various platforms. Meanwhile, we have strong enterprise system development, security consulting and management experience. Our supporting parties are What is Web Application Security? Not Network Security Securing the custom code that drives a web application Securing libraries Securing backend systems Securing web and application servers Network Security Mostly Ignores the Contents of HTTP Traffic Firewalls, SSL, Intrusion Detection Systems, Operating System Hardening, Database Hardening

Network Layer Application Layer Your Code is Part of Your Security Perimeter APPLICATION ATTACK Firewall Your security perimeter has huge holes at the application layer Custom Developed Application Code App Server Web Server Hardened OS You can t use network layer protection (firewall, SSL, IDS, hardening) to stop or detect application layer attacks Firewall Databases Legacy Systems Web Services Directories Human Resrcs Billing Why Should I Care? Let s just think this through How likely is a successful web application attack? Stunningly prevalent Easy to exploit without special tools or knowledge Little chance of being detected Hundreds of thousands of developers, tiny fraction with security Consequences? Corruption or disclosure of database contents Root access to web and application servers Loss of authentication and access control for users Defacement Secondary attacks from your site Web Application Security is just as important as Network Security Why does the vast majority of security money go to secure networks? 1. Unvalidated Parameters 2. Broken Access Control HTTP requests from browsers to web apps URL, Querystring, Form Fields, Hidden Fields, Cookies, Headers Web apps use this information to generate web pages Attackers can modify anything in request WebScarab : Check before you use anything in HTTP request Canonicalize before you check Client-side validation is irrelevant Reject anything not specifically allowed Type, min/max length, character set, regex, min/max value Access control is how you keep one user away from other users information The problem is that many environments provide authentication, but don t handle access control well Many sites have a complex access control policy Insidiously difficult to implement correctly Write down your access control policy Don t use any id s that an attacker can manipulate Implement access control in a centralized module

3. Broken Account and Session Management 4. Cross-Site Scripting (XSS) Flaws Account Management Handling credentials across client-server gap Backend authentication credentials too Session Management HTTP is a stateless protocol. Web apps need to keep track of which request came from which user Brand sessions with an id using cookie, hidden field, URL tag, etc Key Points Keep credentials secret at all times Use only the random sessionid provided by your environment Web browsers execute code sent from websites Javascript Flash and many others haven t really been explored But what if an attacker could get a website to forward an attack! Stored web application stores content from user, then sends it to other users Reflected web application doesn t store attack, just sends it back to whoever sent the request Don t try to strip out active content too many variations. Use a positive specification. 5. Buffer Overflows 6. Command Injection Flaws Web applications read all types of input from users Libraries, DLL s, Server code, Custom code, Exec C and C++ code is vulnerable to buffer overflows Input overflows end of buffer and overwrites the stack Can be used to execute arbitrary code Don t use C or C++ Be careful about reading into buffers Use safe string libraries correctly Web applications involve many interpreters OS calls, SQL databases, templating systems Malicious code Sent in HTTP request Extracted by web application Passed to interpreter, executed on behalf of web app Use extreme care when invoking an interpreter Use limited interfaces where possible (PreparedStatement) Check return values

7. Error Handling Problems 8. Insecure Use of Cryptography Errors occur in web applications all the time Out of memory, too many users, timeout, db failure Authentication failure, access control failure, bad input How do you respond? Need to tell user what happened (no hacking clues) Need to log an appropriate (different) message Logout, email, pager, clear credit card, etc : Make sure error screens don t print stack traces Design your error handling scheme Configure your server Use cryptography to store sensitive information Algorithms are simple to use, integrating them is hard Do not even think about inventing a new algorithm Be extremely careful storing keys, certs, and passwords Rethink whether you need to store the information Don t store user passwords use a hash like SHA-256 The master secret can be split into two locations and assembled Configuration files, external servers, within the code 9. Remote Administration Flaws Many sites allow remote administration Very powerful, often hidden interfaces Difficult to protect Eliminate all administration over the Internet Separate the admin application from the main app Limit the scope of remote administration Consider strong authentication Smart card or token 10. Web and Application Server Misconfiguration All web and application servers have many security-relevant configuration options Default accounts and passwords Unnecessary default, backup, sample apps, libraries Overly informative error messages Misconfigured SSL, default certificates, self-signed certs Unused administrative services : Keep up with patches (Code Red, Slammer) Use Scanning Tools (Nikto, Nessus) Harden your servers!

A Simple Program for Getting Healthy Training Read the Top Ten paper! Get developers trained in web application security Try WebGoat to learn how flaws work Policy Write down the security rules for your application Reviews Get expert code review and penetration test periodically It is no more a homework, it is a process! It is our duty of care to adopt best practice to protect our system. It is our due diligence to maintain our system security with continuous effort. A Call To Arms! Customers Demand web applications that don t have these ten simple problems Developers Take responsibility for securing your code Subscribe our mailing list Contribute your concern and awareness, share your challenge and experience with us. Software Development Organizations Guarantee that your web applications don t have the top ten flaws Educators Stop teaching insecure coding System Managers Engage insights for security requirement and ensure compliance with internal policy or/and public one. Project Managers Split your security budget between network and application Make security part of developer performance reviews (Hong Kong Chapter) Thank you to the offered place and coordination from Hong Kong Java User Group and all your participation