Wrapper for Reducing Privileges in Imported Software Packages
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
The use of third-party software packages in computing systems introduces security vulnerabilities due to the lack of comprehensive review, making them susceptible to unknown security threats and exploits, even when best security practices are employed.
Innovation Solution
Implementing a monitoring service that profiles the behavior of untrusted code during a learning period and compares it to expected behavior, allowing for real-time monitoring and enforcement to detect and mitigate potential security breaches, along with a wrapping application that reduces privileges of untrusted code and a risk profiling application that assesses the security history of software packages to determine risk levels.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If third-party software packages are used to speed up software development, then productivity is improved, but security reliability deteriorates due to unknown vulnerabilities and malicious code
Solution Approach 1:
The patent introduces a wrapper as an intermediary layer between the trusted code and untrusted third-party packages. The wrapper executes the untrusted code in an isolated environment with reduced privileges, preventing direct access to sensitive system resources. This mediator approach allows the system to benefit from third-party packages while mitigating their security risks through controlled execution.
Solution Approach 2:
The patent segments the execution environment by creating separate privileged and unprivileged modes. The wrapper divides the code execution into distinct segments: trusted code running with full privileges and untrusted third-party code running with restricted privileges. This segmentation isolates potential security threats to specific segments, preventing system-wide compromise.
2Reliability
If comprehensive security review of every imported package is performed to ensure security, then security reliability is improved, but productivity deteriorates due to time-consuming analysis
Solution Approach 1:
The patent performs preliminary security actions by wrapping untrusted code before execution. The wrapper is created in advance to establish security boundaries and privilege restrictions. This preliminary security setup allows the untrusted code to execute safely without requiring comprehensive real-time analysis, thus maintaining development speed while ensuring security.
Solution Approach 2:
The wrapper serves as a mediator that provides security enforcement without requiring direct inspection of the untrusted code. Instead of reviewing every imported package comprehensively, the system uses the wrapper intermediary to enforce security policies dynamically during execution, reducing the overhead of security verification.
3Ease of operation
If untrusted code is allowed to execute with full privileges to maintain functionality, then ease of operation is improved, but security reliability deteriorates due to potential malicious activities
Solution Approach 1:
The patent applies local quality by granting different privilege levels to different parts of the system. The wrapper ensures that untrusted code executes with locally restricted privileges appropriate to its specific functionality, rather than uniformly high privileges. This localized privilege assignment maintains necessary functionality while minimizing security exposure.
Solution Approach 2:
The wrapper acts as an intermediary that automatically manages privilege escalation and restriction. Instead of requiring manual configuration of complex permission sets, the wrapper mediates between the untrusted code's needs and system security requirements, providing appropriate access rights dynamically during execution.
Data Source
AI summary
Disclosed are various embodiments for reducing privileges for imported software packages, such as software libraries. Trusted code is received that is configured to use untrusted code. A wrapper is generated for the untrusted code. The trusted code is reconfigured to use the wrapper. The wrapper is configured to invoke the untrusted code with reduced privileges as compared to the trusted code.


