DocumentCode :
3055017
Title :
Augmenting Branch Predictor to Secure Program Execution
Author :
Shi, Yixin ; Lee, Gyungho
Author_Institution :
Univ. of Illinois at Chicago, Chicago
fYear :
2007
fDate :
25-28 June 2007
Firstpage :
10
Lastpage :
19
Abstract :
Although there are various ways to exploit software vulnerabilities for malicious attacks, the attacks always result in unexpected behavior in program execution, deviating from what the programmer/user intends to do. Program execution blindly follows the execution path specified by control flow transfer instructions with the targets generated at run-time without any validation. An enhancement is therefore proposed to secure program execution by introducing a validation mechanism over control flow transfer instructions at micro-architecture level. The proposed scheme, as a behavior-based protection, treats a triplet of the indirect branch´s location, its target address, and the execution path preceding it as a behavior signature of program execution and validates it at run-time. The first two pieces of information can prevent an adversary from overwriting control data and introducing foreign code or impossible targets to redirect an indirect branch. The last one is necessary to defeat the attacks that use a legitimate target but follow an unintended execution path. Interestingly, the branch predictor is found to contain the signature information already and doing a portion of the validation when resolving the branch, thus greatly reducing the validation frequency. An enhancement of branch target buffer (BTB) entry together with a signature table implemented in the form of a Bloom filter in hardware is proposed to incorporate the validation into the processor´s pipeline, providing a new defense in the processor architecture to secure program execution.
Keywords :
program diagnostics; program verification; security of data; branch target buffer; program execution security; software vulnerabilities; unintended execution path; validation mechanism; Control systems; Data mining; Data security; Decision making; Filters; Frequency; Hardware; Programming profession; Protection; Runtime; Bloom Filter; Branch Predictor; Control Flow Validation; Indirect Branch; Software Protection;
fLanguage :
English
Publisher :
ieee
Conference_Titel :
Dependable Systems and Networks, 2007. DSN '07. 37th Annual IEEE/IFIP International Conference on
Conference_Location :
Edinburgh
Print_ISBN :
0-7695-2855-4
Type :
conf
DOI :
10.1109/DSN.2007.19
Filename :
4272951
Link To Document :
بازگشت