Sandboxed Stored Procedure Execution for Secure Database Access
Find Innovative SolutionsGenerate 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
Engineering 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
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.
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.
2Reliability
If stored procedures are isolated in a sandbox process, then security is improved, but resource access and communication abilities are restricted
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.
Data Source
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.


