Shared Library Access Control via Call Stack Inspection
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing systems face challenges in securely authorizing access to shared libraries, as unauthorized programs can masquerade as authorized ones, and malicious code can exploit API methods, leading to unauthorized access.
Innovation Solution
The method involves inspecting the call stack of processes attempting to access shared libraries to determine if the methods initiating the access are authorized, using policies like blacklists, whitelists, and designations of trustworthiness, and assigning tokens for authorized access to bypass subsequent stack inspections.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If traditional access control methods are used to limit API method access to authorized programs, then access control is simplified, but security is weakened because unauthorized programs can masquerade as authorized ones through inter-process communication or code injection
Solution Approach 1:
The patent segments the access control verification process into two distinct parts: (1) verifying the authorized program's identity, and (2) verifying the authorization of the specific method initiating the API call. This is achieved by inspecting the call stack to identify and verify each method in the call chain, rather than simply checking the calling program. This segmentation resolves the contradiction by maintaining simple program-level access control while adding sophisticated method-level verification to prevent masquerading attacks.
Solution Approach 2:
The patent performs preliminary action by pre-establishing a policy that defines which methods are authorized to access shared library API methods. This policy is configured in advance and stored for reference during runtime verification. The call stack inspection mechanism is also prepared in advance, enabling rapid verification without complex runtime decision-making. This preliminary setup resolves the contradiction by providing simple, pre-defined access rules while implementing robust verification through the pre-configured inspection mechanism.
2Reliability
If call stack inspection is performed for every access attempt to verify method authorization, then security is improved by preventing masquerading attacks, but processing time increases due to repeated inspection overhead
Solution Approach 1:
The patent performs preliminary action by pre-establishing a policy that defines which methods are authorized to access shared library API methods. This policy is configured in advance and stored for reference during runtime verification. The call stack inspection mechanism is also prepared in advance, enabling rapid verification without complex runtime decision-making. This preliminary setup resolves the contradiction by providing simple, pre-defined access rules while implementing robust verification through the pre-configured inspection mechanism.
Solution Approach 2:
The patent creates and maintains a copy of the authorized methods policy in memory for rapid access during runtime verification. Instead of repeatedly accessing complex authorization systems or re-evaluating access rules, the system uses this pre-loaded policy copy to quickly determine whether each method in the call stack is authorized. This copying approach resolves the contradiction by enabling fast verification decisions while maintaining comprehensive security checks.
3Measurement precision
If comprehensive call stack inspection is implemented to identify all methods in the call chain, then authorization accuracy is improved, but device complexity increases due to the need for detailed stack analysis and policy matching
Solution Approach 1:
The patent segments the access control verification process into two distinct parts: (1) verifying the authorized program's identity, and (2) verifying the authorization of the specific method initiating the API call. This is achieved by inspecting the call stack to identify and verify each method in the call chain, rather than simply checking the calling program. This segmentation resolves the contradiction by maintaining simple program-level access control while adding sophisticated method-level verification to prevent masquerading attacks.
Solution Approach 2:
The patent introduces an intermediary policy mechanism that serves as a mediator between the complex call stack inspection process and the simple access control decision. The policy acts as a lookup table or reference guide that translates the detailed method identification from call stack inspection into straightforward authorization decisions. This intermediary approach resolves the contradiction by providing a simple interface for access control while enabling comprehensive verification through the policy-mediated inspection process.
Data Source
AI summary
The disclosed computer-implemented method for authorizing attempts to access shared libraries may include (1) detecting an attempt by a process to access a shared library, (2) identifying a call stack of the process, (3) inspecting the call stack to determine whether a method that initiated the attempt is authorized to access the shared library, and (4) causing the attempt to be allowed if the method is authorized to access the shared library or blocked if the method is not authorized to access the shared library. Various other methods, systems, and computer-readable media are also disclosed.


