Modular Synthesis of Heap Exploits

Dusan Repel, Johannes Kinder, Lorenzo Cavallaro

Research output: Chapter in Book/Report/Conference proceedingConference contribution

126 Downloads (Pure)

Abstract

Memory errors continue to compromise the security of today's systems. Recent efforts to automatically synthesize exploits for stack-based buffer overflows promise to help assess a vulnerability's severity more quickly and alleviate the burden of manual reasoning. However, generation of heap exploits has been out of scope for such methods thus far. In this paper, we investigate the problem of automatically generating heap exploits, which, in addition to finding the vulnerability, requires intricate interaction with the heap manager. We identify the challenges involved in automatically finding the right parameters and interaction sequences for such attacks, which have traditionally required manual analysis. To tackle these challenges, we present a modular approach that is designed to minimize the assumptions made about the heap manager used by the target application. Our prototype system is able to find exploit primitives in six binary implementations of Windows and UNIX-based heap managers and applies these to successfully exploit two real-world applications.
Original languageEnglish
Title of host publicationPLAS '17 Proceedings of the 2017 Workshop on Programming Languages and Analysis for Security
PublisherAssociation for Computing Machinery (ACM)
Pages25-35
Number of pages11
ISBN (Electronic)978-1-4503-5099-0
DOIs
Publication statusPublished - 30 Oct 2017

Cite this