Database Session RPC Interface Segmentation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Database servers expose a large network attack surface area due to supporting all remote procedure calls (RPCs) for various client versions, increasing the risk of unauthorized access and malicious attacks, especially in multi-tenant databases where malicious tenants may exploit exposed RPC interfaces.

Innovation Solution

Implementing techniques to reduce the network attack surface area by configuring database sessions to only allow a limited set of RPCs for non-administrative users and performing deep input validation on incoming RPC messages, ensuring data types and constraints adhere to specified formats, and taking security actions against clients sending invalid messages, such as throttling or suspending their connections.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If the database accepts all remote procedure calls for all supported client versions, then client compatibility and functionality are improved, but the network attack surface area increases

Engineering Contradiction:
Improveclient compatibilityVSAvoidnetwork attack surface area
Core Design Contradiction:
Adaptability or versatilityVSObject-affected harmful factors

Solution Approach 1:

The patent segments the RPC interface by creating two distinct pathways: a legacy RPC interface for backward compatibility and a new RPC interface with reduced attack surface. The database session determines which interface to use based on client identification, allowing different clients to interact through appropriately secured interfaces.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent applies different security qualities to different parts of the system. The new RPC interface implements stricter input validation and parameter checking compared to the legacy interface, creating localized security enhancements where they are most needed without affecting overall system compatibility.

Inventive Principle:
Principle #3Local quality

2Reliability

If deep input validation is performed on all RPC parameters, then security against malicious attacks is improved, but processing time and computational resources increase

Engineering Contradiction:
Improvesecurity against malicious attacksVSAvoidRPC processing time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent performs preliminary validation by checking the RPC opcode against a whitelist of allowed operations before processing the actual RPC parameters. This early rejection of unauthorized operations prevents unnecessary deep validation of malicious payloads, reducing overall processing time while maintaining security.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent replaces exhaustive deep validation of all parameters with a more efficient validation mechanism that checks parameter types and formats against predefined schemas. This substitution uses structured validation rules rather than brute-force checking, reducing computational overhead while maintaining security effectiveness.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

3Adaptability or versatility

If the database exposes all functionality across the network, then client functionality and versatility are improved, but unauthorized access and malicious exploitation risks increase

Engineering Contradiction:
Improvefunctionality exposureVSAvoidunauthorized access risk
Core Design Contradiction:
Adaptability or versatilityVSObject-generated harmful factors

Solution Approach 1:

The patent extracts dangerous or unnecessary functionality from the network-exposed RPC interface. By removing unsupported opcodes and limiting the new RPC interface to only essential, well-audited operations, the patent eliminates potential attack vectors while preserving core functionality needed by clients.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent applies preliminary security measures by validating RPC parameters against predefined schemas and whitelisting allowed operations before execution. This preventive approach blocks potential exploitation attempts before they can reach vulnerable code paths, countering malicious actions in advance.

Inventive Principle:
Principle #9Preliminary anti-action

Data Source

PatentUS11277435B2Reducing network attack surface area for a database using deep input validation
Publication Date: 2022.03.15 ORACLE INT CORP
  • US11277435B2 patent drawing
  • US11277435B2 patent drawing
  • US11277435B2 patent drawing

AI summary

Techniques described herein improve database security by reducing network attack surface area in conjunction with deep input validation. In an embodiment, a database session receives one or more network packets sent via a network, the database session including a database session state that specifies one or more database privileges. The database session reads said one or more network packets into one or more request-packet-buffers, wherein said one or more request-packet-buffers include an RPC op code for a database operation. Based on the one or more database privileges associated with the user associated with the database session, the database session determines whether the RPC op code may be executed. In response to determining that the RPC op code may be executed by said database session, the RPC op code is executed. In response to determining that the op code may not be executed by said database session, the execution of the RPC op code is prevented.