Intermediary Device Detecting Incomplete HTTP Headers
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current systems are ineffective in preventing Slowloris denial-of-service attacks, which keep web servers unavailable by maintaining idle connections and consuming computation resources, as they fail to distinguish between active and idle connections effectively.
Innovation Solution
A method that determines fresh activity on HTTP connections by updating the last activity time only when complete packets are received, silently dropping connections with incomplete headers or those idle for extended periods, without sending reset packets to clients, and tracking client details for future reference.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Duration of action of stationary object
If the web server maintains idle connections for extended periods, then legitimate clients can establish connections, but Slowloris attacks can exploit this to consume computation resources and render the server inaccessible
Solution Approach 1:
The patent applies preliminary action by detecting incomplete HTTP headers before the connection timeout period expires. The system monitors incoming packets and identifies when an HTTP header is incomplete, then proactively terminates the connection before it can consume excessive resources. This prevents the Slowloris attack mechanism from taking effect while still allowing legitimate connections to proceed normally.
Solution Approach 2:
The patent replaces the traditional time-based connection management mechanism with a packet-content-based detection mechanism. Instead of relying solely on timeout periods to manage connections, the system substitutes a method that inspects HTTP header completeness in incoming packets. This substitution allows for more precise differentiation between legitimate idle connections and attack connections, resolving the contradiction between maintaining connections and preventing resource exhaustion.
2Object-affected harmful factors
If the web server terminates connections with incomplete HTTP headers, then Slowloris attacks are prevented, but legitimate connections with delayed packets may be incorrectly terminated
Solution Approach 1:
The patent applies partial action by implementing a hybrid approach that combines both time-based timeout monitoring and packet-content-based header completion detection. The system does not terminate connections solely on the basis of incomplete headers nor solely on timeout, but uses both criteria in combination. This partial application of termination criteria reduces false positives while maintaining effectiveness against Slowloris attacks.
Solution Approach 2:
The patent implements feedback mechanisms by continuously monitoring connection state and adjusting termination decisions based on accumulated packet information. The system tracks whether HTTP headers are complete or incomplete and uses this feedback to make informed decisions about connection termination. This feedback loop allows the system to distinguish between temporary packet delays and genuine attack patterns, maintaining reliability while preventing attacks.
3Ease of operation
If the device sends RESET packets to notify clients of dropped connections, then clients can properly clean up connection state, but attackers can use this information to adjust their attack timing and evade detection
Solution Approach 1:
The patent extracts the notification function from the connection termination process. Instead of sending RESET packets that provide feedback to the client about connection state, the system silently drops connections without notification. This extraction removes the information that attackers could use to adjust their timing, while the client's connection state is managed through alternative means such as connection timeout and reconnection logic.
Solution Approach 2:
The patent converts the potential harm of silent connection dropping (which could confuse clients) into a benefit by making the attack detection more effective. The absence of RESET packets prevents attackers from receiving feedback about their attack success, thereby converting what could be a negative user experience into an enhanced security measure that disrupts attack timing and detection evasion.
Data Source
AI summary
Described herein is a method and system for preventing Denial of Service (DoS) attacks. An intermediary device is deployed between clients and servers. The device receives a first packet of an application layer transaction via a transport layer connection between the device and client. The device records a last activity time for the transport layer connection based upon the timestamp of the first packet. The device receives subsequent data packets and determines whether the data in the packets completes a protocol data structure of the application layer protocol. If the device determines that the subsequent packet completes the protocol data structure, the last activity time is updated. If the device determines that the application layer protocol remains incomplete, the device retains the last activity time and determines that the duration of inactivity for the transport layer connection exceeds a predetermined threshold. The device may subsequently drop the connection.


