RDMA Connection Cookie Verification for DoS Mitigation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

RDMA connection setups are vulnerable to denial-of-service (DoS) attacks, where malicious clients tie up server resources with incomplete connection requests, as the server allocates hardware and memory resources before verifying the legitimacy of the client.

Innovation Solution

Implementing a cookie-based verification system where the server only allocates resources after receiving a suitable cookie from the client, which is derived from the initial connection request, thereby reducing the risk of DoS attacks by ensuring legitimate clients provide the required cookie before resource allocation.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If the server allocates hardware and memory resources before verifying the legitimacy of the client, then the connection setup speed is improved, but the server becomes vulnerable to DoS attacks where malicious clients tie up server resources

Engineering Contradiction:
Improveconnection setup speedVSAvoidDoS attack vulnerability
Core Design Contradiction:
SpeedVSObject-affected harmful factors

Solution Approach 1:

The server performs preliminary verification by checking for a valid cookie in the connection request message before allocating any hardware or memory resources. This preliminary action ensures that only legitimate clients can proceed to resource allocation, preventing DoS attacks while maintaining efficient connection setup for authenticated clients

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

A cookie-based verification mechanism is introduced as an intermediary between the connection request and resource allocation. The cookie acts as a mediator that carries verification information, allowing the server to authenticate clients without delaying the connection setup process for legitimate users while blocking malicious requests

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If the server requires cookie verification before resource allocation, then security against DoS attacks is improved, but the connection establishment process becomes more complex

Engineering Contradiction:
Improvesecurity against DoS attacksVSAvoidconnection establishment process complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The verification logic is extracted into a separate cookie checking mechanism that operates independently from the main resource allocation process. This extraction allows the connection establishment to proceed through distinct phases: cookie verification first, then resource allocation, making the process more manageable and less complex overall

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The connection establishment process is segmented into distinct stages: (1) receiving connection request with cookie, (2) verifying cookie validity, (3) allocating resources if verification succeeds. This segmentation reduces complexity by breaking down the monolithic connection process into manageable, sequential steps with clear decision points

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS10250635B2Defending against DoS attacks over RDMA connections
Publication Date: 2019.04.02 MELLANOX TECHNOLOGIES LTD(IL)
  • US10250635B2 patent drawing
  • US10250635B2 patent drawing
  • US10250635B2 patent drawing

AI summary

A processor is configured to receive, from a client, a first message indicating a request to establish a connection between the client and a server, to ascertain that the first message does not include any cookie satisfying one or more criteria, to send, to the client, a second message that includes a first cookie, without allocating an endpoint on the server for the connection, in response to ascertaining that the first message does not include any cookie satisfying the criteria, to receive subsequently, from the client, a third message, to ascertain that the third message includes a second cookie, and that the second cookie satisfies the criteria, to allocate the endpoint for the connection in response to ascertaining that the second cookie satisfies the criteria, and to send, to the client, a fourth message indicating that the server is ready to receive data communication at the allocated endpoint.