Compiler Microcode Co-evolution for Secure Runtime Execution
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Computing devices are vulnerable to unauthorized access and execution of malware or spyware due to the public availability of compilers and microcode that can reveal the machine-language interface, allowing unauthorized parties to reverse-engineer and execute unauthorized programs.
Innovation Solution
A co-evolution of a compiler and microcode that obscures the machine-language interface by continuously modifying and changing the relationship between the compiler and microcode, making it difficult for unauthorized parties to access and execute unauthorized runtime images by using a fluidly changing machine-language interface.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Ease of operation
If compilers and microcode are made publicly available for standard use, then ease of operation and accessibility are improved, but security and vulnerability to unauthorized access deteriorate
Solution Approach 1:
The patent applies dynamics by making the machine-language interface fluid and continuously changing through co-evolution of compiler and microcode. The interface is not static but adapts over time, with the compiler generating code for one version of the interface while the microcode is updated to a new version, creating a moving target that prevents unauthorized parties from reverse-engineering and exploiting the system.
Solution Approach 2:
The patent changes the parameters of the machine-language interface itself, transforming it from a fixed, publicly known interface to a dynamically evolving one. By continuously modifying the relationship between compiler and microcode versions, the fundamental parameters of code interpretation change, rendering previously obtained interface knowledge obsolete and securing against attacks.
2Ease of manufacture
If the machine-language interface is kept static and public, then ease of manufacture and compatibility are improved, but reliability and security against reverse-engineering deteriorate
Solution Approach 1:
The machine-language interface transitions from static to dynamic through continuous co-evolution. Each update cycle involves releasing a new compiler version that generates runtime images compatible with a new microcode version, creating a moving interface that maintains compatibility within each version while preventing long-term reverse-engineering attacks.
Solution Approach 2:
The system employs periodic updates of the compiler-microcode pair, creating regular cycles of interface evolution. This periodic action ensures that the interface changes at predetermined intervals, maintaining manufacturing compatibility within each period while progressively improving security through accumulated changes over time.
Data Source
AI summary
Briefly, example methods, apparatuses, and/or articles of manufacture are disclosed that may be implemented, in whole or in part, using one or more processing devices to develop compilers and microcode for generation of runtime images for secure execution according to an instruction set architecture (ISA) on a computing device. For example, a co-development of a paired compiler and microcode may obscure how such a paired compiler and microcode are to express program instructions into binary runtime image.


