# Presentation: 525453

## Closing the Door on Web Application AttacksFISSEA 2004

**Closing the Door on Web Application Attacks****FISSEA 2004**

**Confidential and proprietary information ©2004, MagniFire Websystems Inc. **

## Today’s Session

- What are the risks?
- Why don’t traditional solutions work?
- What can be done?

## Ensuring 100% protection

- In Israel the government has an effective way to protect sensitive data from internet hackers...

## However, Government Is Moving Online

**Unique Audience (2002) **(Source: Nielson NetRatings)

## Web Servers and Web Applications:Prime Targets for Attacks

***“******64% of the 10 million security incidents Security Focus tracked the first week of Feb 2002, targeted port 80.”***(Information Week magazine)
***“******Nearly 70% of all attacks in the first quarter of 2002 used port 80, a common port devoted to Web traffic.”***(ISS Internet Risk Impact Summary Report for 2002)

## What are the Risks ?

- Access to user databases
- Social Security Numbers (CA)
- Police Records (MI)
- Financial loss as a result of fraud
- Theft of secure or sensitive information

## Web Applications Are The Weakest Point

- System

- Network

- Desktop

- Access

- Net IDS

- Host IDS & Secure OS

- Firewall

- Antivirus

- Application

**  ****DATA**

*“**64% of the 10 million security incidents tracked targeted port 80.”*(Information Week magazine)

## Major Categories of Web Application Vulnerabilities

**Almost all Web applications are exposed**
- “From 45 applications, @stake found nearly 500 ‘significant’ security defects, with an average of at least 10 per assessment”*(@Stake Study on Web application security)                 *

- Improper validation of user input by the Web application server side (relying on client side validation):
- Cookie Poisoning
- Hidden Field Manipulation
- Parameter Tampering
- Stealth Commanding (e.g. SQL/OS Injection)
- Cross-site Scripting
- Application Buffer Overflow
- URL & Unicode encoding
- Backdoors and Debugs option (left in the application)
- Poor Session Management, Access Control & Authentication
- Third Party Misconfiguration

## 	 Hidden Field Manipulation

**Example: Online Retail Store**
***Changing prices and stealing goods***
***Hidden field hacking in 3rd party shopping cart software***

**	**** ****Hidden Field Manipulation**

## Hidden Field Manipulation - Example

## Hidden Field Manipulation - Example

**Hidden Field Manipulation - Example**

## Hidden Field Manipulation - Example

**Hidden Field Manipulation - Example**

## Hidden Field Manipulation - Example

**Hidden Field Manipulation - Example**

## Hidden Field Manipulation - Example

**Hidden Field Manipulation - Example**

## 	  Cookie Poisoning

**Modifying the cookie file causing the return of unauthorized information or enabling performance of activity on behalf of another user**
**Example: Online account administration**
**  ****Impersonation***** ***

## Cookie Poisoning - Example

## Cookie Poisoning - Example

**Cookie Poisoning - Example**

## Cookie Poisoning - Example

**Cookie Poisoning - Example**

## Cookie Poisoning - Example

**Cookie Poisoning - Example**

## Cookie Poisoning - Example

**Cookie Poisoning - Example**

## Buffer Overflow

**Sending too much data in a request to the application, attacking either 3rd party or internally developed code**** **

## Buffer Overflow - Example

## Buffer Overflow - Example

**Buffer Overflow - Example**

## Buffer Overflow - Example

**Buffer Overflow - Example**

## Cross Site Scripting

**Inserting scripting languages into text fields to be displayed to other users**
**Example: Add an Item Section of Web Site**
**Site defacement**
**Changing field parameters**

## Cross Site Scripting - Example

## Cross Site Scripting - Example

**Cross Site Scripting - Example**

## Cross Site Scripting - Example

**Cross Site Scripting - Example**

## Cross Site Scripting - Example

**Cross Site Scripting - Example**

## Cross Site Scripting - Example

**Cross Site Scripting - Example**

## Known Vulnerabilities & Misconfiguration

**Exploiting configuration errors in 3rd party components, such as web and database servers**
**	*****Newdsn.exe can be used by an attacker to create files anywhere on your disk if they have the NTFS correct file permissions to do so. Newdsn.exe can also be used to overwrite the DSNs on existing on-line databases making the information contained in the database inaccessible. This file, getdrvrs.exe, dsnform.exe and mkilog.exe should be deleted.***

## Known Vulnerabilities & Misconfiguration

