VRT: A Runtime Protection Against Back-Edge Control Flow Integrity Violation

Suraj Kumar Sah, Love Kumar Sah · 2024

In this study, we instrumented runtime instructions to extract real-time memory addresses of program variables, constructing a table as a tool to enforce back-edge control flow integrity (CFI). Variables declared within a function are fundamental to the program's operation, and their information can be utilized to verify whether control returns to the same function post-execution, serving as an indicator of legitimate control flow. We validated this technique using six selected MiBench benchmark programs by modifying the decode and execute stages of the Sim-Outorder simulator in the SimpleScalar toolset. The proposed method requires no additional instructions and effectively detects control flow deviations in all test cases. The memory space needed is up to 13KB for a program with 324 variables, resulting in an area overhead of 1.98 % and power consumption of 11.65uW.

Read the paper · More papers on PaperTik