Continuous, Low Overhead, Run-Time Validation of Program Executions

Microarchitecture(2014)

引用 14|浏览34
暂无评分
摘要
The construction of trustworthy systems demands that the execution of every piece of code is validated as genuine, that is, the executed codes do exactly what they are supposed to do. Pre-execution validations of code integrity fail to detect run time compromises like code injection, return and jump-oriented programming, and illegal dynamic linking of program modules. We propose and evaluate a generalized mechanism called REV (for Run-time Execution Validator) that can be easily integrated into a contemporary out-of-order processor to validate, as the program executes, the control flow path and instructions executed along the control flow path. To prevent memory from being tainted by compromised code, REV also prevents updates to the memory from a basic block until its execution has been authenticated. Although control flow signature based authentication of an execution has been suggested before for software testing and for restricted cases of embedded systems, their extensions to out-of-order cores is a non-incremental effort from a micro architectural standpoint. Unlike REV, the existing solutions do not scale with binary sizes, require binaries to be altered or require new ISA support and also fail to contain errors and, in general, impose a heavy performance penalty. We show, using a detailed cycle-accurate micro architectural simulator for an out-of-order pipeline implementing the X86 ISA that the performance overhead of REV is limited to 1.87% on the average across the SPEC 2006 benchmarks.
更多
查看译文
关键词
benchmark testing,program compilers,program testing,program verification,trusted computing,ISA support,REV,SPEC 2006 benchmarks,X86 ISA,code injection,contemporary out-of-order processor,control flow path,control flow signature based authentication,embedded systems,illegal dynamic program module linking,jump-oriented programming,microarchitectural standpoint,out-of-order cores,performance overhead,preexecution code integrity validations,program executions,return-oriented programming,run-time execution validator,run-time validation,software testing,trustworthy systems,Computer Security,Control-Flow Integrity,Control-Flow Validation,Hardware Security,Secure Execution,Trusted Computing
AI 理解论文
溯源树
样例
生成溯源树,研究论文发展脉络
Chat Paper
正在生成论文摘要