Security of program executables and microprocessors based on compiler-arcitecture interaction
First Claim
1. A method, for use in a processor context, wherein instructions in a program executable are encoded with plural instruction set encodings.
2 Assignments
0 Petitions
Accused Products
Abstract
A method, for use in a processor context, wherein instructions in a program executable are encoded with plural instruction set encodings. A method wherein a control instruction encoded with an instruction set encoding contains information about decoding of an instruction that is encoded with another instruction set encoding scheme. A method wherein instruction set encodings are randomly generated at compile time. A processor framework wherein an instruction is decoded during execution with the help of information provided by a previously decoded control instruction.
157 Citations
12 Claims
- 1. A method, for use in a processor context, wherein instructions in a program executable are encoded with plural instruction set encodings.
-
7. A processor framework wherein:
-
instructions are encoded in plural instruction set architectures;
an instruction is decoded during execution with the help of information provided by a previously decoded instruction.
-
-
8. The processor framework of method 2, wherein a control instruction is extracted at runtime before entering the processor pipeline.
-
9. The method of processor framework 7 wherein instructions are decoded to a reference instruction set before entering the decode stage of the processor.
-
12. A method, for use in a processor context, wherein:
-
instructions in a program executable are scrambled;
a control instruction scrambled with a key contains information about decoding of an instruction that is scrambled with another key.
-
Specification