Jump to content
Nytro

Reverse Stack Execution

Recommended Posts

Posted

Reverse Stack Execution

Babak Salamat

bsalamat@uci.edu

Andreas Gal

gal@uci.edu

Alexander Yermolovich

ayermolo@uci.edu

Karthik Manivannan

kmanivan@uci.edu

Michael Franz

franz@uci.edu

Donald Bren School of Information and Computer Sciences

University of California, Irvine

Irvine, CA 92697, USA

Technical Report No. 07-07

August 23, 2007

Abstract

Introducing variability during program execution is an eective technique for

ghting software monoculture which enables the quick spread of malicious code

such as viruses and worms. Existing works in the area of automatic genera-

tion of execution variability have been limited to instruction randomization and

heap allocation randomization, even though stack over

ows are the predomi-

nant attack vectors used to inject malicious code. We present a compiler-based

technique that introduces stack variance by reversing the stack growth direc-

tion, and is thus able to close this loophole. In this paper we discuss the steps

necessary to reverse the stack growth direction for the Intel x86 instruction set

which was designed for a single stack growth direction. The performance eval-

uation of our approach shows a negligible overhead for most applications. For

one of the benchmark applications, we see a small performance gain.

Download:

www.ics.uci.edu/~kmanivan/files/TechReport07-07.pdf

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



×
×
  • Create New...