HeapRevolver: Delaying and Randomizing Timing of Release of Freed Memory Area to Prevent Use-After-Free Attacks

Recently, there has been an increase in use-after-free (UAF) vulnerabilities, which are exploited using a dangling pointer that refers to a freed memory. Various methods to prevent UAF attacks have been proposed. However, only a few methods can effectively prevent UAF attacks during runtime with low...

Full description

Saved in:
Bibliographic Details
Published inNetwork and System Security Vol. 9955; pp. 219 - 234
Main Authors Yamauchi, Toshihiro, Ikegami, Yuta
Format Book Chapter
LanguageEnglish
Published Switzerland Springer International Publishing AG 01.01.2016
Springer International Publishing
SeriesLecture Notes in Computer Science
Subjects
Online AccessGet full text
ISBN3319462970
9783319462974
ISSN0302-9743
1611-3349
DOI10.1007/978-3-319-46298-1_15

Cover

More Information
Summary:Recently, there has been an increase in use-after-free (UAF) vulnerabilities, which are exploited using a dangling pointer that refers to a freed memory. Various methods to prevent UAF attacks have been proposed. However, only a few methods can effectively prevent UAF attacks during runtime with low overhead. In this paper, we propose HeapRevolver, which is a novel UAF attack-prevention method that delays and randomizes the timing of release of freed memory area by using a memory-reuse-prohibited library, which prohibits a freed memory area from being reused for a certain period. In this paper, we describe the design and implementation of HeapRevolver in Linux and Windows, and report its evaluation results. The results show that HeapRevolver can prevent attacks that exploit existing UAF vulnerabilities. In addition, the overhead is small.
ISBN:3319462970
9783319462974
ISSN:0302-9743
1611-3349
DOI:10.1007/978-3-319-46298-1_15