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