A computation device with increased resistance against address probing
AssigneeKoninklijke Philips N.V.
InventorsKoustubha BHAT, Hendrik Jaap BOS, Cristiano GIUFFRIDA, Erik van der Kouwe
Life of this patent
Estimating the term…
Abstract
Some embodiments are directed to a computing device (100) configured for execution of a computer program protected against address probing. The device is configured to run at least one anomaly detector (140) for detecting an address probing on the computer program, and to selectively replace an originating computer program code part with a replacement computer program code part wherein an address probing countermeasure is added.
Claims20
A computing device configured for execution of a computer program
- 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 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 an offending portion of the computer program code from which the address probing originated,
- wherein the processor circuit is configured to selectively replace the offending portion of the computer program code part with a replacement computer program code,
- wherein an address probing countermeasure is added to the replacement computer code.
A compiler device comprising:
- a communication interface, wherein the communication interface is configured to receive a source code;
- and
- a processor circuit,
- wherein the processor circuit is configured to compile the source code to obtain computer program code,
- wherein the computer program code comprises multiple computer program code parts corresponding to multiple source code parts,
- wherein the computer program code is arranged to execute in a randomized address space,
- wherein the processor circuit is configured to compile the multiple source code parts with an added address probing countermeasure to obtain multiple replacement computer program code parts,
- wherein the processor circuit is configured to include in the computer program code at least one anomaly detector,
- wherein the at least one anomaly detector is configured to detect an address probing on the computer program during execution,
- wherein the processor circuit is configured to include switching code in the computer program code,
- wherein the switching code is configured to:
- locate the computer program code part from which the address probing originated upon detecting the address probing;
- and
- selectively replace at least one portion of the multiple computer program code part(s) with a corresponding replacement computer program code part.
The A computing method comprising:
- storing a computer program code and computer program data,
- wherein the computer program code comprises multiple computer program 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;
- executing the computer program code;
- monitoring 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;
- locating the computer program code part from which the address probing originated upon detecting the address probing;
- and
- selectively replacing the offending portion of the originating computer program code part with a replacement computer program code, wherein an address probing countermeasure is added to the replacement computer code.
The A compiling method for compiling a source code comprising
- compiling the source code to obtain computer program code, wherein the computer program code comprises multiple computer program code parts corresponding to multiple source code parts,
- wherein the computer program code is arranged to execute in a randomized address space;
- compiling the multiple source code parts with an added address probing countermeasure to obtain multiple replacement computer program code parts;
- including in the computer program code at least one anomaly detector configured, wherein the anomaly detector is arranged to detect an address probing on the computer program;
- and
- including switching code in the computer program code, wherein the switching code is configured to:
- locate the computer program code part from which the address probing originated upon detecting the address probing;
- and
- selectively replace at least one portion of the multiple originating computer program code part(s) with a corresponding replacement computer program code part.
Dependencies are inferred from the claim text.