Gollum: Modular and greybox exploit generation for heap overflows in interpreters

43Citations
Citations of this article
64Readers
Mendeley users who have this article in their library.
Get full text

Abstract

We present the first approach to automatic exploit generation for heap overflows in interpreters. It is also the first approach to exploit generation in any class of program that integrates a solution for automatic heap layout manipulation. At the core of the approach is a novel method for discovering exploit primitives-inputs to the target program that result in a sensitive operation, such as a function call or a memory write, utilizing attacker-injected data. To produce an exploit primitive from a heap overflow vulnerability, one has to discover a target data structure to corrupt, ensure an instance of that data structure is adjacent to the source of the overflow on the heap, and ensure that the post-overflow corrupted data is used in a manner desired by the attacker. Our system addresses all three tasks in an automatic, greybox, and modular manner. Our implementation is called Gollum, and we demonstrate its capabilities by producing exploits from 10 unique vulnerabilities in the PHP and Python interpreters, 5 of which do not have existing public exploits.

Cite

CITATION STYLE

APA

Heelan, S., Melham, T., & Kroening, D. (2019). Gollum: Modular and greybox exploit generation for heap overflows in interpreters. In Proceedings of the ACM Conference on Computer and Communications Security (pp. 1689–1706). Association for Computing Machinery. https://doi.org/10.1145/3319535.3354224

Register to see more suggestions

Mendeley helps you to discover research relevant for your work.

Already have an account?

Save time finding and organizing research with Mendeley

Sign up for free