Native Code Module Security via Service Registry Mediation
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing techniques for executing native code modules lack effective security measures without incurring performance limitations, as they often rely on inadequate security mechanisms that can be exploited by malicious code, leading to vulnerabilities such as viruses and data loss.
Innovation Solution
A system that facilitates the execution of native code modules by providing system services through a set of service modules executed with reduced privileges, using an inter-module communication runtime for secure communication and access control, ensuring isolation from sensitive resources and enforcing security policies.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If native code modules are executed with full system access, then performance and functionality are improved, but security vulnerabilities increase allowing malicious code to exploit the system
Solution Approach 1:
The system segments the execution environment by introducing a runtime that separates the native code module from direct system access. The runtime acts as a boundary that divides the monolithic execution model into isolated components: the untrusted native code, the trusted runtime environment, and the protected system services.
Solution Approach 2:
The runtime serves as an intermediary layer between the native code module and the operating system. It mediates all system service requests by intercepting them, validating them against security policies, and forwarding approved requests to the appropriate system services, thereby preventing direct unauthorized access.
2Reliability
If interpreted languages or virtual machines are used to execute untrusted code, then security is improved through isolation, but execution performance deteriorates significantly
Solution Approach 1:
Instead of using a full virtual machine or interpreter as an intermediary, the patent employs a lightweight runtime that directly executes native code while providing mediation services. This runtime intermediary maintains security isolation without the performance overhead of interpretation or full virtualization.
Solution Approach 2:
The system changes the execution parameters by running native code directly rather than through interpretation. The security model is changed from complete isolation (virtual machines) to controlled access (runtime-mediated native execution), allowing native performance while maintaining security through policy-based access control.
3Adaptability or versatility
If service modules are added dynamically to the service registry, then system adaptability is improved, but system complexity increases
Solution Approach 1:
The service registry implements self-service mechanisms where service modules automatically register themselves with the runtime upon loading. The runtime automatically discovers, validates, and integrates new services without requiring manual configuration or complex management procedures, reducing system complexity while maintaining adaptability.
Data Source
AI summary
A system includes a service registry (SR) including respective entries for service modules (SM), each entry including data identifying the respective SM and at least one system service (SS) provided by the respective SM, a secure runtime environment (SRE) to execute a first native code module (NCM) according to a first security policy (SP) that specifies permissions for the first NCM to access a SS, and a discovery service (DS) to receive a request for access to a first SS from the first NCM, examine entries of the SR to identify a first SM that provides the first SS, examine the first SP to determine whether the first SP restricts access to the first SS from the first NCM, and select the first SM to provide the first system service to the first NCM if the first SP does not restrict access to the first SS from the first NCM.


