Masking Mechanism for Secure Native Code Execution
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing techniques for executing untrusted native code on computing devices face challenges in ensuring security while maintaining performance, as they often rely on virtualization or interpretation, which can lead to performance disadvantages and increased security risks.
Innovation Solution
A system that employs a masking mechanism to securely execute native code by ensuring target addresses are aligned to restricted byte boundaries, using a secure runtime environment to enforce code and data integrity, and utilizing hardware-based segmented memory protection to limit access and control flow integrity.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If virtualization or interpretation is used to execute untrusted native code, then security is improved, but execution performance deteriorates
Solution Approach 1:
The patent introduces a secure runtime environment as an intermediary layer between the untrusted native code and the operating system. This environment provides security enforcement through controlled memory access and execution monitoring without requiring full virtualization or interpretation, thus maintaining native execution performance while improving security
Solution Approach 2:
The patent segments the execution environment into distinct protected regions with specific access permissions. By dividing memory into code segments, data segments, and stack segments with enforced access controls, the system achieves security through structural segmentation rather than through slow virtualized execution
2Reliability
If interpreted languages are used to limit unsafe operations, then security is improved, but execution performance deteriorates
Solution Approach 1:
The patent replaces the mechanical interpretation process with direct native code execution under hardware-enforced constraints. Instead of using an interpreter to execute bytecodes with limited operations, the system compiles code to native machine instructions that execute at full processor speed while being constrained by hardware-based memory protection and access control mechanisms
3Reliability
If virtual machine execution environments are used to isolate untrusted applications, then security is improved, but execution performance deteriorates
Solution Approach 1:
The secure runtime environment acts as a lightweight intermediary that provides isolation and security enforcement without the overhead of a full virtual machine. It monitors and controls access to system resources directly at the hardware level, eliminating the need for software-based virtualization layers that slow down execution
Data Source
AI summary
This disclosure presents a system that uses masking to safely execute native code. This system includes a processing element that executes the native code and a memory which stores code and data for the processing element. The processing element includes a masking mechanism that masks one or more bits of a target address during a control flow transfer to transfer control to a restricted set of aligned byte boundaries in the native code.


