Intermediary gRPC Proxy Scanning for Server Security
Find Innovative SolutionsGenerate 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
Engineering 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
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.
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
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.
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
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.
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
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.
Data Source
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.


