Tracking a programs calling context using a hybrid code signature
First Claim
1. A method for generating a hybrid code signature, the method comprising:
- executing, via a processor, an application, the executing comprising executing a root instruction of the application;
profiling, via the processor, the executing of the application, the profiling comprising storing a reference signature determined from the root instruction;
determining, via the processor, a working signature of instructions executed subsequent to the executing of the root instruction, the determining comprising utilizing a CALL level and a hashing value of a return address in response to storing the reference signature;
tracking the updating of the working signature by storing a value in a counter indicative of the CALL level; and
updating continuously, via the processor, the working signature with a hashing function while the working signature at least does not match the reference signature;
wherein the hashing function includes a bit wise rotation of the working signature by a predetermined number of bits.
1 Assignment
0 Petitions
Accused Products
Abstract
A method for a hybrid code signature including executing, via a processor, an application, the executing comprising executing a root instruction of the application; profiling, via the processor, the executing of the application, the profiling comprising storing a reference signature; determining, via the processor, a working signature of instructions executed subsequent to the executing of the root instruction, the determining comprising implementing a hashing function of the instructions in response to storing the reference signature; tracking the updating of the working signature by storing a value in a counter; and updating continuously, via the processor, the working signature with the hashing function while at least the working signature does not match the reference signature.
-
Citations
25 Claims
-
1. A method for generating a hybrid code signature, the method comprising:
-
executing, via a processor, an application, the executing comprising executing a root instruction of the application; profiling, via the processor, the executing of the application, the profiling comprising storing a reference signature determined from the root instruction; determining, via the processor, a working signature of instructions executed subsequent to the executing of the root instruction, the determining comprising utilizing a CALL level and a hashing value of a return address in response to storing the reference signature; tracking the updating of the working signature by storing a value in a counter indicative of the CALL level; and updating continuously, via the processor, the working signature with a hashing function while the working signature at least does not match the reference signature; wherein the hashing function includes a bit wise rotation of the working signature by a predetermined number of bits. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A system comprising a processor configured to perform a method, the method comprising:
-
executing an application, the executing comprising executing a root instruction of the application; profiling the executing of the application, the profiling comprising storing a reference signature; determining a working signature of instructions executed subsequent to the executing of the root instruction, the determining comprising utilizing a CALL level and a hashing value of a return address in response to storing the reference signature; tracking the updating of the working signature by storing a value in a counter indicative of the CALL level; and updating continuously the working signature with a hashing function while the working signature at least does not match the reference signature; wherein the hashing function includes a bit wise rotation of the working signature by a predetermined number of bits. - View Dependent Claims (11, 12, 13, 14, 15, 16, 17)
-
-
18. A computer program product comprising:
-
a tangible storage medium readable by a processing circuit and storing instructions for execution by the processing circuit for performing a method comprising; executing an application, the executing comprising executing a root instruction of the application; profiling the executing of the application, the profiling comprising storing a reference signature; determining a working signature of instructions executed subsequent to the executing of the root instruction, the determining comprising utilizing a call level and a hashing value of a return address in response to storing the reference signature; tracking the updating of the working signature by storing a value in a counter indicative of the call level; and updating continuously the working signature with a hashing function while the working signature at least does not match the reference signature; wherein the hashing function includes a bit wise rotation of the working signature by a predetermined number of bits. - View Dependent Claims (19, 20, 21, 22, 23, 24, 25)
-
Specification