Home Page | Skip to Navigation | Skip to Content | Skip to Search | Skip to Footer

Detecting Slowloris: A Denial of Service (DoS) over HTTP

Subscribe

Check Point Reference: SBP-2009-09
Date Published:
Severity:
Last Updated:
Source: http://ha.ckers.org/slowloris/
SANS ISC Diary
Industry Reference(s): CVE-2007-6750
Protection Provided by: Security Gateway
  • R70
VPN-1
  • NGX R65
VSX
  • NGX R65
InterSpect
  • NGX
IPS-1
  • IPS-1
  • IPS-1 NGX R65
Who is Vulnerable?
Apache 1.x
Apache 2.x
dhttpd
Vulnerability Description
Slowloris is a HTTP Denial of Service tool written in PERL. The tool performs a Denial of Service attack on Apache 1.x and 2.x servers (as well as other web servers) by exhausting available connections. The tool holds the connection open while sending valid, incomplete HTTP requests to the server with the attempt of keeping the sockets from closing. Since any web server has a finite ability to serve connections, after some time all the connections will be used up and no other server will be able connect.

Note that this tool is not a TCP DoS, because it actually makes a full TCP connection and unlike other DoS tools that require tens of thousands requests on an ongoing basis, this tool requires only a few hundred requests at long term and regular intervals.

Given this, the potential impact of this tool could be quite high considering that it doesn't need to send a lot of traffic to exhaust available connections on a server.
Vulnerability Details
This is how the tool works: The tool sends an HTTP request with a partial header. The server will open the connection and wait for the complete header to be received. However, the DoS tool will not send it and will instead keep sending bogus header lines which will keep the connection allocated. Eventually the connection table of the server will be filled up and the server will not be able to serve any other connection.

Protection Overview
This protection will block HTTP connections attempting to carry out this attack.

In order for the protection to be activated, update your Security Gateway/VPN-1/InterSpect product to the latest IPS/SmartDefense update. For information on how to update IPS/SmartDefense, go to SBP-2006-05, Protection tab and select the version of your choice.

To configure the defense, select your product from the list below and follow the related protection steps.

Security Gateway R70

How Can I Protect My Network?
1. In the IPS tab, click Protections > By Protocol > Application Intelligence > Web Servers.
2. In the right pane, double-click the Partial HTTP Requests Denial of Service protection.
3. In the Protection Details window, click on Edit. Choose the protection's Action (Override IPS Policy with: Prevent/Detect), and apply Additional Settings.
4. Install policy on all modules.

How Do I Know if My Network is Under Attack?
SmartView Tracker will log the following entries:

Attack Name: Web Server Enforcement Violation
Attack Information: Partial HTTP requests denial of service

VPN-1 NGX R65

How Can I Protect My Network?
1. In the SmartDefense tree, click Application IntelligenceWeb Servers > Partial HTTP Requests Denial of Service.
2. In the configuration pane, under Settings > Mode, check Active.
3. Install policy on all modules.

How Do I Know if My Network is Under Attack?
SmartView Tracker will log the following entries:

Attack Name: Web Server Enforcement Violation
Attack Information: Partial HTTP requests denial of service

VPN-1 VSX NGX R65

How Can I Protect My Network?
1. In the SmartDefense tree, click Application IntelligenceWeb Servers > Partial HTTP Requests Denial of Service.
2. In the configuration pane, under Settings > Mode, check Active.
3. Install policy on all modules.

How Do I Know if My Network is Under Attack?
SmartView Tracker will log the following entries:

Attack Name: Web Server Enforcement Violation
Attack Information: Partial HTTP requests denial of service

InterSpect NGX

How Can I Protect My Network?
1. In the left pane, select Profiles > Default Protection and select the SmartDefense page of the profile.
2. In the SmartDefense tree, click Application Intelligence > Web Servers.
3. Select the following:

Partial HTTP Requests Denial of Service

4. Install policy on all modules.

How Do I Know if My Network is Under Attack?
SmartView Tracker will log the following entries:

Attack Name: Web Server Enforcement Violation
Attack Information: Partial HTTP requests denial of service

IPS-1 & IPS-1 NGX R65

How Can I Protect My Network?
1. In the IPS-1 Policy Manager, click on the Protection tab.
2. In the Protection tree, click Web Intelligence > WWW 2, and select the WWW2 User-Definable Variables protection group.
3. Click Too Many Concurrent Sessions From A Single Source (IPS-1 NGX R65 only).
4. In the configuration pane, under Settings, check Active.
5. Click on Install Policy.

How Do I Know if My Network is Under Attack?
Upon attack, the following entries will be logged:

Alert Name: User-Defined Attacks
Description: Too Many Concurrent Sessions From A Single Source