Department of Electrical Engineering and Computer Science
Syracuse University

Address Space Layout Randomization Lab

Overview

Address space layout randomization (ASLR) is a computer security technique, which involves randomly arranging the positions of key data areas in a process's address space. These key data areas usually includes the base of the executable and position of libraries, heap, and stack, etc. Although ASLR does not eliminate vulnerabilities, it can make the exploit of some vulnerabilities much harder. For instance, a common buffer-overflow attack involves loading the shellcode on the stack and overwriting the return address with the starting address of the shellcode. In most cases, attackers have no control over the starting address of the shellcode, they have to guess the address. The probability of a success guess can be significantly reduced if the memory is randomized. Students need to implement ASLR for Minix 3.

Lab Description and Tasks (pdf)

    For instructors: if you prefer to modify the lab description to suit your own courses, you can download the source files (Latex) from here.

Time for This Lab: 2 weeks


Updated on 3/21/2007