2006 Adobe Systems Incorporated. All Rights Reserved. ColdFusion Application Security Adam Wayne Lehman ColdFusion Specialist Adobe Systems, Inc.

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.
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.
Security in Application & SDLC
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.
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.
1 Security in Application & SDLC Barkan Asaf Nov, 2006.
Dec 13 th CS555 presentation1 Yiwen Wang --“Securing the DB may be the single biggest action an organization can take to protect its assets” David C. Knox.
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
Introduction to Application Penetration Testing
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.
Introduction to SQL Server 2000 Security Dave Watts CTO, Fig Leaf Software
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.
Session 11: Cookies, Sessions ans Security iNET Academy Open Source Web Development.
ASP.NET 2.0 Security Alex Mackman CM Group Ltd
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.
CFUNITED – The premier ColdFusion conference ColdFusion Application Security The Top Ten Most Critical Web Application Security Vulnerabilities.
ArcGIS for Server Security: Advanced
Building Secure ColdFusion Applications
Web Application Vulnerabilities
Web Application Vulnerabilities, Detection Mechanisms, and Defenses
TOPIC: Web Security (Part-4)
WWW安全 國立暨南國際大學 資訊管理學系 陳彥錚.
Presentation transcript:

2006 Adobe Systems Incorporated. All Rights Reserved. ColdFusion Application Security Adam Wayne Lehman ColdFusion Specialist Adobe Systems, Inc.

2006 Adobe Systems Incorporated. All Rights Reserved. About Me  ColdFusion Specialist at Adobe  Solutions Engineer  Technical Evangelist  Member of the ColdFusion Product Team  10+ years of ColdFusion experience  Previous Lives  US Department of State  Johns Hopkins University

2006 Adobe Systems Incorporated. All Rights Reserved. Overview  OWASP  Top 10 Web Application Vulnerabilities

2006 Adobe Systems Incorporated. All Rights Reserved. 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

2006 Adobe Systems Incorporated. All Rights Reserved. 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)

2006 Adobe Systems Incorporated. All Rights Reserved. OWASP Web Application Security Vulnerabilities Top 10

2006 Adobe Systems Incorporated. All Rights Reserved. #10 Insecure Configuration Management  Having a strong server configuration standard is critical to a secure web application. Few, if any, server products are secure out of the box.  Examples  Un-patched security flaws in the server software  Unnecessary files  Unnecessary services enabled  Default accounts and/or default passwords  Overly informative error messages

2006 Adobe Systems Incorporated. All Rights Reserved. #10 Insecure Configuration Management  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  Do not run ColdFusion under the System/Root user  Utilize Security Scanning Tools

2006 Adobe Systems Incorporated. All Rights Reserved. #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.

2006 Adobe Systems Incorporated. All Rights Reserved. #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

2006 Adobe Systems Incorporated. All Rights Reserved. #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.

2006 Adobe Systems Incorporated. All Rights Reserved. #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

2006 Adobe Systems Incorporated. All Rights Reserved. #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. Hash

2006 Adobe Systems Incorporated. All Rights Reserved. #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. Encrypt

2006 Adobe Systems Incorporated. All Rights Reserved. #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

2006 Adobe Systems Incorporated. All Rights Reserved. #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

2006 Adobe Systems Incorporated. All Rights Reserved. #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

2006 Adobe Systems Incorporated. All Rights Reserved. #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)  Injection vs. XSS

2006 Adobe Systems Incorporated. All Rights Reserved. #6 Injection Flaws - System  Setup a sandbox to limit access to   All other operating system functions

2006 Adobe Systems Incorporated. All Rights Reserved. #6 Injection Flaws - Database  Carefully validate the data provided to ensure that it does not contain any malicious content.   Limit database permissions

2006 Adobe Systems Incorporated. All Rights Reserved. #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.

2006 Adobe Systems Incorporated. All Rights Reserved. #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

2006 Adobe Systems Incorporated. All Rights Reserved. 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

2006 Adobe Systems Incorporated. All Rights Reserved. #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

2006 Adobe Systems Incorporated. All Rights Reserved. #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)

2006 Adobe Systems Incorporated. All Rights Reserved. #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.

2006 Adobe Systems Incorporated. All Rights Reserved. #3 Broken Authentication and Session Management  Passwords  Enforce Complexity  Limit Invalid Login Attempts  Change Controls  Stored hashed in the database

2006 Adobe Systems Incorporated. All Rights Reserved. #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

2006 Adobe Systems Incorporated. All Rights Reserved. #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.

2006 Adobe Systems Incorporated. All Rights Reserved. #2 Broken Access Control  Centralize Authorization  Insecure Id’s  Harden Access to Administrative Functionality

2006 Adobe Systems Incorporated. All Rights Reserved. #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

2006 Adobe Systems Incorporated. All Rights Reserved. #1 Unvalidated Input  Validation techniques  Mask  onBlur  onSubmit  onServer  Hidden form field  isValid function  &

2006 Adobe Systems Incorporated. All Rights Reserved. #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…

2006 Adobe Systems Incorporated. All Rights Reserved. #1 Unvalidated Input  Validate from your model  view  &  server-side  Client-side javascript

2006 Adobe Systems Incorporated. All Rights Reserved. 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

2006 Adobe Systems Incorporated. All Rights Reserved. Other OWASP Projects  AJAX Security Project  WebScarab Project  Language specific  Java  PHP .NET  Code Review Project

2006 Adobe Systems Incorporated. All Rights Reserved. OWASP Local Chapters  70+ chapters worldwide  Free and open to anyone  Monthly meetings

2006 Adobe Systems Incorporated. All Rights Reserved. Online Resources  OWASP  ColdFusion Security Center  HTMLTrans()  Windows 2003 Security Guide mspx mspx

2006 Adobe Systems Incorporated. All Rights Reserved.