A simple hardware mechanism to validate the execution of a program continuously for fast validation of the program as it executes.

About

The present technology lends itself to modern pipelined design, and exploits modern processor architectures, permitting initial stages of program execution to speculatively execute with a contingent subsequent exception or flushing occurring dependent on the verification status. In differing variations, the control flow signatures are either computed for the instructions within each individual basic block and verified against an expected signature of that basic block, or computed and accumulated into a single variable as control flows through each basic block in the course of executing a program

Key Benefits

Enables the tampering of a program to be detected as the program executes. Fast validation of programs as they execute with very little performance overhead. Mechanism fits easily into existing designs.

Applications

Detection of malicious attempts to modify code. Ensures that only certified code can run and detect run-time tampering of such code. Permits trustworthy code to be distributed and used. Detects instruction corruption due to faults – permanent or transient.

Register for free for full unlimited access to all innovation profiles on LEO

  • Discover articles from some of the world’s brightest minds, or share your thoughts and add one yourself
  • Connect with like-minded individuals and forge valuable relationships and collaboration partners
  • Innovate together, promote your expertise, or showcase your innovations