Finding Custom Heap Allocators

Allgemein

Betreuer: Andre Pawlowski

Beginn: as soon as possible

Weitere Details:

Beschreibung

Almost all programs use the Heap to store data in it. Normally the Heap allocator provided by the operating system is used in order to allocate and deallocate data on it. For program analysis it is often important to know where the allocation and deallocation functions reside. Since the functionality is provided by shared libraries, symbols help the analyst to find the corresponding functions in the binary. However, more often custom Heap allocators are used by applications (i.e., Firefox, Chrome, Node.js, ...) and since symbols are not always available, the analyst first has to find the allocation/deallocation functions himself before making assumptions about memory usage.

The aim of this thesis is to tackle this problem by implementing a way to statically find custom heap allocators and their corresponding functions.

Tasks that need to be solved include:

  • Familiarize with Heap allocators.
  • Categorize different Heap allocators.
  • Find ways to reliably find corresponding allocator functions.

References:

Voraussetzungen

  • Familiarity with C/C++ programming.
  • Reverse engineering knowledge.