Title :
A New Class of Buffer Overflow Attacks
Author :
Kundu, Ashish ; Bertino, Elisa
Abstract :
In this paper, we focus on a class of buffer overflow vulnerabilities that occur due to the "placement new\´\´ expression in C++. "Placement new\´\´ facilitates placement of an object/array at a specific memory location. When appropriate bounds checking is not in place, object overflows may occur. Such overflows can lead to stack as well as heap/data/bss overflows, which can be exploited by attackers in order to carry out the entire range of attacks associated with buffer overflow. Unfortunately, buffer overflows due to "placement new\´\´ have neither been studied in the literature nor been incorporated in any tool designed to detect and/or address buffer overflows. In this paper, we show how the "placement new\´\´ expression in C++ can be used to carry out buffer overflow attacks - on the stack as well as heap/data/bss. We show that overflowing objects and arrays can also be used to carry out virtual table pointer subterfuge, as well as function and variable pointer subterfuge. Moreover, we show how "placement new" can be used to leak sensitive information, and how denial of service attacks can be carried out via memory leakage.
Keywords :
C++ language; buffer storage; security of data; storage allocation; C++ language; bounds checking; buffer overflow attack; buffer overflow vulnerability; heap-data-bss overflows; memory leakage; memory location; object overflows; placement new expression; service attacks; virtual table pointer subterfuge; Arrays; Decision support systems; Memory management; Security; Servers; Web services; Attacks; Buffer overflow; Placement new; Security; Stack overflow; heap overflow;
Conference_Titel :
Distributed Computing Systems (ICDCS), 2011 31st International Conference on
Conference_Location :
Minneapolis, MN
Print_ISBN :
978-1-61284-384-1
Electronic_ISBN :
1063-6927
DOI :
10.1109/ICDCS.2011.63