Intermediary gRPC Proxy Scanning for Server Security

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Servers configured to process gRPC protocol messages are vulnerable to attacks due to issues like duplicate fields, lack of range checking, and flexible field order, which can lead to denial of service and injection attacks.

Innovation Solution

An intermediary device, such as an inline proxy or virtual proxy cloud service, scans messages in real-time to detect and remove redundant fields, validate field content, and perform range checking, using a configuration file to specify valid parameters and enforce security policies.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If the server scans the entire message to identify duplicate fields, then the server can handle gRPC messages with duplicate fields, but this creates a denial of service vulnerability and increases processing time

Engineering Contradiction:
Improveability to handle duplicate fieldsVSAvoidvulnerability to denial of service attacks
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

The intermediary device performs preliminary scanning and identification of duplicate fields in messages before they reach the server. By pre-processing the message validation and removing duplicate fields in advance, the server is protected from denial of service attacks while maintaining the ability to handle legitimate messages with duplicate fields.

Inventive Principle:
Principle #10Preliminary action

2Adaptability or versatility

If the server accepts messages with unknown field numbers for backwards compatibility, then the server can maintain compatibility with older clients, but this exposes the server to injection attacks

Engineering Contradiction:
Improvebackwards compatibilityVSAvoidinjection attacks
Core Design Contradiction:
Adaptability or versatilityVSObject-affected harmful factors

Solution Approach 1:

The intermediary device acts as a mediator between clients and the server. It validates messages against the configuration file and proto file definitions, filtering out malicious unknown fields while allowing legitimate backwards-compatible messages to pass through. This protects the server from injection attacks while maintaining backwards compatibility.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Adaptability or versatility

If the server provides flexible field order acceptance, then the server can accommodate different message formats, but this exposes the server to stacking of optional fields and hidden malicious data

Engineering Contradiction:
Improveflexible field orderVSAvoidstacking attacks and hidden data
Core Design Contradiction:
Adaptability or versatilityVSObject-affected harmful factors

Solution Approach 1:

The intermediary device performs preliminary validation of field order and structure before messages reach the server. It checks that fields are in the correct order according to the proto file definitions and removes or rejects messages with stacked optional fields or hidden malicious data, while still allowing flexible field order in legitimate messages.

Inventive Principle:
Principle #10Preliminary action

4Productivity

If the server accepts max size values for all parameters without range checking, then the server can handle large data transmissions, but this allows malicious content and injection attacks

Engineering Contradiction:
Improvedata transmission capacityVSAvoidmalicious content and injection attacks
Core Design Contradiction:
ProductivityVSObject-affected harmful factors

Solution Approach 1:

The intermediary device changes the parameter validation approach by enforcing range checking based on the configuration file and proto file definitions. It validates that parameter sizes and values fall within acceptable ranges, blocking malicious content while allowing legitimate large data transmissions that conform to the defined specifications.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS11991177B2Node security with intermediate devices
Publication Date: 2024.05.21 CITRIX SYSTEMS INC
  • US11991177B2 patent drawing
  • US11991177B2 patent drawing
  • US11991177B2 patent drawing

AI summary

Reducing vulnerability to a server is provided. A device intermediary to a client and a server can receive a RPC message from the RPC based client to the RPC based server, the RPC message having a plurality of fields to execute one or more routines on the server. The device can detect that one or more fields of the plurality of fields exploits a vulnerability of the RPC based server. The device can modify the RPC message to remove the one or more fields from the RPC message. The device can forward the modified RPC message to the RPC server.