Hardware-Assisted Monitoring for Code Security in Embedded System

This paper presents a novel hardware-assisted monitoring architecture for code protection. Program code can be considered as a number of basic code blocks, each with jump and return addresses. It records all possible positions and the function called address to extract the monitoring model of program. The compiler extracts the control flow and static code integrity validation information using lightweight hash and integrity algorithms at compile time. During the execution of the program security module reads from the specialized division of hardware such information, which is compared with the program generated in the process of real-time operation. If inconsistent with the description of the program was found, the security module will abort the CPU run. This design effectively improves the security of embedded systems, while the whole system costs less resource consumption and obtains high efficiency.