Back to results
US 12,585,773 B2Granted
Using approximate membership query filters for efficient control flow integrity protection
AssigneeNXP B.V.
InventorsJan Hoogerbrugge, Marcel Medwed
Life of this patent
Estimating the term…
Abstract
A method includes fetching, at a program counter value, an instruction of a basic block of code; decoding the instruction; updating a checksum value with a checksum of the instruction; and determining whether a tuple of the program counter value and the checksum value is in an approximate membership query filter (AMQ-filter).
Claims20
A method, comprising:
- fetching, at a program counter value, an instruction of a basic block of code;
- decoding the instruction;
- updating a checksum value by adding a value of a checksum of the instruction to a current checksum value based on other instructions of the basic block;
- determining whether a tuple of the program counter value and the updated checksum value is in an approximate membership query filter (AMQ-filter);
- and
- performing, at a processing circuitry, an operation to address a fault attack based on the tuple not being in the AMQ-filter.
3 more elements
An apparatus, comprising:
- an approximate membership query filter (AMQ-filter) that stores tuples of program counters and checksums;
- and
- processing circuitry configured to fetch, at a program counter value, an instruction of a basic block of code, decode the instruction, and update a checksum value by adding a value of a checksum of the instruction to a current checksum value based on other instructions of the basic block, wherein the AMQ-filter is configured to determine whether a tuple of the program counter value and the updated checksum value is in the AMQ-filter, and wherein the processing circuitry is configured to perform an operation to address a fault attack based on the tuple not being in the AMQ-filter.
A non-transitory computer readable medium embodying a set of executable instructions, the set of executable instructions to manipulate at least one processor to:
- fetch, at a program counter value, an instruction of a basic block of code;
- decode the instruction;
- update a checksum value by adding a value of a checksum of the instruction to a current checksum value based on other instructions of the basic block;
- determine whether a tuple of the program counter value and the updated checksum value is in an approximate membership query filter (AMQ-filter);
- and
- perform an operation to address a fault attack based on the tuple not being in the AMQ-filter.
3 more elements
Dependencies are inferred from the claim text.