HeapSentry: kernel-assisted protection against heap overflows

  • Authors:
  • Nick Nikiforakis;Frank Piessens;Wouter Joosen

  • Affiliations:
  • iMinds-DistriNet, KU Leuven, Leuven, Belgium;iMinds-DistriNet, KU Leuven, Leuven, Belgium;iMinds-DistriNet, KU Leuven, Leuven, Belgium

  • Venue:
  • DIMVA'13 Proceedings of the 10th international conference on Detection of Intrusions and Malware, and Vulnerability Assessment
  • Year:
  • 2013

Quantified Score

Hi-index 0.00

Visualization

Abstract

The last twenty years have witnessed the constant reaction of the security community to memory corruption attacks and the evolution of attacking techniques in order to circumvent the newly-deployed countermeasures. In this evolution, the heap of a process received little attention and thus today, the problem of heap overflows is largely unsolved. In this paper we present HeapSentry, a system designed to detect and stop heap overflow attacks through the cooperation of the memory allocation library of a program and the operating system's kernel. HeapSentry places unique random canaries at the end of each heap object which are later checked by the kernel, before system calls are allowed to proceed. HeapSentry operates on binaries (no source code needed) and has, by design, no false-positives. At the same time, the active involvement of the kernel provides stronger security guarantees than the current state of the art in heap protection mechanisms for a modest performance overhead.