Stub Library Linking for Database Routine Access Control

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In relational database management systems, grouping methods and functions into shared libraries poses a security risk as unauthorized users can access sensitive information by embedding calls to unauthorized methods or functions within authorized ones, leading to potential unauthorized access.

Innovation Solution

A two-step linking procedure is implemented, where a routine is first linked to a stub library containing only authorized routines, and if no linking error occurs, it is then linked to the shared library, thereby preventing unauthorized access by ensuring only authorized calls are made.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If methods and functions are grouped into a shared library for improved performance and administration, then productivity and ease of operation are improved, but security is worsened as unauthorized users can access sensitive information by embedding calls to unauthorized methods within authorized ones

Engineering Contradiction:
ImproveperformanceVSAvoidunauthorized access
Core Design Contradiction:
ProductivityVSObject-affected harmful factors

Solution Approach 1:

The patent introduces a stub library as an intermediary between the shared library and unauthorized routines. The stub library contains placeholder versions of routines that validate access permissions before allowing actual routine execution. This intermediary layer prevents unauthorized users from directly accessing sensitive routines while maintaining the benefits of shared library organization.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent implements preliminary access validation by requiring routines to be pre-authorized and registered in the stub library before they can be accessed from the shared library. The system performs preliminary checks on routine access permissions during the linking process, preventing unauthorized access before it can occur during runtime execution.

Inventive Principle:
Principle #10Preliminary action

2Object-affected harmful factors

If a stub library linking procedure is implemented to prevent unauthorized access, then security is improved, but device complexity increases due to the additional linking step

Engineering Contradiction:
Improveunauthorized accessVSAvoidlinking procedure complexity
Core Design Contradiction:
Object-affected harmful factorsVSDevice complexity

Solution Approach 1:

The patent segments the library linking process into two distinct phases: first linking to the stub library for security validation, then linking to the shared library for actual execution. This segmentation allows the complex security checks to be isolated in the stub library phase, while the shared library phase remains simple and efficient for routine execution.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent creates simplified copies of routine interfaces in the stub library that contain only the essential validation logic. These stub copies replicate the interface signatures of actual routines but with reduced functionality, allowing the linking process to perform security checks without requiring the full complexity of the actual routine implementations.

Inventive Principle:
Principle #26Copying

Data Source

PatentUS8090943B1Preventing unauthorized access of routines in a library
Publication Date: 2012.01.03 TERADATA US INC
  • US8090943B1 patent drawing
  • US8090943B1 patent drawing
  • US8090943B1 patent drawing

AI summary

A system, such as a database system, includes a shared library having plural routines. A linking procedure is used in which a routine (referred to as a “first routine”) is linked to a stub library containing stub programs corresponding to other routines that the first routine is authorized to invoke. If no linking error occurs, the first routine is then linked to the shared library. In some implementations, the first routine is one of a user-defined method (UDM), user-defined function (UDF), or stored procedure created in response to a database query language (e.g., Structured Query Language or SQL) statement.