## Known Vulnerabilities & Misconfiguration

**Known Vulnerabilities & Misconfiguration**

## Parameter Tampering

**Modify the parameters being passed as part of the URL**
**Example: Online Auction Site**
**User Account Access**
**Forbidden ****SQL Query via wrong parameters**

## Parameter Tampering - Example

## Parameter Tampering - Example

**Parameter Tampering - Example**

## Forceful Browsing

**Jumping directly to pages that can normally only be accessed through authentication mechanisms**
**Example: Auction Web Site**
**Breaching users’ privacy**
**Direct file access**

## Forceful Browsing - Example

## Forceful Browsing - Example

**Forceful Browsing - Example**

## Forceful Browsing - Example

**Forceful Browsing - Example**

## Reasons for Web Application Vulnerabilities

**Reasons for Web Application Vulnerabilities**

- Applications were written according to client-server security standards (rely on client-side validation)
- The complexity of platforms and environments makes secure coding very difficult
- Web developers focus on functionality and performance, not on security
- Web developers are not trained for secure programming
- Bugs in Web infrastructure (OS and Web platforms) and Web applications
- Web sites are changed/updated frequently

**Threat is exacerbated by the availability of:**
- Web application client-side source code (hackers gain information for planning attacks)
- Widely available, free, easy to use hacking tools

## Existing Security Solutions are Inadequate

**Existing Security Solutions are Inadequate**

## Traditional Security Solutions Don’t Protect Web Applications

**Current solutions are not enough (CSI & FBI 2002):**
- 89% of respondents have a firewall
- 60% of respondents used at least one Intrusion Detection System
_**However:**_  	40% reported system penetration from the outside
-              	40% reported DoS attacks

**Firewalls: **
*“****Firewalls offer little protection at the application layer**** because ports within the firewall have to be left open for communication” *(IDC 2002)

**Network IDS****:**
*“****Intrusion detection systems are a market failure****, and vendors are now hyping intrusion prevention systems, which have also stalled. Functionality is moving into firewalls, which will perform deep packet inspection for content and malicious traffic blocking, as well as antivirus activities."*  (Gartner, 2003)**	**

## Fundamental Problem with IPS/IDS: ‘Negative Security Logic’ 

- How It Works**: Let everything through except what can be identified as malicious traffic (based on attack signatures & traffic characteristics) **
- Problems
**Protects only against known attacks ****(signature and/or characteristics are known and defined)**
**Requires constant updating of attack signatures and / or characteristics database**
**Doesn’t protect against “Zero Day” attacks**
**Doesn’t protect against attacks based on illegal user input:**
*Cookie Poisoning and Hidden-Field Manipulation*
*Parameter (Form-Field) Tampering*
*Forceful Browsing*
*Backdoors and debug-option exploitation*

## Traditional Security Solutions Don’t Protect Web Applications

|  | 

TrafficShield | FW | NIPS | HIPS |
| --- | --- | --- | --- | --- |
| Known Web Worms | Yes | Limited | Yes | Yes |
| Unknown Web Worms | Yes | No | Limited | Partial |
| Known Web Vulnerabilities | Yes | Limited | Partial | Yes |
| Unknown Web Vulnerabilities | Yes | No | Limited | Partial |
| Illegal Access to Web-server files | Yes | Limited | No | Yes |
| Forceful Browsing | Yes | No | No | No |
| File/Directory Enumerations | Yes | No | Limited | No |
| Brute Force attacks  | Yes | No | No | No |
| Buffer Overflow | Yes | Limited | Limited | Partial |
| Cross-Site Scripting | Yes | Limited | Limited | No |
| SQL/OS Injection | Yes | No | No | Partial |
| Cookie Poisoning  | Yes | No | No | No |
| Hidden-Field Manipulation | Yes | No | No | Yes |
| Parameter Tampering | Yes | No | No | No |
| Flood attacks  (GET, 404) | Yes | Limited | Limited | No |
| SSL Flooding | Yes | No | Limited | No |

**Traditional Security Solutions Don’t ****Protect Web Applications**

## Current Application-Layer Approaches

**Scanning HTML code for known breaches and then rewriting it is ineffective and costly compared to installing an application firewall.**
**Time-Consuming **due to high rate of false positives that must be evaluated.
**Ineffective** since it does not find all vulnerabilities, thereby requiring additional techniques (e.g. manual code review) in order to ensure protection.
**Requires Code Rewrites** which are very expensive in terms of both time and resources
**Slows Down Product Development** since every change in the application requires new “scan & fix” iteration
**Useless for 3rd party web applications** since they can’t be altered
**Defenseless against new threats**, since it only looks for known vulnerabilities

