ADC TCP Header Embedding for DoS Prevention

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing network configurations are vulnerable to denial of service attacks, particularly in TCP/IP networks, where servers are overwhelmed by SYN packets, leading to service disruptions and bottlenecks in ADCs, which are used to manage and balance network traffic.

Innovation Solution

Implementing an Application Delivery Controller (ADC) that embeds or modifies TCP or IP headers with encoded values to authenticate trusted clients and maintain connection parameters, preventing SYN attacks by embedding TCP options or modifying IP headers with encoded values from an index table, thereby ensuring secure and efficient data transfer.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If servers process all incoming SYN packets directly, then connection establishment is straightforward, but servers become vulnerable to denial of service attacks and experience performance bottlenecks

Engineering Contradiction:
Improvenetwork securityVSAvoidconnection establishment efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The ADC acts as an intermediary between clients and servers, intercepting SYN packets before they reach the server. The ADC maintains connection state information and forwards authenticated connections to the server, preventing DoS attacks while maintaining efficient connection establishment for legitimate traffic.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The ADC performs preliminary authentication and connection state maintenance before connections reach the server. By pre-processing SYN packets and maintaining connection tables, the ADC eliminates the need for servers to handle authentication overhead, improving both security and server productivity.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If ADC maintains connection state for all clients, then security against DoS attacks is improved, but ADC memory consumption and processing overhead increase

Engineering Contradiction:
ImproveDoS attack preventionVSAvoidADC processing complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The ADC maintains connection state information locally in its connection table for each active connection, including TCP sequence numbers and other protocol parameters. This localized state maintenance enables the ADC to authenticate clients and prevent DoS attacks without requiring complex global coordination or excessive memory resources.

Inventive Principle:
Principle #3Local quality

3Reliability

If TCP sequence numbers are embedded in headers, then connection authentication is improved, but packet header complexity increases

Engineering Contradiction:
Improveconnection authenticationVSAvoidpacket header structure
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The TCP header options field is used for multiple purposes: standard TCP options (window scaling, selective acknowledgments) and the additional sequence number embedding for authentication. This multi-functional use of existing header structures provides connection authentication without significantly increasing packet header complexity or requiring new protocol fields.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Data Source

PatentUS10305904B2Facilitating secure network traffic by an application delivery controller
Publication Date: 2019.05.28 A10 NETWORKS INC
  • US10305904B2 patent drawing
  • US10305904B2 patent drawing
  • US10305904B2 patent drawing

AI summary

Facilitation of secure network traffic by an application delivery controller is provided herein. In some examples, a method includes: (a) receiving a data packet with information from a client indicating that the client is a trusted source; (b) embedding in the data packet a transmission control protocol (TCP) options header, the TCP options header comprising information including at least a sequence number for a protocol connection; and (c) forwarding the embedded data packet to a server.