CFUNITED – The premier ColdFusion conference www.cfunited.com ColdFusion Application Security The Top Ten Most Critical Web Application Security Vulnerabilities.

Slides:



Advertisements
Similar presentations
Webgoat.
Advertisements

OWASP’s Ten Most Critical Web Application Security Vulnerabilities
Authenticating Users. Objectives Explain why authentication is a critical aspect of network security Explain why firewalls authenticate and how they identify.
Don’t get Stung (An introduction to the OWASP Top Ten Project) Barry Dorrans Microsoft Information Security Tools NEW AND IMPROVED!
SEC835 OWASP Top Ten Project.
Copyright © The OWASP Foundation Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation.
Creating Stronger, Safer, Web Facing Code JPL IT Security Mary Rivera June 17, 2011.
1 Chapter 8 Fundamentals of System Security. 2 Objectives In this chapter, you will: Understand the trade-offs among security, performance, and ease of.
Copyright © The OWASP Foundation Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation.
Web Application Security Vulnerabilities Yen-Cheng Chen Department of Information Management National Chi Nan University Puli, 545 Nantou, Taiwan
It’s always better live. MSDN Events Security Best Practices Part 2 of 2 Reducing Vulnerabilities using Visual Studio 2008.
Chapter 9 Web Applications. Web Applications are public and available to the entire world. Easy access to the application means also easy access for malicious.
Information Networking Security and Assurance Lab National Chung Cheng University The Ten Most Critical Web Application Security Vulnerabilities Ryan J.W.
It’s always better live. MSDN Events Securing Web Applications Part 1 of 2 Understanding Threats and Attacks.
Information Networking Security and Assurance Lab National Chung Cheng University 1 Top Vulnerabilities in Web Applications (I) Unvalidated Input:  Information.
ISA 3200 NETWORK SECURITY Chapter 10: Authenticating Users.
Web Application Security An Introduction. OWASP Top Ten Exploits *Unvalidated Input Broken Access Control Broken Authentication and Session Management.
FIREWALLS & NETWORK SECURITY with Intrusion Detection and VPNs, 2 nd ed. 10 Authenticating Users By Whitman, Mattord, & Austin© 2008 Course Technology.
Security in SQL Jon Holmes CIS 407 Fall Outline Surface Area Connection Strings Authenticating Permissions Data Storage Injections.
Injection Attacks by Example SQL Injection and XSS Adam Forsythe Thomas Hollingsworth.
The 10 Most Critical Web Application Security Vulnerabilities
Varun Sharma Security Engineer | ACE Team | Microsoft Information Security
Designing Security In Web Applications Andrew Tomkowiak 10/8/2013 UW-Platteville Software Engineering Department
Web Application Vulnerabilities Checklist. EC-Council Parameter Checklist  URL request  URL encoding  Query string  Header  Cookie  Form field 
Web Application Security
1 Infrastructure Hardening. 2 Objectives Why hardening infrastructure is important? Hardening Operating Systems, Network and Applications.
OWASP Zed Attack Proxy Project Lead
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.
CSCI 6962: Server-side Design and Programming Secure Web Programming.
A Framework for Automated Web Application Security Evaluation
Copyright © 2008, CIBER Norge AS 1 Web Application Security Nina Ingvaldsen 22 nd October 2008.
Chapter 9 Web Applications. Web Applications are public and available to the entire world. Easy access to the application means also easy access for malicious.
Ryan Dewhurst - 20th March 2012 Web Application (PHP) Security.
CSC 2720 Building Web Applications Web Application Security.
November 13, 2008 Ohio Information Security Forum Attack Surface of Web Applications James Walden Northern Kentucky University
Databases and security continued CMSC 461 Michael Wilson.
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.
Attacking Applications: SQL Injection & Buffer Overflows.
Top Five Web Application Vulnerabilities Vebjørn Moen Selmersenteret/NoWires.org Norsk Kryptoseminar Trondheim
OWASP Top Ten #1 Unvalidated Input. Agenda What is the OWASP Top 10? Where can I find it? What is Unvalidated Input? What environments are effected? How.
SEC835 Runtime authentication Secure session management Secure use of cryptomaterials.
October 3, 2008IMI Security Symposium Application Security through a Hacker’s Eyes James Walden Northern Kentucky University
Security Attacks CS 795. Buffer Overflow Problem Buffer overflows can be triggered by inputs that are designed to execute code, or alter the way the program.
nd Joint Workshop between Security Research Labs in JAPAN and KOREA Marking Scheme for Semantic- aware Web Application Security HPC.
Web Applications Testing By Jamie Rougvie Supported by.
Building Secure Web Applications With ASP.Net MVC.
Lesson 19-E-Commerce Security Needs. Overview Understand e-commerce services. Understand the importance of availability. Implement client-side security.
Database Security Cmpe 226 Fall 2015 By Akanksha Jain Jerry Mengyuan Zheng.
OWASP Building Secure Web Applications And the OWASP top 10 vulnerabilities.
Mr. Justin “JET” Turner CSCI 3000 – Fall 2015 CRN Section A – TR 9:30-10:45 CRN – Section B – TR 5:30-6:45.
Copyright © The OWASP Foundation Permission is granted to copy, distribute and/or modify this document under the terms of the OWASP License. The OWASP.
Copyright © The OWASP Foundation This work is available under the Creative Commons SA 2.5 license The OWASP Foundation OWASP Denver February 2012.
Writing secure Flex applications  MXML tags with security restrictions  Disabling viewSourceURL  Remove sensitive information from SWF files  Input.
Defending Applications Against Command Insertion Attacks Penn State Web Conference 2003 Arthur C. Jones June 18, 2003.
ASP.NET 2.0 Security Alex Mackman CM Group Ltd
The OWASP Foundation Copyright © The OWASP Foundation Permission is granted to copy, distribute and/or modify this document under.
Do not try any of the techniques discussed in this presentation on a system you do not own. It is illegal and you will get caught.
2006 Adobe Systems Incorporated. All Rights Reserved. ColdFusion Application Security Adam Wayne Lehman ColdFusion Specialist Adobe Systems, Inc.
ArcGIS for Server Security: Advanced
Building Secure ColdFusion Applications
Web Application Vulnerabilities
Web Application Vulnerabilities, Detection Mechanisms, and Defenses
TOPIC: Web Security (Part-4)
Marking Scheme for Semantic-aware Web Application Security
WWW安全 國立暨南國際大學 資訊管理學系 陳彥錚.
Presentation transcript:

