Transparent runtime randomization for security

A large class of security attacks exploit software implementation vulnerabilities such as unchecked buffers. This paper proposes transparent runtime randomization (TRR), a generalized approach for protecting against a wide range of security attacks. TRR dynamically and randomly relocates a program&#...

Full description

Saved in:
Bibliographic Details
Published in:22nd International Symposium on Reliable Distributed Systems, 2003. Proceedings pp. 260 - 269
Main Authors: Jun Xu, Kalbarczyk, Z., Iyer, R.K.
Format: Conference Proceeding
Language:English
Published: IEEE 2003
Subjects:
ISBN:0769519555, 9780769519555
ISSN:1060-9857
Online Access:Get full text
Tags: Add Tag
No Tags, Be the first to tag this record!
Description
Summary:A large class of security attacks exploit software implementation vulnerabilities such as unchecked buffers. This paper proposes transparent runtime randomization (TRR), a generalized approach for protecting against a wide range of security attacks. TRR dynamically and randomly relocates a program's stack, heap, shared libraries, and parts of its runtime control data structures inside the application memory address space. Making a program's memory layout different each time it runs foils the attacker's assumptions about the memory layout of the vulnerable program and makes the determination of critical address values difficult if not impossible. TRR is implemented by changing the Linux dynamic program loader, hence it is transparent to applications. We demonstrate that TRR is effective in defeating real security attacks, including malloc-based heap overflow, integer overflow, and double-free attacks, for which effective prevention mechanisms are yet to emerge. Furthermore, TRR incurs less than 9% program startup overhead and no runtime overhead.
ISBN:0769519555
9780769519555
ISSN:1060-9857
DOI:10.1109/RELDIS.2003.1238076