US 11,853,413 B2
Computation device with increased resistance against address probing
Koustubha Bhat, Eindhoven (NL); Hendrik Jaap Bos, Eindhoven (NL); Cristiano Giuffrida, Eindhoven (NL); and Erik van der Kouwe, Eindhoven (NL)
Assigned to Koninklijke Philips N.V., Eindhoven (NL)
Appl. No. 17/299,813
Filed by KONINKLIJKE PHILIPS N.V., Eindhoven (NL)
PCT Filed Dec. 2, 2019, PCT No. PCT/EP2019/083235
§ 371(c)(1), (2) Date Jun. 4, 2021,
PCT Pub. No. WO2020/114937, PCT Pub. Date Jun. 11, 2020.
Claims priority of application No. 18211144 (EP), filed on Dec. 7, 2018; and application No. 18211711 (EP), filed on Dec. 11, 2018.
Prior Publication US 2022/0027461 A1, Jan. 27, 2022
Int. Cl. G06F 21/54 (2013.01); G06F 12/14 (2006.01); G06F 21/55 (2013.01); G06F 21/57 (2013.01); G06F 21/79 (2013.01)
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
OG exemplary drawing
 
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.