Software execution randomization
AssigneeInside Secure
InventorsMajid Kaabouch, Eric Le Cocquen, Dominique Parlange
Life of this patent
Estimating the term…
Loading patent…
AssigneeInside Secure
InventorsMajid Kaabouch, Eric Le Cocquen, Dominique Parlange
Estimating the term…
A method of processing programming instructions may include identifying an instruction to be fetched; determining if the identified instruction is protected; if the identified instruction is protected, selecting an alternate instruction from a plurality of alternate instructions corresponding to the identified protected instruction, and fetching the selected alternate instruction; and if the identified instruction is not protected, fetching the identified instruction. Identifying the instruction to be fetched may include identifying an address stored in a program address pointer. Determining if the identified instruction is protected may include comparing the address stored in the program address pointer to one or more addresses stored in a first memory portion, and determining if there is a correspondence. Selecting the alternate instruction may include randomly or pseudo-randomly selecting an instruction from one or more corresponding alternate instructions stored in a second memory portion, and storing the selected instruction in the program address pointer.
A method performed by an instruction fetch unit, the method comprising:
An instruction fetch unit comprising:
An instruction fetch unit comprising:
A method, performed by an instruction fetch unit, of processing instructions in an instruction stream, the method comprising:
An instruction fetch unit comprising:
A device comprising:
A device comprising:
Dependencies are inferred from the claim text.