32
Web Application Security Web Application Security Presented by: Colin English Zerflow

Web Application Security Presented by: Colin English Zerflow

  • View
    224

  • Download
    1

Embed Size (px)

Citation preview

Page 1: Web Application Security Presented by: Colin English Zerflow

Web Application SecurityWeb Application Security

Presented by:Colin English

Zerflow

Page 2: Web Application Security Presented by: Colin English Zerflow

Session Overview

• Web Application Security– The Myth and The Facts

– Examples of Web Application Vulnerabilities

• Web Application Auditing & Testing

Page 3: Web Application Security Presented by: Colin English Zerflow

The Myth

“Our site is safe”:– We have firewalls in place– We encrypt our data – We have a privacy policy

Page 4: Web Application Security Presented by: Colin English Zerflow

Recent News

Qwest Glitch

exposes customer

data

-Securityfocus.com

May 23, 2002

Hackers attack eBay

accounts— ZDNet NewsMar 25,2002

NY Times Internal

Network Hacked

— Internet.com, Feb 27, 2002Sites Revealed Passwords

For Thousands Of

Ameritech Users —

NewsBytes Feb 22,2002

Software bug bites U.S. Military

— BBC, Mar 18,2003

NASA investigating

hacker theft of sensitive

documents

- ComputerWorld Aug 8 ,2002

Glitch at Fidelity Canada

exposes customer information

— ComputerWorld, May 30, 2002

Hacker Accesses

2.2 Million Credit

Cards - CNN, Feb 18,2003

Gov’t Web Sites open

to Hack Attacks

• CBS News, Jan 25, 2003

Vivendi Says Online Shareholder Voting Hacked— NewsBytes, Apr 29, 2002

Hackers steal students soc.sec. numbers — ABCNews, Mar 6,2003

FTD.com hole leaks

personal information

— CNet, Feb 13, 2003Security worries hold back UK

online tax returns — TheRegister, Jan

29,2003

Page 5: Web Application Security Presented by: Colin English Zerflow

Pressures on the Application Lifecycle

• Time-to-Market

• Bringing new applications to market quickly

• Complexity is Growing

• Increasing application lifecycle complexity

• Increasing Business Risks Driven by Security Defects

• Hacker activity increasing

• Government scrutiny and regulation increasing

• Liability precedents for security defects

• Costs Escalate Dramatically the longer you wait to Find and Fix

• Bad software costs the economy $59.5 billion a year- cost of breakdowns and repairs (Nat. Institute of Standards & Technology, May 2002)

Financial Services Application

Page 6: Web Application Security Presented by: Colin English Zerflow

Cyber crime on the Rise

• On average, there are 5 to 15 defects in every 1,000 lines of code

US Dept. of Defense and the Software Engineering Institute

• It takes 75 minutes on average to track down one defect. Fixing one of these defects takes 2 to 9 hours each

5 Year Pentagon Study

• A company with 1,000 servers can spend $300,000 to test & deploy a patch; most companies deploy several patches a week

Gartner Group

• MS $100 million Trustworthy-Computing initiative: improve SW security & reduce number of software updates and security bulletins issued

Page 7: Web Application Security Presented by: Colin English Zerflow

Application Security Defects

• Frequent

• 3 out of 4 business websites are vulnerable to attack (Gartner)

• Pervasive

• 75% of hacks occur at the Application level (Gartner)

• Undetected

• QA testing tools not designed to detect security defects in applications

• Manual patching - reactive, time consuming and expensive

• Dangerous

• When exploited, security defects destroy company value and customer trust

167 Audits conducted – 98% vulnerable: all had firewalls and encryption solutions in place…

Page 8: Web Application Security Presented by: Colin English Zerflow

Cost Increases Later in the Lifecycle Security is Addressed

Cost to Fix dramatically increases Cost to Fix dramatically increases the longer you wait to testthe longer you wait to test

Page 9: Web Application Security Presented by: Colin English Zerflow

Web Application Vulnerabilities

Without any protection, holes and backdoors exist at every layer waiting to be exploited

Web Server

User Interface Code

Frontend Application

Backend Application

Database

Data Invalid Data can

exploit weakness in the application acting as escape holes resulting in

access to unauthorized accounts, O/S

network, sensitive data and may

result in an application denial

of serviceValid InputHTML/HTTP

Browser

Invalid InputHTML/HTTP

Page 10: Web Application Security Presented by: Colin English Zerflow

Types of Application Hacks

Through a browser, a hacker can use the smallest bug or backdoor to change, or pervert,

the intent of the application

Application Attack Types Negative Outcome Examples

Form field: collect data Buffer overflow Crash servers/close business

Online shopping Hidden fields eShoplifting

Sloppy code Backdoors/Debug options Download proprietary database

Text Field: collect data Cross Site scripting eHijacking - Get account info

Customer account Cookie poisoning Identity theft/illegal transactions

Database Parameter Tampering/SQL injection Fraud

Front end Apps 3rd Party Misconfiquration Admin access

Web Server Published Vulnerabilities Crash site

Backend Apps Stealth Commanding Site defacement

Web Server Forceful Browsing Access sensitive data

Page 11: Web Application Security Presented by: Colin English Zerflow

10 Types of Attacks: Development Lifecycle

APP. BUFFER OVERFLOW

COOKIE POISONING

CROSS SITE SCRIPTING

HIDDEN MANIPULATION

STEALTH COMMANDING

3RD PARTY MISCONFIG.

KNOWN VULNERABILITIES

PARAMETER TAMPERING

BACKDOORS & DEBUG OPT.

