arrow
Return

An Architectural Approach to Preventing Code Injection Attacks

delete2010-10-01
delete23
PRE
AI
R
Ryan Riley *
DOI:10.1109/TDSC.2010.1delete
deleteOriginal
deleteOriginal request for help
deleteShare
deleteSave
Abstract

Abstract

En 中文
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:
Code injection
secure memory architecture

Journal

IEEE Transactions on Dependable and Secure Computing cover
IEEE Transactions on Dependable and Secure Computing
IF:
7.5
Papers:
2.4K
Citations:
9.6K

Organization

Purdue University System cover
Purdue University System
Scholars:
3.9W
Papers: 3.6W
Citations: 66
Q
Qatar University
Scholars:
8.9K
Papers: 9.0K
Citations: 16
N
North Carolina State University
Scholars:
2.6W
Papers: 2.3W
Citations: 3.7W
researcher View more organizations