DocumentCode
1383126
Title
An Architectural Approach to Preventing Code Injection Attacks
Author
Riley, Ryan ; Jiang, Xuxian ; Xu, Dongyan
Author_Institution
Dept. of Comput. Sci. & Eng., Qatar Univ., Doha, Qatar
Volume
7
Issue
4
fYear
2010
Firstpage
351
Lastpage
365
Abstract
Code injection attacks, despite being well researched, continue to be a problem today. Modern architectural solutions such as the execute-disable bit and PaX have been useful in limiting the attacks; however, they enforce program layout restrictions and can oftentimes still be circumvented by a determined attacker. We propose a change to the memory architecture of modern processors that addresses the code injection problem at its very root by virtually splitting memory into code memory and data memory such that a processor will never be able to fetch injected code for execution. This virtual split memory system can be implemented as a software-only patch to an operating system and can be used to supplement existing schemes for improved protection. Furthermore, our system is able to accommodate a number of response modes when a code injection attack occurs. Our experiments with both benchmarks and real-world attacks show the system is effective in preventing a wide range of code injection attacks while incurring reasonable overhead.
Keywords
codes; memory architecture; security of data; code injection attacks; code memory; data memory; memory architecture; modern processors; virtual split memory system; Arm; Computer architecture; Gain control; Memory architecture; Operating systems; Protection; Code injection; secure memory architecture.;
fLanguage
English
Journal_Title
Dependable and Secure Computing, IEEE Transactions on
Publisher
ieee
ISSN
1545-5971
Type
jour
DOI
10.1109/TDSC.2010.1
Filename
5383367
Link To Document