CFUNITED – The premier ColdFusion conference ColdFusion Application Security The Top Ten Most Critical Web Application Security Vulnerabilities

June 28 th – July 1 st 2006 Adam Wayne Lehman  U.S. Department of State Adobe Developers User Group Manager  Senior Developer with the U.S. Department of State / IRM Business Center  Certified Advanced ColdFusion MX 7 Developer  10 years of web development experience  Adrocknaphobia.com

June 28 th – July 1 st 2006 Overview  OWASP  Top 10 Web Application Vulnerabilities

June 28 th – July 1 st 2006 OWASP  The Open Web Application Security Project (OWASP) is dedicated to enabling organizations to develop, purchase, and maintain applications that can be trusted  Research security topics  Produce guidelines and standards

June 28 th – July 1 st 2006 OWASP Top 10 Project  Represents a broad consensus about what the most critical web application security flaws are  Available in 5 languages  Listed as a key best practice by the U.S. Defense Information Systems Agency (DISA)

June 28 th – July 1 st 2006 OWASP Web Application Security Vulnerabilities Top 10

June 28 th – July 1 st 2006 #10 Insecure Configuration Mangement  Having a strong server configuration standard is critical to a secure web application. Few, if any, server products are secure out of the box.

June 28 th – July 1 st 2006 #10 Insecure Configuration Mangement  Establish a configuration baseline for ColdFusion Do not deploy the ColdFusion Administrator or Sample applications to a production environment Do not deploy RDS to a production environment  Establish a configuration baseline for the server operating system  Utilize Security Scanning Tools

June 28 th – July 1 st 2006 #9 Denial of Service (DoS Attacks)  Attackers can consume web application resources to a point where other legitimate users can no longer access or use the application. Attackers can also lock users out of their accounts or even cause the entire application to fail.

June 28 th – July 1 st 2006 #9 Denial of Service (DoS Attacks)  Keep ColdFusion/JRun up-to-date with all security related patches.  Utilize server or hardware solutions  Minimize the amount of resources used per session  Minimize unnecessary access to the database and other expensive resources.  Check your error handlers

June 28 th – July 1 st 2006 #8 Insecure Storage  Web applications frequently use cryptographic functions to protect information and credentials. While encryption has become relatively easy to implement and use, developers still frequently make mistakes while integrating it into a web application.

June 28 th – July 1 st 2006 #8 Insecure Storage  Protect sensitive data Passwords Credit Card Numbers Social Security Numbers *  Encrypt data before you store it  User built-in ColdFusion functions hash() encrypt() * Do you really need to store the information?

June 28 th – July 1 st 2006 #8 Insecure Storage - hash()  Creates a "fingerprint" or unique identifier for the original string.  It is not possible to convert the hash result back to the source string.  hash() does not require a key.  Use a hash rather than encryption for validating data such as password.

June 28 th – July 1 st 2006 #8 Insecure Storage – encrypt()  Uses a symmetric key-based algorithm, in which the same key is used to encrypt and decrypt a string.  The security of the encrypted string depends on maintaining the secrecy of the key.  Use encryption rather than a hash when storing information that needs to be used in it’s original format such as credit card numbers.

June 28 th – July 1 st 2006 #8 Insecure Storage - Algorithims  Compatibility Algorithm CFMX_COMPAT  Block Encryption Algorithms AES BLOWFISH DES DESEDE  Password Based Encryption Algorithms PBEWithMD5AndDES PBEWithMD5AndTripleDES  CFMX 7 provides the ability to install any additional Java Cryptology Extension (JCE) security providers

