Processing Unit Instruction Permutation for Remote-Code Execution Protection
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing methods to prevent remote code execution, such as instruction set randomization, are complex and expensive, requiring additional logic and potential security risks, making them impractical for widespread application.
Innovation Solution
Customize a processing unit by determining a permutation of its instruction set and implementing this permutation through hardware adaptations, such as micro-fuses or multi-layer printed circuit boards, or via microcode, to make remote code execution difficult by ensuring only valid instructions are executed.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If instruction set randomization with XOR encryption is implemented, then protection against remote code execution is improved, but device complexity and manufacturing cost increase
Solution Approach 1:
The patent applies parameter changes by permuting the bit positions of instruction set encoding according to a device-specific permutation sequence. Instead of using complex encryption logic, the invention changes the parameter arrangement (bit positions) of the instruction set to achieve security. Each processing unit is configured with a unique permutation sequence that reorders the bits in instruction words, making exploited code incompatible with the target device while keeping the hardware structure simple.
2Reliability
If configurable encryption with additional logic is implemented, then security against code injection is improved, but ease of manufacture deteriorates
Solution Approach 1:
The patent uses a simple permutation sequence stored in non-volatile memory or hardwired into the processing unit, replacing complex configurable encryption logic. This approach uses inexpensive, fixed configuration elements (such as fuses or ROM-stored permutation sequences) that are set during manufacturing and cannot be changed, thereby simplifying the manufacturing process while maintaining security through device-specific instruction set permutation.
3Ease of operation
If standard instruction set is used, then ease of operation is improved, but vulnerability to remote code execution increases
Solution Approach 1:
The patent introduces asymmetry by using different permutation sequences for different processing units. While the underlying instruction set architecture remains standard and symmetric in structure, each device applies a unique asymmetric permutation to its instruction encoding. This allows software compiled for standard instruction sets to run on emulators or debuggers, while the actual processing units present an asymmetric, device-specific instruction format that prevents exploitation.
Solution Approach 2:
The patent introduces an intermediary layer (permutation sequence) between the standard instruction set and the processing unit execution. This intermediary permutes the bit positions of incoming instructions according to device-specific sequences, acting as a mediator that translates standard instruction formats into device-specific formats. This allows software developers to work with standard instruction sets while the processing units maintain security through the intermediary permutation layer.
Data Source
AI summary
A processing unit is customized to prevent remote code execution of the processing unit. In a first step, a permutation of an instruction set of the processing unit is determined. Adaptations of the processing unit for implementing the permutation of the instruction set are then determined. Finally, the processing unit is customized in accordance with the determined adaptations.