**Scan-and-Fix**

##  The Solution: Granular & Tailored Application-Specific Security 

## Solution Criteria Web Application Firewall Using Positive Security Logic

**Model application **_**extremely**_** accurately**
**Auto configuration / customization around app**
**No false positives or false negatives**
**Minimal ongoing policy management**
**No latency introduced (<1 ms)**

**1**

**2**

**3**

**4**

**5**

## Model the Application Flow

**Model the Application Flow**

## The Application Flow Model

**Legal user will request:**
- Links existing in the Web page currently browsed
- OR
- Web pages which are entry points to the app
**Thus, a legal request to a Web page should always have two characteristics:**
- It should come from a link embedded in the original page browsed by the user*
- It should comply with the request definition in the Web page the user is currently browsing, defining:
- Request method
- Request parameters
- Request parameters values

**Application ****Flow Model**
- An accurate representation of the designed interaction between the user and the Web application

- * Unless the page requested is the entry point to the Web application.

## The Application Flow Model

**Stateful** - Tracks which pages a user is coming from, and the specific permissions associated with that context.
- A request which is perfectly legal within the context of one page might be inappropriate for a user on another page
**Bidirectional -** Looks at server responses to the client as well as client requests to the server.
- Essential to verify that the user hasn’t attempted to tamper with the credentials sent to him in his response
**Granular** – Complete logical rendering of the transitions between every page, including every object, every parameter of each object, and every legal value within each object parameter.

**Application ****Flow Model**
- The only way to provide total security in front of Web applications (the only way to replace embedded security code)

## Hybrid Policy Generator:Creating the Application Flow Model

**Automatic analysis of Web page content**.
- Purpose-built crawler
- Complete analysis of the Web page content, including active code such as JavaScript,
- ‘Learns’ all details of the interaction between the user and the Web application.
**Iterative policy adjustment.**
- Examines how users interact with application over time, based on real-life traffic.
- Recommends adjustments to the current policy, based on the on-line analysis on the rejected traffic.

## Hybrid Policy Generator

|  | Model User Flow | Static Parameters | Active-Code Analysis | Dynamic Parameters | Accurate Security Policy |
| --- | --- | --- | --- | --- | --- |
| Crawler based Learning | Yes | Yes | Yes | No | No |
| Request based Learning | No | Limited | No | No | No |
| Response based Learning | Partial | Yes | No | Yes | No |
| Hybrid    Approach | Yes | Yes | Yes | Yes | Yes |

**Hybrid policy generation combines crawler-based application modeling with adjustments based on real-life request analysis**
-  Request based learning is very useful to detect missing elements in policy
-  Response based learning is limited in its analysis to avoid significant latency

**Hybrid Policy Generator**

## No False Positives, No False Negatives

**Constraints that prevent vulnerabilities in certain cases can cause “False Positives” in other cases**
**Low granular policy means**
- Either false positives
- OR low security (false negatives) due to relaxed policy
**The solution: **Granular Security Policy that is accurately adjusted to the protected Web-application
- Constraints are adjusted to Web-application Flow Model (no need to relax security constraints)
- Policy enforcement takes into account user state
- No False Positives (constraints are not used when they are not applicable)

## Low Latency

**Security Policy enforcement is translated into hash searches **
**Hardened Linux Appliance**
**Ease deployment**
**Eliminates misconfiguration **
**Optimized performance and throughput**
**Scalable Architecture - Shield units can be added to handle larger traffic volumes**
**Automatic recovery from unit failure based on the fact that units are identical and can switch roles**
**Central and secure management**

## Solution Criteria	     Solution

**Model application **_**extremely **_**accurately**
**Auto configuration / customization around app**
**No false positives or false negatives**
**Minimal ongoing policy management**
**No latency introduced ****(<1 ms)**

**Crawling & full analysis of web pages**
**Adjustments based on real-life traffic**
**‘****Learning Mode’ automatically recommends policy adjustments based on customer activity**
**Any non-recognized activity is blocked**
**Automated mapping & policy suggestions**
**Appliance: fits into web infrastructure**
**Automatic detection of website changes and suggestions for newly-tailored policy**
**Network appliance with modified OS for high throughput**

## Thank You!

**Thank You!**

**Confidential and proprietary information ©2003, MagniFire Websystems Inc. **