CPC G06F 21/54 (2013.01) [G06F 12/1433 (2013.01); G06F 21/554 (2013.01); G06F 21/572 (2013.01); G06F 21/79 (2013.01)] | 20 Claims |
1. A computing device configured for execution of a computer program comprising:
a memory circuit,
wherein the memory circuit is arranged to store computer program code and computer program data,
wherein the computer program code comprises multiple computer program code parts,
wherein each of the multiple computer program code parts is configured to perform a particular function,
wherein the computer program code comprises one or more predefined replacement computer code parts corresponding to one or more of the multiple computer program code parts,
wherein each of the one or more replacement computer code parts performs the particular function of the corresponding one or more of the multiple computer code parts,
wherein each of the one or more replacement code parts comprises address probing countermeasures that are not included in the corresponding one or more multiple computer code parts,
wherein the computer program code is configured to operate upon the computer program data,
wherein addresses of the computer program code and/or computer program data are randomized in an address space; and
a processor circuit,
wherein the processor circuit is configured to execute the computer program code,
wherein the processor circuit is configured to monitor the execution of the computer program code by running at least one anomaly detector,
wherein the anomaly detector is configured to detect an address probing on the computer program,
wherein the processor circuit is configured to locate a probed computer program code part from which the address probing originated,
wherein the processor circuit is configured to replace the the probed computer program code part with the replacement computer program code part corresponding to the probed computer program code part.
|