Sandboxed Stored Procedure Execution for Secure Database Access

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Implementing stored procedures in multi-tenant cloud-based database systems poses security risks as they can potentially access confidential data from other accounts and transmit it to external networks, requiring secure execution and communication mechanisms.

Innovation Solution

Executing stored procedures within a sandbox process that limits resources and communication abilities, using a modified JDBC instance to restrict external network access and facilitate secure communication through remote procedure calls, ensuring secure execution and data isolation.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of operation

If stored procedures are executed with full access to database resources and network communication, then functionality and ease of operation are improved, but security risks increase due to potential data breaches

Engineering Contradiction:
Improvefunctionality of stored proceduresVSAvoidsecurity risks
Core Design Contradiction:
Ease of operationVSObject-affected harmful factors

Solution Approach 1:

The system segments the database environment into isolated execution contexts (sandboxes) for stored procedures. Each stored procedure runs in its own sandbox process with restricted access to database resources and network communication, preventing unauthorized access to confidential data while maintaining full functionality within the constrained environment.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

A sandbox process acts as an intermediary layer between stored procedures and the underlying database system. This intermediary enforces security policies by controlling and filtering access to database resources and network communication, allowing stored procedures to function normally while blocking harmful operations.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If stored procedures are isolated in a sandbox process, then security is improved, but resource access and communication abilities are restricted

Engineering Contradiction:
ImprovesecurityVSAvoidresource access and communication
Core Design Contradiction:
ReliabilityVSAdaptability or versatility

Solution Approach 1:

The sandbox process implements dynamic resource allocation and communication controls. Security policies are enforced adaptively based on the specific stored procedure's requirements, allowing legitimate resource access and communication while blocking harmful operations. The system dynamically adjusts permissions and filtering rules to maintain both security and functionality.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS12190181B2Invoking specified functionality within a sandbox process
Publication Date: 2025.01.07 SNOWFLAKE INC
  • US12190181B2 patent drawing
  • US12190181B2 patent drawing
  • US12190181B2 patent drawing

AI summary

A database system configured to manage and execute stored procedures within a secure sandbox process. The system receives a response to a database query and, through an Application Programming Interface (API) executing within the sandbox process, converts the response into a remote procedure call. The sandbox process is modified to restrict communication with external networks while enabling communication with a designated execution node, which facilitates interaction between the stored procedure and database system components. The stored procedure, executing within the confines of the sandbox process, directs the API to communicate with the execution node. The execution node, in turn, submits the database query to the database system component.