Method, a device and a computer program support for verification of checksums for self-modified computer code
AssigneeThomson Licensing
InventorsCharles Salmon-Legagneur, Antoine Monsifrot
Life of this patent
Estimating the term…
Abstract
A function of a software program is stored in a memory during execution in a device of the software program. A processor relocates the function in a region of the memory comprising dummy code, transforms the dummy code in a predictable manner, generates a predicted checksum for the region based on a previous checksum, generates a calculated checksum over the region, and verifies the integrity of the function by comparing the predicted checksum and the calculated checksum. Also provided are a device and a computer program product.
Claims13
A method of relocating function code in a memory during execution in a device of a software program comprising the function code, the method comprising the steps in a processor of:
- relocating the function code in a region of the memory comprising dummy code;
- transforming the dummy code in a predictable manner;
- generating a predicted checksum for the region based on a previous checksum;
- generating a calculated checksum over the region;
- and
- verifying the integrity of the function code by comparing the predicted checksum and the calculated checksum.
A device for execution of a software program and relocation of function code of the software program in a memory during execution of the software program, the device comprising:
- a memory for storing the function code and dummy code in a region of the memory;
- and
- a processor for:
- relocating the function code in the region of the memory;
- transforming the dummy code in a predictable manner;
- generating a predicted checksum for the region based on a previous checksum;
- generating a calculated checksum over the region;
- and
- verifying the integrity of the function code by comparing the predicted checksum and the calculated checksum.
A computer program product having stored thereon instructions of a software program, wherein the instructions, when stored in a memory and executed by a processor performs the steps of:
- relocating function code of the software program in a region of the memory comprising dummy code;
- transforming the dummy code in a predictable manner;
- generating a predicted checksum for the region based on a previous checksum;
- generating a calculated checksum over the region;
- and
- verifying the integrity of the function code by comparing the predicted checksum and the calculated checksum.
Dependencies are inferred from the claim text.