FORCEFUL BROWSING

Development Operations

3rd party SW

Page 12: Web Application Security Presented by: Colin English Zerflow

Hidden Field Manipulation

• Vulnerability explanationVulnerability explanation:The application sends data to the client using a hidden field in a form.

Modifying the hidden field damages the data returning to the web application

• Why Hidden Field ManipulationWhy Hidden Field Manipulation:Passing hidden fields is a simple and efficient way to pass information from

one part of the application to another (or between two applications) without the use of complex backend systems.

• As a result of this manipulationAs a result of this manipulation :The application acts according to the changed information and not

according to the original data

Page 13: Web Application Security Presented by: Colin English Zerflow

Hidden Field Manipulation - Example

Page 14: Web Application Security Presented by: Colin English Zerflow

Hidden Field Manipulation - Example

Page 15: Web Application Security Presented by: Colin English Zerflow

Hidden Field Manipulation - Example

Page 16: Web Application Security Presented by: Colin English Zerflow

Hidden Field Manipulation - Example

Page 17: Web Application Security Presented by: Colin English Zerflow

Backdoor & Debug options

• Vulnerability explanationVulnerability explanation:The application has hidden debug options that can be activated by

sending a specific parameter or sequence

• Why Backdoor and Debug optionsWhy Backdoor and Debug options:– Leaving debug options in the code enables developers to find and fix

bugs faster– Developers leave backdoors as a way of guaranteeing their access to

the system

• As a result of this manipulationAs a result of this manipulation :Activation of the hidden debug option allows the hacker to have extreme

access to the application (usually unlimited).

Page 18: Web Application Security Presented by: Colin English Zerflow

Backdoor & Debug options - Example

Page 19: Web Application Security Presented by: Colin English Zerflow

Backdoor & Debug options - Example

Page 20: Web Application Security Presented by: Colin English Zerflow

Backdoor & Debug options - Example

Page 21: Web Application Security Presented by: Colin English Zerflow

Cross Site Scripting

• Vulnerability explanationVulnerability explanation:A third party creates a link (or sends an email) and the URL contains a

parameter with a script – once the user connects, the site runs this script

• Why Cross Site ScriptingWhy Cross Site Scripting:Many parameters are implanted within the HTML of following responses,

while not checking their content for scripts.

• As a result of this manipulationAs a result of this manipulation:“Virtual hijacking” of the session. Any information flowing between the

legitimate user and site can be manipulated or transmitted to the evil 3rd party.

Page 22: Web Application Security Presented by: Colin English Zerflow

Press this link to get to your bank

Underlying link: http://www.mybank.com?a=<evil javascript>

The JavaScript program collects and sends user names and passwords

Enter your login information

1

2

Username

Password3

Cross Site Scripting - Example

Page 23: Web Application Security Presented by: Colin English Zerflow

Parameter Tampering

• Vulnerability explanationVulnerability explanation:Parameters are used to obtain information from the client. This

information can be changed in a site’s URL parameter

• Why Parameter TamperingWhy Parameter Tampering:Developers focus on the legal values of parameters and how they should

be utilized. Little if any attention is given to the incorrect values

• As a result of this manipulationAs a result of this manipulation :The application can perform a function that was not intended by its

developer like giving access to customer information

Page 24: Web Application Security Presented by: Colin English Zerflow

Parameter Tampering - Example

Page 25: Web Application Security Presented by: Colin English Zerflow

Parameter Tampering - Example

Page 26: Web Application Security Presented by: Colin English Zerflow

The Missing Piece

Protection for the application itself

Applications are vulnerable

Developers lack tools and know how to build secure applications

No amount of QA testing will capture all the security vulnerabilities

Systematic failures in the application can be engineered by hackers

Page 27: Web Application Security Presented by: Colin English Zerflow

Web Application Hacking - Results

Page 28: Web Application Security Presented by: Colin English Zerflow

Auditing & Testing

• The process– Coverage of relevant business process– Full inspection of client side scripts and comments– Full inspection of application interfaces– Analysis of potential vulnerabilities– Testing of potential vulnerabilities– Check for installation of known patches

• The knowledge– Complete understanding of the application logic– Complete knowledge of application manipulation methods– Awareness of all the known patches issues– Complete understanding of most secure configuration of all tools

Page 29: Web Application Security Presented by: Colin English Zerflow

Auditing – The Problem

• Multiple points of people failure– Development, QA, Operations, Vendor software, Outsourcing

• New third party bugs discovered every day– site exposed during patch latency

• Site Complexity– many line of codes and application interactions

• Compressed application development cycle– time to market needs will impact development and QA

• Distributed Knowledge– Any single person does not have all the knowledge needed for a full audit.

Page 30: Web Application Security Presented by: Colin English Zerflow

What is a Viable Solution?

VIABLE = VIABLE = Positive Security ModelPositive Security Model::

– Assessment: bullet-proof applications before production

– Application Firewalls: block, log and alert against known/unknown attacks

– Behavioral/ Policy-based

• Automatically builds a policy in real time

for the site

• Allows only intended business

interactions

• Maintains intended application behavior

– e.g., Code Red and Nimda blocked without updates or rules

Not Viable = Not Viable = Negative Negative Security ModelSecurity Model::

Signature/Rules-based – Blocks known attacks based on signatures, heuristics or rules

e.g., - need patch installed or signatures written to block Code Red & Nimda

Page 31: Web Application Security Presented by: Colin English Zerflow

Demo

Page 32: Web Application Security Presented by: Colin English Zerflow

Thank You for Your AttentionThank You for Your Attention