June 28 th – July 1 st 2006 #7 Improper Error Handling  Web applications frequently generate error conditions during normal operation.  Error messages must include Meaningful messages for user  Error messages may include Diagnostic information for the site maintainer  Error messages should never include Useful information to an attacker

June 28 th – July 1 st 2006 #7 Improper Error Handling  CF Administrator Do not Enable Robust Exception Information Do not Enable Debugging Define a Site-wide Error Handler  Define Application-wide Error Handlers

June 28 th – July 1 st 2006 #6 Injection Flaws  Injection flaws allow attackers to relay malicious code through a web application to another system. Whole scripts can be injected into poorly designed web applications and executed.  Attacks are commonly aimed at the operating system and the database (SQL injection)

June 28 th – July 1 st 2006 #6 Injection Flaws - System  Setup a sandbox to limit access to All other operating system functions

June 28 th – July 1 st 2006 #6 Injection Flaws - Database  Carefully validate the data provided to ensure that it does not contain any malicious content.   Limit database permissions

June 28 th – July 1 st 2006 #5 Buffer Overflows  Attackers use buffer overflows to corrupt the execution stack of a web application. By sending carefully crafted input to a web application, an attacker can cause the web application to execute arbitrary code – effectively taking over the machine.

June 28 th – July 1 st 2006 #4 Cross Site Scripting (XSS) Flaws  Cross-site scripting (sometimes referred to as XSS) vulnerabilities occur when an attacker uses a web application to send malicious code, generally in the form of a script, to a different end user.  Two Categories Stored Reflective

June 28 th – July 1 st 2006 MySpace and XSS  Samy Stored XSS Worm Attack, October 2005 Amassed 1,000,000+ friends  GodOfTheNoose Stored XSS Work Attack, December 2005 Utilized unsanitized variables & Flash Infected 450,000+ users

June 28 th – July 1 st 2006 #4 Cross Site Scripting (XSS) Flaws  Enable Global Script Protection ColdFusion Administrator  Checkbox enables protection for all scopes Application.cfc  THIS.scriptProtect Allowed values  None  All  Comma-delimited list of scopes

June 28 th – July 1 st 2006 #4 Cross Site Scripting (XSS) Flaws  Encode user supplied output with a UDF like HTMLTrans() Download HTMLTrans() from CFLib.org  Install web server filters URL Scan (IIS)

June 28 th – July 1 st 2006 #3 Broken Authentication and Session Management  Even solid authentication mechanisms can be undermined by flawed credential management functions, including password change, forgot my password, remember my password, account update, and other related functions.

June 28 th – July 1 st 2006 #3 Broken Authentication and Session Management  Passwords Enforce Complexity Limit Invalid Login Attempts Change Controls Stored hashed in the database

June 28 th – July 1 st 2006 #3 Broken Authentication and Session Management  Authenticate via SSL  Transmit Session IDs over SSL  Do not pass Session IDs in the URL  Use J2EE Sessions

June 28 th – July 1 st 2006 #2 Broken Access Control  Restrictions on what authenticated users are allowed to do are not properly enforced. Attackers can exploit these flaws to access other users’ accounts, view sensitive files, or use unauthorized functions.

June 28 th – July 1 st 2006 #2 Broken Access Control  Centralize Authorization  Insecure Id’s  Harden Access to Administrative Functionality

June 28 th – July 1 st 2006 #1 Unvalidated Input  Information from web requests is not validated before being used by a web application. Attackers can use these flaws to attack backend components through a web application.  May cause Cross Site Scripting Flaws Injection Flaws Buffer Overflows

June 28 th – July 1 st 2006 #1 Unvalidated Input  Validation techniques Mask onBlur onSubmit onServer Hidden form field isValid function &

June 28 th – July 1 st 2006 #1 Unvalidated Input  isValid() function  Syntax IsValid(type, value) isValid("range", value, min, max) isValid("regex" or "regular_expression", value, pattern)  Supports 20+ types All data types Formatted data  Credit card  SSN  Telephone  More…

June 28 th – July 1 st 2006 #1 Unvalidated Input  Validate from your model  view & server-side Client-side javascript

June 28 th – July 1 st 2006 Recommendations  Make security part of your SDLC Regularly perform security code reviews Include security in your test conditions  There is no such thing as too much security  Security must not sacrifice usability

June 28 th – July 1 st 2006 Other OWASP Projects  AJAX Security Project  WebScarab Project  Language specific Java PHP.NET  Code Review Project

June 28 th – July 1 st 2006 OWASP Local Chapters  70+ chapters worldwide  Free and open to anyone  Monthly meetings

June 28 th – July 1 st 2006 Online Resources  OWASP  ColdFusion Security Center  HTMLTrans()  Windows 2003 Security Guide ver2003/w2003hg/sgch00.mspx ver2003/w2003hg/sgch00.mspx  Adobe Security Topic Center

June 28 th – July 1 st 2006 Questions / Discussion